On Fri, Dec 11, 2020 at 06:56:14PM +0200, Sakari Ailus wrote: > On Mon, Nov 23, 2020 at 12:40:18PM +0200, Andy Shevchenko wrote: > > On Sat, Nov 21, 2020 at 04:23:05PM +0800, kernel test robot wrote: ... > > > All warnings (new ones prefixed by >>): > > > > > > >> drivers/media/pci/intel/ipu3/ipu3-cio2.c:163:56: warning: implicit conversion from 'unsigned long' to 'u16' (aka 'unsigned short') changes value from 131072 to 0 [-Wconstant-conversion] > > > entry[1].second_entry.num_of_pages = CIO2_LOP_ENTRIES * CIO2_MAX_LOPS; > > > ~ ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ > > > 1 warning generated. > > > > Okay, now we have an interesting case. The IP is quite unlikely be used on > > ARM64, but my patches made the clear picture about use of PAGE_SIZE here. > > > > So, I see at least the following options to mitigate the above, i.e.: > > 1/ reduce driver scope to X86 > > 2/ fix the variables to be wider type to be able to hold PAGE_SIZE > 4k > > 3/ switch to custom PAGE_SIZE / _SHIFT / _MASK and accompanying macros > > > > And I still consider 3/ is silly move because as we see the driver was > > never assumed to work with big page sizes (besides unsigned short type > > here, PAGE_SHIFT and PAGE_MASK in the original code was as is and on ARM64 > > they compiled to 0 values w/o warnings, effectively make the driver > > improperly functioning anyway). > > Apologies for the late answer. > > I think I'd favour the first option. It's not really useful to be able to > compile this elsewhere; as such the driver doesn't do anything special that > would make it prone to breakage through changes elsewhere. > > Would you like to send a patch? :-) Done. -- With Best Regards, Andy Shevchenko