Commit d9483ecd authored by Christian König's avatar Christian König Committed by Alex Deucher

drm/amdgpu: rename the files for HMM handling

Clean that up a bit, no functional change.
Signed-off-by: default avatarChristian König <christian.koenig@amd.com>
Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Reviewed-by: default avatarFelix Kuehling <Felix.Kuehling@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent fec8fdb5
...@@ -250,7 +250,7 @@ endif ...@@ -250,7 +250,7 @@ endif
amdgpu-$(CONFIG_COMPAT) += amdgpu_ioc32.o amdgpu-$(CONFIG_COMPAT) += amdgpu_ioc32.o
amdgpu-$(CONFIG_VGA_SWITCHEROO) += amdgpu_atpx_handler.o amdgpu-$(CONFIG_VGA_SWITCHEROO) += amdgpu_atpx_handler.o
amdgpu-$(CONFIG_ACPI) += amdgpu_acpi.o amdgpu-$(CONFIG_ACPI) += amdgpu_acpi.o
amdgpu-$(CONFIG_HMM_MIRROR) += amdgpu_mn.o amdgpu-$(CONFIG_HMM_MIRROR) += amdgpu_hmm.o
include $(FULL_AMD_PATH)/pm/Makefile include $(FULL_AMD_PATH)/pm/Makefile
......
...@@ -82,7 +82,6 @@ ...@@ -82,7 +82,6 @@
#include "amdgpu_vce.h" #include "amdgpu_vce.h"
#include "amdgpu_vcn.h" #include "amdgpu_vcn.h"
#include "amdgpu_jpeg.h" #include "amdgpu_jpeg.h"
#include "amdgpu_mn.h"
#include "amdgpu_gmc.h" #include "amdgpu_gmc.h"
#include "amdgpu_gfx.h" #include "amdgpu_gfx.h"
#include "amdgpu_sdma.h" #include "amdgpu_sdma.h"
......
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
#include "amdgpu_object.h" #include "amdgpu_object.h"
#include "amdgpu_gem.h" #include "amdgpu_gem.h"
#include "amdgpu_vm.h" #include "amdgpu_vm.h"
#include "amdgpu_hmm.h"
#include "amdgpu_amdkfd.h" #include "amdgpu_amdkfd.h"
#include "amdgpu_dma_buf.h" #include "amdgpu_dma_buf.h"
#include <uapi/linux/kfd_ioctl.h> #include <uapi/linux/kfd_ioctl.h>
...@@ -949,7 +950,7 @@ static int init_user_pages(struct kgd_mem *mem, uint64_t user_addr, ...@@ -949,7 +950,7 @@ static int init_user_pages(struct kgd_mem *mem, uint64_t user_addr,
goto out; goto out;
} }
ret = amdgpu_mn_register(bo, user_addr); ret = amdgpu_hmm_register(bo, user_addr);
if (ret) { if (ret) {
pr_err("%s: Failed to register MMU notifier: %d\n", pr_err("%s: Failed to register MMU notifier: %d\n",
__func__, ret); __func__, ret);
...@@ -989,7 +990,7 @@ static int init_user_pages(struct kgd_mem *mem, uint64_t user_addr, ...@@ -989,7 +990,7 @@ static int init_user_pages(struct kgd_mem *mem, uint64_t user_addr,
amdgpu_ttm_tt_get_user_pages_done(bo->tbo.ttm, range); amdgpu_ttm_tt_get_user_pages_done(bo->tbo.ttm, range);
unregister_out: unregister_out:
if (ret) if (ret)
amdgpu_mn_unregister(bo); amdgpu_hmm_unregister(bo);
out: out:
mutex_unlock(&process_info->lock); mutex_unlock(&process_info->lock);
return ret; return ret;
...@@ -1773,7 +1774,7 @@ int amdgpu_amdkfd_gpuvm_free_memory_of_gpu( ...@@ -1773,7 +1774,7 @@ int amdgpu_amdkfd_gpuvm_free_memory_of_gpu(
mutex_unlock(&process_info->lock); mutex_unlock(&process_info->lock);
/* No more MMU notifiers */ /* No more MMU notifiers */
amdgpu_mn_unregister(mem->bo); amdgpu_hmm_unregister(mem->bo);
ret = reserve_bo_and_cond_vms(mem, NULL, BO_VM_ALL, &ctx); ret = reserve_bo_and_cond_vms(mem, NULL, BO_VM_ALL, &ctx);
if (unlikely(ret)) if (unlikely(ret))
......
...@@ -38,6 +38,7 @@ ...@@ -38,6 +38,7 @@
#include "amdgpu.h" #include "amdgpu.h"
#include "amdgpu_display.h" #include "amdgpu_display.h"
#include "amdgpu_dma_buf.h" #include "amdgpu_dma_buf.h"
#include "amdgpu_hmm.h"
#include "amdgpu_xgmi.h" #include "amdgpu_xgmi.h"
static const struct drm_gem_object_funcs amdgpu_gem_object_funcs; static const struct drm_gem_object_funcs amdgpu_gem_object_funcs;
...@@ -87,7 +88,7 @@ static void amdgpu_gem_object_free(struct drm_gem_object *gobj) ...@@ -87,7 +88,7 @@ static void amdgpu_gem_object_free(struct drm_gem_object *gobj)
struct amdgpu_bo *robj = gem_to_amdgpu_bo(gobj); struct amdgpu_bo *robj = gem_to_amdgpu_bo(gobj);
if (robj) { if (robj) {
amdgpu_mn_unregister(robj); amdgpu_hmm_unregister(robj);
amdgpu_bo_unref(&robj); amdgpu_bo_unref(&robj);
} }
} }
...@@ -414,7 +415,7 @@ int amdgpu_gem_userptr_ioctl(struct drm_device *dev, void *data, ...@@ -414,7 +415,7 @@ int amdgpu_gem_userptr_ioctl(struct drm_device *dev, void *data,
if (r) if (r)
goto release_object; goto release_object;
r = amdgpu_mn_register(bo, args->addr); r = amdgpu_hmm_register(bo, args->addr);
if (r) if (r)
goto release_object; goto release_object;
......
...@@ -49,9 +49,10 @@ ...@@ -49,9 +49,10 @@
#include "amdgpu.h" #include "amdgpu.h"
#include "amdgpu_amdkfd.h" #include "amdgpu_amdkfd.h"
#include "amdgpu_hmm.h"
/** /**
* amdgpu_mn_invalidate_gfx - callback to notify about mm change * amdgpu_hmm_invalidate_gfx - callback to notify about mm change
* *
* @mni: the range (mm) is about to update * @mni: the range (mm) is about to update
* @range: details on the invalidation * @range: details on the invalidation
...@@ -60,9 +61,9 @@ ...@@ -60,9 +61,9 @@
* Block for operations on BOs to finish and mark pages as accessed and * Block for operations on BOs to finish and mark pages as accessed and
* potentially dirty. * potentially dirty.
*/ */
static bool amdgpu_mn_invalidate_gfx(struct mmu_interval_notifier *mni, static bool amdgpu_hmm_invalidate_gfx(struct mmu_interval_notifier *mni,
const struct mmu_notifier_range *range, const struct mmu_notifier_range *range,
unsigned long cur_seq) unsigned long cur_seq)
{ {
struct amdgpu_bo *bo = container_of(mni, struct amdgpu_bo, notifier); struct amdgpu_bo *bo = container_of(mni, struct amdgpu_bo, notifier);
struct amdgpu_device *adev = amdgpu_ttm_adev(bo->tbo.bdev); struct amdgpu_device *adev = amdgpu_ttm_adev(bo->tbo.bdev);
...@@ -83,12 +84,12 @@ static bool amdgpu_mn_invalidate_gfx(struct mmu_interval_notifier *mni, ...@@ -83,12 +84,12 @@ static bool amdgpu_mn_invalidate_gfx(struct mmu_interval_notifier *mni,
return true; return true;
} }
static const struct mmu_interval_notifier_ops amdgpu_mn_gfx_ops = { static const struct mmu_interval_notifier_ops amdgpu_hmm_gfx_ops = {
.invalidate = amdgpu_mn_invalidate_gfx, .invalidate = amdgpu_hmm_invalidate_gfx,
}; };
/** /**
* amdgpu_mn_invalidate_hsa - callback to notify about mm change * amdgpu_hmm_invalidate_hsa - callback to notify about mm change
* *
* @mni: the range (mm) is about to update * @mni: the range (mm) is about to update
* @range: details on the invalidation * @range: details on the invalidation
...@@ -97,9 +98,9 @@ static const struct mmu_interval_notifier_ops amdgpu_mn_gfx_ops = { ...@@ -97,9 +98,9 @@ static const struct mmu_interval_notifier_ops amdgpu_mn_gfx_ops = {
* We temporarily evict the BO attached to this range. This necessitates * We temporarily evict the BO attached to this range. This necessitates
* evicting all user-mode queues of the process. * evicting all user-mode queues of the process.
*/ */
static bool amdgpu_mn_invalidate_hsa(struct mmu_interval_notifier *mni, static bool amdgpu_hmm_invalidate_hsa(struct mmu_interval_notifier *mni,
const struct mmu_notifier_range *range, const struct mmu_notifier_range *range,
unsigned long cur_seq) unsigned long cur_seq)
{ {
struct amdgpu_bo *bo = container_of(mni, struct amdgpu_bo, notifier); struct amdgpu_bo *bo = container_of(mni, struct amdgpu_bo, notifier);
struct amdgpu_device *adev = amdgpu_ttm_adev(bo->tbo.bdev); struct amdgpu_device *adev = amdgpu_ttm_adev(bo->tbo.bdev);
...@@ -117,12 +118,12 @@ static bool amdgpu_mn_invalidate_hsa(struct mmu_interval_notifier *mni, ...@@ -117,12 +118,12 @@ static bool amdgpu_mn_invalidate_hsa(struct mmu_interval_notifier *mni,
return true; return true;
} }
static const struct mmu_interval_notifier_ops amdgpu_mn_hsa_ops = { static const struct mmu_interval_notifier_ops amdgpu_hmm_hsa_ops = {
.invalidate = amdgpu_mn_invalidate_hsa, .invalidate = amdgpu_hmm_invalidate_hsa,
}; };
/** /**
* amdgpu_mn_register - register a BO for notifier updates * amdgpu_hmm_register - register a BO for notifier updates
* *
* @bo: amdgpu buffer object * @bo: amdgpu buffer object
* @addr: userptr addr we should monitor * @addr: userptr addr we should monitor
...@@ -130,25 +131,25 @@ static const struct mmu_interval_notifier_ops amdgpu_mn_hsa_ops = { ...@@ -130,25 +131,25 @@ static const struct mmu_interval_notifier_ops amdgpu_mn_hsa_ops = {
* Registers a mmu_notifier for the given BO at the specified address. * Registers a mmu_notifier for the given BO at the specified address.
* Returns 0 on success, -ERRNO if anything goes wrong. * Returns 0 on success, -ERRNO if anything goes wrong.
*/ */
int amdgpu_mn_register(struct amdgpu_bo *bo, unsigned long addr) int amdgpu_hmm_register(struct amdgpu_bo *bo, unsigned long addr)
{ {
if (bo->kfd_bo) if (bo->kfd_bo)
return mmu_interval_notifier_insert(&bo->notifier, current->mm, return mmu_interval_notifier_insert(&bo->notifier, current->mm,
addr, amdgpu_bo_size(bo), addr, amdgpu_bo_size(bo),
&amdgpu_mn_hsa_ops); &amdgpu_hmm_hsa_ops);
return mmu_interval_notifier_insert(&bo->notifier, current->mm, addr, return mmu_interval_notifier_insert(&bo->notifier, current->mm, addr,
amdgpu_bo_size(bo), amdgpu_bo_size(bo),
&amdgpu_mn_gfx_ops); &amdgpu_hmm_gfx_ops);
} }
/** /**
* amdgpu_mn_unregister - unregister a BO for notifier updates * amdgpu_hmm_unregister - unregister a BO for notifier updates
* *
* @bo: amdgpu buffer object * @bo: amdgpu buffer object
* *
* Remove any registration of mmu notifier updates from the buffer object. * Remove any registration of mmu notifier updates from the buffer object.
*/ */
void amdgpu_mn_unregister(struct amdgpu_bo *bo) void amdgpu_hmm_unregister(struct amdgpu_bo *bo)
{ {
if (!bo->notifier.mm) if (!bo->notifier.mm)
return; return;
......
...@@ -38,16 +38,16 @@ int amdgpu_hmm_range_get_pages(struct mmu_interval_notifier *notifier, ...@@ -38,16 +38,16 @@ int amdgpu_hmm_range_get_pages(struct mmu_interval_notifier *notifier,
int amdgpu_hmm_range_get_pages_done(struct hmm_range *hmm_range); int amdgpu_hmm_range_get_pages_done(struct hmm_range *hmm_range);
#if defined(CONFIG_HMM_MIRROR) #if defined(CONFIG_HMM_MIRROR)
int amdgpu_mn_register(struct amdgpu_bo *bo, unsigned long addr); int amdgpu_hmm_register(struct amdgpu_bo *bo, unsigned long addr);
void amdgpu_mn_unregister(struct amdgpu_bo *bo); void amdgpu_hmm_unregister(struct amdgpu_bo *bo);
#else #else
static inline int amdgpu_mn_register(struct amdgpu_bo *bo, unsigned long addr) static inline int amdgpu_hmm_register(struct amdgpu_bo *bo, unsigned long addr)
{ {
DRM_WARN_ONCE("HMM_MIRROR kernel config option is not enabled, " DRM_WARN_ONCE("HMM_MIRROR kernel config option is not enabled, "
"add CONFIG_ZONE_DEVICE=y in config file to fix this\n"); "add CONFIG_ZONE_DEVICE=y in config file to fix this\n");
return -ENODEV; return -ENODEV;
} }
static inline void amdgpu_mn_unregister(struct amdgpu_bo *bo) {} static inline void amdgpu_hmm_unregister(struct amdgpu_bo *bo) {}
#endif #endif
#endif #endif
...@@ -58,6 +58,7 @@ ...@@ -58,6 +58,7 @@
#include "amdgpu_amdkfd.h" #include "amdgpu_amdkfd.h"
#include "amdgpu_sdma.h" #include "amdgpu_sdma.h"
#include "amdgpu_ras.h" #include "amdgpu_ras.h"
#include "amdgpu_hmm.h"
#include "amdgpu_atomfirmware.h" #include "amdgpu_atomfirmware.h"
#include "amdgpu_res_cursor.h" #include "amdgpu_res_cursor.h"
#include "bif/bif_4_1_d.h" #include "bif/bif_4_1_d.h"
......
...@@ -28,7 +28,6 @@ ...@@ -28,7 +28,6 @@
#include "amdgpu_sync.h" #include "amdgpu_sync.h"
#include "amdgpu_object.h" #include "amdgpu_object.h"
#include "amdgpu_vm.h" #include "amdgpu_vm.h"
#include "amdgpu_mn.h"
#include "amdgpu_res_cursor.h" #include "amdgpu_res_cursor.h"
#include "kfd_priv.h" #include "kfd_priv.h"
#include "kfd_svm.h" #include "kfd_svm.h"
......
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
#include "amdgpu_sync.h" #include "amdgpu_sync.h"
#include "amdgpu_object.h" #include "amdgpu_object.h"
#include "amdgpu_vm.h" #include "amdgpu_vm.h"
#include "amdgpu_mn.h" #include "amdgpu_hmm.h"
#include "amdgpu.h" #include "amdgpu.h"
#include "amdgpu_xgmi.h" #include "amdgpu_xgmi.h"
#include "kfd_priv.h" #include "kfd_priv.h"
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment