diff options
Diffstat (limited to 'linux/drivers/media/video/cx88')
-rw-r--r-- | linux/drivers/media/video/cx88/cx88-cards.c | 4 | ||||
-rw-r--r-- | linux/drivers/media/video/cx88/cx88-video.c | 8 |
2 files changed, 6 insertions, 6 deletions
diff --git a/linux/drivers/media/video/cx88/cx88-cards.c b/linux/drivers/media/video/cx88/cx88-cards.c index d72748684..3d64a2811 100644 --- a/linux/drivers/media/video/cx88/cx88-cards.c +++ b/linux/drivers/media/video/cx88/cx88-cards.c @@ -104,11 +104,11 @@ struct cx88_board cx88_boards[] = { },{ .type = CX88_VMUX_COMPOSITE1, .vmux = 1, - .gpio0 = 0x03ff, + .gpio0 = 0x03fe, },{ .type = CX88_VMUX_SVIDEO, .vmux = 2, - .gpio0 = 0x03ff, + .gpio0 = 0x03fe, }}, }, [CX88_BOARD_WINFAST2000XP] = { diff --git a/linux/drivers/media/video/cx88/cx88-video.c b/linux/drivers/media/video/cx88/cx88-video.c index 6b0584f0f..3cfa3bfdc 100644 --- a/linux/drivers/media/video/cx88/cx88-video.c +++ b/linux/drivers/media/video/cx88/cx88-video.c @@ -544,8 +544,8 @@ static int set_tvnorm(struct cx8800_dev *dev, struct cx8800_tvnorm *norm) step_dr = fsc8; if (norm->id & V4L2_STD_SECAM) { - step_db = 4250000; - step_dr = 4406250; + step_db = 4250000 * 8; + step_dr = 4406250 * 8; } dprintk(1,"set_tvnorm: \"%s\" fsc8=%d adc=%d vdec=%d db/dr=%d/%d\n", @@ -571,14 +571,14 @@ static int set_tvnorm(struct cx8800_dev *dev, struct cx8800_tvnorm *norm) cx_write(MO_SCONV_REG, (u32)tmp64); // MO_SUB_STEP = 8 * fsc / video dec clock * 2^22 - tmp64 = step_db * 8 * (u64)(1 << 22); + tmp64 = step_db * (u64)(1 << 22); do_div(tmp64, vdec_clock); dprintk(1,"set_tvnorm: MO_SUB_STEP 0x%08x [old=0x%08x]\n", (u32)tmp64, cx_read(MO_SUB_STEP)); cx_write(MO_SUB_STEP, (u32)tmp64); // MO_SUB_STEP_DR = 8 * 4406250 / video dec clock * 2^22 - tmp64 = step_dr * 8 * (u64)(1 << 22); + tmp64 = step_dr * (u64)(1 << 22); do_div(tmp64, vdec_clock); dprintk(1,"set_tvnorm: MO_SUB_STEP_DR 0x%08x [old=0x%08x]\n", (u32)tmp64, cx_read(MO_SUB_STEP_DR)); |