[2/5] drm/ttm: Define a single DRM_FILE_PAGE_OFFSET constant

Submitted by Thomas Zimmermann on Feb. 7, 2019, 8:59 a.m.

Details

Message ID 20190207085931.29569-3-tzimmermann@suse.de
State New
Headers show
Series "Clean up TTM mmap offsets" ( rev: 1 ) in AMD X.Org drivers

Not browsing as part of any series.

Commit Message

Thomas Zimmermann Feb. 7, 2019, 8:59 a.m.
Most TTM drivers define the constant DRM_FILE_PAGE_OFFSET of the same
value. The only exception is vboxvideo, which is being converted to the
new offset by this patch. Unifying the constants in a single place
simplifies the driver code.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c     | 2 --
 drivers/gpu/drm/ast/ast_drv.h               | 2 --
 drivers/gpu/drm/bochs/bochs.h               | 2 --
 drivers/gpu/drm/cirrus/cirrus_drv.h         | 1 -
 drivers/gpu/drm/hisilicon/hibmc/hibmc_ttm.c | 2 --
 drivers/gpu/drm/mgag200/mgag200_drv.h       | 1 -
 drivers/gpu/drm/nouveau/nouveau_drv.h       | 2 --
 drivers/gpu/drm/qxl/qxl_drv.h               | 3 ---
 drivers/gpu/drm/radeon/radeon_ttm.c         | 2 --
 drivers/gpu/drm/virtio/virtgpu_ttm.c        | 2 --
 drivers/gpu/drm/vmwgfx/vmwgfx_drv.c         | 2 +-
 drivers/gpu/drm/vmwgfx/vmwgfx_drv.h         | 1 -
 drivers/gpu/drm/vmwgfx/vmwgfx_ttm_glue.c    | 2 +-
 drivers/staging/vboxvideo/vbox_drv.h        | 2 --
 include/drm/ttm/ttm_bo_driver.h             | 2 ++
 15 files changed, 4 insertions(+), 24 deletions(-)

Patch hide | download patch | download mbox

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
index b852abb9db0f..447960b3334a 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
@@ -50,8 +50,6 @@ 
 #include "amdgpu_sdma.h"
 #include "bif/bif_4_1_d.h"
 
-#define DRM_FILE_PAGE_OFFSET (0x100000000ULL >> PAGE_SHIFT)
-
 static int amdgpu_map_buffer(struct ttm_buffer_object *bo,
 			     struct ttm_mem_reg *mem, unsigned num_pages,
 			     uint64_t offset, unsigned window,
diff --git a/drivers/gpu/drm/ast/ast_drv.h b/drivers/gpu/drm/ast/ast_drv.h
index bfc65040dfcb..c43b927f73af 100644
--- a/drivers/gpu/drm/ast/ast_drv.h
+++ b/drivers/gpu/drm/ast/ast_drv.h
@@ -353,8 +353,6 @@  extern int ast_dumb_mmap_offset(struct drm_file *file,
 				uint32_t handle,
 				uint64_t *offset);
 
-#define DRM_FILE_PAGE_OFFSET (0x100000000ULL >> PAGE_SHIFT)
-
 int ast_mm_init(struct ast_private *ast);
 void ast_mm_fini(struct ast_private *ast);
 
diff --git a/drivers/gpu/drm/bochs/bochs.h b/drivers/gpu/drm/bochs/bochs.h
index 03711394f1ed..7425d083b944 100644
--- a/drivers/gpu/drm/bochs/bochs.h
+++ b/drivers/gpu/drm/bochs/bochs.h
@@ -101,8 +101,6 @@  static inline struct bochs_bo *gem_to_bochs_bo(struct drm_gem_object *gem)
 	return container_of(gem, struct bochs_bo, gem);
 }
 
-#define DRM_FILE_PAGE_OFFSET (0x100000000ULL >> PAGE_SHIFT)
-
 static inline u64 bochs_bo_mmap_offset(struct bochs_bo *bo)
 {
 	return drm_vma_node_offset_addr(&bo->bo.vma_node);
diff --git a/drivers/gpu/drm/cirrus/cirrus_drv.h b/drivers/gpu/drm/cirrus/cirrus_drv.h
index f2b2e0d169fa..ba77507e9bad 100644
--- a/drivers/gpu/drm/cirrus/cirrus_drv.h
+++ b/drivers/gpu/drm/cirrus/cirrus_drv.h
@@ -169,7 +169,6 @@  cirrus_bo(struct ttm_buffer_object *bo)
 
 
 #define to_cirrus_obj(x) container_of(x, struct cirrus_gem_object, base)
-#define DRM_FILE_PAGE_OFFSET (0x100000000ULL >> PAGE_SHIFT)
 
 				/* cirrus_main.c */
 int cirrus_device_init(struct cirrus_device *cdev,
diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_ttm.c b/drivers/gpu/drm/hisilicon/hibmc/hibmc_ttm.c
index dd383267884c..a06725c2bbfa 100644
--- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_ttm.c
+++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_ttm.c
@@ -21,8 +21,6 @@ 
 
 #include "hibmc_drm_drv.h"
 
-#define DRM_FILE_PAGE_OFFSET (0x100000000ULL >> PAGE_SHIFT)
-
 static inline struct hibmc_drm_private *
 hibmc_bdev(struct ttm_bo_device *bd)
 {
diff --git a/drivers/gpu/drm/mgag200/mgag200_drv.h b/drivers/gpu/drm/mgag200/mgag200_drv.h
index 0aaedc554879..706c902aad2d 100644
--- a/drivers/gpu/drm/mgag200/mgag200_drv.h
+++ b/drivers/gpu/drm/mgag200/mgag200_drv.h
@@ -269,7 +269,6 @@  mgag200_dumb_mmap_offset(struct drm_file *file,
 struct mga_i2c_chan *mgag200_i2c_create(struct drm_device *dev);
 void mgag200_i2c_destroy(struct mga_i2c_chan *i2c);
 
-#define DRM_FILE_PAGE_OFFSET (0x100000000ULL >> PAGE_SHIFT)
 void mgag200_ttm_placement(struct mgag200_bo *bo, int domain);
 
 static inline int mgag200_bo_reserve(struct mgag200_bo *bo, bool no_wait)
diff --git a/drivers/gpu/drm/nouveau/nouveau_drv.h b/drivers/gpu/drm/nouveau/nouveau_drv.h
index d20b9ba4b1c1..c144bc79e872 100644
--- a/drivers/gpu/drm/nouveau/nouveau_drv.h
+++ b/drivers/gpu/drm/nouveau/nouveau_drv.h
@@ -60,8 +60,6 @@ 
 struct nouveau_channel;
 struct platform_device;
 
-#define DRM_FILE_PAGE_OFFSET (0x100000000ULL >> PAGE_SHIFT)
-
 #include "nouveau_fence.h"
 #include "nouveau_bios.h"
 #include "nouveau_vmm.h"
diff --git a/drivers/gpu/drm/qxl/qxl_drv.h b/drivers/gpu/drm/qxl/qxl_drv.h
index 4a0331b3ff7d..2896bb6fdbf4 100644
--- a/drivers/gpu/drm/qxl/qxl_drv.h
+++ b/drivers/gpu/drm/qxl/qxl_drv.h
@@ -65,9 +65,6 @@ 
 extern int qxl_num_crtc;
 extern int qxl_max_ioctls;
 
-#define DRM_FILE_OFFSET 0x100000000ULL
-#define DRM_FILE_PAGE_OFFSET (DRM_FILE_OFFSET >> PAGE_SHIFT)
-
 #define QXL_INTERRUPT_MASK (\
 	QXL_INTERRUPT_DISPLAY |\
 	QXL_INTERRUPT_CURSOR |\
diff --git a/drivers/gpu/drm/radeon/radeon_ttm.c b/drivers/gpu/drm/radeon/radeon_ttm.c
index 9920a6fc11bf..071a872e5b02 100644
--- a/drivers/gpu/drm/radeon/radeon_ttm.c
+++ b/drivers/gpu/drm/radeon/radeon_ttm.c
@@ -45,8 +45,6 @@ 
 #include "radeon_reg.h"
 #include "radeon.h"
 
-#define DRM_FILE_PAGE_OFFSET (0x100000000ULL >> PAGE_SHIFT)
-
 static int radeon_ttm_debugfs_init(struct radeon_device *rdev);
 static void radeon_ttm_debugfs_fini(struct radeon_device *rdev);
 
diff --git a/drivers/gpu/drm/virtio/virtgpu_ttm.c b/drivers/gpu/drm/virtio/virtgpu_ttm.c
index 4bfbf25fabff..64f5b8dec3e9 100644
--- a/drivers/gpu/drm/virtio/virtgpu_ttm.c
+++ b/drivers/gpu/drm/virtio/virtgpu_ttm.c
@@ -37,8 +37,6 @@ 
 
 #include <linux/delay.h>
 
-#define DRM_FILE_PAGE_OFFSET (0x100000000ULL >> PAGE_SHIFT)
-
 static struct
 virtio_gpu_device *virtio_gpu_get_vgdev(struct ttm_bo_device *bdev)
 {
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
index 4638f6791cda..e72edc68255d 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
@@ -868,7 +868,7 @@  static int vmw_driver_load(struct drm_device *dev, unsigned long chipset)
 	ret = ttm_bo_device_init(&dev_priv->bdev,
 				 &vmw_bo_driver,
 				 dev->anon_inode->i_mapping,
-				 VMWGFX_FILE_PAGE_OFFSET,
+				 DRM_FILE_PAGE_OFFSET,
 				 false);
 	if (unlikely(ret != 0)) {
 		DRM_ERROR("Failed initializing TTM buffer object driver.\n");
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h
index accb2fafe2f1..6302c12c2298 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h
@@ -48,7 +48,6 @@ 
 #define VMWGFX_DRIVER_MAJOR 2
 #define VMWGFX_DRIVER_MINOR 15
 #define VMWGFX_DRIVER_PATCHLEVEL 0
-#define VMWGFX_FILE_PAGE_OFFSET 0x00100000
 #define VMWGFX_FIFO_STATIC_SIZE (1024*1024)
 #define VMWGFX_MAX_RELOCATIONS 2048
 #define VMWGFX_MAX_VALIDATIONS 2048
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_ttm_glue.c b/drivers/gpu/drm/vmwgfx/vmwgfx_ttm_glue.c
index e6d75e377dd8..ec5b4b237f2c 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_ttm_glue.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_ttm_glue.c
@@ -33,7 +33,7 @@  int vmw_mmap(struct file *filp, struct vm_area_struct *vma)
 	struct drm_file *file_priv;
 	struct vmw_private *dev_priv;
 
-	if (unlikely(vma->vm_pgoff < VMWGFX_FILE_PAGE_OFFSET)) {
+	if (unlikely(vma->vm_pgoff < DRM_FILE_PAGE_OFFSET)) {
 		DRM_ERROR("Illegal attempt to mmap old fifo space.\n");
 		return -EINVAL;
 	}
diff --git a/drivers/staging/vboxvideo/vbox_drv.h b/drivers/staging/vboxvideo/vbox_drv.h
index eba5a8bc9cea..77f2a4e9000e 100644
--- a/drivers/staging/vboxvideo/vbox_drv.h
+++ b/drivers/staging/vboxvideo/vbox_drv.h
@@ -209,8 +209,6 @@  int vbox_dumb_mmap_offset(struct drm_file *file,
 			  struct drm_device *dev,
 			  u32 handle, u64 *offset);
 
-#define DRM_FILE_PAGE_OFFSET (0x100000000ULL >> PAGE_SHIFT)
-
 int vbox_mm_init(struct vbox_private *vbox);
 void vbox_mm_fini(struct vbox_private *vbox);
 
diff --git a/include/drm/ttm/ttm_bo_driver.h b/include/drm/ttm/ttm_bo_driver.h
index cbf3180cb612..c0bed72492f3 100644
--- a/include/drm/ttm/ttm_bo_driver.h
+++ b/include/drm/ttm/ttm_bo_driver.h
@@ -49,6 +49,8 @@ 
 #define TTM_MEMTYPE_FLAG_MAPPABLE      (1 << 1)	/* Memory mappable */
 #define TTM_MEMTYPE_FLAG_CMA           (1 << 3)	/* Can't map aperture */
 
+#define DRM_FILE_PAGE_OFFSET (0x100000000ULL >> PAGE_SHIFT)
+
 struct ttm_mem_type_manager;
 
 struct ttm_mem_type_manager_func {

Comments

Hi

Am 07.02.19 um 09:59 schrieb Thomas Zimmermann:
> Most TTM drivers define the constant DRM_FILE_PAGE_OFFSET of the same
> value. The only exception is vboxvideo, which is being converted to the
> new offset by this patch. Unifying the constants in a single place
> simplifies the driver code.

Just a quick note: I just realized that the description is slightly
incorrect. vboxvideo got fixed in patch [01]. If it matters, remove the
second sentence before merging. (Or ping me to provide an updated patch.)

Best regards
Thomas

> 
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c     | 2 --
>  drivers/gpu/drm/ast/ast_drv.h               | 2 --
>  drivers/gpu/drm/bochs/bochs.h               | 2 --
>  drivers/gpu/drm/cirrus/cirrus_drv.h         | 1 -
>  drivers/gpu/drm/hisilicon/hibmc/hibmc_ttm.c | 2 --
>  drivers/gpu/drm/mgag200/mgag200_drv.h       | 1 -
>  drivers/gpu/drm/nouveau/nouveau_drv.h       | 2 --
>  drivers/gpu/drm/qxl/qxl_drv.h               | 3 ---
>  drivers/gpu/drm/radeon/radeon_ttm.c         | 2 --
>  drivers/gpu/drm/virtio/virtgpu_ttm.c        | 2 --
>  drivers/gpu/drm/vmwgfx/vmwgfx_drv.c         | 2 +-
>  drivers/gpu/drm/vmwgfx/vmwgfx_drv.h         | 1 -
>  drivers/gpu/drm/vmwgfx/vmwgfx_ttm_glue.c    | 2 +-
>  drivers/staging/vboxvideo/vbox_drv.h        | 2 --
>  include/drm/ttm/ttm_bo_driver.h             | 2 ++
>  15 files changed, 4 insertions(+), 24 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
> index b852abb9db0f..447960b3334a 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
> @@ -50,8 +50,6 @@
>  #include "amdgpu_sdma.h"
>  #include "bif/bif_4_1_d.h"
>  
> -#define DRM_FILE_PAGE_OFFSET (0x100000000ULL >> PAGE_SHIFT)
> -
>  static int amdgpu_map_buffer(struct ttm_buffer_object *bo,
>  			     struct ttm_mem_reg *mem, unsigned num_pages,
>  			     uint64_t offset, unsigned window,
> diff --git a/drivers/gpu/drm/ast/ast_drv.h b/drivers/gpu/drm/ast/ast_drv.h
> index bfc65040dfcb..c43b927f73af 100644
> --- a/drivers/gpu/drm/ast/ast_drv.h
> +++ b/drivers/gpu/drm/ast/ast_drv.h
> @@ -353,8 +353,6 @@ extern int ast_dumb_mmap_offset(struct drm_file *file,
>  				uint32_t handle,
>  				uint64_t *offset);
>  
> -#define DRM_FILE_PAGE_OFFSET (0x100000000ULL >> PAGE_SHIFT)
> -
>  int ast_mm_init(struct ast_private *ast);
>  void ast_mm_fini(struct ast_private *ast);
>  
> diff --git a/drivers/gpu/drm/bochs/bochs.h b/drivers/gpu/drm/bochs/bochs.h
> index 03711394f1ed..7425d083b944 100644
> --- a/drivers/gpu/drm/bochs/bochs.h
> +++ b/drivers/gpu/drm/bochs/bochs.h
> @@ -101,8 +101,6 @@ static inline struct bochs_bo *gem_to_bochs_bo(struct drm_gem_object *gem)
>  	return container_of(gem, struct bochs_bo, gem);
>  }
>  
> -#define DRM_FILE_PAGE_OFFSET (0x100000000ULL >> PAGE_SHIFT)
> -
>  static inline u64 bochs_bo_mmap_offset(struct bochs_bo *bo)
>  {
>  	return drm_vma_node_offset_addr(&bo->bo.vma_node);
> diff --git a/drivers/gpu/drm/cirrus/cirrus_drv.h b/drivers/gpu/drm/cirrus/cirrus_drv.h
> index f2b2e0d169fa..ba77507e9bad 100644
> --- a/drivers/gpu/drm/cirrus/cirrus_drv.h
> +++ b/drivers/gpu/drm/cirrus/cirrus_drv.h
> @@ -169,7 +169,6 @@ cirrus_bo(struct ttm_buffer_object *bo)
>  
>  
>  #define to_cirrus_obj(x) container_of(x, struct cirrus_gem_object, base)
> -#define DRM_FILE_PAGE_OFFSET (0x100000000ULL >> PAGE_SHIFT)
>  
>  				/* cirrus_main.c */
>  int cirrus_device_init(struct cirrus_device *cdev,
> diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_ttm.c b/drivers/gpu/drm/hisilicon/hibmc/hibmc_ttm.c
> index dd383267884c..a06725c2bbfa 100644
> --- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_ttm.c
> +++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_ttm.c
> @@ -21,8 +21,6 @@
>  
>  #include "hibmc_drm_drv.h"
>  
> -#define DRM_FILE_PAGE_OFFSET (0x100000000ULL >> PAGE_SHIFT)
> -
>  static inline struct hibmc_drm_private *
>  hibmc_bdev(struct ttm_bo_device *bd)
>  {
> diff --git a/drivers/gpu/drm/mgag200/mgag200_drv.h b/drivers/gpu/drm/mgag200/mgag200_drv.h
> index 0aaedc554879..706c902aad2d 100644
> --- a/drivers/gpu/drm/mgag200/mgag200_drv.h
> +++ b/drivers/gpu/drm/mgag200/mgag200_drv.h
> @@ -269,7 +269,6 @@ mgag200_dumb_mmap_offset(struct drm_file *file,
>  struct mga_i2c_chan *mgag200_i2c_create(struct drm_device *dev);
>  void mgag200_i2c_destroy(struct mga_i2c_chan *i2c);
>  
> -#define DRM_FILE_PAGE_OFFSET (0x100000000ULL >> PAGE_SHIFT)
>  void mgag200_ttm_placement(struct mgag200_bo *bo, int domain);
>  
>  static inline int mgag200_bo_reserve(struct mgag200_bo *bo, bool no_wait)
> diff --git a/drivers/gpu/drm/nouveau/nouveau_drv.h b/drivers/gpu/drm/nouveau/nouveau_drv.h
> index d20b9ba4b1c1..c144bc79e872 100644
> --- a/drivers/gpu/drm/nouveau/nouveau_drv.h
> +++ b/drivers/gpu/drm/nouveau/nouveau_drv.h
> @@ -60,8 +60,6 @@
>  struct nouveau_channel;
>  struct platform_device;
>  
> -#define DRM_FILE_PAGE_OFFSET (0x100000000ULL >> PAGE_SHIFT)
> -
>  #include "nouveau_fence.h"
>  #include "nouveau_bios.h"
>  #include "nouveau_vmm.h"
> diff --git a/drivers/gpu/drm/qxl/qxl_drv.h b/drivers/gpu/drm/qxl/qxl_drv.h
> index 4a0331b3ff7d..2896bb6fdbf4 100644
> --- a/drivers/gpu/drm/qxl/qxl_drv.h
> +++ b/drivers/gpu/drm/qxl/qxl_drv.h
> @@ -65,9 +65,6 @@
>  extern int qxl_num_crtc;
>  extern int qxl_max_ioctls;
>  
> -#define DRM_FILE_OFFSET 0x100000000ULL
> -#define DRM_FILE_PAGE_OFFSET (DRM_FILE_OFFSET >> PAGE_SHIFT)
> -
>  #define QXL_INTERRUPT_MASK (\
>  	QXL_INTERRUPT_DISPLAY |\
>  	QXL_INTERRUPT_CURSOR |\
> diff --git a/drivers/gpu/drm/radeon/radeon_ttm.c b/drivers/gpu/drm/radeon/radeon_ttm.c
> index 9920a6fc11bf..071a872e5b02 100644
> --- a/drivers/gpu/drm/radeon/radeon_ttm.c
> +++ b/drivers/gpu/drm/radeon/radeon_ttm.c
> @@ -45,8 +45,6 @@
>  #include "radeon_reg.h"
>  #include "radeon.h"
>  
> -#define DRM_FILE_PAGE_OFFSET (0x100000000ULL >> PAGE_SHIFT)
> -
>  static int radeon_ttm_debugfs_init(struct radeon_device *rdev);
>  static void radeon_ttm_debugfs_fini(struct radeon_device *rdev);
>  
> diff --git a/drivers/gpu/drm/virtio/virtgpu_ttm.c b/drivers/gpu/drm/virtio/virtgpu_ttm.c
> index 4bfbf25fabff..64f5b8dec3e9 100644
> --- a/drivers/gpu/drm/virtio/virtgpu_ttm.c
> +++ b/drivers/gpu/drm/virtio/virtgpu_ttm.c
> @@ -37,8 +37,6 @@
>  
>  #include <linux/delay.h>
>  
> -#define DRM_FILE_PAGE_OFFSET (0x100000000ULL >> PAGE_SHIFT)
> -
>  static struct
>  virtio_gpu_device *virtio_gpu_get_vgdev(struct ttm_bo_device *bdev)
>  {
> diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
> index 4638f6791cda..e72edc68255d 100644
> --- a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
> +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
> @@ -868,7 +868,7 @@ static int vmw_driver_load(struct drm_device *dev, unsigned long chipset)
>  	ret = ttm_bo_device_init(&dev_priv->bdev,
>  				 &vmw_bo_driver,
>  				 dev->anon_inode->i_mapping,
> -				 VMWGFX_FILE_PAGE_OFFSET,
> +				 DRM_FILE_PAGE_OFFSET,
>  				 false);
>  	if (unlikely(ret != 0)) {
>  		DRM_ERROR("Failed initializing TTM buffer object driver.\n");
> diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h
> index accb2fafe2f1..6302c12c2298 100644
> --- a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h
> +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h
> @@ -48,7 +48,6 @@
>  #define VMWGFX_DRIVER_MAJOR 2
>  #define VMWGFX_DRIVER_MINOR 15
>  #define VMWGFX_DRIVER_PATCHLEVEL 0
> -#define VMWGFX_FILE_PAGE_OFFSET 0x00100000
>  #define VMWGFX_FIFO_STATIC_SIZE (1024*1024)
>  #define VMWGFX_MAX_RELOCATIONS 2048
>  #define VMWGFX_MAX_VALIDATIONS 2048
> diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_ttm_glue.c b/drivers/gpu/drm/vmwgfx/vmwgfx_ttm_glue.c
> index e6d75e377dd8..ec5b4b237f2c 100644
> --- a/drivers/gpu/drm/vmwgfx/vmwgfx_ttm_glue.c
> +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_ttm_glue.c
> @@ -33,7 +33,7 @@ int vmw_mmap(struct file *filp, struct vm_area_struct *vma)
>  	struct drm_file *file_priv;
>  	struct vmw_private *dev_priv;
>  
> -	if (unlikely(vma->vm_pgoff < VMWGFX_FILE_PAGE_OFFSET)) {
> +	if (unlikely(vma->vm_pgoff < DRM_FILE_PAGE_OFFSET)) {
>  		DRM_ERROR("Illegal attempt to mmap old fifo space.\n");
>  		return -EINVAL;
>  	}
> diff --git a/drivers/staging/vboxvideo/vbox_drv.h b/drivers/staging/vboxvideo/vbox_drv.h
> index eba5a8bc9cea..77f2a4e9000e 100644
> --- a/drivers/staging/vboxvideo/vbox_drv.h
> +++ b/drivers/staging/vboxvideo/vbox_drv.h
> @@ -209,8 +209,6 @@ int vbox_dumb_mmap_offset(struct drm_file *file,
>  			  struct drm_device *dev,
>  			  u32 handle, u64 *offset);
>  
> -#define DRM_FILE_PAGE_OFFSET (0x100000000ULL >> PAGE_SHIFT)
> -
>  int vbox_mm_init(struct vbox_private *vbox);
>  void vbox_mm_fini(struct vbox_private *vbox);
>  
> diff --git a/include/drm/ttm/ttm_bo_driver.h b/include/drm/ttm/ttm_bo_driver.h
> index cbf3180cb612..c0bed72492f3 100644
> --- a/include/drm/ttm/ttm_bo_driver.h
> +++ b/include/drm/ttm/ttm_bo_driver.h
> @@ -49,6 +49,8 @@
>  #define TTM_MEMTYPE_FLAG_MAPPABLE      (1 << 1)	/* Memory mappable */
>  #define TTM_MEMTYPE_FLAG_CMA           (1 << 3)	/* Can't map aperture */
>  
> +#define DRM_FILE_PAGE_OFFSET (0x100000000ULL >> PAGE_SHIFT)
> +
>  struct ttm_mem_type_manager;
>  
>  struct ttm_mem_type_manager_func {
>
On Thu, 2019-02-07 at 09:59 +0100, Thomas Zimmermann wrote:
> Most TTM drivers define the constant DRM_FILE_PAGE_OFFSET of the same

> value. The only exception is vboxvideo, which is being converted to

> the

> new offset by this patch. Unifying the constants in a single place

> simplifies the driver code.

> 

> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>

> ---

>  drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c     | 2 --

>  drivers/gpu/drm/ast/ast_drv.h               | 2 --

>  drivers/gpu/drm/bochs/bochs.h               | 2 --

>  drivers/gpu/drm/cirrus/cirrus_drv.h         | 1 -

>  drivers/gpu/drm/hisilicon/hibmc/hibmc_ttm.c | 2 --

>  drivers/gpu/drm/mgag200/mgag200_drv.h       | 1 -

>  drivers/gpu/drm/nouveau/nouveau_drv.h       | 2 --

>  drivers/gpu/drm/qxl/qxl_drv.h               | 3 ---

>  drivers/gpu/drm/radeon/radeon_ttm.c         | 2 --

>  drivers/gpu/drm/virtio/virtgpu_ttm.c        | 2 --

>  drivers/gpu/drm/vmwgfx/vmwgfx_drv.c         | 2 +-

>  drivers/gpu/drm/vmwgfx/vmwgfx_drv.h         | 1 -

>  drivers/gpu/drm/vmwgfx/vmwgfx_ttm_glue.c    | 2 +-

>  drivers/staging/vboxvideo/vbox_drv.h        | 2 --

>  include/drm/ttm/ttm_bo_driver.h             | 2 ++

>  15 files changed, 4 insertions(+), 24 deletions(-)

> 

> 


...

> diff --git a/include/drm/ttm/ttm_bo_driver.h

> b/include/drm/ttm/ttm_bo_driver.h

> index cbf3180cb612..c0bed72492f3 100644

> --- a/include/drm/ttm/ttm_bo_driver.h

> +++ b/include/drm/ttm/ttm_bo_driver.h

> @@ -49,6 +49,8 @@

>  #define TTM_MEMTYPE_FLAG_MAPPABLE      (1 << 1)	/* Memory

> mappable */

>  #define TTM_MEMTYPE_FLAG_CMA           (1 << 3)	/* Can't map

> aperture */

>  

> +#define DRM_FILE_PAGE_OFFSET (0x100000000ULL >> PAGE_SHIFT)

> +


IMO strictly, the place in the drm file address space where a driver
chooses to insert the TTM bo address space is to be determined by DRM,
(as also the define indicates) rather than TTM. So I think the right
place for this define is a drm header, not a ttm header.

Thanks,
Thomas


>  struct ttm_mem_type_manager;

>  

>  struct ttm_mem_type_manager_func {
Hi

Am 07.02.19 um 20:07 schrieb Thomas Hellstrom:
> 
>> diff --git a/include/drm/ttm/ttm_bo_driver.h
>> b/include/drm/ttm/ttm_bo_driver.h
>> index cbf3180cb612..c0bed72492f3 100644
>> --- a/include/drm/ttm/ttm_bo_driver.h
>> +++ b/include/drm/ttm/ttm_bo_driver.h
>> @@ -49,6 +49,8 @@
>>  #define TTM_MEMTYPE_FLAG_MAPPABLE      (1 << 1)	/* Memory
>> mappable */
>>  #define TTM_MEMTYPE_FLAG_CMA           (1 << 3)	/* Can't map
>> aperture */
>>  
>> +#define DRM_FILE_PAGE_OFFSET (0x100000000ULL >> PAGE_SHIFT)
>> +
> 
> IMO strictly, the place in the drm file address space where a driver
> chooses to insert the TTM bo address space is to be determined by DRM,
> (as also the define indicates) rather than TTM. So I think the right
> place for this define is a drm header, not a ttm header.

I put this here temporarily for the cleanup. But it gets fixed by patch
[05], which moves the constants into drm_vma_manager.h

Best regards
Thomas

> 
> Thanks,
> Thomas
> 
> 
>>  struct ttm_mem_type_manager;
>>  
>>  struct ttm_mem_type_manager_func {
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
>