Commit f4a6adf1 authored by Steven Toth's avatar Steven Toth Committed by Mauro Carvalho Chehab

V4L/DVB (12928): SAA7164: Increase firmware load tolerance

It's timing out and aborting firmware load too quickly on some
platforms, this increases the upper limit.
Signed-off-by: default avatarSteven Toth <stoth@kernellabs.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 1a6450d4
...@@ -40,14 +40,13 @@ int saa7164_dl_wait_ack(struct saa7164_dev *dev, u32 reg) ...@@ -40,14 +40,13 @@ int saa7164_dl_wait_ack(struct saa7164_dev *dev, u32 reg)
{ {
u32 timeout = SAA_DEVICE_TIMEOUT; u32 timeout = SAA_DEVICE_TIMEOUT;
while ((saa7164_readl(reg) & 0x01) == 0) { while ((saa7164_readl(reg) & 0x01) == 0) {
timeout -= 5; timeout -= 10;
if (timeout == 0) { if (timeout == 0) {
printk(KERN_ERR "%s() timeout (no d/l ack)\n", printk(KERN_ERR "%s() timeout (no d/l ack)\n",
__func__); __func__);
return -EBUSY; return -EBUSY;
} }
/* TODO: Review this for efficiency, f/w load is slow */ msleep(100);
msleep(1);
} }
return 0; return 0;
...@@ -57,14 +56,13 @@ int saa7164_dl_wait_clr(struct saa7164_dev *dev, u32 reg) ...@@ -57,14 +56,13 @@ int saa7164_dl_wait_clr(struct saa7164_dev *dev, u32 reg)
{ {
u32 timeout = SAA_DEVICE_TIMEOUT; u32 timeout = SAA_DEVICE_TIMEOUT;
while (saa7164_readl(reg) & 0x01) { while (saa7164_readl(reg) & 0x01) {
timeout -= 5; timeout -= 10;
if (timeout == 0) { if (timeout == 0) {
printk(KERN_ERR "%s() timeout (no d/l clr)\n", printk(KERN_ERR "%s() timeout (no d/l clr)\n",
__func__); __func__);
return -EBUSY; return -EBUSY;
} }
/* TODO: Review this for efficiency, f/w load is slow */ msleep(100);
msleep(1);
} }
return 0; return 0;
......
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