[Intel-gfx] [PATCH V2] drm/i915: read edid-extensions when sdvo device is connected with hdmi monitor

Eric Anholt eric at anholt.net
Wed Apr 29 00:49:08 CEST 2009


On Thu, 2009-04-16 at 17:03 +0800, Ma Ling wrote:
> Currently drm_get_edid function will fetch basic edid, then determine to continue edid extensions
> by edid->extensions field. However for sdvo output, after first i2c_stop of drm_get_edid function
> we have to do switch ddc bus for following edid extensions, or i2c will fail to work.
> The patch intends to fetch basic edid, then switch ddc bus to get edid extension
> by drm_do_probe_ddc_edid, instead of drm_get_edid.
> 
> It has fixed bug #21042

Sorry for the delay reviewing this one, but I was pretty sure I needed
to take a serious look at it, and we had an open question about how I2C
was going to work for DP as well.

It seems to me that we're really doing DDC on SDVO wrong.  It looks like
the Linux i2c code has support for doing what we're trying to accomplish
here: Implement I2C on top of this thing that's like I2C but not quite.
You create a new i2c bus, with an i2c algorithm (see drivers/i2c/algo)
that would do basically:

for (msg in msgs) {
	/* Send the I2C command over the dev_priv->i2c_bus
	 * to make the next thing go to DDC.
	 */
	intel_sdvo_set_control_bus_switch(ddc_bus)
	/* Send this msg over the dev_priv->i2c_bus.  Will emit
	 * a STOP at the end, resetting us to non-DDC mode.
	 */
	i2c_transfer(&sdvo_priv->i2c_bus->adapter, msg, 1)
}

This is basically what we do in UMS, but it looks like it should
actually be cleaner than UMS.

It'll be a bit more overhead than this patch for the setup/teardown
stuff.  However I think it not only looks cleaner than having SDVO DDC
special cases all over, it'll also mean that the i2c bus gets exposed
in /dev for userland to poke at it potentially (if we go that route for
DDC-CI stuff).

-- 
Eric Anholt
eric at anholt.net                         eric.anholt at intel.com


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part
URL: <http://lists.freedesktop.org/archives/intel-gfx/attachments/20090428/d4070f41/attachment.pgp>


More information about the Intel-gfx mailing list