Re: issue with panel drivers in DSS2

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 2010-01-14 at 21:59 +0100, ext Grazvydas Ignotas wrote:
> Hi,
> 
> there is an issue related to panel drivers:
> even if panel driver provides get_rotate/set_rotate and/or
> get_mirror/set_mirror functions, those cannot be accessed over sysfs,
> even though corresponding entries are created in omapdss/displayX.
> This is because panel driver fills omap_dss_driver structure, but
> sysfs entries are created for omap_dss_device when it probes. So
> perhaps those pointers need to be copied from omap_dss_driver to
> omap_dss_device somewhere in dss_driver_probe().

If you look at dsi.c, you'll see how it currently works. So it's the job
of the interface (dpi, sdi, rfbi or dsi) to act as a intermediary, and
call the functions in the driver.

Rotate and mirror aren't implemented in dpi and sdi, as I don't know any
displays that could use them. But if there are such displays, dpi.c can
either just copy the driver's function in to the device struct, or
implement an intermediary function of its own.

That said, I'm actually in the process of changing the driver/device
model a bit. My aim is that all the calls (from omapfb, sysfs etc) go
directly to the driver code, which then will call necessary functions in
the dss to accomplish its goal.

It was foolish of me to design the model the way it's now, but my
reasoning was that all the displays of certain type must be very
similar, and thus it's easier for everyone if the dss driver is in
control. I coulnd't have been more wrong =). Especially the more complex
DSI peripherals are unique, and the only solution is to let the driver
be in total control.

But more of that later, when I have something working.

 Tomi


--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux