On 01/31/2013 02:36 PM, Alexandre Courbot wrote: > On Thu, Jan 31, 2013 at 1:54 PM, Mark Zhang <nvmarkzh...@gmail.com> wrote: >> 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. > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/