All of lore.kernel.org
 help / color / mirror / Atom feed
* [android-common:android-mainline 1/1] drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c:70:61: error: no member named 'notifier' in 'struct amdgpu_bo'
@ 2026-08-29 17:25 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-08-29 17:25 UTC (permalink / raw)
  To: cros-kernel-buildreports; +Cc: oe-kbuild-all

Hi Vamsidhar,

First bad commit (maybe != root cause):

tree:   https://android.googlesource.com/kernel/common android-mainline
head:   62472d9b40cf9ab09e948d85ae63e14979b462c8
commit: ad36ecd6081db9827f1ebaa41671b0b336fd83bf [1/1] ANDROID: GKI: Enable HMM_MIRROR config for all arch
config: arm64-randconfig-r073-20260829 (https://download.01.org/0day-ci/archive/20260830/202608300156.0KB1B2LG-lkp@intel.com/config)
compiler: clang version 24.0.0git (https://github.com/llvm/llvm-project 52774473867e49b5891ab9381accf4e5a3ce0024)
smatch: v0.5.0-9187-g5189e3fb
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260830/202608300156.0KB1B2LG-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202608300156.0KB1B2LG-lkp@intel.com/

All errors (new ones prefixed by >>):

>> drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c:70:61: error: no member named 'notifier' in 'struct amdgpu_bo'
      70 |         struct amdgpu_bo *bo = container_of(mni, struct amdgpu_bo, notifier);
         |                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
   include/linux/container_of.h:21:49: note: expanded from macro 'container_of'
      21 |         static_assert(__same_type(*(ptr), ((type *)0)->member) ||       \
         |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
      22 |                       __same_type(*(ptr), void),                        \
         |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      23 |                       "pointer type mismatch in container_of()");       \
         |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/compiler_types.h:537:74: note: expanded from macro '__same_type'
     537 | #define __same_type(a, b) __builtin_types_compatible_p(typeof(a), typeof(b))
         |                                                                          ^
   include/linux/build_bug.h:77:50: note: expanded from macro 'static_assert'
      77 | #define static_assert(expr, ...) __static_assert(expr, ##__VA_ARGS__, #expr)
         |                                  ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/build_bug.h:78:56: note: expanded from macro '__static_assert'
      78 | #define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
         |                                                        ^~~~
>> drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c:70:25: error: no member named 'notifier' in 'amdgpu_bo'
      70 |         struct amdgpu_bo *bo = container_of(mni, struct amdgpu_bo, notifier);
         |                                ^                                   ~~~~~~~~
   include/linux/container_of.h:24:21: note: expanded from macro 'container_of'
      24 |         ((type *)(__mptr - offsetof(type, member))); })
         |                            ^              ~~~~~~
   include/linux/stddef.h:16:32: note: expanded from macro 'offsetof'
      16 | #define offsetof(TYPE, MEMBER)  __builtin_offsetof(TYPE, MEMBER)
         |                                 ^                        ~~~~~~
   drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c:79:2: error: call to undeclared function 'mmu_interval_set_seq'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
      79 |         mmu_interval_set_seq(mni, cur_seq);
         |         ^
   drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c:107:61: error: no member named 'notifier' in 'struct amdgpu_bo'
     107 |         struct amdgpu_bo *bo = container_of(mni, struct amdgpu_bo, notifier);
         |                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
   include/linux/container_of.h:21:49: note: expanded from macro 'container_of'
      21 |         static_assert(__same_type(*(ptr), ((type *)0)->member) ||       \
         |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
      22 |                       __same_type(*(ptr), void),                        \
         |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      23 |                       "pointer type mismatch in container_of()");       \
         |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/compiler_types.h:537:74: note: expanded from macro '__same_type'
     537 | #define __same_type(a, b) __builtin_types_compatible_p(typeof(a), typeof(b))
         |                                                                          ^
   include/linux/build_bug.h:77:50: note: expanded from macro 'static_assert'
      77 | #define static_assert(expr, ...) __static_assert(expr, ##__VA_ARGS__, #expr)
         |                                  ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/build_bug.h:78:56: note: expanded from macro '__static_assert'
      78 | #define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
         |                                                        ^~~~
   drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c:107:25: error: no member named 'notifier' in 'amdgpu_bo'
     107 |         struct amdgpu_bo *bo = container_of(mni, struct amdgpu_bo, notifier);
         |                                ^                                   ~~~~~~~~
   include/linux/container_of.h:24:21: note: expanded from macro 'container_of'
      24 |         ((type *)(__mptr - offsetof(type, member))); })
         |                            ^              ~~~~~~
   include/linux/stddef.h:16:32: note: expanded from macro 'offsetof'
      16 | #define offsetof(TYPE, MEMBER)  __builtin_offsetof(TYPE, MEMBER)
         |                                 ^                        ~~~~~~
   drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c:135:7: error: call to undeclared function 'mmu_interval_notifier_insert'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
     135 |                 r = mmu_interval_notifier_insert(&bo->notifier, current->mm,
         |                     ^
   drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c:135:7: note: did you mean 'vma_interval_tree_insert'?
   include/linux/mm.h:3372:6: note: 'vma_interval_tree_insert' declared here
    3372 | void vma_interval_tree_insert(struct vm_area_struct *node,
         |      ^
   drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c:135:41: error: no member named 'notifier' in 'struct amdgpu_bo'
     135 |                 r = mmu_interval_notifier_insert(&bo->notifier, current->mm,
         |                                                   ~~  ^
   drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c:139:41: error: no member named 'notifier' in 'struct amdgpu_bo'
     139 |                 r = mmu_interval_notifier_insert(&bo->notifier, current->mm, addr,
         |                                                   ~~  ^
   drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c:148:7: error: no member named 'notifier' in 'struct amdgpu_bo'
     148 |                 bo->notifier.mm = NULL;
         |                 ~~  ^
   drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c:162:11: error: no member named 'notifier' in 'struct amdgpu_bo'
     162 |         if (!bo->notifier.mm)
         |              ~~  ^
>> drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c:164:2: error: call to undeclared function 'mmu_interval_notifier_remove'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
     164 |         mmu_interval_notifier_remove(&bo->notifier);
         |         ^
   drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c:164:2: note: did you mean 'vma_interval_tree_remove'?
   include/linux/mm.h:3377:6: note: 'vma_interval_tree_remove' declared here
    3377 | void vma_interval_tree_remove(struct vm_area_struct *node,
         |      ^
   drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c:164:36: error: no member named 'notifier' in 'struct amdgpu_bo'
     164 |         mmu_interval_notifier_remove(&bo->notifier);
         |                                       ~~  ^
   drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c:165:6: error: no member named 'notifier' in 'struct amdgpu_bo'
     165 |         bo->notifier.mm = NULL;
         |         ~~  ^
   drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c:207:29: error: call to undeclared function 'mmu_interval_read_begin'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
     207 |                 hmm_range->notifier_seq = mmu_interval_read_begin(notifier);
         |                                           ^
>> drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c:242:6: error: call to undeclared function 'mmu_interval_read_retry'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
     242 |         r = mmu_interval_read_retry(hmm_range->notifier,
         |             ^
   15 errors generated.

Kconfig warnings: (for reference only)
   WARNING: unmet direct dependencies detected for XFRM_OFFLOAD
   Depends on [n]: NET [=n]
   Selected by [y]:
   - GKI_HIDDEN_XFRM_OFFLOAD_CONFIGS [=y]
   WARNING: unmet direct dependencies detected for DIMLIB
   Depends on [n]: NET [=n]
   Selected by [y]:
   - GKI_HIDDEN_VIRTUAL_CONFIGS [=y]
   WARNING: unmet direct dependencies detected for WEXT_PRIV
   Depends on [n]: NET [=n] && WIRELESS [=n]
   Selected by [y]:
   - GKI_LEGACY_WEXT_ALLCONFIG [=y]
   WARNING: unmet direct dependencies detected for NET_PTP_CLASSIFY
   Depends on [n]: NET [=n]
   Selected by [y]:
   - GKI_HIDDEN_NET_CONFIGS [=y]
   WARNING: unmet direct dependencies detected for HVC_DRIVER
   Depends on [n]: TTY [=n]
   Selected by [y]:
   - GKI_HIDDEN_VIRTUAL_CONFIGS [=y]
   WARNING: unmet direct dependencies detected for USB_PHY
   Depends on [n]: USB_SUPPORT [=n]
   Selected by [y]:
   - GKI_HIDDEN_USB_CONFIGS [=y]
   WARNING: unmet direct dependencies detected for PHYLINK
   Depends on [n]: NETDEVICES [=n]
   Selected by [y]:
   - GKI_HIDDEN_ETHERNET_CONFIGS [=y]
   WARNING: unmet direct dependencies detected for WIRELESS_EXT
   Depends on [n]: NET [=n] && WIRELESS [=n]
   Selected by [y]:
   - GKI_LEGACY_WEXT_ALLCONFIG [=y]
   WARNING: unmet direct dependencies detected for WEXT_CORE
   Depends on [n]: NET [=n] && WIRELESS [=n] && (CFG80211_WEXT [=n] || WIRELESS_EXT [=y])
   Selected by [y]:
   - GKI_LEGACY_WEXT_ALLCONFIG [=y]
   WARNING: unmet direct dependencies detected for PAGE_POOL
   Depends on [n]: NET [=n]
   Selected by [y]:
   - GKI_HIDDEN_NET_CONFIGS [=y]
   WARNING: unmet direct dependencies detected for CAN_RX_OFFLOAD
   Depends on [n]: NETDEVICES [=n] && CAN_DEV [=n] && CAN_NETLINK [=n]
   Selected by [y]:
   - GKI_HIDDEN_MCP251XFD_CONFIGS [=y]
   WARNING: unmet direct dependencies detected for NET_DEVLINK
   Depends on [n]: NET [=n]
   Selected by [y]:
   - GKI_HIDDEN_NET_CONFIGS [=y]
   WARNING: unmet direct dependencies detected for WEXT_PROC
   Depends on [n]: NET [=n] && WIRELESS [=n] && PROC_FS [=n] && WEXT_CORE [=y]
   Selected by [y]:
   - GKI_LEGACY_WEXT_ALLCONFIG [=y]


vim +70 drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c

c1420a5dd4dd2a1 drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c James Zhu       2022-11-17   55  
1ed3d2567c800ec drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Christian König 2017-09-05   56  /**
d9483ecd327b753 drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c Christian König 2022-11-09   57   * amdgpu_hmm_invalidate_gfx - callback to notify about mm change
1ed3d2567c800ec drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Christian König 2017-09-05   58   *
62914a99dee5ac5 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Jason Gunthorpe 2019-11-12   59   * @mni: the range (mm) is about to update
62914a99dee5ac5 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Jason Gunthorpe 2019-11-12   60   * @range: details on the invalidation
62914a99dee5ac5 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Jason Gunthorpe 2019-11-12   61   * @cur_seq: Value to pass to mmu_interval_set_seq()
d38ceaf99ed015f drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Alex Deucher    2015-04-20   62   *
ad7f0b6334fe3cf drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Christian König 2018-06-05   63   * Block for operations on BOs to finish and mark pages as accessed and
ad7f0b6334fe3cf drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Christian König 2018-06-05   64   * potentially dirty.
d38ceaf99ed015f drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Alex Deucher    2015-04-20   65   */
d9483ecd327b753 drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c Christian König 2022-11-09   66  static bool amdgpu_hmm_invalidate_gfx(struct mmu_interval_notifier *mni,
62914a99dee5ac5 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Jason Gunthorpe 2019-11-12   67  				      const struct mmu_notifier_range *range,
62914a99dee5ac5 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Jason Gunthorpe 2019-11-12   68  				      unsigned long cur_seq)
d38ceaf99ed015f drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Alex Deucher    2015-04-20   69  {
62914a99dee5ac5 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Jason Gunthorpe 2019-11-12  @70  	struct amdgpu_bo *bo = container_of(mni, struct amdgpu_bo, notifier);
62914a99dee5ac5 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Jason Gunthorpe 2019-11-12   71  	struct amdgpu_device *adev = amdgpu_ttm_adev(bo->tbo.bdev);
7ab7e8a4096d2af drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Jack Xiao       2015-04-27   72  	long r;
d38ceaf99ed015f drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Alex Deucher    2015-04-20   73  
62914a99dee5ac5 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Jason Gunthorpe 2019-11-12   74  	if (!mmu_notifier_range_blockable(range))
62914a99dee5ac5 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Jason Gunthorpe 2019-11-12   75  		return false;
d38ceaf99ed015f drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Alex Deucher    2015-04-20   76  
62914a99dee5ac5 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Jason Gunthorpe 2019-11-12   77  	mutex_lock(&adev->notifier_lock);
81fa1af31b5d790 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Jason Gunthorpe 2019-11-12   78  
81fa1af31b5d790 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Jason Gunthorpe 2019-11-12   79  	mmu_interval_set_seq(mni, cur_seq);
81fa1af31b5d790 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Jason Gunthorpe 2019-11-12   80  
0cc848a75b742c3 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Christian König 2021-11-09   81  	r = dma_resv_wait_timeout(bo->tbo.base.resv, DMA_RESV_USAGE_BOOKKEEP,
7bc80a5462c37ea drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Christian König 2021-11-09   82  				  false, MAX_SCHEDULE_TIMEOUT);
62914a99dee5ac5 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Jason Gunthorpe 2019-11-12   83  	mutex_unlock(&adev->notifier_lock);
7ab7e8a4096d2af drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Jack Xiao       2015-04-27   84  	if (r <= 0)
7ab7e8a4096d2af drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Jack Xiao       2015-04-27   85  		DRM_ERROR("(%ld) failed to wait for user bo\n", r);
62914a99dee5ac5 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Jason Gunthorpe 2019-11-12   86  	return true;
d38ceaf99ed015f drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Alex Deucher    2015-04-20   87  }
62914a99dee5ac5 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Jason Gunthorpe 2019-11-12   88  
d9483ecd327b753 drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c Christian König 2022-11-09   89  static const struct mmu_interval_notifier_ops amdgpu_hmm_gfx_ops = {
d9483ecd327b753 drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c Christian König 2022-11-09   90  	.invalidate = amdgpu_hmm_invalidate_gfx,
62914a99dee5ac5 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Jason Gunthorpe 2019-11-12   91  };
0d2b42b0bdba45c drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Christian König 2016-03-18   92  
ae20f12d2de6629 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Christian König 2016-03-18   93  /**
d9483ecd327b753 drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c Christian König 2022-11-09   94   * amdgpu_hmm_invalidate_hsa - callback to notify about mm change
ae20f12d2de6629 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Christian König 2016-03-18   95   *
62914a99dee5ac5 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Jason Gunthorpe 2019-11-12   96   * @mni: the range (mm) is about to update
62914a99dee5ac5 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Jason Gunthorpe 2019-11-12   97   * @range: details on the invalidation
62914a99dee5ac5 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Jason Gunthorpe 2019-11-12   98   * @cur_seq: Value to pass to mmu_interval_set_seq()
ae20f12d2de6629 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Christian König 2016-03-18   99   *
62914a99dee5ac5 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Jason Gunthorpe 2019-11-12  100   * We temporarily evict the BO attached to this range. This necessitates
62914a99dee5ac5 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Jason Gunthorpe 2019-11-12  101   * evicting all user-mode queues of the process.
ae20f12d2de6629 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Christian König 2016-03-18  102   */
d9483ecd327b753 drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c Christian König 2022-11-09  103  static bool amdgpu_hmm_invalidate_hsa(struct mmu_interval_notifier *mni,
62914a99dee5ac5 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Jason Gunthorpe 2019-11-12  104  				      const struct mmu_notifier_range *range,
62914a99dee5ac5 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Jason Gunthorpe 2019-11-12  105  				      unsigned long cur_seq)
ae20f12d2de6629 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Christian König 2016-03-18  106  {
62914a99dee5ac5 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Jason Gunthorpe 2019-11-12  107  	struct amdgpu_bo *bo = container_of(mni, struct amdgpu_bo, notifier);
ae20f12d2de6629 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Christian König 2016-03-18  108  
62914a99dee5ac5 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Jason Gunthorpe 2019-11-12  109  	if (!mmu_notifier_range_blockable(range))
62914a99dee5ac5 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Jason Gunthorpe 2019-11-12  110  		return false;
ae20f12d2de6629 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Christian König 2016-03-18  111  
f95f51a4c3357ea drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c Felix Kuehling  2021-04-21  112  	amdgpu_amdkfd_evict_userptr(mni, cur_seq, bo->kfd_bo);
ae20f12d2de6629 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Christian König 2016-03-18  113  
62914a99dee5ac5 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Jason Gunthorpe 2019-11-12  114  	return true;
ae20f12d2de6629 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Christian König 2016-03-18  115  }
93065ac753e4443 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Michal Hocko    2018-08-21  116  
d9483ecd327b753 drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c Christian König 2022-11-09  117  static const struct mmu_interval_notifier_ops amdgpu_hmm_hsa_ops = {
d9483ecd327b753 drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c Christian König 2022-11-09  118  	.invalidate = amdgpu_hmm_invalidate_hsa,
62914a99dee5ac5 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Jason Gunthorpe 2019-11-12  119  };
ae20f12d2de6629 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Christian König 2016-03-18  120  
d38ceaf99ed015f drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Alex Deucher    2015-04-20  121  /**
d9483ecd327b753 drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c Christian König 2022-11-09  122   * amdgpu_hmm_register - register a BO for notifier updates
d38ceaf99ed015f drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Alex Deucher    2015-04-20  123   *
d38ceaf99ed015f drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Alex Deucher    2015-04-20  124   * @bo: amdgpu buffer object
d38ceaf99ed015f drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Alex Deucher    2015-04-20  125   * @addr: userptr addr we should monitor
d38ceaf99ed015f drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Alex Deucher    2015-04-20  126   *
62914a99dee5ac5 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Jason Gunthorpe 2019-11-12  127   * Registers a mmu_notifier for the given BO at the specified address.
d38ceaf99ed015f drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Alex Deucher    2015-04-20  128   * Returns 0 on success, -ERRNO if anything goes wrong.
d38ceaf99ed015f drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Alex Deucher    2015-04-20  129   */
d9483ecd327b753 drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c Christian König 2022-11-09  130  int amdgpu_hmm_register(struct amdgpu_bo *bo, unsigned long addr)
d38ceaf99ed015f drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Alex Deucher    2015-04-20  131  {
22207fd5c80177b drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c Vitaly Prosyak  2024-03-06  132  	int r;
22207fd5c80177b drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c Vitaly Prosyak  2024-03-06  133  
62914a99dee5ac5 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Jason Gunthorpe 2019-11-12  134  	if (bo->kfd_bo)
22207fd5c80177b drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c Vitaly Prosyak  2024-03-06  135  		r = mmu_interval_notifier_insert(&bo->notifier, current->mm,
81fa1af31b5d790 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Jason Gunthorpe 2019-11-12  136  						    addr, amdgpu_bo_size(bo),
d9483ecd327b753 drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c Christian König 2022-11-09  137  						    &amdgpu_hmm_hsa_ops);
22207fd5c80177b drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c Vitaly Prosyak  2024-03-06  138  	else
22207fd5c80177b drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c Vitaly Prosyak  2024-03-06  139  		r = mmu_interval_notifier_insert(&bo->notifier, current->mm, addr,
81fa1af31b5d790 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Jason Gunthorpe 2019-11-12  140  							amdgpu_bo_size(bo),
d9483ecd327b753 drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c Christian König 2022-11-09  141  							&amdgpu_hmm_gfx_ops);
22207fd5c80177b drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c Vitaly Prosyak  2024-03-06  142  	if (r)
22207fd5c80177b drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c Vitaly Prosyak  2024-03-06  143  		/*
22207fd5c80177b drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c Vitaly Prosyak  2024-03-06  144  		 * Make sure amdgpu_hmm_unregister() doesn't call
22207fd5c80177b drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c Vitaly Prosyak  2024-03-06  145  		 * mmu_interval_notifier_remove() when the notifier isn't properly
22207fd5c80177b drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c Vitaly Prosyak  2024-03-06  146  		 * initialized.
22207fd5c80177b drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c Vitaly Prosyak  2024-03-06  147  		 */
22207fd5c80177b drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c Vitaly Prosyak  2024-03-06  148  		bo->notifier.mm = NULL;
22207fd5c80177b drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c Vitaly Prosyak  2024-03-06  149  
22207fd5c80177b drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c Vitaly Prosyak  2024-03-06  150  	return r;
d38ceaf99ed015f drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Alex Deucher    2015-04-20  151  }
d38ceaf99ed015f drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Alex Deucher    2015-04-20  152  
d38ceaf99ed015f drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Alex Deucher    2015-04-20  153  /**
d9483ecd327b753 drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c Christian König 2022-11-09  154   * amdgpu_hmm_unregister - unregister a BO for notifier updates
d38ceaf99ed015f drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Alex Deucher    2015-04-20  155   *
d38ceaf99ed015f drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Alex Deucher    2015-04-20  156   * @bo: amdgpu buffer object
d38ceaf99ed015f drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Alex Deucher    2015-04-20  157   *
62914a99dee5ac5 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Jason Gunthorpe 2019-11-12  158   * Remove any registration of mmu notifier updates from the buffer object.
d38ceaf99ed015f drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Alex Deucher    2015-04-20  159   */
d9483ecd327b753 drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c Christian König 2022-11-09  160  void amdgpu_hmm_unregister(struct amdgpu_bo *bo)
d38ceaf99ed015f drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Alex Deucher    2015-04-20  161  {
62914a99dee5ac5 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Jason Gunthorpe 2019-11-12  162  	if (!bo->notifier.mm)
d38ceaf99ed015f drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Alex Deucher    2015-04-20  163  		return;
62914a99dee5ac5 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Jason Gunthorpe 2019-11-12 @164  	mmu_interval_notifier_remove(&bo->notifier);
62914a99dee5ac5 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Jason Gunthorpe 2019-11-12  165  	bo->notifier.mm = NULL;
d38ceaf99ed015f drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Alex Deucher    2015-04-20  166  }
04d8d73dbcbe645 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Philip Yang     2020-02-24  167  
04d8d73dbcbe645 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Philip Yang     2020-02-24  168  int amdgpu_hmm_range_get_pages(struct mmu_interval_notifier *notifier,
d4cbff464d2932a drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c Christian König 2022-11-09  169  			       uint64_t start, uint64_t npages, bool readonly,
c5b3cc417b0260a drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c Sunil Khatri    2025-09-17  170  			       void *owner,
d4cbff464d2932a drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c Christian König 2022-11-09  171  			       struct hmm_range **phmm_range)
04d8d73dbcbe645 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Philip Yang     2020-02-24  172  {
04d8d73dbcbe645 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Philip Yang     2020-02-24  173  	struct hmm_range *hmm_range;
c1420a5dd4dd2a1 drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c James Zhu       2022-11-17  174  	unsigned long end;
04d8d73dbcbe645 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Philip Yang     2020-02-24  175  	unsigned long timeout;
04d8d73dbcbe645 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Philip Yang     2020-02-24  176  	unsigned long *pfns;
04d8d73dbcbe645 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Philip Yang     2020-02-24  177  	int r = 0;
04d8d73dbcbe645 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Philip Yang     2020-02-24  178  
04d8d73dbcbe645 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Philip Yang     2020-02-24  179  	hmm_range = kzalloc(sizeof(*hmm_range), GFP_KERNEL);
04d8d73dbcbe645 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Philip Yang     2020-02-24  180  	if (unlikely(!hmm_range))
04d8d73dbcbe645 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Philip Yang     2020-02-24  181  		return -ENOMEM;
04d8d73dbcbe645 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Philip Yang     2020-02-24  182  
04d8d73dbcbe645 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Philip Yang     2020-02-24  183  	pfns = kvmalloc_array(npages, sizeof(*pfns), GFP_KERNEL);
04d8d73dbcbe645 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Philip Yang     2020-02-24  184  	if (unlikely(!pfns)) {
04d8d73dbcbe645 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Philip Yang     2020-02-24  185  		r = -ENOMEM;
04d8d73dbcbe645 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Philip Yang     2020-02-24  186  		goto out_free_range;
04d8d73dbcbe645 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Philip Yang     2020-02-24  187  	}
04d8d73dbcbe645 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Philip Yang     2020-02-24  188  
04d8d73dbcbe645 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Philip Yang     2020-02-24  189  	hmm_range->notifier = notifier;
04d8d73dbcbe645 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Philip Yang     2020-02-24  190  	hmm_range->default_flags = HMM_PFN_REQ_FAULT;
04d8d73dbcbe645 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Philip Yang     2020-02-24  191  	if (!readonly)
04d8d73dbcbe645 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Philip Yang     2020-02-24  192  		hmm_range->default_flags |= HMM_PFN_REQ_WRITE;
04d8d73dbcbe645 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Philip Yang     2020-02-24  193  	hmm_range->hmm_pfns = pfns;
04d8d73dbcbe645 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Philip Yang     2020-02-24  194  	hmm_range->start = start;
c1420a5dd4dd2a1 drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c James Zhu       2022-11-17  195  	end = start + npages * PAGE_SIZE;
8c21fc49a8e637b drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Alex Sierra     2021-05-06  196  	hmm_range->dev_private_owner = owner;
d8a3c1c80ceb656 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Philip Yang     2021-03-30  197  
c1420a5dd4dd2a1 drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c James Zhu       2022-11-17  198  	do {
c1420a5dd4dd2a1 drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c James Zhu       2022-11-17  199  		hmm_range->end = min(hmm_range->start + MAX_WALK_BYTE, end);
c1420a5dd4dd2a1 drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c James Zhu       2022-11-17  200  
c1420a5dd4dd2a1 drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c James Zhu       2022-11-17  201  		pr_debug("hmm range: start = 0x%lx, end = 0x%lx",
c1420a5dd4dd2a1 drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c James Zhu       2022-11-17  202  			hmm_range->start, hmm_range->end);
c1420a5dd4dd2a1 drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c James Zhu       2022-11-17  203  
9095e5544061b16 drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c Philip Yang     2024-04-30  204  		timeout = jiffies + msecs_to_jiffies(HMM_RANGE_DEFAULT_TIMEOUT);
04d8d73dbcbe645 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Philip Yang     2020-02-24  205  
04d8d73dbcbe645 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Philip Yang     2020-02-24  206  retry:
04d8d73dbcbe645 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Philip Yang     2020-02-24  207  		hmm_range->notifier_seq = mmu_interval_read_begin(notifier);
04d8d73dbcbe645 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Philip Yang     2020-02-24  208  		r = hmm_range_fault(hmm_range);
04d8d73dbcbe645 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Philip Yang     2020-02-24  209  		if (unlikely(r)) {
04d8d73dbcbe645 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Philip Yang     2020-02-24  210  			if (r == -EBUSY && !time_after(jiffies, timeout))
04d8d73dbcbe645 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Philip Yang     2020-02-24  211  				goto retry;
04d8d73dbcbe645 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Philip Yang     2020-02-24  212  			goto out_free_pfns;
04d8d73dbcbe645 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Philip Yang     2020-02-24  213  		}
04d8d73dbcbe645 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Philip Yang     2020-02-24  214  
c1420a5dd4dd2a1 drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c James Zhu       2022-11-17  215  		if (hmm_range->end == end)
c1420a5dd4dd2a1 drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c James Zhu       2022-11-17  216  			break;
c1420a5dd4dd2a1 drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c James Zhu       2022-11-17  217  		hmm_range->hmm_pfns += MAX_WALK_BYTE >> PAGE_SHIFT;
c1420a5dd4dd2a1 drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c James Zhu       2022-11-17  218  		hmm_range->start = hmm_range->end;
c1420a5dd4dd2a1 drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c James Zhu       2022-11-17  219  	} while (hmm_range->end < end);
c1420a5dd4dd2a1 drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c James Zhu       2022-11-17  220  
c1420a5dd4dd2a1 drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c James Zhu       2022-11-17  221  	hmm_range->start = start;
c1420a5dd4dd2a1 drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c James Zhu       2022-11-17  222  	hmm_range->hmm_pfns = pfns;
c1420a5dd4dd2a1 drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c James Zhu       2022-11-17  223  
04d8d73dbcbe645 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Philip Yang     2020-02-24  224  	*phmm_range = hmm_range;
04d8d73dbcbe645 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Philip Yang     2020-02-24  225  
04d8d73dbcbe645 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Philip Yang     2020-02-24  226  	return 0;
04d8d73dbcbe645 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Philip Yang     2020-02-24  227  
04d8d73dbcbe645 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Philip Yang     2020-02-24  228  out_free_pfns:
04d8d73dbcbe645 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Philip Yang     2020-02-24  229  	kvfree(pfns);
04d8d73dbcbe645 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Philip Yang     2020-02-24  230  out_free_range:
04d8d73dbcbe645 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Philip Yang     2020-02-24  231  	kfree(hmm_range);
04d8d73dbcbe645 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Philip Yang     2020-02-24  232  
9095e5544061b16 drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c Philip Yang     2024-04-30  233  	if (r == -EBUSY)
9095e5544061b16 drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c Philip Yang     2024-04-30  234  		r = -EAGAIN;
04d8d73dbcbe645 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Philip Yang     2020-02-24  235  	return r;
04d8d73dbcbe645 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Philip Yang     2020-02-24  236  }
04d8d73dbcbe645 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Philip Yang     2020-02-24  237  
f95f51a4c3357ea drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c Felix Kuehling  2021-04-21  238  bool amdgpu_hmm_range_get_pages_done(struct hmm_range *hmm_range)
04d8d73dbcbe645 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Philip Yang     2020-02-24  239  {
f95f51a4c3357ea drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c Felix Kuehling  2021-04-21  240  	bool r;
04d8d73dbcbe645 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Philip Yang     2020-02-24  241  
04d8d73dbcbe645 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c  Philip Yang     2020-02-24 @242  	r = mmu_interval_read_retry(hmm_range->notifier,

:::::: The code at line 70 was first introduced by commit
:::::: 62914a99dee5ac51253a84e7d4a05c18f0c77535 drm/amdgpu: Use mmu_interval_insert instead of hmm_mirror

:::::: TO: Jason Gunthorpe <jgg@mellanox.com>
:::::: CC: Jason Gunthorpe <jgg@mellanox.com>

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2026-08-29 17:25 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-29 17:25 [android-common:android-mainline 1/1] drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c:70:61: error: no member named 'notifier' in 'struct amdgpu_bo' kernel test robot

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.