Re: [PATCH] drm: fourcc byteorder: brings header file comments in line with reality.

From: Ville Syrjälä
Date: Fri Apr 21 2017 - 07:06:13 EST


On Fri, Apr 21, 2017 at 11:50:18AM +0200, Gerd Hoffmann wrote:
> On Fr, 2017-04-21 at 12:25 +0300, Ville Syrjälä wrote:
> > On Fri, Apr 21, 2017 at 09:58:24AM +0200, Gerd Hoffmann wrote:
> > > While working on graphics support for virtual machines on ppc64 (which
> > > exists in both little and big endian variants) I've figured the comments
> > > for various drm fourcc formats in the header file don't match reality.
> > >
> > > Comments says the RGB formats are little endian, but in practice they
> > > are native endian. Look at the drm_mode_legacy_fb_format() helper. It
> > > maps -- for example -- bpp/depth 32/24 to DRM_FORMAT_XRGB8888, no matter
> > > whenever the machine is little endian or big endian. The users of this
> > > function (fbdev emulation, DRM_IOCTL_MODE_ADDFB) expect the framebuffer
> > > is native endian, not little endian. Most userspace also operates on
> > > native endian only.
> >
> > I'm not a fan of "native". Native to what? "CPU" or "host" is what I'd
> > call it.
>
> native == whatever the cpu is using.
>
> I personally find "native" more intuitive, but at the end of the day I
> don't mind much. If people prefer "host" over "native" I'll change it.
>
> > And what about the mxied endian case? Are you just going to pretend it
> > doesn't exist or what?
>
> What exactly do you mean with "mixed endian"? The powerpc case, where
> kernel + userspace can run in either big or little endian mode? Or
> something else?

Big endian CPU and little endian GPU. I think that should be the most
common case these days.

--
Ville Syrjälä
Intel OTC