public inbox for linux-media@vger.kernel.org
 help / color / mirror / Atom feed
* [linux-dvb] [PATCH] cx24116 DVB-S modulation fix
@ 2008-10-14  9:33 Christophe Thommeret
  2008-10-14 10:29 ` Darron Broad
  0 siblings, 1 reply; 9+ messages in thread
From: Christophe Thommeret @ 2008-10-14  9:33 UTC (permalink / raw)
  To: linux-dvb

[-- Attachment #1: Type: text/plain, Size: 170 bytes --]

Hi,

This patch makes cx24116 to behave like other dvb-s frontends.
This is needed especially because QAM_AUTO is used in a lot of scan files.


-- 
Christophe Thommeret

[-- Attachment #2: cx24116-dvbs_modulation-fix.diff --]
[-- Type: text/x-diff, Size: 1884 bytes --]

diff -r 6b6e9be35963 linux/drivers/media/dvb/frontends/cx24116.c
--- a/linux/drivers/media/dvb/frontends/cx24116.c	Mon Oct 13 18:35:50 2008 -0400
+++ b/linux/drivers/media/dvb/frontends/cx24116.c	Tue Oct 14 11:20:57 2008 +0200
@@ -1230,23 +1230,14 @@ static int cx24116_set_frontend(struct d
 	case SYS_DVBS:
 		dprintk("%s: DVB-S delivery system selected\n", __func__);
 
-		/* Only QPSK is supported for DVB-S */
-		if (c->modulation != QPSK) {
-			dprintk("%s: unsupported modulation selected (%d)\n",
-				__func__, c->modulation);
-			return -EOPNOTSUPP;
-		}
+		/* Only QPSK is supported for DVB-S,then .. */
+		state->dnxt.modulation = QPSK;
 
 		/* Pilot doesn't exist in DVB-S, turn bit off */
 		state->dnxt.pilot_val = CX24116_PILOT_OFF;
 		retune = 1;
 
-		/* DVB-S only supports 0.35 */
-		if (c->rolloff != ROLLOFF_35) {
-			dprintk("%s: unsupported rolloff selected (%d)\n",
-				__func__, c->rolloff);
-			return -EOPNOTSUPP;
-		}
+		/* DVB-S only supports 0.35, then .. */
 		state->dnxt.rolloff_val = CX24116_ROLLOFF_035;
 		break;
 
@@ -1262,6 +1253,7 @@ static int cx24116_set_frontend(struct d
 				__func__, c->modulation);
 			return -EOPNOTSUPP;
 		}
+		state->dnxt.modulation = c->modulation;
 
 		switch (c->pilot) {
 		case PILOT_AUTO:	/* Not supported but emulated */
@@ -1301,7 +1293,6 @@ static int cx24116_set_frontend(struct d
 			__func__, c->delivery_system);
 		return -EOPNOTSUPP;
 	}
-	state->dnxt.modulation = c->modulation;
 	state->dnxt.frequency = c->frequency;
 	state->dnxt.pilot = c->pilot;
 	state->dnxt.rolloff = c->rolloff;
@@ -1311,7 +1302,7 @@ static int cx24116_set_frontend(struct d
 		return ret;
 
 	/* FEC_NONE/AUTO for DVB-S2 is not supported and detected here */
-	ret = cx24116_set_fec(state, c->modulation, c->fec_inner);
+	ret = cx24116_set_fec(state, state->dnxt.modulation, c->fec_inner);
 	if (ret !=  0)
 		return ret;
 

[-- Attachment #3: Type: text/plain, Size: 150 bytes --]

_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2008-10-15 19:00 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-10-14  9:33 [linux-dvb] [PATCH] cx24116 DVB-S modulation fix Christophe Thommeret
2008-10-14 10:29 ` Darron Broad
2008-10-14 12:51   ` Christophe Thommeret
2008-10-14 15:10     ` Steven Toth
2008-10-14 17:02     ` Darron Broad
2008-10-15 16:46       ` Christophe Thommeret
2008-10-15 17:22         ` Darron Broad
2008-10-15 18:59           ` Christophe Thommeret
2008-10-14 21:05     ` Andreas Oberritter

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox