diff options
author | Andy Walls <awalls@radix.net> | 2008-09-28 20:46:02 -0400 |
---|---|---|
committer | Andy Walls <awalls@radix.net> | 2008-09-28 20:46:02 -0400 |
commit | ac5d49924a0ab6a492457817a7a08d952961ab67 (patch) | |
tree | cbb2d4779304eb8fd23de78809779bdafb0ebb56 /linux/drivers/media/video/cx18/cx18-av-core.h | |
parent | c20af2106a755d11b45e19ade56a98fa8bf6ca29 (diff) | |
download | mediapointer-dvb-s2-ac5d49924a0ab6a492457817a7a08d952961ab67.tar.gz mediapointer-dvb-s2-ac5d49924a0ab6a492457817a7a08d952961ab67.tar.bz2 |
cx18: Add default behavior of checking and retrying PCI MMIO accesses
From: Andy Walls <awalls@radix.net>
cx18: Add default behavior of checking and retrying PCI MMIO accesses.
The concept of checking and retrying PCI MMIO accesses for better reliability
in older motherboards was suggested by Steve Toth <stoth@linuxtv.org>. This
change implements MMIO retries and the retry_mmio module parameter that is
enabled by default. Limited experiments have shown this is more reliable than
the mmio_ndelay parameter. mmio_ndelay has insignificant effect with retries
enabled.
Priority: high
Signed-off-by: Andy Walls <awalls@radix.net>
Diffstat (limited to 'linux/drivers/media/video/cx18/cx18-av-core.h')
-rw-r--r-- | linux/drivers/media/video/cx18/cx18-av-core.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/linux/drivers/media/video/cx18/cx18-av-core.h b/linux/drivers/media/video/cx18/cx18-av-core.h index eb61fa1e0..b67d8df20 100644 --- a/linux/drivers/media/video/cx18/cx18-av-core.h +++ b/linux/drivers/media/video/cx18/cx18-av-core.h @@ -301,8 +301,10 @@ struct cx18_av_state { /* cx18_av-core.c */ int cx18_av_write(struct cx18 *cx, u16 addr, u8 value); int cx18_av_write4(struct cx18 *cx, u16 addr, u32 value); +int cx18_av_write4_noretry(struct cx18 *cx, u16 addr, u32 value); u8 cx18_av_read(struct cx18 *cx, u16 addr); u32 cx18_av_read4(struct cx18 *cx, u16 addr); +u32 cx18_av_read4_noretry(struct cx18 *cx, u16 addr); int cx18_av_and_or(struct cx18 *cx, u16 addr, unsigned mask, u8 value); int cx18_av_and_or4(struct cx18 *cx, u16 addr, u32 mask, u32 value); int cx18_av_cmd(struct cx18 *cx, unsigned int cmd, void *arg); |