• Arnd Bergmann's avatar
    media: intel-ipu3: cio2: fix building with large PAGE_SIZE · 883dd4c1
    Arnd Bergmann authored
    The driver apparently assumes that the device uses the same page size
    as the CPU, but also assumes that this is 4096 bytes. On architectures
    with a larger page size like 65536 bytes, we get a warning about an
    integer overflow:
    
    drivers/media/pci/intel/ipu3/ipu3-cio2.c: In function 'cio2_fbpt_entry_init_dummy':
    arch/arm64/include/asm/page-def.h:28:20: error: large integer implicitly truncated to unsigned type [-Werror=overflow]
     #define PAGE_SIZE  (_AC(1, UL) << PAGE_SHIFT)
                        ^
    drivers/media/pci/intel/ipu3/ipu3-cio2.h:404:26: note: in expansion of macro 'PAGE_SIZE'
     #define CIO2_PAGE_SIZE   PAGE_SIZE
                              ^~~~~~~~~
    drivers/media/pci/intel/ipu3/ipu3-cio2.c:172:3: note: in expansion of macro 'CIO2_PAGE_SIZE'
       CIO2_PAGE_SIZE / sizeof(u32) * CIO2_MAX_LOPS;
    
    Obviously this won't work, but the driver is also unlikely to ever be
    used on such an architecture, so the easiest workaround is to define
    the CIO2_PAGE_SIZE macro to the size that the hardware actually uses.
    
    Fixes: c2a6a07a ("media: intel-ipu3: cio2: add new MIPI-CSI2 driver")
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    Signed-off-by: default avatarSakari Ailus <sakari.ailus@linux.intel.com>
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
    883dd4c1
ipu3-cio2.h 16.2 KB