diff options
author | Steven Toth <stoth@kernellabs.com> | 2009-05-11 19:42:03 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-09-18 23:14:52 -0400 |
commit | f4a6adf1e54324756917459c52ec7bfdc28d6e7f (patch) | |
tree | 1407e33eb80bcf03b4491a04a9b308853871eb72 /drivers/media/video/saa7164 | |
parent | 1a6450d4d43a4d4caecaa3ca7796cbe8c7cfbba3 (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.c | 10 |
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; |