[linux-dvb] Siemens DVB-C patches for DVB driver

Karl Herz karl.herz at gmx.de
Sat Aug 13 17:08:27 CEST 2005


Hi,

I switched from the old DVB driver to the new one and had some problems
with my Siemens DVB-C card, that I didn't have with the old driver.

1. zig-zag scan is disabled in the new ves1820 code (tuning problems)
2. my card is not detected correctly with the new av7110 code

I've appended two patches. It would be nice if a DVB driver developer
includes them into the driver.

Cheers,
Karl


--- ./drivers/media/dvb/frontends/ves1820.c.orig        2005-04-07 22:16:46.000000000 +0200
+++ ./drivers/media/dvb/frontends/ves1820.c     2005-08-13 16:23:27.000000000 +0200
@@ -352,12 +352,17 @@
         return 0;
  }

+static struct dvb_frontend_ops ves1820_ops;
+
  static int ves1820_get_tune_settings(struct dvb_frontend* fe, struct dvb_frontend_tune_settings* fesettings)
  {

         fesettings->min_delay_ms = 200;
-       fesettings->step_size = 0;
-       fesettings->max_drift = 0;
+
+       // enable zig-zag scan
+       fesettings->step_size = ves1820_ops.info.frequency_stepsize * 2;
+       fesettings->max_drift = ves1820_ops.info.frequency_stepsize * 10;
+
         return 0;
  }

@@ -367,8 +372,6 @@
         kfree(state);
  }

-static struct dvb_frontend_ops ves1820_ops;
-
  struct dvb_frontend* ves1820_attach(const struct ves1820_config* config,
                                     struct i2c_adapter* i2c,
                                     u8 pwm)



--- ./drivers/media/dvb/ttpci/av7110.c.orig     2005-03-18 21:59:17.000000000 +0100
+++ ./drivers/media/dvb/ttpci/av7110.c  2005-08-13 16:24:54.000000000 +0200
@@ -159,7 +159,9 @@
                 av7110_fw_cmd(av7110, COMTYPE_AUDIODAC, MainSwitch, 1, 0);
                 av7110_fw_cmd(av7110, COMTYPE_AUDIODAC, ADSwitch, 1, 1);
                 if (rgb_on &&
-                   (av7110->dev->pci->subsystem_vendor == 0x110a) && (av7110->dev->pci->subsystem_device == 0x0000)) {
+                   ((av7110->dev->pci->subsystem_vendor == 0x110a) ||
+                    (av7110->dev->pci->subsystem_vendor == 0x13c2)) &&
+                    (av7110->dev->pci->subsystem_device == 0x0000)) {
                         saa7146_setgpio(dev, 1, SAA7146_GPIO_OUTHI); // RGB on, SCART pin 16
                         //saa7146_setgpio(dev, 3, SAA7146_GPIO_OUTLO); // SCARTpin 8
                 }
@@ -2775,7 +2777,7 @@
         .ext_priv = x_name, \
         .ext = &av7110_extension }

-MAKE_AV7110_INFO(tts_1_X,    "Technotrend/Hauppauge WinTV DVB-S rev1.X");
+MAKE_AV7110_INFO(ttsc_1_X,   "Technotrend/Hauppauge WinTV DVB-S rev1.X or Fujitsu Siemens DVB-C");
  MAKE_AV7110_INFO(ttt_1_X,    "Technotrend/Hauppauge WinTV DVB-T rev1.X");
  MAKE_AV7110_INFO(ttc_1_X,    "Technotrend/Hauppauge WinTV Nexus-CA rev1.X");
  MAKE_AV7110_INFO(ttc_2_X,    "Technotrend/Hauppauge WinTV DVB-C rev2.X");
@@ -2788,7 +2790,7 @@

  static struct pci_device_id pci_tbl[] = {
         MAKE_EXTENSION_PCI(fsc,       0x110a, 0x0000),
-       MAKE_EXTENSION_PCI(tts_1_X,   0x13c2, 0x0000),
+       MAKE_EXTENSION_PCI(ttsc_1_X,  0x13c2, 0x0000),
         MAKE_EXTENSION_PCI(ttt_1_X,   0x13c2, 0x0001),
         MAKE_EXTENSION_PCI(ttc_2_X,   0x13c2, 0x0002),
         MAKE_EXTENSION_PCI(tts_2_X,   0x13c2, 0x0003),




More information about the linux-dvb mailing list