Messages in this thread | | | From | Keith Packard <> | Subject | Re: [PATCH] drm/i915/sdvo: Reorder i2c initialisation before ddc proxy | Date | Wed, 18 May 2011 07:40:42 -0700 |
| |
On Wed, 18 May 2011 09:04:11 +0100, Chris Wilson <chris@chris-wilson.co.uk> wrote: > On Tue, 17 May 2011 18:22:52 -0700, Keith Packard <keithp@keithp.com> wrote: > > On Tue, 17 May 2011 14:03:50 +0100, Chris Wilson <chris@chris-wilson.co.uk> wrote: > > > The ddc proxy depends upon the underlying i2c bus being selected. Under > > > certain configurations, the i2c-adapter functionality is queried during > > > initialisation and so may trigger an OOPS during boot. Hence, we need to > > > reorder the initialisation of the ddc proxy until after we hook up the i2c > > > adapter for the SDVO device. > > > > I'd love more explanation here about how this code ever worked -- what > > are these 'certain configurations' of which you speak? > > The condition under which it fails is when the i2c_add_adapter calls into > i2c_detect which will attempt to probe all valid addresses on the adapter > iff there is a pre-existing i2c_driver with the same class as the freshly > added i2c_adapter.
Lovely.
> So it appears to depend upon having compiled in (or loaded such a module > before i915.ko) an i2c-driver that likes to futz over the i2c_adapters > claiming DDC support.
Thanks for your additional explanation, as I said, the patch looks sane on the face of it (always nice to initialize values before use).
I've marked this as reviewed, added your additional explanation and merged it to drm-intel-next. Seems like it might like a cc to stable?
-- keith.packard@intel.com [unhandled content-type:application/pgp-signature] | |