git.openpandora.org
/
pandora-kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
[pandora-kernel.git]
/
drivers
/
media
/
video
/
cx88
/
cx88-core.c
diff --git
a/drivers/media/video/cx88/cx88-core.c
b/drivers/media/video/cx88/cx88-core.c
index
2e145f0
..
fbcaa1c
100644
(file)
--- a/
drivers/media/video/cx88/cx88-core.c
+++ b/
drivers/media/video/cx88/cx88-core.c
@@
-636,6
+636,9
@@
int cx88_reset(struct cx88_core *core)
cx_write(MO_PCI_INTSTAT, 0xFFFFFFFF); // Clear PCI int
cx_write(MO_INT1_STAT, 0xFFFFFFFF); // Clear RISC int
cx_write(MO_PCI_INTSTAT, 0xFFFFFFFF); // Clear PCI int
cx_write(MO_INT1_STAT, 0xFFFFFFFF); // Clear RISC int
+ /* set default notch filter */
+ cx_andor(MO_HTOTAL, 0x1800, (HLNotchFilter4xFsc << 11));
+
/* Reset on-board parts */
cx_write(MO_SRST_IO, 0);
msleep(10);
/* Reset on-board parts */
cx_write(MO_SRST_IO, 0);
msleep(10);
@@
-759,8
+762,8
@@
int cx88_set_scale(struct cx88_core *core, unsigned int width, unsigned int heig
if (nocomb)
value |= (3 << 5); // disable comb filter
if (nocomb)
value |= (3 << 5); // disable comb filter
- cx_
write(MO_FILTER_EVEN, value);
- cx_
write(MO_FILTER_ODD,
value);
+ cx_
andor(MO_FILTER_EVEN, 0x7ffc7f, value); /* preserve PEAKEN, PSEL */
+ cx_
andor(MO_FILTER_ODD, 0x7ffc7f,
value);
dprintk(1,"set_scale: filter 0x%04x\n", value);
return 0;
dprintk(1,"set_scale: filter 0x%04x\n", value);
return 0;
@@
-994,10
+997,10
@@
int cx88_set_tvnorm(struct cx88_core *core, v4l2_std_id norm)
// htotal
tmp64 = norm_htotal(norm) * (u64)vdec_clock;
do_div(tmp64, fsc8);
// htotal
tmp64 = norm_htotal(norm) * (u64)vdec_clock;
do_div(tmp64, fsc8);
- htotal = (u32)tmp64
| (HLNotchFilter4xFsc << 11)
;
+ htotal = (u32)tmp64;
dprintk(1,"set_tvnorm: MO_HTOTAL 0x%08x [old=0x%08x,htotal=%d]\n",
htotal, cx_read(MO_HTOTAL), (u32)tmp64);
dprintk(1,"set_tvnorm: MO_HTOTAL 0x%08x [old=0x%08x,htotal=%d]\n",
htotal, cx_read(MO_HTOTAL), (u32)tmp64);
- cx_
write(MO_HTOTAL
, htotal);
+ cx_
andor(MO_HTOTAL, 0x07ff
, htotal);
// vbi stuff, set vbi offset to 10 (for 20 Clk*2 pixels), this makes
// the effective vbi offset ~244 samples, the same as the Bt8x8
// vbi stuff, set vbi offset to 10 (for 20 Clk*2 pixels), this makes
// the effective vbi offset ~244 samples, the same as the Bt8x8