[RFC 00/16] Armada DRM support for OLPC XO-1.75 laptop

Lubomir Rintel lkundrak at v3.sk
Tue Dec 18 15:37:26 UTC 2018


Hi,

here are patches that make the Armada DRM work on an OLPC XO-1.75.
They build on patches previously submitted by Russel King (included here for
completeness as well).

They certainly need some more love, but I'm not able to improve them until
I get to understand some things first. I'm posting a couple of questions
below in hope someone is kind enough to help me deal with my confusion.

The display pipeline on the laptop looks like this:

  Armada LCDC
  -----------
      |
      v

  Himax HX8837 "DCON"
  -------------------
  RGB input from LCDC
  Controlled via I2C
  Backlight control
  Can slow down the panel refresh rate to save power
  Optional dithering for color mode, "swizzling"
  Has DRAM attached, can freeze a single frame in it
  Doc: http://wiki.laptop.org/images/0/09/DCON_datasheet_HX8837-A.pdf
      |
      v

  Innolux LS075AT011 Panel
  ------------------------
  7.5", 1200x900
  No datasheet.
  http://wiki.laptop.org/go/Display
  Can opreate in two modes:

   R G B
   G B R ...   or   "e-book" daylight readable
   B R G            reflexive B&W
     .
     :

Here's what's not clear to me:

1.) Is the Himax chip an encoder here?

2.) What's the use of an encoder anyways? If a panel was connected directly
    do the RGB output from the LCDC, would we have to fake one? Is that the
    point of things like i.MX driver's drivers/gpu/drm/imx/parallel-display.c?

3.) My patch set currently contains the driver for the Himax that is
    modelled after tda998x. That one implements an encoder. Similar drivers
    seem to add a bridge too, but it's not entirely clear to me what a bridge
    is good for?

4.) How shall I expose the fancy functionality of the Himax to the userspace?
    Notably, the freeze frame. The OLPC laptops with the stock firmware like
    to suspend the SoC very aggressively to save power (in 20 seconds of
    inactivity or so). If the display is open (it can also be turned around
    for a tablet or e-book mode), it makes sense to freeze the picture and
    keep the panel on, if the laptop is closed, we want to turn it off.
    Should the behavior be exposed via sysfs (as it is with the current OLPC
    kernels), or a DRM property? Would it require libdrm support?

Thanks,
Lubo




More information about the dri-devel mailing list