* [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&data=02%7C01%7Cchristian.koenig%40amd.com%7C9ba8068c644a495b35a308d83dd37b82%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637327326072901891&sdata=YoLRGkStydOIQEZUL7rq1Om58uSNu6wj7bYy7yEshbw%3D&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.