All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] drm/ttm: init mem->bus in common code.
@ 2020-08-11  7:46 Dave Airlie
  2020-08-11  7:46 ` [PATCH 2/2] drm/ttm: drop bus.size from bus placement Dave Airlie
  2020-08-11  8:02 ` [PATCH 1/2] drm/ttm: init mem->bus in common code Dave Airlie
  0 siblings, 2 replies; 6+ messages in thread
From: Dave Airlie @ 2020-08-11  7:46 UTC (permalink / raw)
  To: dri-devel

From: Dave Airlie <airlied@redhat.com>

The drivers all do the same thing here.

Signed-off-by: Dave Airlie <airlied@redhat.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c    | 6 ------
 drivers/gpu/drm/drm_gem_vram_helper.c      | 6 ------
 drivers/gpu/drm/nouveau/nouveau_bo.c       | 6 ------
 drivers/gpu/drm/qxl/qxl_ttm.c              | 6 ------
 drivers/gpu/drm/radeon/radeon_ttm.c        | 6 ------
 drivers/gpu/drm/ttm/ttm_bo_util.c          | 5 +++++
 drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c | 6 ------
 7 files changed, 5 insertions(+), 36 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
index 67d2eef2f9eb..324abf7a3cba 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
@@ -751,12 +751,6 @@ static int amdgpu_ttm_io_mem_reserve(struct ttm_bo_device *bdev, struct ttm_reso
 	struct amdgpu_device *adev = amdgpu_ttm_adev(bdev);
 	struct drm_mm_node *mm_node = mem->mm_node;
 
-	mem->bus.addr = NULL;
-	mem->bus.offset = 0;
-	mem->bus.size = mem->num_pages << PAGE_SHIFT;
-	mem->bus.base = 0;
-	mem->bus.is_iomem = false;
-
 	switch (mem->mem_type) {
 	case TTM_PL_SYSTEM:
 		/* system memory */
diff --git a/drivers/gpu/drm/drm_gem_vram_helper.c b/drivers/gpu/drm/drm_gem_vram_helper.c
index b410930d94a0..545a877406f4 100644
--- a/drivers/gpu/drm/drm_gem_vram_helper.c
+++ b/drivers/gpu/drm/drm_gem_vram_helper.c
@@ -1038,14 +1038,8 @@ static int bo_driver_io_mem_reserve(struct ttm_bo_device *bdev,
 {
 	struct drm_vram_mm *vmm = drm_vram_mm_of_bdev(bdev);
 
-	mem->bus.addr = NULL;
-	mem->bus.size = mem->num_pages << PAGE_SHIFT;
-
 	switch (mem->mem_type) {
 	case TTM_PL_SYSTEM:	/* nothing to do */
-		mem->bus.offset = 0;
-		mem->bus.base = 0;
-		mem->bus.is_iomem = false;
 		break;
 	case TTM_PL_VRAM:
 		mem->bus.offset = mem->start << PAGE_SHIFT;
diff --git a/drivers/gpu/drm/nouveau/nouveau_bo.c b/drivers/gpu/drm/nouveau/nouveau_bo.c
index 604a74323696..7cfe3898ce62 100644
--- a/drivers/gpu/drm/nouveau/nouveau_bo.c
+++ b/drivers/gpu/drm/nouveau/nouveau_bo.c
@@ -1380,12 +1380,6 @@ nouveau_ttm_io_mem_reserve(struct ttm_bo_device *bdev, struct ttm_resource *reg)
 	struct nvkm_device *device = nvxx_device(&drm->client.device);
 	struct nouveau_mem *mem = nouveau_mem(reg);
 
-	reg->bus.addr = NULL;
-	reg->bus.offset = 0;
-	reg->bus.size = reg->num_pages << PAGE_SHIFT;
-	reg->bus.base = 0;
-	reg->bus.is_iomem = false;
-
 	switch (reg->mem_type) {
 	case TTM_PL_SYSTEM:
 		/* System memory */
diff --git a/drivers/gpu/drm/qxl/qxl_ttm.c b/drivers/gpu/drm/qxl/qxl_ttm.c
index b1ea984f143a..c55ac31f5476 100644
--- a/drivers/gpu/drm/qxl/qxl_ttm.c
+++ b/drivers/gpu/drm/qxl/qxl_ttm.c
@@ -75,12 +75,6 @@ int qxl_ttm_io_mem_reserve(struct ttm_bo_device *bdev,
 {
 	struct qxl_device *qdev = qxl_get_qdev(bdev);
 
-	mem->bus.addr = NULL;
-	mem->bus.offset = 0;
-	mem->bus.size = mem->num_pages << PAGE_SHIFT;
-	mem->bus.base = 0;
-	mem->bus.is_iomem = false;
-
 	switch (mem->mem_type) {
 	case TTM_PL_SYSTEM:
 		/* system memory */
diff --git a/drivers/gpu/drm/radeon/radeon_ttm.c b/drivers/gpu/drm/radeon/radeon_ttm.c
index 3355b69b13d1..1f1e025b9f06 100644
--- a/drivers/gpu/drm/radeon/radeon_ttm.c
+++ b/drivers/gpu/drm/radeon/radeon_ttm.c
@@ -380,12 +380,6 @@ static int radeon_ttm_io_mem_reserve(struct ttm_bo_device *bdev, struct ttm_reso
 {
 	struct radeon_device *rdev = radeon_get_rdev(bdev);
 
-	mem->bus.addr = NULL;
-	mem->bus.offset = 0;
-	mem->bus.size = mem->num_pages << PAGE_SHIFT;
-	mem->bus.base = 0;
-	mem->bus.is_iomem = false;
-
 	switch (mem->mem_type) {
 	case TTM_PL_SYSTEM:
 		/* system memory */
diff --git a/drivers/gpu/drm/ttm/ttm_bo_util.c b/drivers/gpu/drm/ttm/ttm_bo_util.c
index 496158acd5b9..023f0a2d07c9 100644
--- a/drivers/gpu/drm/ttm/ttm_bo_util.c
+++ b/drivers/gpu/drm/ttm/ttm_bo_util.c
@@ -138,6 +138,11 @@ int ttm_mem_io_reserve(struct ttm_bo_device *bdev,
 	if (!bdev->driver->io_mem_reserve)
 		return 0;
 
+	mem->bus.addr = NULL;
+	mem->bus.offset = 0;
+	mem->bus.size = mem->num_pages << PAGE_SHIFT;
+	mem->bus.base = 0;
+	mem->bus.is_iomem = false;
 retry:
 	ret = bdev->driver->io_mem_reserve(bdev, mem);
 	if (ret == -ENOSPC) {
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c b/drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c
index 69e7e7fe2a4c..6ae4a856241b 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c
@@ -717,12 +717,6 @@ static int vmw_ttm_io_mem_reserve(struct ttm_bo_device *bdev, struct ttm_resourc
 {
 	struct vmw_private *dev_priv = container_of(bdev, struct vmw_private, bdev);
 
-	mem->bus.addr = NULL;
-	mem->bus.is_iomem = false;
-	mem->bus.offset = 0;
-	mem->bus.size = mem->num_pages << PAGE_SHIFT;
-	mem->bus.base = 0;
-
 	switch (mem->mem_type) {
 	case TTM_PL_SYSTEM:
 	case VMW_PL_GMR:
-- 
2.27.0

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 2/2] drm/ttm: drop bus.size from bus placement.
  2020-08-11  7:46 [PATCH 1/2] drm/ttm: init mem->bus in common code Dave Airlie
@ 2020-08-11  7:46 ` Dave Airlie
  2020-08-11  8:02 ` [PATCH 1/2] drm/ttm: init mem->bus in common code Dave Airlie
  1 sibling, 0 replies; 6+ messages in thread
From: Dave Airlie @ 2020-08-11  7:46 UTC (permalink / raw)
  To: dri-devel

From: Dave Airlie <airlied@redhat.com>

This is always calculated the same, and only used in a couple of places.
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 3 ++-
 drivers/gpu/drm/radeon/radeon_ttm.c     | 7 ++++---
 drivers/gpu/drm/ttm/ttm_bo_util.c       | 7 ++++---
 include/drm/ttm/ttm_bo_api.h            | 2 --
 4 files changed, 10 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
index 324abf7a3cba..c16c52cc4757 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
@@ -750,6 +750,7 @@ static int amdgpu_ttm_io_mem_reserve(struct ttm_bo_device *bdev, struct ttm_reso
 {
 	struct amdgpu_device *adev = amdgpu_ttm_adev(bdev);
 	struct drm_mm_node *mm_node = mem->mm_node;
+	size_t bus_size = (size_t)mem->num_pages << PAGE_SHIFT;
 
 	switch (mem->mem_type) {
 	case TTM_PL_SYSTEM:
@@ -760,7 +761,7 @@ static int amdgpu_ttm_io_mem_reserve(struct ttm_bo_device *bdev, struct ttm_reso
 	case TTM_PL_VRAM:
 		mem->bus.offset = mem->start << PAGE_SHIFT;
 		/* check if it's visible */
-		if ((mem->bus.offset + mem->bus.size) > adev->gmc.visible_vram_size)
+		if ((mem->bus.offset + bus_size) > adev->gmc.visible_vram_size)
 			return -EINVAL;
 		/* Only physically contiguous buffers apply. In a contiguous
 		 * buffer, size of the first mm_node would match the number of
diff --git a/drivers/gpu/drm/radeon/radeon_ttm.c b/drivers/gpu/drm/radeon/radeon_ttm.c
index 1f1e025b9f06..ca87abb4ac66 100644
--- a/drivers/gpu/drm/radeon/radeon_ttm.c
+++ b/drivers/gpu/drm/radeon/radeon_ttm.c
@@ -379,6 +379,7 @@ static int radeon_bo_move(struct ttm_buffer_object *bo, bool evict,
 static int radeon_ttm_io_mem_reserve(struct ttm_bo_device *bdev, struct ttm_resource *mem)
 {
 	struct radeon_device *rdev = radeon_get_rdev(bdev);
+	size_t bus_size = (size_t)mem->num_pages << PAGE_SHIFT;
 
 	switch (mem->mem_type) {
 	case TTM_PL_SYSTEM:
@@ -397,7 +398,7 @@ static int radeon_ttm_io_mem_reserve(struct ttm_bo_device *bdev, struct ttm_reso
 	case TTM_PL_VRAM:
 		mem->bus.offset = mem->start << PAGE_SHIFT;
 		/* check if it's visible */
-		if ((mem->bus.offset + mem->bus.size) > rdev->mc.visible_vram_size)
+		if ((mem->bus.offset + bus_size) > rdev->mc.visible_vram_size)
 			return -EINVAL;
 		mem->bus.base = rdev->mc.aper_base;
 		mem->bus.is_iomem = true;
@@ -409,11 +410,11 @@ static int radeon_ttm_io_mem_reserve(struct ttm_bo_device *bdev, struct ttm_reso
 		if (mem->placement & TTM_PL_FLAG_WC)
 			mem->bus.addr =
 				ioremap_wc(mem->bus.base + mem->bus.offset,
-					   mem->bus.size);
+					   bus_size);
 		else
 			mem->bus.addr =
 				ioremap(mem->bus.base + mem->bus.offset,
-						mem->bus.size);
+					bus_size);
 		if (!mem->bus.addr)
 			return -ENOMEM;
 
diff --git a/drivers/gpu/drm/ttm/ttm_bo_util.c b/drivers/gpu/drm/ttm/ttm_bo_util.c
index 023f0a2d07c9..670bd7418349 100644
--- a/drivers/gpu/drm/ttm/ttm_bo_util.c
+++ b/drivers/gpu/drm/ttm/ttm_bo_util.c
@@ -140,7 +140,6 @@ int ttm_mem_io_reserve(struct ttm_bo_device *bdev,
 
 	mem->bus.addr = NULL;
 	mem->bus.offset = 0;
-	mem->bus.size = mem->num_pages << PAGE_SHIFT;
 	mem->bus.base = 0;
 	mem->bus.is_iomem = false;
 retry:
@@ -214,12 +213,14 @@ static int ttm_resource_ioremap(struct ttm_bo_device *bdev,
 	if (mem->bus.addr) {
 		addr = mem->bus.addr;
 	} else {
+		size_t bus_size = (size_t)mem->num_pages << PAGE_SHIFT;
+
 		if (mem->placement & TTM_PL_FLAG_WC)
 			addr = ioremap_wc(mem->bus.base + mem->bus.offset,
-					  mem->bus.size);
+					  bus_size);
 		else
 			addr = ioremap(mem->bus.base + mem->bus.offset,
-				       mem->bus.size);
+				       bus_size);
 		if (!addr) {
 			(void) ttm_mem_io_lock(man, false);
 			ttm_mem_io_free(bdev, mem);
diff --git a/include/drm/ttm/ttm_bo_api.h b/include/drm/ttm/ttm_bo_api.h
index 770ad2195875..e1c16c9a6c71 100644
--- a/include/drm/ttm/ttm_bo_api.h
+++ b/include/drm/ttm/ttm_bo_api.h
@@ -62,7 +62,6 @@ struct ttm_resource_manager;
  * @addr:		mapped virtual address
  * @base:		bus base address
  * @is_iomem:		is this io memory ?
- * @size:		size in byte
  * @offset:		offset from the base address
  * @io_reserved_vm:     The VM system has a refcount in @io_reserved_count
  * @io_reserved_count:  Refcounting the numbers of callers to ttm_mem_io_reserve
@@ -72,7 +71,6 @@ struct ttm_resource_manager;
 struct ttm_bus_placement {
 	void		*addr;
 	phys_addr_t	base;
-	unsigned long	size;
 	unsigned long	offset;
 	bool		is_iomem;
 	bool		io_reserved_vm;
-- 
2.27.0

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/2] drm/ttm: init mem->bus in common code.
  2020-08-11  7:46 [PATCH 1/2] drm/ttm: init mem->bus in common code Dave Airlie
  2020-08-11  7:46 ` [PATCH 2/2] drm/ttm: drop bus.size from bus placement Dave Airlie
@ 2020-08-11  8:02 ` Dave Airlie
  2020-08-11  8:42   ` Christian König
  1 sibling, 1 reply; 6+ messages in thread
From: Dave Airlie @ 2020-08-11  8:02 UTC (permalink / raw)
  To: dri-devel, Christian König

(cc'ing Christian, just in case he misses them). 2 small cleanups.

On Tue, 11 Aug 2020 at 17:47, Dave Airlie <airlied@gmail.com> wrote:
>
> From: Dave Airlie <airlied@redhat.com>
>
> The drivers all do the same thing here.
>
> Signed-off-by: Dave Airlie <airlied@redhat.com>
> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c    | 6 ------
>  drivers/gpu/drm/drm_gem_vram_helper.c      | 6 ------
>  drivers/gpu/drm/nouveau/nouveau_bo.c       | 6 ------
>  drivers/gpu/drm/qxl/qxl_ttm.c              | 6 ------
>  drivers/gpu/drm/radeon/radeon_ttm.c        | 6 ------
>  drivers/gpu/drm/ttm/ttm_bo_util.c          | 5 +++++
>  drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c | 6 ------
>  7 files changed, 5 insertions(+), 36 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
> index 67d2eef2f9eb..324abf7a3cba 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
> @@ -751,12 +751,6 @@ static int amdgpu_ttm_io_mem_reserve(struct ttm_bo_device *bdev, struct ttm_reso
>         struct amdgpu_device *adev = amdgpu_ttm_adev(bdev);
>         struct drm_mm_node *mm_node = mem->mm_node;
>
> -       mem->bus.addr = NULL;
> -       mem->bus.offset = 0;
> -       mem->bus.size = mem->num_pages << PAGE_SHIFT;
> -       mem->bus.base = 0;
> -       mem->bus.is_iomem = false;
> -
>         switch (mem->mem_type) {
>         case TTM_PL_SYSTEM:
>                 /* system memory */
> diff --git a/drivers/gpu/drm/drm_gem_vram_helper.c b/drivers/gpu/drm/drm_gem_vram_helper.c
> index b410930d94a0..545a877406f4 100644
> --- a/drivers/gpu/drm/drm_gem_vram_helper.c
> +++ b/drivers/gpu/drm/drm_gem_vram_helper.c
> @@ -1038,14 +1038,8 @@ static int bo_driver_io_mem_reserve(struct ttm_bo_device *bdev,
>  {
>         struct drm_vram_mm *vmm = drm_vram_mm_of_bdev(bdev);
>
> -       mem->bus.addr = NULL;
> -       mem->bus.size = mem->num_pages << PAGE_SHIFT;
> -
>         switch (mem->mem_type) {
>         case TTM_PL_SYSTEM:     /* nothing to do */
> -               mem->bus.offset = 0;
> -               mem->bus.base = 0;
> -               mem->bus.is_iomem = false;
>                 break;
>         case TTM_PL_VRAM:
>                 mem->bus.offset = mem->start << PAGE_SHIFT;
> diff --git a/drivers/gpu/drm/nouveau/nouveau_bo.c b/drivers/gpu/drm/nouveau/nouveau_bo.c
> index 604a74323696..7cfe3898ce62 100644
> --- a/drivers/gpu/drm/nouveau/nouveau_bo.c
> +++ b/drivers/gpu/drm/nouveau/nouveau_bo.c
> @@ -1380,12 +1380,6 @@ nouveau_ttm_io_mem_reserve(struct ttm_bo_device *bdev, struct ttm_resource *reg)
>         struct nvkm_device *device = nvxx_device(&drm->client.device);
>         struct nouveau_mem *mem = nouveau_mem(reg);
>
> -       reg->bus.addr = NULL;
> -       reg->bus.offset = 0;
> -       reg->bus.size = reg->num_pages << PAGE_SHIFT;
> -       reg->bus.base = 0;
> -       reg->bus.is_iomem = false;
> -
>         switch (reg->mem_type) {
>         case TTM_PL_SYSTEM:
>                 /* System memory */
> diff --git a/drivers/gpu/drm/qxl/qxl_ttm.c b/drivers/gpu/drm/qxl/qxl_ttm.c
> index b1ea984f143a..c55ac31f5476 100644
> --- a/drivers/gpu/drm/qxl/qxl_ttm.c
> +++ b/drivers/gpu/drm/qxl/qxl_ttm.c
> @@ -75,12 +75,6 @@ int qxl_ttm_io_mem_reserve(struct ttm_bo_device *bdev,
>  {
>         struct qxl_device *qdev = qxl_get_qdev(bdev);
>
> -       mem->bus.addr = NULL;
> -       mem->bus.offset = 0;
> -       mem->bus.size = mem->num_pages << PAGE_SHIFT;
> -       mem->bus.base = 0;
> -       mem->bus.is_iomem = false;
> -
>         switch (mem->mem_type) {
>         case TTM_PL_SYSTEM:
>                 /* system memory */
> diff --git a/drivers/gpu/drm/radeon/radeon_ttm.c b/drivers/gpu/drm/radeon/radeon_ttm.c
> index 3355b69b13d1..1f1e025b9f06 100644
> --- a/drivers/gpu/drm/radeon/radeon_ttm.c
> +++ b/drivers/gpu/drm/radeon/radeon_ttm.c
> @@ -380,12 +380,6 @@ static int radeon_ttm_io_mem_reserve(struct ttm_bo_device *bdev, struct ttm_reso
>  {
>         struct radeon_device *rdev = radeon_get_rdev(bdev);
>
> -       mem->bus.addr = NULL;
> -       mem->bus.offset = 0;
> -       mem->bus.size = mem->num_pages << PAGE_SHIFT;
> -       mem->bus.base = 0;
> -       mem->bus.is_iomem = false;
> -
>         switch (mem->mem_type) {
>         case TTM_PL_SYSTEM:
>                 /* system memory */
> diff --git a/drivers/gpu/drm/ttm/ttm_bo_util.c b/drivers/gpu/drm/ttm/ttm_bo_util.c
> index 496158acd5b9..023f0a2d07c9 100644
> --- a/drivers/gpu/drm/ttm/ttm_bo_util.c
> +++ b/drivers/gpu/drm/ttm/ttm_bo_util.c
> @@ -138,6 +138,11 @@ int ttm_mem_io_reserve(struct ttm_bo_device *bdev,
>         if (!bdev->driver->io_mem_reserve)
>                 return 0;
>
> +       mem->bus.addr = NULL;
> +       mem->bus.offset = 0;
> +       mem->bus.size = mem->num_pages << PAGE_SHIFT;
> +       mem->bus.base = 0;
> +       mem->bus.is_iomem = false;
>  retry:
>         ret = bdev->driver->io_mem_reserve(bdev, mem);
>         if (ret == -ENOSPC) {
> diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c b/drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c
> index 69e7e7fe2a4c..6ae4a856241b 100644
> --- a/drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c
> +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c
> @@ -717,12 +717,6 @@ static int vmw_ttm_io_mem_reserve(struct ttm_bo_device *bdev, struct ttm_resourc
>  {
>         struct vmw_private *dev_priv = container_of(bdev, struct vmw_private, bdev);
>
> -       mem->bus.addr = NULL;
> -       mem->bus.is_iomem = false;
> -       mem->bus.offset = 0;
> -       mem->bus.size = mem->num_pages << PAGE_SHIFT;
> -       mem->bus.base = 0;
> -
>         switch (mem->mem_type) {
>         case TTM_PL_SYSTEM:
>         case VMW_PL_GMR:
> --
> 2.27.0
>
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/2] drm/ttm: init mem->bus in common code.
  2020-08-11  8:02 ` [PATCH 1/2] drm/ttm: init mem->bus in common code Dave Airlie
@ 2020-08-11  8:42   ` Christian König
  2020-08-11  8:49     ` Dave Airlie
  0 siblings, 1 reply; 6+ messages in thread
From: Christian König @ 2020-08-11  8:42 UTC (permalink / raw)
  To: Dave Airlie, dri-devel

I've totally missed those and still don't see any reference in any inbox 
to the original mail or patch #2 in this series.

But this patch at least looks like it makes a lot of sense.

BTW: Does anybody know why we separate base and offset here? That 
distinction seems to be superfluous as well.

Christian.

Am 11.08.20 um 10:02 schrieb Dave Airlie:
> (cc'ing Christian, just in case he misses them). 2 small cleanups.
>
> On Tue, 11 Aug 2020 at 17:47, Dave Airlie <airlied@gmail.com> wrote:
>> From: Dave Airlie <airlied@redhat.com>
>>
>> The drivers all do the same thing here.
>>
>> Signed-off-by: Dave Airlie <airlied@redhat.com>
>> ---
>>   drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c    | 6 ------
>>   drivers/gpu/drm/drm_gem_vram_helper.c      | 6 ------
>>   drivers/gpu/drm/nouveau/nouveau_bo.c       | 6 ------
>>   drivers/gpu/drm/qxl/qxl_ttm.c              | 6 ------
>>   drivers/gpu/drm/radeon/radeon_ttm.c        | 6 ------
>>   drivers/gpu/drm/ttm/ttm_bo_util.c          | 5 +++++
>>   drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c | 6 ------
>>   7 files changed, 5 insertions(+), 36 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
>> index 67d2eef2f9eb..324abf7a3cba 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
>> @@ -751,12 +751,6 @@ static int amdgpu_ttm_io_mem_reserve(struct ttm_bo_device *bdev, struct ttm_reso
>>          struct amdgpu_device *adev = amdgpu_ttm_adev(bdev);
>>          struct drm_mm_node *mm_node = mem->mm_node;
>>
>> -       mem->bus.addr = NULL;
>> -       mem->bus.offset = 0;
>> -       mem->bus.size = mem->num_pages << PAGE_SHIFT;
>> -       mem->bus.base = 0;
>> -       mem->bus.is_iomem = false;
>> -
>>          switch (mem->mem_type) {
>>          case TTM_PL_SYSTEM:
>>                  /* system memory */
>> diff --git a/drivers/gpu/drm/drm_gem_vram_helper.c b/drivers/gpu/drm/drm_gem_vram_helper.c
>> index b410930d94a0..545a877406f4 100644
>> --- a/drivers/gpu/drm/drm_gem_vram_helper.c
>> +++ b/drivers/gpu/drm/drm_gem_vram_helper.c
>> @@ -1038,14 +1038,8 @@ static int bo_driver_io_mem_reserve(struct ttm_bo_device *bdev,
>>   {
>>          struct drm_vram_mm *vmm = drm_vram_mm_of_bdev(bdev);
>>
>> -       mem->bus.addr = NULL;
>> -       mem->bus.size = mem->num_pages << PAGE_SHIFT;
>> -
>>          switch (mem->mem_type) {
>>          case TTM_PL_SYSTEM:     /* nothing to do */
>> -               mem->bus.offset = 0;
>> -               mem->bus.base = 0;
>> -               mem->bus.is_iomem = false;
>>                  break;
>>          case TTM_PL_VRAM:
>>                  mem->bus.offset = mem->start << PAGE_SHIFT;
>> diff --git a/drivers/gpu/drm/nouveau/nouveau_bo.c b/drivers/gpu/drm/nouveau/nouveau_bo.c
>> index 604a74323696..7cfe3898ce62 100644
>> --- a/drivers/gpu/drm/nouveau/nouveau_bo.c
>> +++ b/drivers/gpu/drm/nouveau/nouveau_bo.c
>> @@ -1380,12 +1380,6 @@ nouveau_ttm_io_mem_reserve(struct ttm_bo_device *bdev, struct ttm_resource *reg)
>>          struct nvkm_device *device = nvxx_device(&drm->client.device);
>>          struct nouveau_mem *mem = nouveau_mem(reg);
>>
>> -       reg->bus.addr = NULL;
>> -       reg->bus.offset = 0;
>> -       reg->bus.size = reg->num_pages << PAGE_SHIFT;
>> -       reg->bus.base = 0;
>> -       reg->bus.is_iomem = false;
>> -
>>          switch (reg->mem_type) {
>>          case TTM_PL_SYSTEM:
>>                  /* System memory */
>> diff --git a/drivers/gpu/drm/qxl/qxl_ttm.c b/drivers/gpu/drm/qxl/qxl_ttm.c
>> index b1ea984f143a..c55ac31f5476 100644
>> --- a/drivers/gpu/drm/qxl/qxl_ttm.c
>> +++ b/drivers/gpu/drm/qxl/qxl_ttm.c
>> @@ -75,12 +75,6 @@ int qxl_ttm_io_mem_reserve(struct ttm_bo_device *bdev,
>>   {
>>          struct qxl_device *qdev = qxl_get_qdev(bdev);
>>
>> -       mem->bus.addr = NULL;
>> -       mem->bus.offset = 0;
>> -       mem->bus.size = mem->num_pages << PAGE_SHIFT;
>> -       mem->bus.base = 0;
>> -       mem->bus.is_iomem = false;
>> -
>>          switch (mem->mem_type) {
>>          case TTM_PL_SYSTEM:
>>                  /* system memory */
>> diff --git a/drivers/gpu/drm/radeon/radeon_ttm.c b/drivers/gpu/drm/radeon/radeon_ttm.c
>> index 3355b69b13d1..1f1e025b9f06 100644
>> --- a/drivers/gpu/drm/radeon/radeon_ttm.c
>> +++ b/drivers/gpu/drm/radeon/radeon_ttm.c
>> @@ -380,12 +380,6 @@ static int radeon_ttm_io_mem_reserve(struct ttm_bo_device *bdev, struct ttm_reso
>>   {
>>          struct radeon_device *rdev = radeon_get_rdev(bdev);
>>
>> -       mem->bus.addr = NULL;
>> -       mem->bus.offset = 0;
>> -       mem->bus.size = mem->num_pages << PAGE_SHIFT;
>> -       mem->bus.base = 0;
>> -       mem->bus.is_iomem = false;
>> -
>>          switch (mem->mem_type) {
>>          case TTM_PL_SYSTEM:
>>                  /* system memory */
>> diff --git a/drivers/gpu/drm/ttm/ttm_bo_util.c b/drivers/gpu/drm/ttm/ttm_bo_util.c
>> index 496158acd5b9..023f0a2d07c9 100644
>> --- a/drivers/gpu/drm/ttm/ttm_bo_util.c
>> +++ b/drivers/gpu/drm/ttm/ttm_bo_util.c
>> @@ -138,6 +138,11 @@ int ttm_mem_io_reserve(struct ttm_bo_device *bdev,
>>          if (!bdev->driver->io_mem_reserve)
>>                  return 0;
>>
>> +       mem->bus.addr = NULL;
>> +       mem->bus.offset = 0;
>> +       mem->bus.size = mem->num_pages << PAGE_SHIFT;
>> +       mem->bus.base = 0;
>> +       mem->bus.is_iomem = false;
>>   retry:
>>          ret = bdev->driver->io_mem_reserve(bdev, mem);
>>          if (ret == -ENOSPC) {
>> diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c b/drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c
>> index 69e7e7fe2a4c..6ae4a856241b 100644
>> --- a/drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c
>> +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c
>> @@ -717,12 +717,6 @@ static int vmw_ttm_io_mem_reserve(struct ttm_bo_device *bdev, struct ttm_resourc
>>   {
>>          struct vmw_private *dev_priv = container_of(bdev, struct vmw_private, bdev);
>>
>> -       mem->bus.addr = NULL;
>> -       mem->bus.is_iomem = false;
>> -       mem->bus.offset = 0;
>> -       mem->bus.size = mem->num_pages << PAGE_SHIFT;
>> -       mem->bus.base = 0;
>> -
>>          switch (mem->mem_type) {
>>          case TTM_PL_SYSTEM:
>>          case VMW_PL_GMR:
>> --
>> 2.27.0
>>
>> _______________________________________________
>> dri-devel mailing list
>> dri-devel@lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/dri-devel

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/2] drm/ttm: init mem->bus in common code.
  2020-08-11  8:42   ` Christian König
@ 2020-08-11  8:49     ` Dave Airlie
  2020-08-11  8:53       ` Christian König
  0 siblings, 1 reply; 6+ messages in thread
From: Dave Airlie @ 2020-08-11  8:49 UTC (permalink / raw)
  To: Koenig, Christian; +Cc: dri-devel

On Tue, 11 Aug 2020 at 18:42, Christian König
<ckoenig.leichtzumerken@gmail.com> wrote:
>
> I've totally missed those and still don't see any reference in any inbox
> to the original mail or patch #2 in this series.

I forgot to cc you on the original posting, but they should be on dri-devel

https://patchwork.freedesktop.org/series/80517/
>
> But this patch at least looks like it makes a lot of sense.
>
> BTW: Does anybody know why we separate base and offset here? That
> distinction seems to be superfluous as well.

I think base is only used for premapped objects,

Dave.
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/2] drm/ttm: init mem->bus in common code.
  2020-08-11  8:49     ` Dave Airlie
@ 2020-08-11  8:53       ` Christian König
  0 siblings, 0 replies; 6+ messages in thread
From: Christian König @ 2020-08-11  8:53 UTC (permalink / raw)
  To: Dave Airlie; +Cc: dri-devel

Am 11.08.20 um 10:49 schrieb Dave Airlie:
> On Tue, 11 Aug 2020 at 18:42, Christian König
> <ckoenig.leichtzumerken@gmail.com> wrote:
>> I've totally missed those and still don't see any reference in any inbox
>> to the original mail or patch #2 in this series.
> I forgot to cc you on the original posting, but they should be on dri-devel
>
> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpatchwork.freedesktop.org%2Fseries%2F80517%2F&amp;data=02%7C01%7Cchristian.koenig%40amd.com%7C9ba8068c644a495b35a308d83dd37b82%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637327326072901891&amp;sdata=YoLRGkStydOIQEZUL7rq1Om58uSNu6wj7bYy7yEshbw%3D&amp;reserved=0

Reviewed-by: Christian König <christian.koenig@amd.com> for both.

>> But this patch at least looks like it makes a lot of sense.
>>
>> BTW: Does anybody know why we separate base and offset here? That
>> distinction seems to be superfluous as well.
> I think base is only used for premapped objects,

Yeah, but take a look how it is used. As far as I know we don't have a 
single case where we don't do "mem->bus.base + mem->bus.offset".

If that's true (needs double checking) then why the heck do we have two 
fields for this?

Regards,
Christian.

>
> Dave.

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2020-08-11  8:53 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-11  7:46 [PATCH 1/2] drm/ttm: init mem->bus in common code Dave Airlie
2020-08-11  7:46 ` [PATCH 2/2] drm/ttm: drop bus.size from bus placement Dave Airlie
2020-08-11  8:02 ` [PATCH 1/2] drm/ttm: init mem->bus in common code Dave Airlie
2020-08-11  8:42   ` Christian König
2020-08-11  8:49     ` Dave Airlie
2020-08-11  8:53       ` Christian König

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.