[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20170512091022.GM12629@intel.com>
Date: Fri, 12 May 2017 12:10:22 +0300
From: Ville Syrjälä <ville.syrjala@...ux.intel.com>
To: Pavel Machek <pavel@....cz>
Cc: Gerd Hoffmann <kraxel@...hat.com>, dri-devel@...ts.freedesktop.org,
Daniel Vetter <daniel.vetter@...el.com>,
Pekka Paalanen <ppaalanen@...il.com>,
Ilia Mirkin <imirkin@...m.mit.edu>,
Michel Dänzer <michel@...nzer.net>,
Alex Deucher <alexdeucher@...il.com>,
amd-gfx@...ts.freedesktop.org,
Jani Nikula <jani.nikula@...ux.intel.com>,
Sean Paul <seanpaul@...omium.org>,
David Airlie <airlied@...ux.ie>,
open list <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] drm: fourcc byteorder: brings header file comments in
line with reality.
On Thu, May 11, 2017 at 11:23:11PM +0200, Pavel Machek wrote:
> On Fri 2017-04-21 14:08:04, Ville Syrjälä wrote:
> > 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.
> >
> > "native" to me feels more like "native to the GPU" since these things
> > really are tied to the GPU not the CPU. That's also why I went with the
> > explicit endianness originally so that the driver could properly declare
> > what the GPU supports.
>
> You can easily have more than one GPU in the system. Plus these are
> used by cameras / frame grabbers, too. So anything else than CPU
> endianness is badly defined.
The framebuffer has very little to do with the CPU. The display
controller is the only consumer, and the producer could be
whatever.
--
Ville Syrjälä
Intel OTC
Powered by blists - more mailing lists