Hi All, This patchset adds support to Panel Picker. The idea of panel picker is to pick a panel and its timing based on "Manufacturer ID" and "Manufacturer product code" which is available in the EDID. For now I added only one panel picker entry as a proof of concept, as we move on we could add more entires to the list. Reason why I started to look in to this side is - to have a DT for panel which could work with multiple panels. - to detect the panel presence. Simple panel driver supports more than 25 panels, having compatible string for each to get the panel descriptor. The problem with such approch is that if we connect a panel to a board whose compatible string is different to the one mentioned in DT, it would not work, eventhough the simple panel driver supports it. Maybe we are saying that if we replace a panel on your phone with different manufacturer it would need a software upgrade? :-) For example when I submitted a DT patch to add LVDS panel support to IFC6410, people started asking about two things, - How can it work with other panels, as they have different panels then mine. - Why is the hdmi display resolution changed with a LVDS panel DT entry? (this is due to drm driver does not know the panel presence) >From DT point of view the panel picker uses generic compatible string "panel-simple", keeping the panel specific compatible strings still supported. This patch also adds panel presence detection based, if there is no panel detected or panel picker could not find the panel then the driver would mark the panel DT node as disabled so that the drm driver would be able to take right decision based on that panel node status. There might be other solutions to this issue, but given the fact that most of boards we use we do not have access to bootloader code to modify the dt at runtime, so with that considered we came up with this solution which works on IFC6410 and would work on other boards too. I have also included the mdp4 fixes in this series too so that people can test it on IFC6410. These are WIP patches to get more inputs and comments. Thanks, srini Srinivas Kandagatla (5): drm/edid: Add support to get edid early drm/edid: export edid_vendor() drm/panel: simple-panel: Add panel picker support. drm/msm: mdp4 lvds: continue if the panel is not connected drm/msm: mdp4 lvds: Check the panel node in detect_panel() drivers/gpu/drm/drm_edid.c | 12 ++++- drivers/gpu/drm/msm/mdp/mdp4/mdp4_kms.c | 77 ++++++++++++++++++------------ drivers/gpu/drm/panel/panel-simple.c | 83 ++++++++++++++++++++++++++++++++- include/drm/drm_crtc.h | 2 + 4 files changed, 139 insertions(+), 35 deletions(-) -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html