Re: [PATCH] [media] ngene: fix dvb_pll_attach failure

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 12/14/2012 07:28 PM, Patrice Chotard wrote:
Before dvb_pll_attch call, be sure that drxd demodulator was
initialized, otherwise, dvb_pll_attach() will always failed.

In dvb_pll_attach(), first thing done is to enable the I2C gate
control in order to probe the pll by performing a read access.
As demodulator was not initialized, every i2c access failed.

Reported-by: frederic.mantegazza@xxxxxxxxxxx
Signed-off-by: Patrice Chotard <patricechotard@xxxxxxx>
---
  drivers/media/pci/ngene/ngene-cards.c |    2 ++
  1 file changed, 2 insertions(+)

diff --git a/drivers/media/pci/ngene/ngene-cards.c
b/drivers/media/pci/ngene/ngene-cards.c
index 96a13ed..e2192db 100644
--- a/drivers/media/pci/ngene/ngene-cards.c
+++ b/drivers/media/pci/ngene/ngene-cards.c
@@ -328,6 +328,8 @@ static int demod_attach_drxd(struct ngene_channel *chan)
  		return -ENODEV;
  	}

+	/* initialized the DRXD demodulator */
+	chan->fe->ops.init(chan->fe);
  	if (!dvb_attach(dvb_pll_attach, chan->fe, feconf->pll_address,
  			&chan->i2c_adapter,
  			feconf->pll_type)) {


I don't like that as this causes again more deviation against normal procedures. If gate open is needed (for probe or id check?) then pll/tuner attach should open it. If that is not easily possible then calling gate_control() before pll attach is allowed. init() is very, very, bad as generally starts whole chip => starts eating power etc.


Even better would be to let whole gate-control to responsibility of DVB-core, but unfortunately current situation is quite mess. Gate is operated sometimes by DVB-core (like for init/sleep) and for some cases it is left for responsibility of tuner driver. So on real life there is mixed solutions and for init/sleep gate is even double controlled.


regards
Antti

--
http://palosaari.fi/
--
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


[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux