[PATCH 1/1] drm/amdgpu: adopt to hmm_range_register API change
Jason Gunthorpe
jgg at mellanox.com
Wed Jul 3 14:10:04 UTC 2019
On Wed, Jul 03, 2019 at 01:55:08AM +0000, Kuehling, Felix wrote:
> From: Philip Yang <Philip.Yang at amd.com>
>
> In order to pass mirror instead of mm to hmm_range_register, we need
> pass bo instead of ttm to amdgpu_ttm_tt_get_user_pages because mirror
> is part of amdgpu_mn structure, which is accessible from bo.
>
> Signed-off-by: Philip Yang <Philip.Yang at amd.com>
> Reviewed-by: Felix Kuehling <Felix.Kuehling at amd.com>
> Signed-off-by: Felix Kuehling <Felix.Kuehling at amd.com>
> CC: Stephen Rothwell <sfr at canb.auug.org.au>
> CC: Jason Gunthorpe <jgg at mellanox.com>
> CC: Dave Airlie <airlied at linux.ie>
> CC: Alex Deucher <alexander.deucher at amd.com>
> ---
> drivers/gpu/drm/Kconfig | 1 -
> drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c | 5 ++---
> drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 2 +-
> drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c | 3 +--
> drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c | 8 ++++++++
> drivers/gpu/drm/amd/amdgpu/amdgpu_mn.h | 5 +++++
> drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 12 ++++++++++--
> drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h | 5 +++--
> 8 files changed, 30 insertions(+), 11 deletions(-)
This is too big to use as a conflict resolution, what you could do is
apply the majority of the patch on top of your tree as-is (ie keep
using the old hmm_range_register), then the conflict resolution for
the updated AMD GPU tree can be a simple one line change:
- hmm_range_register(range, mm, start,
+ hmm_range_register(range, mirror, start,
start + ttm->num_pages * PAGE_SIZE, PAGE_SHIFT);
Which is trivial for everone to deal with, and solves the problem.
This is probably a much better option than rebasing the AMD gpu tree.
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c
> index 623f56a1485f..80e40898a507 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c
> @@ -398,6 +398,14 @@ struct amdgpu_mn *amdgpu_mn_get(struct amdgpu_device *adev,
> return ERR_PTR(r);
> }
>
> +struct hmm_mirror *amdgpu_mn_get_mirror(struct amdgpu_mn *amn)
> +{
> + if (!amn)
> + return NULL;
> +
> + return &amn->mirror;
> +}
I think it is better make the struct amdgpu_mn public rather than add
this wrapper.
Jason
More information about the dri-devel
mailing list