On Tue, Sep 13, 2011 at 5:34 PM, Steve Kerrison <steve@xxxxxxxxxxxxxxxxx> wrote: > At the risk of sounding silly, why do we rely on i2c gating so much? The > whole point of i2c is that you can sit a bunch of devices on the same > pair of wires and talk to one at a time. Steve, There are essentially two issues here. To address the general question, many tuner chips require an i2c gate because their onboard i2c controller is implemented using interrupts, and servicing the interrupts to even check if the traffic is intended for the tuner can interfere with the core tuning function. In other words, the cost of the chip "watching for traffic" can adversely effect tuning quality. As a result, most hardware designs are such that the demodulator gates the i2c traffic such that the tuner only *ever* sees traffic intended for it. The second issue is that within the LinuxTV drivers there is inconsistency regarding whether the i2c gate is opened/closed by the tuner driver or whether it's done by the demod. Some drivers have the demod driver open the gate, issue the tuning request, and then close the gate, while in other drivers the tuner driver opens/closes the gate whenever there are register reads/writes to the tuner. It's all about the granularity of implementation (the demod approach only involves one open/close but it's for potentially a longer period of time, versus the tuner approach which opens/closes the gate repeatedly as needed, which means more open/closes but the gate is open for the bare minimum of time required). Devin -- Devin J. Heitmueller - Kernel Labs http://www.kernellabs.com -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html