OSDN Git Service

V4L/DVB (12928): SAA7164: Increase firmware load tolerance
authorSteven Toth <stoth@kernellabs.com>
Mon, 11 May 2009 23:42:03 +0000 (20:42 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Sat, 19 Sep 2009 03:14:52 +0000 (00:14 -0300)
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>
drivers/media/video/saa7164/saa7164-fw.c

index 6595dd6..ee0af35 100644 (file)
@@ -40,14 +40,13 @@ int saa7164_dl_wait_ack(struct saa7164_dev *dev, u32 reg)
 {
        u32 timeout = SAA_DEVICE_TIMEOUT;
        while ((saa7164_readl(reg) & 0x01) == 0) {
-               timeout -= 5;
+               timeout -= 10;
                if (timeout == 0) {
                        printk(KERN_ERR "%s() timeout (no d/l ack)\n",
                                __func__);
                        return -EBUSY;
                }
-               /* TODO: Review this for efficiency, f/w load is slow */
-               msleep(1);
+               msleep(100);
        }
 
        return 0;
@@ -57,14 +56,13 @@ int saa7164_dl_wait_clr(struct saa7164_dev *dev, u32 reg)
 {
        u32 timeout = SAA_DEVICE_TIMEOUT;
        while (saa7164_readl(reg) & 0x01) {
-               timeout -= 5;
+               timeout -= 10;
                if (timeout == 0) {
                        printk(KERN_ERR "%s() timeout (no d/l clr)\n",
                                __func__);
                        return -EBUSY;
                }
-               /* TODO: Review this for efficiency, f/w load is slow */
-               msleep(1);
+               msleep(100);
        }
 
        return 0;