Re: [PATCH 3/6] drm: fourcc byteorder: add bigendian support to drm_mode_legacy_fb_format

From: Gerd Hoffmann
Date: Wed Apr 26 2017 - 08:11:27 EST


Hi,

> >> Just to reiterate, this won't work for the radeon driver, which programs
> >> the GPU to use (effectively, per the current definition that these are
> >> little endian GPU formats) DRM_FORMAT_XRGB8888 with pre-R600 and
> >> DRM_FORMAT_BGRX8888 with >= R600.
> >
> > Hmm, ok, how does bigendian fbdev emulation work on pre-R600 then?
>
> Using a GPU byte swapping mechanism which only affects CPU access to
> video RAM.

That is done using the RADEON_TILING_SWAP_{16,32}BIT flag mentioned in
another thread?

Ok, so the cpu view to fbdev is DRM_FORMAT_BGRX8888 in all cases.

What about dumb bos? You've mentioned the swap flag isn't used for
those. Which implies they are in little endian byte order (both gpu and
cpu view). Does the modesetting driver work correctly on that hardware?

cheers,
Gerd