All of lore.kernel.org
 help / color / mirror / Atom feed
From: Geert Uytterhoeven <geert@linux-m68k.org>
To: Gerd Hoffmann <kraxel@redhat.com>
Cc: "Michel Dänzer" <michel.daenzer@mailbox.org>,
	"Maarten Lankhorst" <maarten.lankhorst@linux.intel.com>,
	"Maxime Ripard" <mripard@kernel.org>,
	"Thomas Zimmermann" <tzimmermann@suse.de>,
	"David Airlie" <airlied@linux.ie>,
	"Daniel Vetter" <daniel@ffwll.ch>,
	"Noralf Trønnes" <noralf@tronnes.org>,
	"Linux Fbdev development list" <linux-fbdev@vger.kernel.org>,
	Linux/m68k <linux-m68k@vger.kernel.org>,
	"DRI Development" <dri-devel@lists.freedesktop.org>,
	"Linux Kernel Mailing List" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 1/3] drm/fourcc: Add missing big-endian XRGB1555 and RGB565 formats
Date: Tue, 12 Jul 2022 10:43:17 +0200	[thread overview]
Message-ID: <CAMuHMdVhxE9aayG8qRMwUuBryiR_ng08m63_+GY8htFCSmUiWg@mail.gmail.com> (raw)
In-Reply-To: <20220712083907.3ic7bltstaskz72n@sirius.home.kraxel.org>

Hi Gerd,

On Tue, Jul 12, 2022 at 10:39 AM Gerd Hoffmann <kraxel@redhat.com> wrote:
> On Tue, Jul 12, 2022 at 10:01:15AM +0200, Geert Uytterhoeven wrote:
> > > It IMHO is not applicable to any physical hardware.  It's used by
> > > virtio-gpu where the supported format depends on the byte order
> > > (it is argb8888 in native byte order).  Only virtual hardware can
> > > have that kind of behavior.
> > >
> > > And we can probably drop the DRM_FORMAT_HOST_* variants for 1555 and
> > > 565, they are not used anywhere.
> >
> > Atari DRM supports (big-endian) RGB565, so it uses
> > DRM_FORMAT_HOST_RGB565.
>
> Fixed big endian should use 'DRM_FORMAT_RGB565 | DRM_FORMAT_BIG_ENDIAN'.

True.

> As described above DRM_FORMAT_HOST_RGB565 means bigendian on bigendian
> hosts and little endian on little endian hosts.  Which is not correct
> when your hardware does big endian no matter what.

But (a) drm_driver_legacy_fb_format() uses DRM_FORMAT_HOST_RGB565
if quirk_addfb_prefer_host_byte_order is set, and (b)
quirk_addfb_prefer_host_byte_order must be set on big-endian as
per commit eae06120f1974e1a ("drm: refuse ADDFB2 ioctl for broken
bigendian drivers").

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

WARNING: multiple messages have this Message-ID (diff)
From: Geert Uytterhoeven <geert@linux-m68k.org>
To: Gerd Hoffmann <kraxel@redhat.com>
Cc: "Linux Fbdev development list" <linux-fbdev@vger.kernel.org>,
	"Thomas Zimmermann" <tzimmermann@suse.de>,
	"Michel Dänzer" <michel.daenzer@mailbox.org>,
	"David Airlie" <airlied@linux.ie>,
	Linux/m68k <linux-m68k@vger.kernel.org>,
	"Linux Kernel Mailing List" <linux-kernel@vger.kernel.org>,
	"Noralf Trønnes" <noralf@tronnes.org>,
	"DRI Development" <dri-devel@lists.freedesktop.org>
Subject: Re: [PATCH 1/3] drm/fourcc: Add missing big-endian XRGB1555 and RGB565 formats
Date: Tue, 12 Jul 2022 10:43:17 +0200	[thread overview]
Message-ID: <CAMuHMdVhxE9aayG8qRMwUuBryiR_ng08m63_+GY8htFCSmUiWg@mail.gmail.com> (raw)
In-Reply-To: <20220712083907.3ic7bltstaskz72n@sirius.home.kraxel.org>

Hi Gerd,

On Tue, Jul 12, 2022 at 10:39 AM Gerd Hoffmann <kraxel@redhat.com> wrote:
> On Tue, Jul 12, 2022 at 10:01:15AM +0200, Geert Uytterhoeven wrote:
> > > It IMHO is not applicable to any physical hardware.  It's used by
> > > virtio-gpu where the supported format depends on the byte order
> > > (it is argb8888 in native byte order).  Only virtual hardware can
> > > have that kind of behavior.
> > >
> > > And we can probably drop the DRM_FORMAT_HOST_* variants for 1555 and
> > > 565, they are not used anywhere.
> >
> > Atari DRM supports (big-endian) RGB565, so it uses
> > DRM_FORMAT_HOST_RGB565.
>
> Fixed big endian should use 'DRM_FORMAT_RGB565 | DRM_FORMAT_BIG_ENDIAN'.

True.

> As described above DRM_FORMAT_HOST_RGB565 means bigendian on bigendian
> hosts and little endian on little endian hosts.  Which is not correct
> when your hardware does big endian no matter what.

But (a) drm_driver_legacy_fb_format() uses DRM_FORMAT_HOST_RGB565
if quirk_addfb_prefer_host_byte_order is set, and (b)
quirk_addfb_prefer_host_byte_order must be set on big-endian as
per commit eae06120f1974e1a ("drm: refuse ADDFB2 ioctl for broken
bigendian drivers").

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

  reply	other threads:[~2022-07-12  8:43 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-08 18:21 [PATCH 0/3] drm: Endianness fixes Geert Uytterhoeven
2022-07-08 18:21 ` Geert Uytterhoeven
2022-07-08 18:21 ` [PATCH 1/3] drm/fourcc: Add missing big-endian XRGB1555 and RGB565 formats Geert Uytterhoeven
2022-07-08 18:21   ` Geert Uytterhoeven
2022-07-11 15:22   ` Michel Dänzer
2022-07-11 15:30     ` Geert Uytterhoeven
2022-07-11 15:30       ` Geert Uytterhoeven
2022-07-11 16:28       ` Michel Dänzer
2022-07-11 16:28         ` Michel Dänzer
2022-07-12  7:47       ` Gerd Hoffmann
2022-07-12  7:47         ` Gerd Hoffmann
2022-07-12  8:01         ` Geert Uytterhoeven
2022-07-12  8:01           ` Geert Uytterhoeven
2022-07-12  8:39           ` Gerd Hoffmann
2022-07-12  8:39             ` Gerd Hoffmann
2022-07-12  8:43             ` Geert Uytterhoeven [this message]
2022-07-12  8:43               ` Geert Uytterhoeven
2022-07-12  9:03               ` Gerd Hoffmann
2022-07-12  9:03                 ` Gerd Hoffmann
2022-07-12  9:09                 ` Michel Dänzer
2022-07-12  9:09                   ` Michel Dänzer
2022-07-12  9:10                   ` Geert Uytterhoeven
2022-07-12  9:10                     ` Geert Uytterhoeven
2022-07-12  8:31         ` Gerd Hoffmann
2022-07-12  8:31           ` Gerd Hoffmann
2022-07-08 18:21 ` [PATCH 2/3] drm/format-helper: Fix endianness in drm_fb_*_to_*() conversion helpers Geert Uytterhoeven
2022-07-08 18:21   ` Geert Uytterhoeven
2022-07-08 18:21 ` [PATCH 3/3] drm/gud: Fix endianness in gud_xrgb8888_to_color() helper Geert Uytterhoeven
2022-07-08 18:21   ` Geert Uytterhoeven
2022-07-19 14:39   ` Noralf Trønnes
2022-07-19 14:39     ` Noralf Trønnes

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAMuHMdVhxE9aayG8qRMwUuBryiR_ng08m63_+GY8htFCSmUiWg@mail.gmail.com \
    --to=geert@linux-m68k.org \
    --cc=airlied@linux.ie \
    --cc=daniel@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=kraxel@redhat.com \
    --cc=linux-fbdev@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-m68k@vger.kernel.org \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=michel.daenzer@mailbox.org \
    --cc=mripard@kernel.org \
    --cc=noralf@tronnes.org \
    --cc=tzimmermann@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.