mbox series

[RESEND,v6,0/8] do not store GPU address in TTM

Message ID 20200624182648.6976-1-nirmoy.das@amd.com (mailing list archive)
Headers show
Series do not store GPU address in TTM | expand

Message

Nirmoy Das June 24, 2020, 6:26 p.m. UTC
With this patch series I am trying to remove GPU address dependency in
TTM and moving GPU address calculation to individual drm drivers. This
cleanup will simplify introduction of drm_mem_region/domain work started
by Brian Welty[1].


It would be nice if someone test this for nouveau. Rest of the drivers
are already tested.

v2:
* set bo->offset = 0 for drm/nouveau if bo->mem.mm_node == NULL

v3:
* catch return value of drm_gem_vram_offset() in drm/bochs
* introduce drm_gem_vram_pg_offset() in vram helper
* improve nbo->offset calculation for nouveau

v4:
* minor coding style fixes in amdgpu and radeon
* remove unnecessary kerneldoc for internal function

v5:
* rebase on top of drm-misc-next
* fix return value of drm_gem_vram_pg_offset()
* add a comment in drm_gem_vram_pg_offset() to clearify why we return 0.

v6:
* rebase to drm-misc-next
* removed acked for vmwgfx as there was a small conflict

Nirmoy Das (8):
  drm/amdgpu: move ttm bo->offset to amdgpu_bo
  drm/radeon: don't use ttm bo->offset
  drm/vmwgfx: don't use ttm bo->offset
  drm/nouveau: don't use ttm bo->offset v3
  drm/qxl: don't use ttm bo->offset
  drm/vram-helper: don't use ttm bo->offset v4
  drm/bochs: use drm_gem_vram_offset to get bo offset v2
  drm/ttm: do not keep GPU dependent addresses

 drivers/gpu/drm/amd/amdgpu/amdgpu_object.c  | 23 ++++++++++++++--
 drivers/gpu/drm/amd/amdgpu/amdgpu_object.h  |  1 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c     | 30 ++++++++++++++++-----
 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h     |  1 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_vm_sdma.c |  4 +--
 drivers/gpu/drm/bochs/bochs_kms.c           |  7 ++++-
 drivers/gpu/drm/drm_gem_vram_helper.c       | 11 +++++++-
 drivers/gpu/drm/nouveau/dispnv04/crtc.c     |  6 ++---
 drivers/gpu/drm/nouveau/dispnv04/disp.c     |  3 ++-
 drivers/gpu/drm/nouveau/dispnv04/overlay.c  |  6 ++---
 drivers/gpu/drm/nouveau/dispnv50/base507c.c |  2 +-
 drivers/gpu/drm/nouveau/dispnv50/core507d.c |  2 +-
 drivers/gpu/drm/nouveau/dispnv50/ovly507e.c |  2 +-
 drivers/gpu/drm/nouveau/dispnv50/wndw.c     |  2 +-
 drivers/gpu/drm/nouveau/dispnv50/wndwc37e.c |  2 +-
 drivers/gpu/drm/nouveau/nouveau_abi16.c     |  8 +++---
 drivers/gpu/drm/nouveau/nouveau_bo.c        |  8 ++++++
 drivers/gpu/drm/nouveau/nouveau_bo.h        |  3 +++
 drivers/gpu/drm/nouveau/nouveau_chan.c      |  2 +-
 drivers/gpu/drm/nouveau/nouveau_dmem.c      |  2 +-
 drivers/gpu/drm/nouveau/nouveau_fbcon.c     |  2 +-
 drivers/gpu/drm/nouveau/nouveau_gem.c       | 10 +++----
 drivers/gpu/drm/qxl/qxl_drv.h               |  6 ++---
 drivers/gpu/drm/qxl/qxl_kms.c               |  5 ++--
 drivers/gpu/drm/qxl/qxl_object.h            |  5 ----
 drivers/gpu/drm/qxl/qxl_ttm.c               |  9 -------
 drivers/gpu/drm/radeon/radeon.h             |  1 +
 drivers/gpu/drm/radeon/radeon_object.h      | 16 ++++++++++-
 drivers/gpu/drm/radeon/radeon_ttm.c         |  4 +--
 drivers/gpu/drm/ttm/ttm_bo.c                |  7 -----
 drivers/gpu/drm/vmwgfx/vmwgfx_bo.c          |  4 +--
 drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c     |  2 +-
 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c        |  2 +-
 drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c  |  2 --
 include/drm/ttm/ttm_bo_api.h                |  2 --
 include/drm/ttm/ttm_bo_driver.h             |  1 -
 36 files changed, 125 insertions(+), 78 deletions(-)

--
2.27.0

Comments

Christian König June 25, 2020, 9:50 a.m. UTC | #1
I've pushed patches #1, #2 and #5-#8 of this series to drm-misc-next.

Only VMGFX and Nouveau are missing and I'm pretty close to just push 
them with my Acked-by since they should not contain any functional change.

Any objections?

Thanks,
Christian.

Am 24.06.20 um 20:26 schrieb Nirmoy Das:
> With this patch series I am trying to remove GPU address dependency in
> TTM and moving GPU address calculation to individual drm drivers. This
> cleanup will simplify introduction of drm_mem_region/domain work started
> by Brian Welty[1].
>
>
> It would be nice if someone test this for nouveau. Rest of the drivers
> are already tested.
>
> v2:
> * set bo->offset = 0 for drm/nouveau if bo->mem.mm_node == NULL
>
> v3:
> * catch return value of drm_gem_vram_offset() in drm/bochs
> * introduce drm_gem_vram_pg_offset() in vram helper
> * improve nbo->offset calculation for nouveau
>
> v4:
> * minor coding style fixes in amdgpu and radeon
> * remove unnecessary kerneldoc for internal function
>
> v5:
> * rebase on top of drm-misc-next
> * fix return value of drm_gem_vram_pg_offset()
> * add a comment in drm_gem_vram_pg_offset() to clearify why we return 0.
>
> v6:
> * rebase to drm-misc-next
> * removed acked for vmwgfx as there was a small conflict
>
> Nirmoy Das (8):
>    drm/amdgpu: move ttm bo->offset to amdgpu_bo
>    drm/radeon: don't use ttm bo->offset
>    drm/vmwgfx: don't use ttm bo->offset
>    drm/nouveau: don't use ttm bo->offset v3
>    drm/qxl: don't use ttm bo->offset
>    drm/vram-helper: don't use ttm bo->offset v4
>    drm/bochs: use drm_gem_vram_offset to get bo offset v2
>    drm/ttm: do not keep GPU dependent addresses
>
>   drivers/gpu/drm/amd/amdgpu/amdgpu_object.c  | 23 ++++++++++++++--
>   drivers/gpu/drm/amd/amdgpu/amdgpu_object.h  |  1 +
>   drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c     | 30 ++++++++++++++++-----
>   drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h     |  1 +
>   drivers/gpu/drm/amd/amdgpu/amdgpu_vm_sdma.c |  4 +--
>   drivers/gpu/drm/bochs/bochs_kms.c           |  7 ++++-
>   drivers/gpu/drm/drm_gem_vram_helper.c       | 11 +++++++-
>   drivers/gpu/drm/nouveau/dispnv04/crtc.c     |  6 ++---
>   drivers/gpu/drm/nouveau/dispnv04/disp.c     |  3 ++-
>   drivers/gpu/drm/nouveau/dispnv04/overlay.c  |  6 ++---
>   drivers/gpu/drm/nouveau/dispnv50/base507c.c |  2 +-
>   drivers/gpu/drm/nouveau/dispnv50/core507d.c |  2 +-
>   drivers/gpu/drm/nouveau/dispnv50/ovly507e.c |  2 +-
>   drivers/gpu/drm/nouveau/dispnv50/wndw.c     |  2 +-
>   drivers/gpu/drm/nouveau/dispnv50/wndwc37e.c |  2 +-
>   drivers/gpu/drm/nouveau/nouveau_abi16.c     |  8 +++---
>   drivers/gpu/drm/nouveau/nouveau_bo.c        |  8 ++++++
>   drivers/gpu/drm/nouveau/nouveau_bo.h        |  3 +++
>   drivers/gpu/drm/nouveau/nouveau_chan.c      |  2 +-
>   drivers/gpu/drm/nouveau/nouveau_dmem.c      |  2 +-
>   drivers/gpu/drm/nouveau/nouveau_fbcon.c     |  2 +-
>   drivers/gpu/drm/nouveau/nouveau_gem.c       | 10 +++----
>   drivers/gpu/drm/qxl/qxl_drv.h               |  6 ++---
>   drivers/gpu/drm/qxl/qxl_kms.c               |  5 ++--
>   drivers/gpu/drm/qxl/qxl_object.h            |  5 ----
>   drivers/gpu/drm/qxl/qxl_ttm.c               |  9 -------
>   drivers/gpu/drm/radeon/radeon.h             |  1 +
>   drivers/gpu/drm/radeon/radeon_object.h      | 16 ++++++++++-
>   drivers/gpu/drm/radeon/radeon_ttm.c         |  4 +--
>   drivers/gpu/drm/ttm/ttm_bo.c                |  7 -----
>   drivers/gpu/drm/vmwgfx/vmwgfx_bo.c          |  4 +--
>   drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c     |  2 +-
>   drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c        |  2 +-
>   drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c  |  2 --
>   include/drm/ttm/ttm_bo_api.h                |  2 --
>   include/drm/ttm/ttm_bo_driver.h             |  1 -
>   36 files changed, 125 insertions(+), 78 deletions(-)
>
> --
> 2.27.0
>
Daniel Vetter June 25, 2020, 9:57 a.m. UTC | #2
On Thu, Jun 25, 2020 at 11:50 AM Christian König
<christian.koenig@amd.com> wrote:
>
> I've pushed patches #1, #2 and #5-#8 of this series to drm-misc-next.
>
> Only VMGFX and Nouveau are missing and I'm pretty close to just push
> them with my Acked-by since they should not contain any functional change.
>
> Any objections?

Sounds good to me, I just suggested to Alex on irc you do just that.
These patches have been floating for long enough that there's stalling
for driver maintainers is imo not needed for longer.
-Daniel

>
> Thanks,
> Christian.
>
> Am 24.06.20 um 20:26 schrieb Nirmoy Das:
> > With this patch series I am trying to remove GPU address dependency in
> > TTM and moving GPU address calculation to individual drm drivers. This
> > cleanup will simplify introduction of drm_mem_region/domain work started
> > by Brian Welty[1].
> >
> >
> > It would be nice if someone test this for nouveau. Rest of the drivers
> > are already tested.
> >
> > v2:
> > * set bo->offset = 0 for drm/nouveau if bo->mem.mm_node == NULL
> >
> > v3:
> > * catch return value of drm_gem_vram_offset() in drm/bochs
> > * introduce drm_gem_vram_pg_offset() in vram helper
> > * improve nbo->offset calculation for nouveau
> >
> > v4:
> > * minor coding style fixes in amdgpu and radeon
> > * remove unnecessary kerneldoc for internal function
> >
> > v5:
> > * rebase on top of drm-misc-next
> > * fix return value of drm_gem_vram_pg_offset()
> > * add a comment in drm_gem_vram_pg_offset() to clearify why we return 0.
> >
> > v6:
> > * rebase to drm-misc-next
> > * removed acked for vmwgfx as there was a small conflict
> >
> > Nirmoy Das (8):
> >    drm/amdgpu: move ttm bo->offset to amdgpu_bo
> >    drm/radeon: don't use ttm bo->offset
> >    drm/vmwgfx: don't use ttm bo->offset
> >    drm/nouveau: don't use ttm bo->offset v3
> >    drm/qxl: don't use ttm bo->offset
> >    drm/vram-helper: don't use ttm bo->offset v4
> >    drm/bochs: use drm_gem_vram_offset to get bo offset v2
> >    drm/ttm: do not keep GPU dependent addresses
> >
> >   drivers/gpu/drm/amd/amdgpu/amdgpu_object.c  | 23 ++++++++++++++--
> >   drivers/gpu/drm/amd/amdgpu/amdgpu_object.h  |  1 +
> >   drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c     | 30 ++++++++++++++++-----
> >   drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h     |  1 +
> >   drivers/gpu/drm/amd/amdgpu/amdgpu_vm_sdma.c |  4 +--
> >   drivers/gpu/drm/bochs/bochs_kms.c           |  7 ++++-
> >   drivers/gpu/drm/drm_gem_vram_helper.c       | 11 +++++++-
> >   drivers/gpu/drm/nouveau/dispnv04/crtc.c     |  6 ++---
> >   drivers/gpu/drm/nouveau/dispnv04/disp.c     |  3 ++-
> >   drivers/gpu/drm/nouveau/dispnv04/overlay.c  |  6 ++---
> >   drivers/gpu/drm/nouveau/dispnv50/base507c.c |  2 +-
> >   drivers/gpu/drm/nouveau/dispnv50/core507d.c |  2 +-
> >   drivers/gpu/drm/nouveau/dispnv50/ovly507e.c |  2 +-
> >   drivers/gpu/drm/nouveau/dispnv50/wndw.c     |  2 +-
> >   drivers/gpu/drm/nouveau/dispnv50/wndwc37e.c |  2 +-
> >   drivers/gpu/drm/nouveau/nouveau_abi16.c     |  8 +++---
> >   drivers/gpu/drm/nouveau/nouveau_bo.c        |  8 ++++++
> >   drivers/gpu/drm/nouveau/nouveau_bo.h        |  3 +++
> >   drivers/gpu/drm/nouveau/nouveau_chan.c      |  2 +-
> >   drivers/gpu/drm/nouveau/nouveau_dmem.c      |  2 +-
> >   drivers/gpu/drm/nouveau/nouveau_fbcon.c     |  2 +-
> >   drivers/gpu/drm/nouveau/nouveau_gem.c       | 10 +++----
> >   drivers/gpu/drm/qxl/qxl_drv.h               |  6 ++---
> >   drivers/gpu/drm/qxl/qxl_kms.c               |  5 ++--
> >   drivers/gpu/drm/qxl/qxl_object.h            |  5 ----
> >   drivers/gpu/drm/qxl/qxl_ttm.c               |  9 -------
> >   drivers/gpu/drm/radeon/radeon.h             |  1 +
> >   drivers/gpu/drm/radeon/radeon_object.h      | 16 ++++++++++-
> >   drivers/gpu/drm/radeon/radeon_ttm.c         |  4 +--
> >   drivers/gpu/drm/ttm/ttm_bo.c                |  7 -----
> >   drivers/gpu/drm/vmwgfx/vmwgfx_bo.c          |  4 +--
> >   drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c     |  2 +-
> >   drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c        |  2 +-
> >   drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c  |  2 --
> >   include/drm/ttm/ttm_bo_api.h                |  2 --
> >   include/drm/ttm/ttm_bo_driver.h             |  1 -
> >   36 files changed, 125 insertions(+), 78 deletions(-)
> >
> > --
> > 2.27.0
> >
>
Daniel Vetter June 25, 2020, 3:44 p.m. UTC | #3
On Thu, Jun 25, 2020 at 11:50 AM Christian König
<christian.koenig@amd.com> wrote:
>
> I've pushed patches #1, #2 and #5-#8 of this series to drm-misc-next.

I think you left an unresolved conflict behind in drm-tip, please resolve per

https://drm.pages.freedesktop.org/maintainer-tools/drm-tip.html#resolving-conflicts-when-rebuilding-drm-tip

The script should have told you that already, so maybe reinvent that
in whatever thing you're using :-) Jani has reported this on
#dri-devel, this also holds up CI testing since we're running on top
of drm-tip.
-Daniel



> Only VMGFX and Nouveau are missing and I'm pretty close to just push
> them with my Acked-by since they should not contain any functional change.
>
> Any objections?
>
> Thanks,
> Christian.
>
> Am 24.06.20 um 20:26 schrieb Nirmoy Das:
> > With this patch series I am trying to remove GPU address dependency in
> > TTM and moving GPU address calculation to individual drm drivers. This
> > cleanup will simplify introduction of drm_mem_region/domain work started
> > by Brian Welty[1].
> >
> >
> > It would be nice if someone test this for nouveau. Rest of the drivers
> > are already tested.
> >
> > v2:
> > * set bo->offset = 0 for drm/nouveau if bo->mem.mm_node == NULL
> >
> > v3:
> > * catch return value of drm_gem_vram_offset() in drm/bochs
> > * introduce drm_gem_vram_pg_offset() in vram helper
> > * improve nbo->offset calculation for nouveau
> >
> > v4:
> > * minor coding style fixes in amdgpu and radeon
> > * remove unnecessary kerneldoc for internal function
> >
> > v5:
> > * rebase on top of drm-misc-next
> > * fix return value of drm_gem_vram_pg_offset()
> > * add a comment in drm_gem_vram_pg_offset() to clearify why we return 0.
> >
> > v6:
> > * rebase to drm-misc-next
> > * removed acked for vmwgfx as there was a small conflict
> >
> > Nirmoy Das (8):
> >    drm/amdgpu: move ttm bo->offset to amdgpu_bo
> >    drm/radeon: don't use ttm bo->offset
> >    drm/vmwgfx: don't use ttm bo->offset
> >    drm/nouveau: don't use ttm bo->offset v3
> >    drm/qxl: don't use ttm bo->offset
> >    drm/vram-helper: don't use ttm bo->offset v4
> >    drm/bochs: use drm_gem_vram_offset to get bo offset v2
> >    drm/ttm: do not keep GPU dependent addresses
> >
> >   drivers/gpu/drm/amd/amdgpu/amdgpu_object.c  | 23 ++++++++++++++--
> >   drivers/gpu/drm/amd/amdgpu/amdgpu_object.h  |  1 +
> >   drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c     | 30 ++++++++++++++++-----
> >   drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h     |  1 +
> >   drivers/gpu/drm/amd/amdgpu/amdgpu_vm_sdma.c |  4 +--
> >   drivers/gpu/drm/bochs/bochs_kms.c           |  7 ++++-
> >   drivers/gpu/drm/drm_gem_vram_helper.c       | 11 +++++++-
> >   drivers/gpu/drm/nouveau/dispnv04/crtc.c     |  6 ++---
> >   drivers/gpu/drm/nouveau/dispnv04/disp.c     |  3 ++-
> >   drivers/gpu/drm/nouveau/dispnv04/overlay.c  |  6 ++---
> >   drivers/gpu/drm/nouveau/dispnv50/base507c.c |  2 +-
> >   drivers/gpu/drm/nouveau/dispnv50/core507d.c |  2 +-
> >   drivers/gpu/drm/nouveau/dispnv50/ovly507e.c |  2 +-
> >   drivers/gpu/drm/nouveau/dispnv50/wndw.c     |  2 +-
> >   drivers/gpu/drm/nouveau/dispnv50/wndwc37e.c |  2 +-
> >   drivers/gpu/drm/nouveau/nouveau_abi16.c     |  8 +++---
> >   drivers/gpu/drm/nouveau/nouveau_bo.c        |  8 ++++++
> >   drivers/gpu/drm/nouveau/nouveau_bo.h        |  3 +++
> >   drivers/gpu/drm/nouveau/nouveau_chan.c      |  2 +-
> >   drivers/gpu/drm/nouveau/nouveau_dmem.c      |  2 +-
> >   drivers/gpu/drm/nouveau/nouveau_fbcon.c     |  2 +-
> >   drivers/gpu/drm/nouveau/nouveau_gem.c       | 10 +++----
> >   drivers/gpu/drm/qxl/qxl_drv.h               |  6 ++---
> >   drivers/gpu/drm/qxl/qxl_kms.c               |  5 ++--
> >   drivers/gpu/drm/qxl/qxl_object.h            |  5 ----
> >   drivers/gpu/drm/qxl/qxl_ttm.c               |  9 -------
> >   drivers/gpu/drm/radeon/radeon.h             |  1 +
> >   drivers/gpu/drm/radeon/radeon_object.h      | 16 ++++++++++-
> >   drivers/gpu/drm/radeon/radeon_ttm.c         |  4 +--
> >   drivers/gpu/drm/ttm/ttm_bo.c                |  7 -----
> >   drivers/gpu/drm/vmwgfx/vmwgfx_bo.c          |  4 +--
> >   drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c     |  2 +-
> >   drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c        |  2 +-
> >   drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c  |  2 --
> >   include/drm/ttm/ttm_bo_api.h                |  2 --
> >   include/drm/ttm/ttm_bo_driver.h             |  1 -
> >   36 files changed, 125 insertions(+), 78 deletions(-)
> >
> > --
> > 2.27.0
> >
>
Christian König June 25, 2020, 3:52 p.m. UTC | #4
Am 25.06.20 um 17:44 schrieb Daniel Vetter:
> On Thu, Jun 25, 2020 at 11:50 AM Christian König
> <christian.koenig@amd.com> wrote:
>> I've pushed patches #1, #2 and #5-#8 of this series to drm-misc-next.
> I think you left an unresolved conflict behind in drm-tip, please resolve per
>
> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdrm.pages.freedesktop.org%2Fmaintainer-tools%2Fdrm-tip.html%23resolving-conflicts-when-rebuilding-drm-tip&amp;data=02%7C01%7Cchristian.koenig%40amd.com%7Cc1441a81e9dc4fa4507208d8191ea0f6%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637286966631595300&amp;sdata=pfWS4VgDvU8IsR2638MDr7fYWE0nefa3b6XxyPCCsOU%3D&amp;reserved=0
>
> The script should have told you that already, so maybe reinvent that
> in whatever thing you're using :-) Jani has reported this on
> #dri-devel, this also holds up CI testing since we're running on top
> of drm-tip.

Well I used dim push-branch. I even had to rebase once more because I 
forgot a signed-of on one of the patches, so I'm pretty sure of that.

Haven't seen anything problematic except for that while doing so.

Regards,
Christian.

> -Daniel
>
>
>
>> Only VMGFX and Nouveau are missing and I'm pretty close to just push
>> them with my Acked-by since they should not contain any functional change.
>>
>> Any objections?
>>
>> Thanks,
>> Christian.
>>
>> Am 24.06.20 um 20:26 schrieb Nirmoy Das:
>>> With this patch series I am trying to remove GPU address dependency in
>>> TTM and moving GPU address calculation to individual drm drivers. This
>>> cleanup will simplify introduction of drm_mem_region/domain work started
>>> by Brian Welty[1].
>>>
>>>
>>> It would be nice if someone test this for nouveau. Rest of the drivers
>>> are already tested.
>>>
>>> v2:
>>> * set bo->offset = 0 for drm/nouveau if bo->mem.mm_node == NULL
>>>
>>> v3:
>>> * catch return value of drm_gem_vram_offset() in drm/bochs
>>> * introduce drm_gem_vram_pg_offset() in vram helper
>>> * improve nbo->offset calculation for nouveau
>>>
>>> v4:
>>> * minor coding style fixes in amdgpu and radeon
>>> * remove unnecessary kerneldoc for internal function
>>>
>>> v5:
>>> * rebase on top of drm-misc-next
>>> * fix return value of drm_gem_vram_pg_offset()
>>> * add a comment in drm_gem_vram_pg_offset() to clearify why we return 0.
>>>
>>> v6:
>>> * rebase to drm-misc-next
>>> * removed acked for vmwgfx as there was a small conflict
>>>
>>> Nirmoy Das (8):
>>>     drm/amdgpu: move ttm bo->offset to amdgpu_bo
>>>     drm/radeon: don't use ttm bo->offset
>>>     drm/vmwgfx: don't use ttm bo->offset
>>>     drm/nouveau: don't use ttm bo->offset v3
>>>     drm/qxl: don't use ttm bo->offset
>>>     drm/vram-helper: don't use ttm bo->offset v4
>>>     drm/bochs: use drm_gem_vram_offset to get bo offset v2
>>>     drm/ttm: do not keep GPU dependent addresses
>>>
>>>    drivers/gpu/drm/amd/amdgpu/amdgpu_object.c  | 23 ++++++++++++++--
>>>    drivers/gpu/drm/amd/amdgpu/amdgpu_object.h  |  1 +
>>>    drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c     | 30 ++++++++++++++++-----
>>>    drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h     |  1 +
>>>    drivers/gpu/drm/amd/amdgpu/amdgpu_vm_sdma.c |  4 +--
>>>    drivers/gpu/drm/bochs/bochs_kms.c           |  7 ++++-
>>>    drivers/gpu/drm/drm_gem_vram_helper.c       | 11 +++++++-
>>>    drivers/gpu/drm/nouveau/dispnv04/crtc.c     |  6 ++---
>>>    drivers/gpu/drm/nouveau/dispnv04/disp.c     |  3 ++-
>>>    drivers/gpu/drm/nouveau/dispnv04/overlay.c  |  6 ++---
>>>    drivers/gpu/drm/nouveau/dispnv50/base507c.c |  2 +-
>>>    drivers/gpu/drm/nouveau/dispnv50/core507d.c |  2 +-
>>>    drivers/gpu/drm/nouveau/dispnv50/ovly507e.c |  2 +-
>>>    drivers/gpu/drm/nouveau/dispnv50/wndw.c     |  2 +-
>>>    drivers/gpu/drm/nouveau/dispnv50/wndwc37e.c |  2 +-
>>>    drivers/gpu/drm/nouveau/nouveau_abi16.c     |  8 +++---
>>>    drivers/gpu/drm/nouveau/nouveau_bo.c        |  8 ++++++
>>>    drivers/gpu/drm/nouveau/nouveau_bo.h        |  3 +++
>>>    drivers/gpu/drm/nouveau/nouveau_chan.c      |  2 +-
>>>    drivers/gpu/drm/nouveau/nouveau_dmem.c      |  2 +-
>>>    drivers/gpu/drm/nouveau/nouveau_fbcon.c     |  2 +-
>>>    drivers/gpu/drm/nouveau/nouveau_gem.c       | 10 +++----
>>>    drivers/gpu/drm/qxl/qxl_drv.h               |  6 ++---
>>>    drivers/gpu/drm/qxl/qxl_kms.c               |  5 ++--
>>>    drivers/gpu/drm/qxl/qxl_object.h            |  5 ----
>>>    drivers/gpu/drm/qxl/qxl_ttm.c               |  9 -------
>>>    drivers/gpu/drm/radeon/radeon.h             |  1 +
>>>    drivers/gpu/drm/radeon/radeon_object.h      | 16 ++++++++++-
>>>    drivers/gpu/drm/radeon/radeon_ttm.c         |  4 +--
>>>    drivers/gpu/drm/ttm/ttm_bo.c                |  7 -----
>>>    drivers/gpu/drm/vmwgfx/vmwgfx_bo.c          |  4 +--
>>>    drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c     |  2 +-
>>>    drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c        |  2 +-
>>>    drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c  |  2 --
>>>    include/drm/ttm/ttm_bo_api.h                |  2 --
>>>    include/drm/ttm/ttm_bo_driver.h             |  1 -
>>>    36 files changed, 125 insertions(+), 78 deletions(-)
>>>
>>> --
>>> 2.27.0
>>>
>
Christian König June 25, 2020, 4:02 p.m. UTC | #5
Am 25.06.20 um 17:52 schrieb Christian König:
> Am 25.06.20 um 17:44 schrieb Daniel Vetter:
>> On Thu, Jun 25, 2020 at 11:50 AM Christian König
>> <christian.koenig@amd.com> wrote:
>>> I've pushed patches #1, #2 and #5-#8 of this series to drm-misc-next.
>> I think you left an unresolved conflict behind in drm-tip, please 
>> resolve per
>>
>> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdrm.pages.freedesktop.org%2Fmaintainer-tools%2Fdrm-tip.html%23resolving-conflicts-when-rebuilding-drm-tip&amp;data=02%7C01%7Cchristian.koenig%40amd.com%7Cc1441a81e9dc4fa4507208d8191ea0f6%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637286966631595300&amp;sdata=pfWS4VgDvU8IsR2638MDr7fYWE0nefa3b6XxyPCCsOU%3D&amp;reserved=0 
>>
>>
>> The script should have told you that already, so maybe reinvent that
>> in whatever thing you're using :-) Jani has reported this on
>> #dri-devel, this also holds up CI testing since we're running on top
>> of drm-tip.
>
> Well I used dim push-branch. I even had to rebase once more because I 
> forgot a signed-of on one of the patches, so I'm pretty sure of that.
>
> Haven't seen anything problematic except for that while doing so.

Ok, anyway that one was trivial to fix.

Thanks,
Christian.

>
> Regards,
> Christian.
>
>> -Daniel
>>
>>
>>
>>> Only VMGFX and Nouveau are missing and I'm pretty close to just push
>>> them with my Acked-by since they should not contain any functional 
>>> change.
>>>
>>> Any objections?
>>>
>>> Thanks,
>>> Christian.
>>>
>>> Am 24.06.20 um 20:26 schrieb Nirmoy Das:
>>>> With this patch series I am trying to remove GPU address dependency in
>>>> TTM and moving GPU address calculation to individual drm drivers. This
>>>> cleanup will simplify introduction of drm_mem_region/domain work 
>>>> started
>>>> by Brian Welty[1].
>>>>
>>>>
>>>> It would be nice if someone test this for nouveau. Rest of the drivers
>>>> are already tested.
>>>>
>>>> v2:
>>>> * set bo->offset = 0 for drm/nouveau if bo->mem.mm_node == NULL
>>>>
>>>> v3:
>>>> * catch return value of drm_gem_vram_offset() in drm/bochs
>>>> * introduce drm_gem_vram_pg_offset() in vram helper
>>>> * improve nbo->offset calculation for nouveau
>>>>
>>>> v4:
>>>> * minor coding style fixes in amdgpu and radeon
>>>> * remove unnecessary kerneldoc for internal function
>>>>
>>>> v5:
>>>> * rebase on top of drm-misc-next
>>>> * fix return value of drm_gem_vram_pg_offset()
>>>> * add a comment in drm_gem_vram_pg_offset() to clearify why we 
>>>> return 0.
>>>>
>>>> v6:
>>>> * rebase to drm-misc-next
>>>> * removed acked for vmwgfx as there was a small conflict
>>>>
>>>> Nirmoy Das (8):
>>>>     drm/amdgpu: move ttm bo->offset to amdgpu_bo
>>>>     drm/radeon: don't use ttm bo->offset
>>>>     drm/vmwgfx: don't use ttm bo->offset
>>>>     drm/nouveau: don't use ttm bo->offset v3
>>>>     drm/qxl: don't use ttm bo->offset
>>>>     drm/vram-helper: don't use ttm bo->offset v4
>>>>     drm/bochs: use drm_gem_vram_offset to get bo offset v2
>>>>     drm/ttm: do not keep GPU dependent addresses
>>>>
>>>>    drivers/gpu/drm/amd/amdgpu/amdgpu_object.c  | 23 ++++++++++++++--
>>>>    drivers/gpu/drm/amd/amdgpu/amdgpu_object.h  |  1 +
>>>>    drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c     | 30 
>>>> ++++++++++++++++-----
>>>>    drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h     |  1 +
>>>>    drivers/gpu/drm/amd/amdgpu/amdgpu_vm_sdma.c |  4 +--
>>>>    drivers/gpu/drm/bochs/bochs_kms.c           |  7 ++++-
>>>>    drivers/gpu/drm/drm_gem_vram_helper.c       | 11 +++++++-
>>>>    drivers/gpu/drm/nouveau/dispnv04/crtc.c     |  6 ++---
>>>>    drivers/gpu/drm/nouveau/dispnv04/disp.c     |  3 ++-
>>>>    drivers/gpu/drm/nouveau/dispnv04/overlay.c  |  6 ++---
>>>>    drivers/gpu/drm/nouveau/dispnv50/base507c.c |  2 +-
>>>>    drivers/gpu/drm/nouveau/dispnv50/core507d.c |  2 +-
>>>>    drivers/gpu/drm/nouveau/dispnv50/ovly507e.c |  2 +-
>>>>    drivers/gpu/drm/nouveau/dispnv50/wndw.c     |  2 +-
>>>>    drivers/gpu/drm/nouveau/dispnv50/wndwc37e.c |  2 +-
>>>>    drivers/gpu/drm/nouveau/nouveau_abi16.c     |  8 +++---
>>>>    drivers/gpu/drm/nouveau/nouveau_bo.c        |  8 ++++++
>>>>    drivers/gpu/drm/nouveau/nouveau_bo.h        |  3 +++
>>>>    drivers/gpu/drm/nouveau/nouveau_chan.c      |  2 +-
>>>>    drivers/gpu/drm/nouveau/nouveau_dmem.c      |  2 +-
>>>>    drivers/gpu/drm/nouveau/nouveau_fbcon.c     |  2 +-
>>>>    drivers/gpu/drm/nouveau/nouveau_gem.c       | 10 +++----
>>>>    drivers/gpu/drm/qxl/qxl_drv.h               |  6 ++---
>>>>    drivers/gpu/drm/qxl/qxl_kms.c               |  5 ++--
>>>>    drivers/gpu/drm/qxl/qxl_object.h            |  5 ----
>>>>    drivers/gpu/drm/qxl/qxl_ttm.c               |  9 -------
>>>>    drivers/gpu/drm/radeon/radeon.h             |  1 +
>>>>    drivers/gpu/drm/radeon/radeon_object.h      | 16 ++++++++++-
>>>>    drivers/gpu/drm/radeon/radeon_ttm.c         |  4 +--
>>>>    drivers/gpu/drm/ttm/ttm_bo.c                |  7 -----
>>>>    drivers/gpu/drm/vmwgfx/vmwgfx_bo.c          |  4 +--
>>>>    drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c     |  2 +-
>>>>    drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c        |  2 +-
>>>>    drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c  |  2 --
>>>>    include/drm/ttm/ttm_bo_api.h                |  2 --
>>>>    include/drm/ttm/ttm_bo_driver.h             |  1 -
>>>>    36 files changed, 125 insertions(+), 78 deletions(-)
>>>>
>>>> -- 
>>>> 2.27.0
>>>>
>>
>
Christian König June 26, 2020, 1:04 p.m. UTC | #6
Am 25.06.20 um 18:02 schrieb Christian König:
> Am 25.06.20 um 17:52 schrieb Christian König:
>> Am 25.06.20 um 17:44 schrieb Daniel Vetter:
>>> On Thu, Jun 25, 2020 at 11:50 AM Christian König
>>> <christian.koenig@amd.com> wrote:
>>>> I've pushed patches #1, #2 and #5-#8 of this series to drm-misc-next.
>>> I think you left an unresolved conflict behind in drm-tip, please 
>>> resolve per
>>>
>>> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdrm.pages.freedesktop.org%2Fmaintainer-tools%2Fdrm-tip.html%23resolving-conflicts-when-rebuilding-drm-tip&amp;data=02%7C01%7Cchristian.koenig%40amd.com%7Cc1441a81e9dc4fa4507208d8191ea0f6%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637286966631595300&amp;sdata=pfWS4VgDvU8IsR2638MDr7fYWE0nefa3b6XxyPCCsOU%3D&amp;reserved=0 
>>>
>>>
>>> The script should have told you that already, so maybe reinvent that
>>> in whatever thing you're using :-) Jani has reported this on
>>> #dri-devel, this also holds up CI testing since we're running on top
>>> of drm-tip.
>>
>> Well I used dim push-branch. I even had to rebase once more because I 
>> forgot a signed-of on one of the patches, so I'm pretty sure of that.
>>
>> Haven't seen anything problematic except for that while doing so.
>
> Ok, anyway that one was trivial to fix.

Ran into the next merge conflict. But no surprise that I missed the 
warning, that needs to be in red or so.

Regards,
Christian.

>
> Thanks,
> Christian.
>
>>
>> Regards,
>> Christian.
>>
>>> -Daniel
>>>
>>>
>>>
>>>> Only VMGFX and Nouveau are missing and I'm pretty close to just push
>>>> them with my Acked-by since they should not contain any functional 
>>>> change.
>>>>
>>>> Any objections?
>>>>
>>>> Thanks,
>>>> Christian.
>>>>
>>>> Am 24.06.20 um 20:26 schrieb Nirmoy Das:
>>>>> With this patch series I am trying to remove GPU address 
>>>>> dependency in
>>>>> TTM and moving GPU address calculation to individual drm drivers. 
>>>>> This
>>>>> cleanup will simplify introduction of drm_mem_region/domain work 
>>>>> started
>>>>> by Brian Welty[1].
>>>>>
>>>>>
>>>>> It would be nice if someone test this for nouveau. Rest of the 
>>>>> drivers
>>>>> are already tested.
>>>>>
>>>>> v2:
>>>>> * set bo->offset = 0 for drm/nouveau if bo->mem.mm_node == NULL
>>>>>
>>>>> v3:
>>>>> * catch return value of drm_gem_vram_offset() in drm/bochs
>>>>> * introduce drm_gem_vram_pg_offset() in vram helper
>>>>> * improve nbo->offset calculation for nouveau
>>>>>
>>>>> v4:
>>>>> * minor coding style fixes in amdgpu and radeon
>>>>> * remove unnecessary kerneldoc for internal function
>>>>>
>>>>> v5:
>>>>> * rebase on top of drm-misc-next
>>>>> * fix return value of drm_gem_vram_pg_offset()
>>>>> * add a comment in drm_gem_vram_pg_offset() to clearify why we 
>>>>> return 0.
>>>>>
>>>>> v6:
>>>>> * rebase to drm-misc-next
>>>>> * removed acked for vmwgfx as there was a small conflict
>>>>>
>>>>> Nirmoy Das (8):
>>>>>     drm/amdgpu: move ttm bo->offset to amdgpu_bo
>>>>>     drm/radeon: don't use ttm bo->offset
>>>>>     drm/vmwgfx: don't use ttm bo->offset
>>>>>     drm/nouveau: don't use ttm bo->offset v3
>>>>>     drm/qxl: don't use ttm bo->offset
>>>>>     drm/vram-helper: don't use ttm bo->offset v4
>>>>>     drm/bochs: use drm_gem_vram_offset to get bo offset v2
>>>>>     drm/ttm: do not keep GPU dependent addresses
>>>>>
>>>>>    drivers/gpu/drm/amd/amdgpu/amdgpu_object.c  | 23 ++++++++++++++--
>>>>>    drivers/gpu/drm/amd/amdgpu/amdgpu_object.h  |  1 +
>>>>>    drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c     | 30 
>>>>> ++++++++++++++++-----
>>>>>    drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h     |  1 +
>>>>>    drivers/gpu/drm/amd/amdgpu/amdgpu_vm_sdma.c |  4 +--
>>>>>    drivers/gpu/drm/bochs/bochs_kms.c           |  7 ++++-
>>>>>    drivers/gpu/drm/drm_gem_vram_helper.c       | 11 +++++++-
>>>>>    drivers/gpu/drm/nouveau/dispnv04/crtc.c     |  6 ++---
>>>>>    drivers/gpu/drm/nouveau/dispnv04/disp.c     |  3 ++-
>>>>>    drivers/gpu/drm/nouveau/dispnv04/overlay.c  |  6 ++---
>>>>>    drivers/gpu/drm/nouveau/dispnv50/base507c.c |  2 +-
>>>>>    drivers/gpu/drm/nouveau/dispnv50/core507d.c |  2 +-
>>>>>    drivers/gpu/drm/nouveau/dispnv50/ovly507e.c |  2 +-
>>>>>    drivers/gpu/drm/nouveau/dispnv50/wndw.c     |  2 +-
>>>>>    drivers/gpu/drm/nouveau/dispnv50/wndwc37e.c |  2 +-
>>>>>    drivers/gpu/drm/nouveau/nouveau_abi16.c     |  8 +++---
>>>>>    drivers/gpu/drm/nouveau/nouveau_bo.c        |  8 ++++++
>>>>>    drivers/gpu/drm/nouveau/nouveau_bo.h        |  3 +++
>>>>>    drivers/gpu/drm/nouveau/nouveau_chan.c      |  2 +-
>>>>>    drivers/gpu/drm/nouveau/nouveau_dmem.c      |  2 +-
>>>>>    drivers/gpu/drm/nouveau/nouveau_fbcon.c     |  2 +-
>>>>>    drivers/gpu/drm/nouveau/nouveau_gem.c       | 10 +++----
>>>>>    drivers/gpu/drm/qxl/qxl_drv.h               |  6 ++---
>>>>>    drivers/gpu/drm/qxl/qxl_kms.c               |  5 ++--
>>>>>    drivers/gpu/drm/qxl/qxl_object.h            |  5 ----
>>>>>    drivers/gpu/drm/qxl/qxl_ttm.c               |  9 -------
>>>>>    drivers/gpu/drm/radeon/radeon.h             |  1 +
>>>>>    drivers/gpu/drm/radeon/radeon_object.h      | 16 ++++++++++-
>>>>>    drivers/gpu/drm/radeon/radeon_ttm.c         |  4 +--
>>>>>    drivers/gpu/drm/ttm/ttm_bo.c                |  7 -----
>>>>>    drivers/gpu/drm/vmwgfx/vmwgfx_bo.c          |  4 +--
>>>>>    drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c     |  2 +-
>>>>>    drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c        |  2 +-
>>>>>    drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c  |  2 --
>>>>>    include/drm/ttm/ttm_bo_api.h                |  2 --
>>>>>    include/drm/ttm/ttm_bo_driver.h             |  1 -
>>>>>    36 files changed, 125 insertions(+), 78 deletions(-)
>>>>>
>>>>> -- 
>>>>> 2.27.0
>>>>>
>>>
>>
>
Daniel Vetter June 26, 2020, 1:12 p.m. UTC | #7
On Fri, Jun 26, 2020 at 3:04 PM Christian König
<christian.koenig@amd.com> wrote:
>
> Am 25.06.20 um 18:02 schrieb Christian König:
> > Am 25.06.20 um 17:52 schrieb Christian König:
> >> Am 25.06.20 um 17:44 schrieb Daniel Vetter:
> >>> On Thu, Jun 25, 2020 at 11:50 AM Christian König
> >>> <christian.koenig@amd.com> wrote:
> >>>> I've pushed patches #1, #2 and #5-#8 of this series to drm-misc-next.
> >>> I think you left an unresolved conflict behind in drm-tip, please
> >>> resolve per
> >>>
> >>> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdrm.pages.freedesktop.org%2Fmaintainer-tools%2Fdrm-tip.html%23resolving-conflicts-when-rebuilding-drm-tip&amp;data=02%7C01%7Cchristian.koenig%40amd.com%7Cc1441a81e9dc4fa4507208d8191ea0f6%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637286966631595300&amp;sdata=pfWS4VgDvU8IsR2638MDr7fYWE0nefa3b6XxyPCCsOU%3D&amp;reserved=0
> >>>
> >>>
> >>> The script should have told you that already, so maybe reinvent that
> >>> in whatever thing you're using :-) Jani has reported this on
> >>> #dri-devel, this also holds up CI testing since we're running on top
> >>> of drm-tip.
> >>
> >> Well I used dim push-branch. I even had to rebase once more because I
> >> forgot a signed-of on one of the patches, so I'm pretty sure of that.
> >>
> >> Haven't seen anything problematic except for that while doing so.
> >
> > Ok, anyway that one was trivial to fix.
>
> Ran into the next merge conflict. But no surprise that I missed the
> warning, that needs to be in red or so.

Yeah the trouble is that the merging is done after you pushed, we
don't do a test drm-tip rebuild before you push. Reason is that I've
not gotten around to implementing this since years, it's on the
wishlist.

If we'd do a test-rebuild before pushing (something like use all the
normal branches, excpet for $branch use the local one, or a specific
sha1, with git worktree that's all shared so doable), then it would be
a lot more obvious that people have some work to do before they're
done with their push.

Trouble is only rebuilding in dim push isn't enough, since then you
can't test. So we need the full suite of tools be able to work with a
local branch. And once you have a conflict which needs a fixup patch
that's kinda not possible anymore.

But maybe just doing the test-rebuild and if that fails, pointing it
out and requiring a special --promises-I-fix-it-up-right-afterwards
flag might be good enough.

If you know how to print stuff in red if it's a terminal, then
patching warn_or_fail should catch them all.
-Daniel


>
> Regards,
> Christian.
>
> >
> > Thanks,
> > Christian.
> >
> >>
> >> Regards,
> >> Christian.
> >>
> >>> -Daniel
> >>>
> >>>
> >>>
> >>>> Only VMGFX and Nouveau are missing and I'm pretty close to just push
> >>>> them with my Acked-by since they should not contain any functional
> >>>> change.
> >>>>
> >>>> Any objections?
> >>>>
> >>>> Thanks,
> >>>> Christian.
> >>>>
> >>>> Am 24.06.20 um 20:26 schrieb Nirmoy Das:
> >>>>> With this patch series I am trying to remove GPU address
> >>>>> dependency in
> >>>>> TTM and moving GPU address calculation to individual drm drivers.
> >>>>> This
> >>>>> cleanup will simplify introduction of drm_mem_region/domain work
> >>>>> started
> >>>>> by Brian Welty[1].
> >>>>>
> >>>>>
> >>>>> It would be nice if someone test this for nouveau. Rest of the
> >>>>> drivers
> >>>>> are already tested.
> >>>>>
> >>>>> v2:
> >>>>> * set bo->offset = 0 for drm/nouveau if bo->mem.mm_node == NULL
> >>>>>
> >>>>> v3:
> >>>>> * catch return value of drm_gem_vram_offset() in drm/bochs
> >>>>> * introduce drm_gem_vram_pg_offset() in vram helper
> >>>>> * improve nbo->offset calculation for nouveau
> >>>>>
> >>>>> v4:
> >>>>> * minor coding style fixes in amdgpu and radeon
> >>>>> * remove unnecessary kerneldoc for internal function
> >>>>>
> >>>>> v5:
> >>>>> * rebase on top of drm-misc-next
> >>>>> * fix return value of drm_gem_vram_pg_offset()
> >>>>> * add a comment in drm_gem_vram_pg_offset() to clearify why we
> >>>>> return 0.
> >>>>>
> >>>>> v6:
> >>>>> * rebase to drm-misc-next
> >>>>> * removed acked for vmwgfx as there was a small conflict
> >>>>>
> >>>>> Nirmoy Das (8):
> >>>>>     drm/amdgpu: move ttm bo->offset to amdgpu_bo
> >>>>>     drm/radeon: don't use ttm bo->offset
> >>>>>     drm/vmwgfx: don't use ttm bo->offset
> >>>>>     drm/nouveau: don't use ttm bo->offset v3
> >>>>>     drm/qxl: don't use ttm bo->offset
> >>>>>     drm/vram-helper: don't use ttm bo->offset v4
> >>>>>     drm/bochs: use drm_gem_vram_offset to get bo offset v2
> >>>>>     drm/ttm: do not keep GPU dependent addresses
> >>>>>
> >>>>>    drivers/gpu/drm/amd/amdgpu/amdgpu_object.c  | 23 ++++++++++++++--
> >>>>>    drivers/gpu/drm/amd/amdgpu/amdgpu_object.h  |  1 +
> >>>>>    drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c     | 30
> >>>>> ++++++++++++++++-----
> >>>>>    drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h     |  1 +
> >>>>>    drivers/gpu/drm/amd/amdgpu/amdgpu_vm_sdma.c |  4 +--
> >>>>>    drivers/gpu/drm/bochs/bochs_kms.c           |  7 ++++-
> >>>>>    drivers/gpu/drm/drm_gem_vram_helper.c       | 11 +++++++-
> >>>>>    drivers/gpu/drm/nouveau/dispnv04/crtc.c     |  6 ++---
> >>>>>    drivers/gpu/drm/nouveau/dispnv04/disp.c     |  3 ++-
> >>>>>    drivers/gpu/drm/nouveau/dispnv04/overlay.c  |  6 ++---
> >>>>>    drivers/gpu/drm/nouveau/dispnv50/base507c.c |  2 +-
> >>>>>    drivers/gpu/drm/nouveau/dispnv50/core507d.c |  2 +-
> >>>>>    drivers/gpu/drm/nouveau/dispnv50/ovly507e.c |  2 +-
> >>>>>    drivers/gpu/drm/nouveau/dispnv50/wndw.c     |  2 +-
> >>>>>    drivers/gpu/drm/nouveau/dispnv50/wndwc37e.c |  2 +-
> >>>>>    drivers/gpu/drm/nouveau/nouveau_abi16.c     |  8 +++---
> >>>>>    drivers/gpu/drm/nouveau/nouveau_bo.c        |  8 ++++++
> >>>>>    drivers/gpu/drm/nouveau/nouveau_bo.h        |  3 +++
> >>>>>    drivers/gpu/drm/nouveau/nouveau_chan.c      |  2 +-
> >>>>>    drivers/gpu/drm/nouveau/nouveau_dmem.c      |  2 +-
> >>>>>    drivers/gpu/drm/nouveau/nouveau_fbcon.c     |  2 +-
> >>>>>    drivers/gpu/drm/nouveau/nouveau_gem.c       | 10 +++----
> >>>>>    drivers/gpu/drm/qxl/qxl_drv.h               |  6 ++---
> >>>>>    drivers/gpu/drm/qxl/qxl_kms.c               |  5 ++--
> >>>>>    drivers/gpu/drm/qxl/qxl_object.h            |  5 ----
> >>>>>    drivers/gpu/drm/qxl/qxl_ttm.c               |  9 -------
> >>>>>    drivers/gpu/drm/radeon/radeon.h             |  1 +
> >>>>>    drivers/gpu/drm/radeon/radeon_object.h      | 16 ++++++++++-
> >>>>>    drivers/gpu/drm/radeon/radeon_ttm.c         |  4 +--
> >>>>>    drivers/gpu/drm/ttm/ttm_bo.c                |  7 -----
> >>>>>    drivers/gpu/drm/vmwgfx/vmwgfx_bo.c          |  4 +--
> >>>>>    drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c     |  2 +-
> >>>>>    drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c        |  2 +-
> >>>>>    drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c  |  2 --
> >>>>>    include/drm/ttm/ttm_bo_api.h                |  2 --
> >>>>>    include/drm/ttm/ttm_bo_driver.h             |  1 -
> >>>>>    36 files changed, 125 insertions(+), 78 deletions(-)
> >>>>>
> >>>>> --
> >>>>> 2.27.0
> >>>>>
> >>>
> >>
> >
>
Daniel Vetter June 26, 2020, 1:12 p.m. UTC | #8
On Fri, Jun 26, 2020 at 3:12 PM Daniel Vetter <daniel@ffwll.ch> wrote:
>
> On Fri, Jun 26, 2020 at 3:04 PM Christian König
> <christian.koenig@amd.com> wrote:
> >
> > Am 25.06.20 um 18:02 schrieb Christian König:
> > > Am 25.06.20 um 17:52 schrieb Christian König:
> > >> Am 25.06.20 um 17:44 schrieb Daniel Vetter:
> > >>> On Thu, Jun 25, 2020 at 11:50 AM Christian König
> > >>> <christian.koenig@amd.com> wrote:
> > >>>> I've pushed patches #1, #2 and #5-#8 of this series to drm-misc-next.
> > >>> I think you left an unresolved conflict behind in drm-tip, please
> > >>> resolve per
> > >>>
> > >>> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdrm.pages.freedesktop.org%2Fmaintainer-tools%2Fdrm-tip.html%23resolving-conflicts-when-rebuilding-drm-tip&amp;data=02%7C01%7Cchristian.koenig%40amd.com%7Cc1441a81e9dc4fa4507208d8191ea0f6%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637286966631595300&amp;sdata=pfWS4VgDvU8IsR2638MDr7fYWE0nefa3b6XxyPCCsOU%3D&amp;reserved=0
> > >>>
> > >>>
> > >>> The script should have told you that already, so maybe reinvent that
> > >>> in whatever thing you're using :-) Jani has reported this on
> > >>> #dri-devel, this also holds up CI testing since we're running on top
> > >>> of drm-tip.
> > >>
> > >> Well I used dim push-branch. I even had to rebase once more because I
> > >> forgot a signed-of on one of the patches, so I'm pretty sure of that.
> > >>
> > >> Haven't seen anything problematic except for that while doing so.
> > >
> > > Ok, anyway that one was trivial to fix.
> >
> > Ran into the next merge conflict. But no surprise that I missed the
> > warning, that needs to be in red or so.
>
> Yeah the trouble is that the merging is done after you pushed, we
> don't do a test drm-tip rebuild before you push. Reason is that I've
> not gotten around to implementing this since years, it's on the
> wishlist.
>
> If we'd do a test-rebuild before pushing (something like use all the
> normal branches, excpet for $branch use the local one, or a specific
> sha1, with git worktree that's all shared so doable), then it would be
> a lot more obvious that people have some work to do before they're
> done with their push.
>
> Trouble is only rebuilding in dim push isn't enough, since then you
> can't test. So we need the full suite of tools be able to work with a
> local branch. And once you have a conflict which needs a fixup patch
> that's kinda not possible anymore.
>
> But maybe just doing the test-rebuild and if that fails, pointing it
> out and requiring a special --promises-I-fix-it-up-right-afterwards
> flag might be good enough.
>
> If you know how to print stuff in red if it's a terminal, then
> patching warn_or_fail should catch them all.

Uh I mean patching echoerr.
-Daniel

> -Daniel
>
>
> >
> > Regards,
> > Christian.
> >
> > >
> > > Thanks,
> > > Christian.
> > >
> > >>
> > >> Regards,
> > >> Christian.
> > >>
> > >>> -Daniel
> > >>>
> > >>>
> > >>>
> > >>>> Only VMGFX and Nouveau are missing and I'm pretty close to just push
> > >>>> them with my Acked-by since they should not contain any functional
> > >>>> change.
> > >>>>
> > >>>> Any objections?
> > >>>>
> > >>>> Thanks,
> > >>>> Christian.
> > >>>>
> > >>>> Am 24.06.20 um 20:26 schrieb Nirmoy Das:
> > >>>>> With this patch series I am trying to remove GPU address
> > >>>>> dependency in
> > >>>>> TTM and moving GPU address calculation to individual drm drivers.
> > >>>>> This
> > >>>>> cleanup will simplify introduction of drm_mem_region/domain work
> > >>>>> started
> > >>>>> by Brian Welty[1].
> > >>>>>
> > >>>>>
> > >>>>> It would be nice if someone test this for nouveau. Rest of the
> > >>>>> drivers
> > >>>>> are already tested.
> > >>>>>
> > >>>>> v2:
> > >>>>> * set bo->offset = 0 for drm/nouveau if bo->mem.mm_node == NULL
> > >>>>>
> > >>>>> v3:
> > >>>>> * catch return value of drm_gem_vram_offset() in drm/bochs
> > >>>>> * introduce drm_gem_vram_pg_offset() in vram helper
> > >>>>> * improve nbo->offset calculation for nouveau
> > >>>>>
> > >>>>> v4:
> > >>>>> * minor coding style fixes in amdgpu and radeon
> > >>>>> * remove unnecessary kerneldoc for internal function
> > >>>>>
> > >>>>> v5:
> > >>>>> * rebase on top of drm-misc-next
> > >>>>> * fix return value of drm_gem_vram_pg_offset()
> > >>>>> * add a comment in drm_gem_vram_pg_offset() to clearify why we
> > >>>>> return 0.
> > >>>>>
> > >>>>> v6:
> > >>>>> * rebase to drm-misc-next
> > >>>>> * removed acked for vmwgfx as there was a small conflict
> > >>>>>
> > >>>>> Nirmoy Das (8):
> > >>>>>     drm/amdgpu: move ttm bo->offset to amdgpu_bo
> > >>>>>     drm/radeon: don't use ttm bo->offset
> > >>>>>     drm/vmwgfx: don't use ttm bo->offset
> > >>>>>     drm/nouveau: don't use ttm bo->offset v3
> > >>>>>     drm/qxl: don't use ttm bo->offset
> > >>>>>     drm/vram-helper: don't use ttm bo->offset v4
> > >>>>>     drm/bochs: use drm_gem_vram_offset to get bo offset v2
> > >>>>>     drm/ttm: do not keep GPU dependent addresses
> > >>>>>
> > >>>>>    drivers/gpu/drm/amd/amdgpu/amdgpu_object.c  | 23 ++++++++++++++--
> > >>>>>    drivers/gpu/drm/amd/amdgpu/amdgpu_object.h  |  1 +
> > >>>>>    drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c     | 30
> > >>>>> ++++++++++++++++-----
> > >>>>>    drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h     |  1 +
> > >>>>>    drivers/gpu/drm/amd/amdgpu/amdgpu_vm_sdma.c |  4 +--
> > >>>>>    drivers/gpu/drm/bochs/bochs_kms.c           |  7 ++++-
> > >>>>>    drivers/gpu/drm/drm_gem_vram_helper.c       | 11 +++++++-
> > >>>>>    drivers/gpu/drm/nouveau/dispnv04/crtc.c     |  6 ++---
> > >>>>>    drivers/gpu/drm/nouveau/dispnv04/disp.c     |  3 ++-
> > >>>>>    drivers/gpu/drm/nouveau/dispnv04/overlay.c  |  6 ++---
> > >>>>>    drivers/gpu/drm/nouveau/dispnv50/base507c.c |  2 +-
> > >>>>>    drivers/gpu/drm/nouveau/dispnv50/core507d.c |  2 +-
> > >>>>>    drivers/gpu/drm/nouveau/dispnv50/ovly507e.c |  2 +-
> > >>>>>    drivers/gpu/drm/nouveau/dispnv50/wndw.c     |  2 +-
> > >>>>>    drivers/gpu/drm/nouveau/dispnv50/wndwc37e.c |  2 +-
> > >>>>>    drivers/gpu/drm/nouveau/nouveau_abi16.c     |  8 +++---
> > >>>>>    drivers/gpu/drm/nouveau/nouveau_bo.c        |  8 ++++++
> > >>>>>    drivers/gpu/drm/nouveau/nouveau_bo.h        |  3 +++
> > >>>>>    drivers/gpu/drm/nouveau/nouveau_chan.c      |  2 +-
> > >>>>>    drivers/gpu/drm/nouveau/nouveau_dmem.c      |  2 +-
> > >>>>>    drivers/gpu/drm/nouveau/nouveau_fbcon.c     |  2 +-
> > >>>>>    drivers/gpu/drm/nouveau/nouveau_gem.c       | 10 +++----
> > >>>>>    drivers/gpu/drm/qxl/qxl_drv.h               |  6 ++---
> > >>>>>    drivers/gpu/drm/qxl/qxl_kms.c               |  5 ++--
> > >>>>>    drivers/gpu/drm/qxl/qxl_object.h            |  5 ----
> > >>>>>    drivers/gpu/drm/qxl/qxl_ttm.c               |  9 -------
> > >>>>>    drivers/gpu/drm/radeon/radeon.h             |  1 +
> > >>>>>    drivers/gpu/drm/radeon/radeon_object.h      | 16 ++++++++++-
> > >>>>>    drivers/gpu/drm/radeon/radeon_ttm.c         |  4 +--
> > >>>>>    drivers/gpu/drm/ttm/ttm_bo.c                |  7 -----
> > >>>>>    drivers/gpu/drm/vmwgfx/vmwgfx_bo.c          |  4 +--
> > >>>>>    drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c     |  2 +-
> > >>>>>    drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c        |  2 +-
> > >>>>>    drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c  |  2 --
> > >>>>>    include/drm/ttm/ttm_bo_api.h                |  2 --
> > >>>>>    include/drm/ttm/ttm_bo_driver.h             |  1 -
> > >>>>>    36 files changed, 125 insertions(+), 78 deletions(-)
> > >>>>>
> > >>>>> --
> > >>>>> 2.27.0
> > >>>>>
> > >>>
> > >>
> > >
> >
>
>
> --
> Daniel Vetter
> Software Engineer, Intel Corporation
> http://blog.ffwll.ch