On Mon, Feb 24, 2025 at 10:19:13AM +0100, Thomas Zimmermann wrote: > Am 21.02.25 um 16:51 schrieb andriy.shevchenko@xxxxxxxxxxxxxxx: > > On Fri, Feb 21, 2025 at 11:36:00AM +0000, Aditya Garg wrote: ... > > > + for (x = 0; x < pixels; x++) { > > > + pix = le32_to_cpu(sbuf32[x]); > > > + /* write red-green-blue to output in little endianness */ > > > + *dbuf8++ = (pix & 0x00ff0000) >> 16; > > > + *dbuf8++ = (pix & 0x0000ff00) >> 8; > > > + *dbuf8++ = (pix & 0x000000ff) >> 0; > > put_unaligned_be24() > > I'm all for sharing helper code, but maybe not here. > > - DRM pixel formats are always little endian. > - CPU encoding is LE or BE. > - Pixel-component order can be anything: RGB/BGR/etc. > > So the code has a comment to explain what happens here. Adding that call > with the _be24 postfix into the mix would make it more confusing. I'm not objecting the comment, the code has definite meaning and with the proposed helper it makes clearer (in my opinion). Comment can be adjusted to explain better this conversion. Or, perhaps pix should be be32? That's probably where confusion starts. pix = be32_to_cpu(sbuf32[x]); /* write red-green-blue to output in little endianness */ put_unaligned_le24(...); ? > > > + } ... > > > + static const u8 dst_pixsize[DRM_FORMAT_MAX_PLANES] = { > > > + 3, > > > + }; > > One line? > > > > static const u8 dst_pixsize[DRM_FORMAT_MAX_PLANES] = { 3 }; > > I'd be ok, if there's a string preference in the kernel to use thins style. Just a common sense to avoid more LoCs when it's not needed / redundant. > Most of DRM doesn't AFAIK. -- With Best Regards, Andy Shevchenko