• Lucas De Marchi's avatar
    drm/xe: Fix warning on unreachable statement · 7e0fe233
    Lucas De Marchi authored
    eu_type_to_str() relies on -Wswitch to warn (and -Werror) to make sure
    it handles all enum values. However it's perfectly legal to pass an int
    to that function so in the end that function may happen to return
    nothing. There's too much implicit knowledge about the initialization
    of eu_type for a compiler  to notice eu_type is never assigned to
    anything other than those values.
    
    Trying to reproduce this issue, none of gcc-9, gcc-10 and gcc-13
    triggered for me, but this was reported in a different system with
    gcc-10:
    
    	drivers/gpu/drm/xe/xe.o: warning: objtool: xe_gt_topology_dump() falls through to next function xe_gt_topology_init()
    
    Also it was reported these warnings when building with clang:
    
    	drivers/gpu/drm/xe/xe.o: warning: objtool: xe_gt_topology_dump+0x77: sibling call from callable instruction with modified stack frame
    	drivers/gpu/drm/xe/xe.o: warning: objtool: xe_gt_topology_dump() falls through to next function xe_dss_mask_group_ffs()
    	drivers/gpu/drm/xe/xe.o: warning: objtool: xe_gt_topology_dump+0x77: can't find jump dest instruction at .text.xe_gt_topology_dump+0xc0
    
    Since that value is not really possible in real world, just take the
    simple approach and return NULL.
    
    Fixes: 7108b4a5 ("drm/xe/uapi: Expose SIMD16 EU mask in topology query")
    Reviewed-by: default avatarNathan Chancellor <nathan@kernel.org>
    Tested-by: default avatarNathan Chancellor <nathan@kernel.org>
    Reviewed-by: default avatarMichal Wajdeczko <michal.wajdeczko@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240719191534.3845469-1-lucas.demarchi@intel.comSigned-off-by: default avatarLucas De Marchi <lucas.demarchi@intel.com>
    7e0fe233
xe_gt_topology.c 9.03 KB