Re: Support of Nova S SE DVB card missing

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

 



e9hack wrote:
> Eberhard Kaltenhaeuser schrieb:
> > Actual kernel does not support the Hauppauge WinTV Nova S SE PCI card 
> > anymore:
> > 
> 
> I think it is a problem of this changeset http://linuxtv.org/hg/v4l-dvb/rev/358d281e6a3d 
> from Patrick Boettcher. The S5H1420 isn't able to understand repeated start conditions. 
> The i2c-read code was changed from:
> 
> 	if ((ret = i2c_transfer (state->i2c, &msg1, 1)) != 1)
> 		return ret;
> 
> 	if ((ret = i2c_transfer (state->i2c, &msg2, 1)) != 1)
> 		return ret;
> 
> to:
> 	if (state->config->repeated_start_workaround) {
> 		ret = i2c_transfer(state->i2c, msg, 3);
> 		if (ret != 3)
> 			return ret;
> 	} else {
> 		ret = i2c_transfer(state->i2c, &msg[1], 2);
> 		if (ret != 2)
> 			return ret;
> 	}

I think you are right.

Btw, I don't understand Patrick's workaround.

As the tuner does not support repeated start conditions, the solution
is to send two separate messages, as it was before.

Does the attached patch fix the problem?

CU
Oliver

-- 
----------------------------------------------------------------
VDR Remote Plugin 0.4.0: http://www.escape-edv.de/endriss/vdr/
----------------------------------------------------------------
diff -r 1760a612cc98 linux/drivers/media/dvb/frontends/s5h1420.c
--- a/linux/drivers/media/dvb/frontends/s5h1420.c	Sun Aug 03 05:02:35 2008 +0200
+++ b/linux/drivers/media/dvb/frontends/s5h1420.c	Sat Aug 23 17:07:01 2008 +0200
@@ -94,8 +94,11 @@ static u8 s5h1420_readreg(struct s5h1420
 		if (ret != 3)
 			return ret;
 	} else {
-		ret = i2c_transfer(state->i2c, &msg[1], 2);
-		if (ret != 2)
+		ret = i2c_transfer(state->i2c, &msg[1], 1);
+		if (ret != 1)
+			return ret;
+		ret = i2c_transfer(state->i2c, &msg[2], 1);
+		if (ret != 1)
 			return ret;
 	}
 
_______________________________________________
linux-dvb mailing list
linux-dvb@xxxxxxxxxxx
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

[Index of Archives]     [Linux Media]     [Video 4 Linux]     [Asterisk]     [Samba]     [Xorg]     [Xfree86]     [Linux USB]

  Powered by Linux