aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/saa7164
diff options
context:
space:
mode:
authorSteven Toth <stoth@kernellabs.com>2009-05-11 19:42:03 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-09-18 23:14:52 -0400
commitf4a6adf1e54324756917459c52ec7bfdc28d6e7f (patch)
tree1407e33eb80bcf03b4491a04a9b308853871eb72 /drivers/media/video/saa7164
parent1a6450d4d43a4d4caecaa3ca7796cbe8c7cfbba3 (diff)
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: Steven Toth <stoth@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/saa7164')
-rw-r--r--drivers/media/video/saa7164/saa7164-fw.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/drivers/media/video/saa7164/saa7164-fw.c b/drivers/media/video/saa7164/saa7164-fw.c
index 6595dd67c5c3..ee0af3534ede 100644
--- a/drivers/media/video/saa7164/saa7164-fw.c
+++ b/drivers/media/video/saa7164/saa7164-fw.c
@@ -40,14 +40,13 @@ int saa7164_dl_wait_ack(struct saa7164_dev *dev, u32 reg)
40{ 40{
41 u32 timeout = SAA_DEVICE_TIMEOUT; 41 u32 timeout = SAA_DEVICE_TIMEOUT;
42 while ((saa7164_readl(reg) & 0x01) == 0) { 42 while ((saa7164_readl(reg) & 0x01) == 0) {
43 timeout -= 5; 43 timeout -= 10;
44 if (timeout == 0) { 44 if (timeout == 0) {
45 printk(KERN_ERR "%s() timeout (no d/l ack)\n", 45 printk(KERN_ERR "%s() timeout (no d/l ack)\n",
46 __func__); 46 __func__);
47 return -EBUSY; 47 return -EBUSY;
48 } 48 }
49 /* TODO: Review this for efficiency, f/w load is slow */ 49 msleep(100);
50 msleep(1);
51 } 50 }
52 51
53 return 0; 52 return 0;
@@ -57,14 +56,13 @@ int saa7164_dl_wait_clr(struct saa7164_dev *dev, u32 reg)
57{ 56{
58 u32 timeout = SAA_DEVICE_TIMEOUT; 57 u32 timeout = SAA_DEVICE_TIMEOUT;
59 while (saa7164_readl(reg) & 0x01) { 58 while (saa7164_readl(reg) & 0x01) {
60 timeout -= 5; 59 timeout -= 10;
61 if (timeout == 0) { 60 if (timeout == 0) {
62 printk(KERN_ERR "%s() timeout (no d/l clr)\n", 61 printk(KERN_ERR "%s() timeout (no d/l clr)\n",
63 __func__); 62 __func__);
64 return -EBUSY; 63 return -EBUSY;
65 } 64 }
66 /* TODO: Review this for efficiency, f/w load is slow */ 65 msleep(100);
67 msleep(1);
68 } 66 }
69 67
70 return 0; 68 return 0;