[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