aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/dvb')
-rw-r--r--drivers/media/dvb/cinergyT2/cinergyT2.c6
-rw-r--r--drivers/media/dvb/dvb-core/dvb_frontend.c2
-rw-r--r--drivers/media/dvb/frontends/tda10086.c4
-rw-r--r--drivers/media/dvb/ttpci/budget-patch.c8
-rw-r--r--drivers/media/dvb/ttpci/budget.c9
-rw-r--r--drivers/media/dvb/ttusb-dec/ttusb_dec.c3
6 files changed, 21 insertions, 11 deletions
diff --git a/drivers/media/dvb/cinergyT2/cinergyT2.c b/drivers/media/dvb/cinergyT2/cinergyT2.c
index dd0bcbe140bd..8458ff3f351e 100644
--- a/drivers/media/dvb/cinergyT2/cinergyT2.c
+++ b/drivers/media/dvb/cinergyT2/cinergyT2.c
@@ -275,8 +275,7 @@ static void cinergyt2_free_stream_urbs (struct cinergyt2 *cinergyt2)
275 int i; 275 int i;
276 276
277 for (i=0; i<STREAM_URB_COUNT; i++) 277 for (i=0; i<STREAM_URB_COUNT; i++)
278 if (cinergyt2->stream_urb[i]) 278 usb_free_urb(cinergyt2->stream_urb[i]);
279 usb_free_urb(cinergyt2->stream_urb[i]);
280 279
281 usb_buffer_free(cinergyt2->udev, STREAM_URB_COUNT*STREAM_BUF_SIZE, 280 usb_buffer_free(cinergyt2->udev, STREAM_URB_COUNT*STREAM_BUF_SIZE,
282 cinergyt2->streambuf, cinergyt2->streambuf_dmahandle); 281 cinergyt2->streambuf, cinergyt2->streambuf_dmahandle);
@@ -320,8 +319,7 @@ static void cinergyt2_stop_stream_xfer (struct cinergyt2 *cinergyt2)
320 cinergyt2_control_stream_transfer(cinergyt2, 0); 319 cinergyt2_control_stream_transfer(cinergyt2, 0);
321 320
322 for (i=0; i<STREAM_URB_COUNT; i++) 321 for (i=0; i<STREAM_URB_COUNT; i++)
323 if (cinergyt2->stream_urb[i]) 322 usb_kill_urb(cinergyt2->stream_urb[i]);
324 usb_kill_urb(cinergyt2->stream_urb[i]);
325} 323}
326 324
327static int cinergyt2_start_stream_xfer (struct cinergyt2 *cinergyt2) 325static int cinergyt2_start_stream_xfer (struct cinergyt2 *cinergyt2)
diff --git a/drivers/media/dvb/dvb-core/dvb_frontend.c b/drivers/media/dvb/dvb-core/dvb_frontend.c
index 53304e6991ac..a2ab2eebfc68 100644
--- a/drivers/media/dvb/dvb-core/dvb_frontend.c
+++ b/drivers/media/dvb/dvb-core/dvb_frontend.c
@@ -348,7 +348,7 @@ static int dvb_frontend_swzigzag_autotune(struct dvb_frontend *fe, int check_wra
348 348
349static void dvb_frontend_swzigzag(struct dvb_frontend *fe) 349static void dvb_frontend_swzigzag(struct dvb_frontend *fe)
350{ 350{
351 fe_status_t s; 351 fe_status_t s = 0;
352 struct dvb_frontend_private *fepriv = fe->frontend_priv; 352 struct dvb_frontend_private *fepriv = fe->frontend_priv;
353 353
354 /* if we've got no parameters, just keep idling */ 354 /* if we've got no parameters, just keep idling */
diff --git a/drivers/media/dvb/frontends/tda10086.c b/drivers/media/dvb/frontends/tda10086.c
index 7456b0b9976b..4c27a2d90a38 100644
--- a/drivers/media/dvb/frontends/tda10086.c
+++ b/drivers/media/dvb/frontends/tda10086.c
@@ -441,6 +441,10 @@ static int tda10086_get_frontend(struct dvb_frontend* fe, struct dvb_frontend_pa
441 441
442 dprintk ("%s\n", __FUNCTION__); 442 dprintk ("%s\n", __FUNCTION__);
443 443
444 // check for invalid symbol rate
445 if (fe_params->u.qpsk.symbol_rate < 500000)
446 return -EINVAL;
447
444 // calculate the updated frequency (note: we convert from Hz->kHz) 448 // calculate the updated frequency (note: we convert from Hz->kHz)
445 tmp64 = tda10086_read_byte(state, 0x52); 449 tmp64 = tda10086_read_byte(state, 0x52);
446 tmp64 |= (tda10086_read_byte(state, 0x51) << 8); 450 tmp64 |= (tda10086_read_byte(state, 0x51) << 8);
diff --git a/drivers/media/dvb/ttpci/budget-patch.c b/drivers/media/dvb/ttpci/budget-patch.c
index fc1267b8c892..9a155396d6ac 100644
--- a/drivers/media/dvb/ttpci/budget-patch.c
+++ b/drivers/media/dvb/ttpci/budget-patch.c
@@ -500,14 +500,14 @@ static int budget_patch_attach (struct saa7146_dev* dev, struct saa7146_pci_exte
500 500
501/* New design (By Emard) 501/* New design (By Emard)
502** this rps1 code will copy internal HS event to GPIO3 pin. 502** this rps1 code will copy internal HS event to GPIO3 pin.
503** GPIO3 is in budget-patch hardware connectd to port B VSYNC 503** GPIO3 is in budget-patch hardware connected to port B VSYNC
504 504
505** HS is an internal event of 7146, accessible with RPS 505** HS is an internal event of 7146, accessible with RPS
506** and temporarily raised high every n lines 506** and temporarily raised high every n lines
507** (n in defined in the RPS_THRESH1 counter threshold) 507** (n in defined in the RPS_THRESH1 counter threshold)
508** I think HS is raised high on the beginning of the n-th line 508** I think HS is raised high on the beginning of the n-th line
509** and remains high until this n-th line that triggered 509** and remains high until this n-th line that triggered
510** it is completely received. When the receiption of n-th line 510** it is completely received. When the reception of n-th line
511** ends, HS is lowered. 511** ends, HS is lowered.
512 512
513** To transmit data over DMA, 7146 needs changing state at 513** To transmit data over DMA, 7146 needs changing state at
@@ -541,7 +541,7 @@ static int budget_patch_attach (struct saa7146_dev* dev, struct saa7146_pci_exte
541** hardware debug note: a working budget card (including budget patch) 541** hardware debug note: a working budget card (including budget patch)
542** with vpeirq() interrupt setup in mode "0x90" (every 64K) will 542** with vpeirq() interrupt setup in mode "0x90" (every 64K) will
543** generate 3 interrupts per 25-Hz DMA frame of 2*188*512 bytes 543** generate 3 interrupts per 25-Hz DMA frame of 2*188*512 bytes
544** and that means 3*25=75 Hz of interrupt freqency, as seen by 544** and that means 3*25=75 Hz of interrupt frequency, as seen by
545** watch cat /proc/interrupts 545** watch cat /proc/interrupts
546** 546**
547** If this frequency is 3x lower (and data received in the DMA 547** If this frequency is 3x lower (and data received in the DMA
@@ -550,7 +550,7 @@ static int budget_patch_attach (struct saa7146_dev* dev, struct saa7146_pci_exte
550** this means VSYNC line is not connected in the hardware. 550** this means VSYNC line is not connected in the hardware.
551** (check soldering pcb and pins) 551** (check soldering pcb and pins)
552** The same behaviour of missing VSYNC can be duplicated on budget 552** The same behaviour of missing VSYNC can be duplicated on budget
553** cards, by seting DD1_INIT trigger mode 7 in 3rd nibble. 553** cards, by setting DD1_INIT trigger mode 7 in 3rd nibble.
554*/ 554*/
555 555
556 // Setup RPS1 "program" (p35) 556 // Setup RPS1 "program" (p35)
diff --git a/drivers/media/dvb/ttpci/budget.c b/drivers/media/dvb/ttpci/budget.c
index e58f0391e9d1..56f1c80defc6 100644
--- a/drivers/media/dvb/ttpci/budget.c
+++ b/drivers/media/dvb/ttpci/budget.c
@@ -46,6 +46,10 @@
46#include "lnbp21.h" 46#include "lnbp21.h"
47#include "bsru6.h" 47#include "bsru6.h"
48 48
49static int diseqc_method;
50module_param(diseqc_method, int, 0444);
51MODULE_PARM_DESC(diseqc_method, "Select DiSEqC method for subsystem id 13c2:1003, 0: default, 1: more reliable (for newer revisions only)");
52
49static void Set22K (struct budget *budget, int state) 53static void Set22K (struct budget *budget, int state)
50{ 54{
51 struct saa7146_dev *dev=budget->dev; 55 struct saa7146_dev *dev=budget->dev;
@@ -382,6 +386,11 @@ static void frontend_init(struct budget *budget)
382 if (budget->dvb_frontend) { 386 if (budget->dvb_frontend) {
383 budget->dvb_frontend->ops.tuner_ops.set_params = alps_bsru6_tuner_set_params; 387 budget->dvb_frontend->ops.tuner_ops.set_params = alps_bsru6_tuner_set_params;
384 budget->dvb_frontend->tuner_priv = &budget->i2c_adap; 388 budget->dvb_frontend->tuner_priv = &budget->i2c_adap;
389 if (budget->dev->pci->subsystem_device == 0x1003 && diseqc_method == 0) {
390 budget->dvb_frontend->ops.diseqc_send_master_cmd = budget_diseqc_send_master_cmd;
391 budget->dvb_frontend->ops.diseqc_send_burst = budget_diseqc_send_burst;
392 budget->dvb_frontend->ops.set_tone = budget_set_tone;
393 }
385 break; 394 break;
386 } 395 }
387 break; 396 break;
diff --git a/drivers/media/dvb/ttusb-dec/ttusb_dec.c b/drivers/media/dvb/ttusb-dec/ttusb_dec.c
index a1c9fa9919ea..8135f3e76aeb 100644
--- a/drivers/media/dvb/ttusb-dec/ttusb_dec.c
+++ b/drivers/media/dvb/ttusb-dec/ttusb_dec.c
@@ -1135,8 +1135,7 @@ static void ttusb_dec_free_iso_urbs(struct ttusb_dec *dec)
1135 dprintk("%s\n", __FUNCTION__); 1135 dprintk("%s\n", __FUNCTION__);
1136 1136
1137 for (i = 0; i < ISO_BUF_COUNT; i++) 1137 for (i = 0; i < ISO_BUF_COUNT; i++)
1138 if (dec->iso_urb[i]) 1138 usb_free_urb(dec->iso_urb[i]);
1139 usb_free_urb(dec->iso_urb[i]);
1140 1139
1141 pci_free_consistent(NULL, 1140 pci_free_consistent(NULL,
1142 ISO_FRAME_SIZE * (FRAMES_PER_ISO_BUF * 1141 ISO_FRAME_SIZE * (FRAMES_PER_ISO_BUF *