]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
iommupt: Make pt_feature() always_inline
authorJason Gunthorpe <jgg@nvidia.com>
Fri, 9 Jan 2026 14:29:52 +0000 (10:29 -0400)
committerJoerg Roedel <joerg.roedel@amd.com>
Sat, 10 Jan 2026 09:50:45 +0000 (10:50 +0100)
commit6a3d5fda2ce464a80a9af9e358dfbab6a989ab5d
treef5a726481f386a9d81da34d476641fa86c875255
parent7adfd682745a41fdf0279e4457d11fffab145a8f
iommupt: Make pt_feature() always_inline

gcc 8.5 on powerpc does not automatically inline these functions even
though they evaluate to constants in key cases. Since the constant
propagation is essential for some code elimination and built-time checks
this causes a build failure:

 ERROR: modpost: "__pt_no_sw_bit" [drivers/iommu/generic_pt/fmt/iommu_amdv1.ko] undefined!

Caused by this:

if (pts_feature(&pts, PT_FEAT_DMA_INCOHERENT) &&
    !pt_test_sw_bit_acquire(&pts,
    SW_BIT_CACHE_FLUSH_DONE))
flush_writes_item(&pts);

Where pts_feature() evaluates to a constant false. Mark them as
__always_inline to force it to evaluate to a constant and trigger the code
elimination.

Fixes: 7c5b184db714 ("genpt: Generic Page Table base API")
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202512230720.9y9DtWIo-lkp@intel.com/
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/iommu/generic_pt/pt_defs.h