• Nathan Chancellor's avatar
    drm/omap: Restrict compile testing to PAGE_SIZE less than 64KB · c58c3916
    Nathan Chancellor authored
    Prior to commit dc6fcaab ("drm/omap: Allow build with
    COMPILE_TEST=y"), it was only possible to build the omapdrm driver with
    a 4KB page size. After that change, when the PAGE_SIZE is 64KB or
    larger, clang points out that the driver has some assumptions around the
    page size implicitly by passing PAGE_SIZE to a parameter with a type of
    u16:
    
      drivers/gpu/drm/omapdrm/omap_gem.c:758:7: error: implicit conversion from 'unsigned long' to 'u16' (aka 'unsigned short') changes value from 65536 to 0 [-Werror,-Wconstant-conversion]
        757 |                 block = tiler_reserve_2d(fmt, omap_obj->width, omap_obj->height,
            |                         ~~~~~~~~~~~~~~~~
        758 |                                          PAGE_SIZE);
            |                                          ^~~~~~~~~
      arch/powerpc/include/asm/page.h:25:34: note: expanded from macro 'PAGE_SIZE'
         25 | #define PAGE_SIZE               (ASM_CONST(1) << PAGE_SHIFT)
            |                                  ~~~~~~~~~~~~~^~~~~~~~~~~~~
      drivers/gpu/drm/omapdrm/omap_gem.c:1504:44: error: implicit conversion from 'unsigned long' to 'u16' (aka 'unsigned short') changes value from 65536 to 0 [-Werror,-Wconstant-conversion]
       1504 |                         block = tiler_reserve_2d(fmts[i], w, h, PAGE_SIZE);
            |                                 ~~~~~~~~~~~~~~~~                ^~~~~~~~~
      arch/powerpc/include/asm/page.h:25:34: note: expanded from macro 'PAGE_SIZE'
         25 | #define PAGE_SIZE               (ASM_CONST(1) << PAGE_SHIFT)
            |                                  ~~~~~~~~~~~~~^~~~~~~~~~~~~
      2 errors generated.
    
    As there is a lot of use of a u16 type throughout this driver and it
    will only ever be run on hardware that has a 4KB page size, just
    restrict compile testing to when the page size is less than 64KB (as no
    other issues have been discussed and it keeps compile testing relatively
    more available).
    Signed-off-by: default avatarNathan Chancellor <nathan@kernel.org>
    Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240620-omapdrm-restrict-compile-test-to-sub-64kb-page-size-v1-1-5e56de71ffca@kernel.org
    c58c3916
Kconfig 3.47 KB