Re: [RFC 1/4] video: panel: add CLAA101WA01A panel support
From: Mark Zhang <hidden>
Date: 2013-01-31 07:31:07
Also in:
linux-tegra, lkml
On 01/31/2013 02:36 PM, Alexandre Courbot wrote:
On Thu, Jan 31, 2013 at 1:54 PM, Mark Zhang [off-list ref] wrote:quoted
Display controller don't know whether the panel has EDID EEPROM but the panel driver knows. So why we need to make display controller queries EDID blindly? Since panel driver knows about all "video modes/panel size" stuffs, why not we let it handle all these things?The DC actually does know whether the connected panel supports EDID - in this case, the output node will have a property for the DDC bus, e.g. nvidia,ddc-i2c-bus = <&lcd_ddc>; If no DDC bus is specified or if transfer fails, the DC driver can still query the panel driver for hardcoded modes.
Strictly speaking, according to my understanding, "nvidia,ddc-i2c-bus" means tegra has a hardware ddc channel, this doesn't mean we can get the EDID from this DDC surely.
Also passing a function pointer to get_modes() does not relief the DC driver from probing for the DDC bus. You will still have to handle both conditions (DDC bus present or not), the check will just be moved into your callback function.
Yes. But panel driver decides whether the DDC probing is needed. If the panel has an EEPROM, it can call the function which display controller provides to do a DDC probing, it not, panel driver just ignores this function pointer and return the hardcoded modes directly.
Alex.