aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb/ngene
diff options
context:
space:
mode:
authorOliver Endriss <o.endriss@gmx.de>2011-01-10 04:36:11 -0500
committerMauro Carvalho Chehab <mchehab@redhat.com>2011-03-21 19:31:44 -0400
commit09961aae7b3ea8640051e464b346ed3984521de8 (patch)
treecde473827d93ef4a79ca5fa1847484340c84ecd0 /drivers/media/dvb/ngene
parentf790bdd00da937845b38467abfebdea09acfea0e (diff)
[media] ngene: Firmware 18 support
Small modifications for firmware 18. Signed-off-by: Oliver Endriss <o.endriss@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/dvb/ngene')
-rw-r--r--drivers/media/dvb/ngene/ngene-core.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/media/dvb/ngene/ngene-core.c b/drivers/media/dvb/ngene/ngene-core.c
index dc073bdc623a..cd5b1f3e902d 100644
--- a/drivers/media/dvb/ngene/ngene-core.c
+++ b/drivers/media/dvb/ngene/ngene-core.c
@@ -1257,6 +1257,10 @@ static int ngene_load_firm(struct ngene *dev)
1257 fw_name = "ngene_17.fw"; 1257 fw_name = "ngene_17.fw";
1258 dev->cmd_timeout_workaround = true; 1258 dev->cmd_timeout_workaround = true;
1259 break; 1259 break;
1260 case 18:
1261 size = 0;
1262 fw_name = "ngene_18.fw";
1263 break;
1260 } 1264 }
1261 1265
1262 if (request_firmware(&fw, fw_name, &dev->pci_dev->dev) < 0) { 1266 if (request_firmware(&fw, fw_name, &dev->pci_dev->dev) < 0) {
@@ -1266,6 +1270,8 @@ static int ngene_load_firm(struct ngene *dev)
1266 ": Copy %s to your hotplug directory!\n", fw_name); 1270 ": Copy %s to your hotplug directory!\n", fw_name);
1267 return -1; 1271 return -1;
1268 } 1272 }
1273 if (size == 0)
1274 size = fw->size;
1269 if (size != fw->size) { 1275 if (size != fw->size) {
1270 printk(KERN_ERR DEVICE_NAME 1276 printk(KERN_ERR DEVICE_NAME
1271 ": Firmware %s has invalid size!", fw_name); 1277 ": Firmware %s has invalid size!", fw_name);
@@ -1365,7 +1371,7 @@ static int ngene_start(struct ngene *dev)
1365 if (stat < 0) 1371 if (stat < 0)
1366 goto fail; 1372 goto fail;
1367 1373
1368 if (dev->card_info->fw_version == 17) { 1374 if (dev->card_info->fw_version >= 17) {
1369 u8 tsin4_config[6] = { 1375 u8 tsin4_config[6] = {
1370 3072 / 64, 3072 / 64, 0, 3072 / 64, 3072 / 64, 0}; 1376 3072 / 64, 3072 / 64, 0, 3072 / 64, 3072 / 64, 0};
1371 u8 default_config[6] = { 1377 u8 default_config[6] = {
@@ -1374,7 +1380,7 @@ static int ngene_start(struct ngene *dev)
1374 1380
1375 if (dev->card_info->io_type[3] == NGENE_IO_TSIN) 1381 if (dev->card_info->io_type[3] == NGENE_IO_TSIN)
1376 bconf = tsin4_config; 1382 bconf = tsin4_config;
1377 dprintk(KERN_DEBUG DEVICE_NAME ": FW 17 buffer config\n"); 1383 dprintk(KERN_DEBUG DEVICE_NAME ": FW 17+ buffer config\n");
1378 stat = ngene_command_config_free_buf(dev, bconf); 1384 stat = ngene_command_config_free_buf(dev, bconf);
1379 } else { 1385 } else {
1380 int bconf = BUFFER_CONFIG_4422; 1386 int bconf = BUFFER_CONFIG_4422;