diff options
author | Oliver Endriss <o.endriss@gmx.de> | 2011-01-10 04:36:11 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2011-03-21 19:31:44 -0400 |
commit | 09961aae7b3ea8640051e464b346ed3984521de8 (patch) | |
tree | cde473827d93ef4a79ca5fa1847484340c84ecd0 /drivers/media/dvb/ngene | |
parent | f790bdd00da937845b38467abfebdea09acfea0e (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.c | 10 |
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; |