Lines Matching +full:8 +full:dev
13 …*clip_format |= (( ((palette&0xf00)>>8) << 30) | ((palette&0x00f) << 24) | (((palette&0x0f0)>>4) … in calculate_output_format_register()
16 static void calculate_hps_source_and_sync(struct saa7146_dev *dev, int source, int sync, u32* hps_c… in calculate_hps_source_and_sync() argument
48 {0x00, 2}, {0x02, 4}, {0x00, 4}, {0x06, 8}, {0x02, 8},
49 {0x08, 8}, {0x00, 8}, {0x1E, 16}, {0x0E, 8}, {0x26, 8},
50 {0x06, 8}, {0x42, 8}, {0x02, 8}, {0x80, 8}, {0x00, 8},
51 {0xFE, 16}, {0xFE, 8}, {0x7E, 8}, {0x7E, 8}, {0x3E, 8},
52 {0x3E, 8}, {0x1E, 8}, {0x1E, 8}, {0x0E, 8}, {0x0E, 8},
53 {0x06, 8}, {0x06, 8}, {0x02, 8}, {0x02, 8}, {0x00, 8},
54 {0x00, 8}, {0xFE, 16}, {0xFE, 8}, {0xFE, 8}, {0xFE, 8},
55 {0xFE, 8}, {0xFE, 8}, {0xFE, 8}, {0xFE, 8}, {0xFE, 8},
56 {0xFE, 8}, {0xFE, 8}, {0xFE, 8}, {0xFE, 8}, {0xFE, 8},
57 {0xFE, 8}, {0xFE, 8}, {0xFE, 8}, {0xFE, 8}, {0x7E, 8},
58 {0x7E, 8}, {0x3E, 8}, {0x3E, 8}, {0x1E, 8}, {0x1E, 8},
59 {0x0E, 8}, {0x0E, 8}, {0x06, 8}, {0x06, 8}, {0x02, 8},
60 {0x02, 8}, {0x00, 8}, {0x00, 8}, {0xFE, 16}
64 static u8 h_attenuation[] = { 1, 2, 4, 8, 2, 4, 8, 16, 0};
67 static int calculate_h_scale_registers(struct saa7146_dev *dev, in calculate_h_scale_registers() argument
185 *hps_h_prescale |= (dcgx << 27) | ((xpsc-1) << 18) | (xacm << 17) | (cxy << 8) | (cxuv << 0); in calculate_h_scale_registers()
194 {0x0100, 2}, {0x0102, 4}, {0x0300, 4}, {0x0106, 8}, {0x0502, 8},
195 {0x0708, 8}, {0x0F00, 8}, {0x011E, 16}, {0x110E, 16}, {0x1926, 16},
210 static u16 v_attenuation[] = { 2, 4, 8, 16, 32, 64, 128, 256, 0};
213 static int calculate_v_scale_registers(struct saa7146_dev *dev, enum v4l2_field field, in calculate_v_scale_registers() argument
300 *hps_v_scale |= (yacm << 31) | (ysci << 21) | (yacl << 15) | (ypo << 8 ) | (ype << 1); in calculate_v_scale_registers()
338 static void calculate_clipping_registers_rect(struct saa7146_dev *dev, struct saa7146_fh *fh, in calculate_clipping_registers_rect() argument
341 struct saa7146_vv *vv = dev->vv_data; in calculate_clipping_registers_rect()
468 static void saa7146_disable_clipping(struct saa7146_dev *dev) in saa7146_disable_clipping() argument
470 u32 clip_format = saa7146_read(dev, CLIP_FORMAT_CTRL); in saa7146_disable_clipping()
476 saa7146_write(dev, CLIP_FORMAT_CTRL,clip_format); in saa7146_disable_clipping()
477 saa7146_write(dev, MC2, (MASK_05 | MASK_21)); in saa7146_disable_clipping()
480 saa7146_write(dev, MC1, MASK_21); in saa7146_disable_clipping()
485 struct saa7146_dev *dev = fh->dev; in saa7146_set_clipping_rect() local
486 struct saa7146_vv *vv = dev->vv_data; in saa7146_set_clipping_rect()
494 saa7146_disable_clipping(dev); in saa7146_set_clipping_rect()
498 clip_format = saa7146_read(dev, CLIP_FORMAT_CTRL); in saa7146_set_clipping_rect()
499 arbtr_ctrl = saa7146_read(dev, PCI_BT_V1); in saa7146_set_clipping_rect()
501 calculate_clipping_registers_rect(dev, fh, &vdma2, &clip_format, &arbtr_ctrl, field); in saa7146_set_clipping_rect()
508 saa7146_write(dev, BASE_EVEN2, vdma2.base_even); in saa7146_set_clipping_rect()
509 saa7146_write(dev, BASE_ODD2, vdma2.base_odd); in saa7146_set_clipping_rect()
510 saa7146_write(dev, PROT_ADDR2, vdma2.prot_addr); in saa7146_set_clipping_rect()
511 saa7146_write(dev, BASE_PAGE2, vdma2.base_page); in saa7146_set_clipping_rect()
512 saa7146_write(dev, PITCH2, vdma2.pitch); in saa7146_set_clipping_rect()
513 saa7146_write(dev, NUM_LINE_BYTE2, vdma2.num_line_byte); in saa7146_set_clipping_rect()
516 saa7146_write(dev, CLIP_FORMAT_CTRL,clip_format); in saa7146_set_clipping_rect()
517 saa7146_write(dev, PCI_BT_V1, arbtr_ctrl); in saa7146_set_clipping_rect()
520 saa7146_write(dev, MC2, (MASK_05 | MASK_21 | MASK_03 | MASK_19)); in saa7146_set_clipping_rect()
521 saa7146_write(dev, MC1, (MASK_05 | MASK_21)); in saa7146_set_clipping_rect()
524 static void saa7146_set_window(struct saa7146_dev *dev, int width, int height, enum v4l2_field fiel… in saa7146_set_window() argument
526 struct saa7146_vv *vv = dev->vv_data; in saa7146_set_window()
535 hps_v_gain = 0; /* fixme: saa7146_read(dev, HPS_V_GAIN);*/ in saa7146_set_window()
536 …calculate_v_scale_registers(dev, field, vv->standard->v_field*2, height, &hps_v_scale, &hps_v_gain… in saa7146_set_window()
542 …calculate_h_scale_registers(dev, vv->standard->h_pixels, width, vv->hflip, &hps_ctrl, &hps_v_gain,… in saa7146_set_window()
546 calculate_hps_source_and_sync(dev, source, sync, &hps_ctrl); in saa7146_set_window()
549 saa7146_write(dev, HPS_V_SCALE, hps_v_scale); in saa7146_set_window()
550 saa7146_write(dev, HPS_V_GAIN, hps_v_gain); in saa7146_set_window()
551 saa7146_write(dev, HPS_CTRL, hps_ctrl); in saa7146_set_window()
552 saa7146_write(dev, HPS_H_PRESCALE,hps_h_prescale); in saa7146_set_window()
553 saa7146_write(dev, HPS_H_SCALE, hps_h_scale); in saa7146_set_window()
556 saa7146_write(dev, MC2, (MASK_05 | MASK_06 | MASK_21 | MASK_22) ); in saa7146_set_window()
560 static void saa7146_set_position(struct saa7146_dev *dev, int w_x, int w_y, int w_height, enum v4l2… in saa7146_set_position() argument
562 struct saa7146_vv *vv = dev->vv_data; in saa7146_set_position()
563 struct saa7146_format *sfmt = saa7146_format_by_fourcc(dev, pixelformat); in saa7146_set_position()
581 vdma1.base_even = base + (w_y * (vdma1.pitch/2)) + (w_x * (b_depth / 8)); in saa7146_set_position()
586 vdma1.base_even = base + ((w_y+w_height) * (vdma1.pitch/2)) + (w_x * (b_depth / 8)); in saa7146_set_position()
612 saa7146_write_out_dma(dev, 1, &vdma1); in saa7146_set_position()
615 static void saa7146_set_output_format(struct saa7146_dev *dev, unsigned long palette) in saa7146_set_output_format() argument
617 u32 clip_format = saa7146_read(dev, CLIP_FORMAT_CTRL); in saa7146_set_output_format()
620 calculate_output_format_register(dev,palette,&clip_format); in saa7146_set_output_format()
623 saa7146_write(dev, CLIP_FORMAT_CTRL, clip_format); in saa7146_set_output_format()
624 saa7146_write(dev, MC2, (MASK_05 | MASK_21)); in saa7146_set_output_format()
628 void saa7146_set_hps_source_and_sync(struct saa7146_dev *dev, int source, int sync) in saa7146_set_hps_source_and_sync() argument
630 struct saa7146_vv *vv = dev->vv_data; in saa7146_set_hps_source_and_sync()
634 hps_ctrl = saa7146_read(dev, HPS_CTRL); in saa7146_set_hps_source_and_sync()
640 saa7146_write(dev, HPS_CTRL, hps_ctrl); in saa7146_set_hps_source_and_sync()
641 saa7146_write(dev, MC2, (MASK_05 | MASK_21)); in saa7146_set_hps_source_and_sync()
650 struct saa7146_dev *dev = fh->dev; in saa7146_enable_overlay() local
651 struct saa7146_vv *vv = dev->vv_data; in saa7146_enable_overlay()
653 saa7146_set_window(dev, vv->ov.win.w.width, vv->ov.win.w.height, vv->ov.win.field); in saa7146_enable_overlay()
654 …saa7146_set_position(dev, vv->ov.win.w.left, vv->ov.win.w.top, vv->ov.win.w.height, vv->ov.win.fie… in saa7146_enable_overlay()
655 saa7146_set_output_format(dev, vv->ov_fmt->trans); in saa7146_enable_overlay()
659 saa7146_write(dev, MC1, (MASK_06 | MASK_22)); in saa7146_enable_overlay()
665 struct saa7146_dev *dev = fh->dev; in saa7146_disable_overlay() local
668 saa7146_disable_clipping(dev); in saa7146_disable_overlay()
669 saa7146_write(dev, MC1, MASK_22); in saa7146_disable_overlay()
672 void saa7146_write_out_dma(struct saa7146_dev* dev, int which, struct saa7146_video_dma* vdma) in saa7146_write_out_dma() argument
683 saa7146_write(dev, where, vdma->base_odd); in saa7146_write_out_dma()
684 saa7146_write(dev, where+0x04, vdma->base_even); in saa7146_write_out_dma()
685 saa7146_write(dev, where+0x08, vdma->prot_addr); in saa7146_write_out_dma()
686 saa7146_write(dev, where+0x0c, vdma->pitch); in saa7146_write_out_dma()
687 saa7146_write(dev, where+0x10, vdma->base_page); in saa7146_write_out_dma()
688 saa7146_write(dev, where+0x14, vdma->num_line_byte); in saa7146_write_out_dma()
691 saa7146_write(dev, MC2, (MASK_02<<(which-1))|(MASK_18<<(which-1))); in saa7146_write_out_dma()
702 static int calculate_video_dma_grab_packed(struct saa7146_dev* dev, struct saa7146_buf *buf) in calculate_video_dma_grab_packed() argument
704 struct saa7146_vv *vv = dev->vv_data; in calculate_video_dma_grab_packed()
707 struct saa7146_format *sfmt = saa7146_format_by_fourcc(dev,buf->fmt->pixelformat); in calculate_video_dma_grab_packed()
722 vdma1.pitch = (width*depth*2)/8; in calculate_video_dma_grab_packed()
761 saa7146_write_out_dma(dev, 1, &vdma1); in calculate_video_dma_grab_packed()
825 static int calculate_video_dma_grab_planar(struct saa7146_dev* dev, struct saa7146_buf *buf) in calculate_video_dma_grab_planar() argument
827 struct saa7146_vv *vv = dev->vv_data; in calculate_video_dma_grab_planar()
832 struct saa7146_format *sfmt = saa7146_format_by_fourcc(dev,buf->fmt->pixelformat); in calculate_video_dma_grab_planar()
919 saa7146_write_out_dma(dev, 1, &vdma1); in calculate_video_dma_grab_planar()
921 saa7146_write_out_dma(dev, 3, &vdma2); in calculate_video_dma_grab_planar()
922 saa7146_write_out_dma(dev, 2, &vdma3); in calculate_video_dma_grab_planar()
924 saa7146_write_out_dma(dev, 2, &vdma2); in calculate_video_dma_grab_planar()
925 saa7146_write_out_dma(dev, 3, &vdma3); in calculate_video_dma_grab_planar()
930 static void program_capture_engine(struct saa7146_dev *dev, int planar) in program_capture_engine() argument
932 struct saa7146_vv *vv = dev->vv_data; in program_capture_engine()
943 WRITE_RPS0(CMD_WR_REG | (1 << 8) | (MC2/4)); in program_capture_engine()
997 void saa7146_set_capture(struct saa7146_dev *dev, struct saa7146_buf *buf, struct saa7146_buf *next) in saa7146_set_capture() argument
999 struct saa7146_format *sfmt = saa7146_format_by_fourcc(dev,buf->fmt->pixelformat); in saa7146_set_capture()
1000 struct saa7146_vv *vv = dev->vv_data; in saa7146_set_capture()
1005 vdma1_prot_addr = saa7146_read(dev, PROT_ADDR1); in saa7146_set_capture()
1009 saa7146_write(dev, MC2, MASK_27 ); in saa7146_set_capture()
1012 saa7146_set_window(dev, buf->fmt->width, buf->fmt->height, buf->fmt->field); in saa7146_set_capture()
1013 saa7146_set_output_format(dev, sfmt->trans); in saa7146_set_capture()
1014 saa7146_disable_clipping(dev); in saa7146_set_capture()
1024 calculate_video_dma_grab_planar(dev, buf); in saa7146_set_capture()
1025 program_capture_engine(dev,1); in saa7146_set_capture()
1027 calculate_video_dma_grab_packed(dev, buf); in saa7146_set_capture()
1028 program_capture_engine(dev,0); in saa7146_set_capture()
1032 printk("vdma%d.base_even: 0x%08x\n", 1,saa7146_read(dev,BASE_EVEN1)); in saa7146_set_capture()
1033 printk("vdma%d.base_odd: 0x%08x\n", 1,saa7146_read(dev,BASE_ODD1)); in saa7146_set_capture()
1034 printk("vdma%d.prot_addr: 0x%08x\n", 1,saa7146_read(dev,PROT_ADDR1)); in saa7146_set_capture()
1035 printk("vdma%d.base_page: 0x%08x\n", 1,saa7146_read(dev,BASE_PAGE1)); in saa7146_set_capture()
1036 printk("vdma%d.pitch: 0x%08x\n", 1,saa7146_read(dev,PITCH1)); in saa7146_set_capture()
1037 printk("vdma%d.num_line_byte: 0x%08x\n", 1,saa7146_read(dev,NUM_LINE_BYTE1)); in saa7146_set_capture()
1038 printk("vdma%d => vptr : 0x%08x\n", 1,saa7146_read(dev,PCI_VDP1)); in saa7146_set_capture()
1042 saa7146_write(dev, RPS_ADDR0, dev->d_rps0.dma_handle); in saa7146_set_capture()
1045 saa7146_write(dev, MC1, (MASK_12 | MASK_28)); in saa7146_set_capture()