[DVB patch 37/54] dst: fix symbol rate setting

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

 



From: Manu Abraham <[email protected]>

Make the Symbolrate setting card specific.

Signed-off-by: Manu Abraham <[email protected]>
Signed-off-by: Johannes Stezenbach <[email protected]>

 drivers/media/dvb/bt8xx/dst.c |   30 +++++++++++++++---------------
 1 file changed, 15 insertions(+), 15 deletions(-)

--- linux-2.6.13-git4.orig/drivers/media/dvb/bt8xx/dst.c	2005-09-04 22:28:26.000000000 +0200
+++ linux-2.6.13-git4/drivers/media/dvb/bt8xx/dst.c	2005-09-04 22:28:32.000000000 +0200
@@ -324,12 +324,12 @@ static int dst_set_polarization(struct d
 {
 	switch (state->voltage) {
 		case SEC_VOLTAGE_13:	// vertical
-			printk("%s: Polarization=[Vertical]\n", __FUNCTION__);
+			dprintk("%s: Polarization=[Vertical]\n", __FUNCTION__);
 			state->tx_tuna[8] &= ~0x40;  //1
 			break;
 
 		case SEC_VOLTAGE_18:	// horizontal
-			printk("%s: Polarization=[Horizontal]\n", __FUNCTION__);
+			dprintk("%s: Polarization=[Horizontal]\n", __FUNCTION__);
 			state->tx_tuna[8] |= 0x40;  // 0
 			break;
 
@@ -344,7 +344,7 @@ static int dst_set_polarization(struct d
 static int dst_set_freq(struct dst_state *state, u32 freq)
 {
 	state->frequency = freq;
-	if (debug > 4)
+	if (verbose > 4)
 		dprintk("%s: set Frequency %u\n", __FUNCTION__, freq);
 
 	if (state->dst_type == DST_TYPE_IS_SAT) {
@@ -451,7 +451,6 @@ static fe_code_rate_t dst_get_fec(struct
 
 static int dst_set_symbolrate(struct dst_state* state, u32 srate)
 {
-	u8 *val;
 	u32 symcalc;
 	u64 sval;
 
@@ -463,7 +462,6 @@ static int dst_set_symbolrate(struct dst
 	if (debug > 4)
 		dprintk("%s: set symrate %u\n", __FUNCTION__, srate);
 	srate /= 1000;
-	val = &state->tx_tuna[0];
 
 	if (state->type_flags & DST_TYPE_HAS_SYMDIV) {
 		sval = srate;
@@ -474,17 +472,19 @@ static int dst_set_symbolrate(struct dst
 		if (debug > 4)
 			dprintk("%s: set symcalc %u\n", __FUNCTION__, symcalc);
 
-		val[5] = (u8) (symcalc >> 12);
-		val[6] = (u8) (symcalc >> 4);
-		val[7] = (u8) (symcalc << 4);
+		state->tx_tuna[5] = (u8) (symcalc >> 12);
+		state->tx_tuna[6] = (u8) (symcalc >> 4);
+		state->tx_tuna[7] = (u8) (symcalc << 4);
 	} else {
-		val[5] = (u8) (srate >> 16) & 0x7f;
-		val[6] = (u8) (srate >> 8);
-		val[7] = (u8) srate;
-	}
-	val[8] &= ~0x20;
-	if (srate > 8000)
-		val[8] |= 0x20;
+		state->tx_tuna[5] = (u8) (srate >> 16) & 0x7f;
+		state->tx_tuna[6] = (u8) (srate >> 8);
+		state->tx_tuna[7] = (u8) srate;
+	}
+	state->tx_tuna[8] &= ~0x20;
+	if (state->type_flags & DST_TYPE_HAS_OBS_REGS) {
+		if (srate > 8000)
+			state->tx_tuna[8] |= 0x20;
+	}
 	return 0;
 }
 

--

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]
  Powered by Linux