• Nathan Chancellor's avatar
    drm/amdgpu: Fix return types of certain NBIOv7.9 callbacks · 6c882a57
    Nathan Chancellor authored
    When building with clang's -Wincompatible-function-pointer-types-strict,
    which ensures that function pointer signatures match exactly to avoid
    tripping clang's Control Flow Integrity (kCFI) checks at run time and
    will eventually be turned on for the kernel, the following instances
    appear in the NBIOv7.9 code:
    
      drivers/gpu/drm/amd/amdgpu/nbio_v7_9.c:465:32: error: incompatible function pointer types initializing 'int (*)(struct amdgpu_device *)' with an expression of type 'enum amdgpu_gfx_partition (struct amdgpu_device *)' [-Werror,-Wincompatible-function-pointer-types-strict]
              .get_compute_partition_mode = nbio_v7_9_get_compute_partition_mode,
                                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      drivers/gpu/drm/amd/amdgpu/nbio_v7_9.c:467:31: error: incompatible function pointer types initializing 'u32 (*)(struct amdgpu_device *, u32 *)' (aka 'unsigned int (*)(struct amdgpu_device *, unsigned int *)') with an expression of type 'enum amdgpu_memory_partition (struct amdgpu_device *, u32 *)' (aka 'enum amdgpu_memory_partition (struct amdgpu_device *, unsigned int *)') [-Werror,-Wincompatible-function-pointer-types-strict]
              .get_memory_partition_mode = nbio_v7_9_get_memory_partition_mode,
                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      2 errors generated.
    
    Change the return types of these callbacks to match the prototypes to
    clear up the warning and avoid tripping kCFI at run time. Both functions
    return a value from ffs(), which is an integer that can fit into either
    int or unsigned int.
    
    Fixes: 98a54e88 ("drm/amdgpu: add sysfs node for compute partition mode")
    Fixes: ea2d2f8e ("drm/amdgpu: detect current GPU memory partition mode")
    Signed-off-by: default avatarNathan Chancellor <nathan@kernel.org>
    Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
    6c882a57
nbio_v7_9.c 15.9 KB