All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/8] [media] dvb: Allow select between DVB-C Annex A and Annex C
@ 2011-11-20 14:56 Mauro Carvalho Chehab
  2011-11-20 14:56 ` [PATCH 2/8] [media] Properly implement ITU-T J.88 Annex C support Mauro Carvalho Chehab
  2011-11-20 20:27 ` [PATCH 1/8] [media] dvb: Allow select between DVB-C Annex A and Annex C Rémi Denis-Courmont
  0 siblings, 2 replies; 22+ messages in thread
From: Mauro Carvalho Chehab @ 2011-11-20 14:56 UTC (permalink / raw)
  To: linux-media; +Cc: Mauro Carvalho Chehab

DVB-C, as defined by ITU-T J.83 has 3 annexes. The differences between
Annex A and Annex C is that Annex C uses a subset of the modulation
types, and uses a different rolloff factor. A different rolloff means
that the bandwidth required is slicely different, and may affect the
saw filter configuration at the tuners. Also, some demods have different
configurations, depending on using Annex A or Annex C.

So, allow userspace to specify it, by changing the rolloff factor.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
---
 Documentation/DocBook/media/dvb/dvbproperty.xml |    4 ++++
 drivers/media/dvb/dvb-core/dvb_frontend.c       |    2 ++
 include/linux/dvb/frontend.h                    |    2 ++
 3 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/Documentation/DocBook/media/dvb/dvbproperty.xml b/Documentation/DocBook/media/dvb/dvbproperty.xml
index 3bc8a61..6ac8039 100644
--- a/Documentation/DocBook/media/dvb/dvbproperty.xml
+++ b/Documentation/DocBook/media/dvb/dvbproperty.xml
@@ -311,6 +311,8 @@ typedef enum fe_rolloff {
 	ROLLOFF_20,
 	ROLLOFF_25,
 	ROLLOFF_AUTO,
+	ROLLOFF_15, /* DVB-C Annex A */
+	ROLLOFF_13, /* DVB-C Annex C */
 } fe_rolloff_t;
 		</programlisting>
 		</section>
@@ -778,8 +780,10 @@ typedef enum fe_hierarchy {
 			<listitem><para><link linkend="DTV-MODULATION"><constant>DTV_MODULATION</constant></link></para></listitem>
 			<listitem><para><link linkend="DTV-INVERSION"><constant>DTV_INVERSION</constant></link></para></listitem>
 			<listitem><para><link linkend="DTV-SYMBOL-RATE"><constant>DTV_SYMBOL_RATE</constant></link></para></listitem>
+			<listitem><para><link linkend="DTV-ROLLOFF"><constant>DTV_ROLLOFF</constant></link></para></listitem>
 			<listitem><para><link linkend="DTV-INNER-FEC"><constant>DTV_INNER_FEC</constant></link></para></listitem>
 		</itemizedlist>
+		<para>The Rolloff of 0.15 (ROLLOFF_15) is assumed, as ITU-T J.83 Annex A is more common. For Annex C, rolloff should be 0.13 (ROLLOFF_13). All other values are invalid.</para>
 	</section>
 	<section id="dvbc-annex-b-params">
 		<title>DVB-C Annex B delivery system</title>
diff --git a/drivers/media/dvb/dvb-core/dvb_frontend.c b/drivers/media/dvb/dvb-core/dvb_frontend.c
index 2c0acdb..c849455 100644
--- a/drivers/media/dvb/dvb-core/dvb_frontend.c
+++ b/drivers/media/dvb/dvb-core/dvb_frontend.c
@@ -876,6 +876,7 @@ static int dvb_frontend_clear_cache(struct dvb_frontend *fe)
 	c->symbol_rate = QAM_AUTO;
 	c->code_rate_HP = FEC_AUTO;
 	c->code_rate_LP = FEC_AUTO;
+	c->rolloff = ROLLOFF_AUTO;
 
 	c->isdbt_partial_reception = -1;
 	c->isdbt_sb_mode = -1;
@@ -1030,6 +1031,7 @@ static void dtv_property_cache_init(struct dvb_frontend *fe,
 		break;
 	case FE_QAM:
 		c->delivery_system = SYS_DVBC_ANNEX_AC;
+		c->rolloff = ROLLOFF_15; /* implied for Annex A */
 		break;
 	case FE_OFDM:
 		c->delivery_system = SYS_DVBT;
diff --git a/include/linux/dvb/frontend.h b/include/linux/dvb/frontend.h
index 1b1094c..d9251df 100644
--- a/include/linux/dvb/frontend.h
+++ b/include/linux/dvb/frontend.h
@@ -329,6 +329,8 @@ typedef enum fe_rolloff {
 	ROLLOFF_20,
 	ROLLOFF_25,
 	ROLLOFF_AUTO,
+	ROLLOFF_15,	/* DVB-C Annex A */
+	ROLLOFF_13,	/* DVB-C Annex C */
 } fe_rolloff_t;
 
 typedef enum fe_delivery_system {
-- 
1.7.7.1


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

end of thread, other threads:[~2011-12-07  9:59 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-11-20 14:56 [PATCH 1/8] [media] dvb: Allow select between DVB-C Annex A and Annex C Mauro Carvalho Chehab
2011-11-20 14:56 ` [PATCH 2/8] [media] Properly implement ITU-T J.88 Annex C support Mauro Carvalho Chehab
2011-11-20 14:56   ` [PATCH 3/8] [media] em28xx: Fix some Terratec entries (H5 and XS) Mauro Carvalho Chehab
2011-11-20 14:56     ` [PATCH 4/8] [media] xc5000: Add support for get_if_frequency Mauro Carvalho Chehab
2011-11-20 14:56       ` [PATCH 5/8] [media] em28xx: initial support for HAUPPAUGE HVR-930C again Mauro Carvalho Chehab
2011-11-20 14:56         ` [PATCH 6/8] [media] em28xx: Fix CodingStyle issues introduced by changeset 82e7dbb Mauro Carvalho Chehab
2011-11-20 14:56           ` [PATCH 7/8] [media] em28xx: Add IR support for em2884 Mauro Carvalho Chehab
2011-11-20 14:56             ` [PATCH 8/8] [media] em28xx: Add IR support for HVR-930C Mauro Carvalho Chehab
2011-12-05 18:23         ` [PATCH 5/8] [media] em28xx: initial support for HAUPPAUGE HVR-930C again Devin Heitmueller
2011-12-05 18:35           ` Mauro Carvalho Chehab
2011-12-05 18:46             ` Devin Heitmueller
2011-12-05 20:01               ` Devin Heitmueller
2011-12-05 23:32                 ` Eddi De Pieri
2011-12-05 23:47                   ` Devin Heitmueller
2011-12-06 12:51                     ` Mark Lord
2011-12-06 13:43                       ` Mauro Carvalho Chehab
2011-12-06 13:56                         ` Devin Heitmueller
2011-12-06 15:28                           ` Mark Lord
2011-12-06 15:35                             ` Devin Heitmueller
2011-12-06 15:44                             ` Mauro Carvalho Chehab
2011-12-07  9:59                     ` Mauro Carvalho Chehab
2011-11-20 20:27 ` [PATCH 1/8] [media] dvb: Allow select between DVB-C Annex A and Annex C Rémi Denis-Courmont

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.