On Thu, Jul 14, 2016 at 09:21:03PM +0800, Shawn Guo wrote:
On Thu, Jul 14, 2016 at 02:45:41PM +0200, Daniel Vetter wrote:
On Thu, Jul 14, 2016 at 05:00:28PM +0800, Shawn Guo wrote:
The same definition of DDC_SEGMENT_ADDR is currently defined in two places, drm_edid.c and inno_hdmi.h. Let's consolidate the definition into drm_edid.h in the same way that DDC_ADDR is defined.
Signed-off-by: Shawn Guo shawnguo@kernel.org
What really should be done here is nuke the fake i2c adapter in inno_hdmi.c and instead just directly read the edid from the hdim IP. Using drm_get_edid for something that's not backed by a real i2c bus is bonghits.
This patch just makes some change literally. I do not understand how the IP block works at all. I thought the HDMI IP talks to monitors using I2C protocol implemented inside the IP block. I added Rockchip folks to see if we can get any clarifications from them.
btw drm_edid.c gained a special variant for this case a while ago: drm_do_get_edid(). With that you can retain all the robustness/retrying logic, while providing your own special function to read an entire edid block. I think that's the function which should be used here. -Daniel