Commit 09961aae authored by Oliver Endriss's avatar Oliver Endriss Committed by Mauro Carvalho Chehab

[media] ngene: Firmware 18 support

Small modifications for firmware 18.
Signed-off-by: default avatarOliver Endriss <o.endriss@gmx.de>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent f790bdd0
...@@ -1257,6 +1257,10 @@ static int ngene_load_firm(struct ngene *dev) ...@@ -1257,6 +1257,10 @@ static int ngene_load_firm(struct ngene *dev)
fw_name = "ngene_17.fw"; fw_name = "ngene_17.fw";
dev->cmd_timeout_workaround = true; dev->cmd_timeout_workaround = true;
break; break;
case 18:
size = 0;
fw_name = "ngene_18.fw";
break;
} }
if (request_firmware(&fw, fw_name, &dev->pci_dev->dev) < 0) { if (request_firmware(&fw, fw_name, &dev->pci_dev->dev) < 0) {
...@@ -1266,6 +1270,8 @@ static int ngene_load_firm(struct ngene *dev) ...@@ -1266,6 +1270,8 @@ static int ngene_load_firm(struct ngene *dev)
": Copy %s to your hotplug directory!\n", fw_name); ": Copy %s to your hotplug directory!\n", fw_name);
return -1; return -1;
} }
if (size == 0)
size = fw->size;
if (size != fw->size) { if (size != fw->size) {
printk(KERN_ERR DEVICE_NAME printk(KERN_ERR DEVICE_NAME
": Firmware %s has invalid size!", fw_name); ": Firmware %s has invalid size!", fw_name);
...@@ -1365,7 +1371,7 @@ static int ngene_start(struct ngene *dev) ...@@ -1365,7 +1371,7 @@ static int ngene_start(struct ngene *dev)
if (stat < 0) if (stat < 0)
goto fail; goto fail;
if (dev->card_info->fw_version == 17) { if (dev->card_info->fw_version >= 17) {
u8 tsin4_config[6] = { u8 tsin4_config[6] = {
3072 / 64, 3072 / 64, 0, 3072 / 64, 3072 / 64, 0}; 3072 / 64, 3072 / 64, 0, 3072 / 64, 3072 / 64, 0};
u8 default_config[6] = { u8 default_config[6] = {
...@@ -1374,7 +1380,7 @@ static int ngene_start(struct ngene *dev) ...@@ -1374,7 +1380,7 @@ static int ngene_start(struct ngene *dev)
if (dev->card_info->io_type[3] == NGENE_IO_TSIN) if (dev->card_info->io_type[3] == NGENE_IO_TSIN)
bconf = tsin4_config; bconf = tsin4_config;
dprintk(KERN_DEBUG DEVICE_NAME ": FW 17 buffer config\n"); dprintk(KERN_DEBUG DEVICE_NAME ": FW 17+ buffer config\n");
stat = ngene_command_config_free_buf(dev, bconf); stat = ngene_command_config_free_buf(dev, bconf);
} else { } else {
int bconf = BUFFER_CONFIG_4422; int bconf = BUFFER_CONFIG_4422;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment