Re: [PATCH 03/11 v3] drm/i915/intel_i2c: use i2c pre/post_xferfunctions to setup gpio xfers

From: Daniel Vetter
Date: Mon Mar 26 2012 - 15:05:46 EST


On Tue, Mar 27, 2012 at 01:58:47AM +0800, Daniel Kurtz wrote:
> On Mon, Mar 26, 2012 at 10:49 PM, Daniel Vetter <daniel@xxxxxxxx> wrote:
> > On Mon, Mar 26, 2012 at 10:26:42PM +0800, Daniel Kurtz wrote:
> >> Instead of rolling our own custom quirk_xfer function, use the bit_algo
> >> pre_xfer and post_xfer functions to setup and teardown bit-banged
> >> i2c transactions.
> >>
> >> gmbus_xfer uses .force_bit to determine which i2c_algorithm to use,
> >> either i2c_bit_algo.master_xfer or its own.  So, Similarly, let gmbus_func
> >> use .force_bit to determine which i2c functionalities are available,
> >> either i2c_bit_algo.functionality, or its own.
> >
> > Please split this part of the patch into a separate patch. Furthermore I'm
> > not sure what this should buy us, given that we might magically changes
> > our i2c feature set once with gone to fallback mode. Can you please
> > elaborate why we need this?
>
> An i2c adapter's functionality is provided by its algorithm.
> Since these gmbus adapters can [for now] change their algorithm at
> runtime, I thought the functionality returned should match the
> currently selected algorithm at any given moment.
>
> Arguably, the adapter actually sort of provides the union of the two
> functionalities since if a particular transfer fails using gmbus, it
> gets retried using bit-banged. But then again, this is a one-shot
> permanent switch, so perhaps we should return the union of the
> functionalities if force_bit == 0, and then only the bit-algo
> functionality after the switch?

In that case I guess we can drop it - current edid reading seems to work
and without a good reason I'd like not to play clever tricks because it
doesn't seem to be worth it.
-Daniel
--
Daniel Vetter
Mail: daniel@xxxxxxxx
Mobile: +41 (0)79 365 57 48
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/