diff options
author | Andy Walls <awalls@radix.net> | 2008-06-13 23:58:08 -0400 |
---|---|---|
committer | Andy Walls <awalls@radix.net> | 2008-06-13 23:58:08 -0400 |
commit | 54084f7c52a77294a6947de1b8a9662c14385fed (patch) | |
tree | b69b1f29896a216b839f0ecd87a110abad81efaa /linux/drivers/media/video/cx18/cx18-av-core.h | |
parent | c659a9e10a6f0db8b970b782f20a32e52d80c30c (diff) | |
download | mediapointer-dvb-s2-54084f7c52a77294a6947de1b8a9662c14385fed.tar.gz mediapointer-dvb-s2-54084f7c52a77294a6947de1b8a9662c14385fed.tar.bz2 |
cx18: Fix unintended auto configurations in cx18-av-core
From: Andy Walls <awalls@radix.net>
Change the cx18-av-core code so that accesses to cx23418 av core that
cause auto-configuration will be adjusted to emulate the auto-configuration
behavior of the cx25843. This fixes the VBI displayed as video at the top of
the frame for NTSC and probably other things.
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 | 10 |
1 files changed, 10 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 39f3c9397..c172823ce 100644 --- a/linux/drivers/media/video/cx18/cx18-av-core.h +++ b/linux/drivers/media/video/cx18/cx18-av-core.h @@ -295,14 +295,24 @@ struct cx18_av_state { #define CXADEC_SELECT_AUDIO_STANDARD_FM 0xF9 /* FM radio */ #define CXADEC_SELECT_AUDIO_STANDARD_AUTO 0xFF /* Auto detect */ +/* Flags on what to preserve on write to 0x400-0x403 with cx18_av_.*_no_acfg()*/ +#define CXADEC_NO_ACFG_AFE 0x01 /* Preserve 0x100-0x107 */ +#define CXADEC_NO_ACFG_PLL 0x02 /* Preserve 0x108-0x10f */ +#define CXADEC_NO_ACFG_VID 0x04 /* Preserve 0x470-0x47f */ +#define CXADEC_NO_ACFG_ALL 0x07 + /* ----------------------------------------------------------------------- */ /* 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_write_no_acfg(struct cx18 *cx, u16 addr, u8 value, + int no_acfg_mask); u8 cx18_av_read(struct cx18 *cx, u16 addr); u32 cx18_av_read4(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_and_or_no_acfg(struct cx18 *cx, u16 addr, unsigned mask, u8 value, + int no_acfg_mask); int cx18_av_cmd(struct cx18 *cx, unsigned int cmd, void *arg); /* ----------------------------------------------------------------------- */ |