[PATCH] drm/panel: simple: Support simple VGA panels

Linus Walleij linus.walleij at linaro.org
Sun Jul 29 19:36:07 UTC 2018


On Tue, Jul 17, 2018 at 4:02 PM Rob Herring <robh at kernel.org> wrote:
> On Tue, Jul 17, 2018 at 1:47 AM Linus Walleij <linus.walleij at linaro.org> wrote:
> > On Tue, Jul 17, 2018 at 12:50 AM Rob Herring <robh at kernel.org> wrote:
> > > On Mon, Jul 16, 2018 at 3:23 AM Linus Walleij <linus.walleij at linaro.org> wrote:

> > > Why don't you just define a 'vga-connector' node
> >
> > Because this is not a VGA connector, it is just the VGA resolution.
> > In other circumstances I do use it.
>
> It's not a panel either. A connector is something with variable
> resolution. A panel is fixed resolution. Which do you want?

OK I get it, I think... it makes a lot of sense.

For an emulated machine it's pretty much up to the sophistication
of the emulation. But variable is the best answer I assume.

> > Apart from being a user experience horror story, that requires
> > a VGA connector bridge, as per above. (It's the EDID code that
> > does that command line parsing.) And that requires lying about
> > having a VGA connector bridge.
>
> Because you have to set the resolution on the kernel command line? I'm
> open to having a default resolution for the connector in DT.

OK seems like that old virtual encoder that Liviu dug up is something
we should dust off and use then.

> > Sudeep at ARM says it does not emulate any DAC bridge such
> > as found in the Versatile Express machine family. It just expects
> > to have the right resolution parameters written into the registers
> > of the PL111, which in turn of course can only get it from a
> > panel or bridge driver of some sort.
>
> So putting *anything* in DT is a lie...

The virtual encoder seems like telling the truth so I should
work on that.

> Having a way to set the default display resolution in QEMU would be
> nice. I've hacked around that when using virgl.

QEMU is pretending to not provide a resolution, but
an emulated monitor identified over I2C with EDID.

For the Vexpress emulation we connected the SII9022
DVI encoder hw/display/sii9022.c to the QEMU DDC/EDID
channel provider in hw/i2c/i2c-ddc.c.

This thing provides a conjured EDID blob to the DRM
EDID logic when using Linux.

It currently returns a simple 21" LCD VGA monitor probably
resulting in 1024x768 resolution.

By extending and refactoring this code, we could provide
a more ealborate "monitor" down to the emulator. The type of
monitor implies the resolution.

Yours,
Linus Walleij


More information about the dri-devel mailing list