vou_dev 93 drivers/media/platform/sh_vou.c static void sh_vou_reg_a_write(struct sh_vou_device *vou_dev, unsigned int reg, vou_dev 96 drivers/media/platform/sh_vou.c __raw_writel(value, vou_dev->base + reg); vou_dev 99 drivers/media/platform/sh_vou.c static void sh_vou_reg_ab_write(struct sh_vou_device *vou_dev, unsigned int reg, vou_dev 102 drivers/media/platform/sh_vou.c __raw_writel(value, vou_dev->base + reg); vou_dev 103 drivers/media/platform/sh_vou.c __raw_writel(value, vou_dev->base + reg + 0x1000); vou_dev 106 drivers/media/platform/sh_vou.c static void sh_vou_reg_m_write(struct sh_vou_device *vou_dev, unsigned int reg, vou_dev 109 drivers/media/platform/sh_vou.c __raw_writel(value, vou_dev->base + reg + 0x2000); vou_dev 112 drivers/media/platform/sh_vou.c static u32 sh_vou_reg_a_read(struct sh_vou_device *vou_dev, unsigned int reg) vou_dev 114 drivers/media/platform/sh_vou.c return __raw_readl(vou_dev->base + reg); vou_dev 117 drivers/media/platform/sh_vou.c static void sh_vou_reg_a_set(struct sh_vou_device *vou_dev, unsigned int reg, vou_dev 120 drivers/media/platform/sh_vou.c u32 old = __raw_readl(vou_dev->base + reg); vou_dev 123 drivers/media/platform/sh_vou.c __raw_writel(value, vou_dev->base + reg); vou_dev 126 drivers/media/platform/sh_vou.c static void sh_vou_reg_b_set(struct sh_vou_device *vou_dev, unsigned int reg, vou_dev 129 drivers/media/platform/sh_vou.c sh_vou_reg_a_set(vou_dev, reg + 0x1000, value, mask); vou_dev 132 drivers/media/platform/sh_vou.c static void sh_vou_reg_ab_set(struct sh_vou_device *vou_dev, unsigned int reg, vou_dev 135 drivers/media/platform/sh_vou.c sh_vou_reg_a_set(vou_dev, reg, value, mask); vou_dev 136 drivers/media/platform/sh_vou.c sh_vou_reg_b_set(vou_dev, reg, value, mask); vou_dev 187 drivers/media/platform/sh_vou.c static void sh_vou_schedule_next(struct sh_vou_device *vou_dev, vou_dev 193 drivers/media/platform/sh_vou.c switch (vou_dev->pix.pixelformat) { vou_dev 196 drivers/media/platform/sh_vou.c addr2 = addr1 + vou_dev->pix.width * vou_dev->pix.height; vou_dev 202 drivers/media/platform/sh_vou.c sh_vou_reg_m_write(vou_dev, VOUAD1R, addr1); vou_dev 203 drivers/media/platform/sh_vou.c sh_vou_reg_m_write(vou_dev, VOUAD2R, addr2); vou_dev 206 drivers/media/platform/sh_vou.c static void sh_vou_stream_config(struct sh_vou_device *vou_dev) vou_dev 215 drivers/media/platform/sh_vou.c switch (vou_dev->pix.pixelformat) { vou_dev 232 drivers/media/platform/sh_vou.c sh_vou_reg_a_write(vou_dev, VOUSWR, dataswap); vou_dev 233 drivers/media/platform/sh_vou.c sh_vou_reg_ab_write(vou_dev, VOUAIR, vou_dev->pix.width * row_coeff); vou_dev 241 drivers/media/platform/sh_vou.c struct sh_vou_device *vou_dev = vb2_get_drv_priv(vq); vou_dev 242 drivers/media/platform/sh_vou.c struct v4l2_pix_format *pix = &vou_dev->pix; vou_dev 243 drivers/media/platform/sh_vou.c int bytes_per_line = vou_fmt[vou_dev->pix_idx].bpp * pix->width / 8; vou_dev 245 drivers/media/platform/sh_vou.c dev_dbg(vou_dev->v4l2_dev.dev, "%s()\n", __func__); vou_dev 256 drivers/media/platform/sh_vou.c struct sh_vou_device *vou_dev = vb2_get_drv_priv(vb->vb2_queue); vou_dev 257 drivers/media/platform/sh_vou.c struct v4l2_pix_format *pix = &vou_dev->pix; vou_dev 258 drivers/media/platform/sh_vou.c unsigned bytes_per_line = vou_fmt[vou_dev->pix_idx].bpp * pix->width / 8; vou_dev 261 drivers/media/platform/sh_vou.c dev_dbg(vou_dev->v4l2_dev.dev, "%s()\n", __func__); vou_dev 265 drivers/media/platform/sh_vou.c dev_warn(vou_dev->v4l2_dev.dev, "buffer too small (%lu < %u)\n", vou_dev 278 drivers/media/platform/sh_vou.c struct sh_vou_device *vou_dev = vb2_get_drv_priv(vb->vb2_queue); vou_dev 282 drivers/media/platform/sh_vou.c spin_lock_irqsave(&vou_dev->lock, flags); vou_dev 283 drivers/media/platform/sh_vou.c list_add_tail(&shbuf->list, &vou_dev->buf_list); vou_dev 284 drivers/media/platform/sh_vou.c spin_unlock_irqrestore(&vou_dev->lock, flags); vou_dev 289 drivers/media/platform/sh_vou.c struct sh_vou_device *vou_dev = vb2_get_drv_priv(vq); vou_dev 293 drivers/media/platform/sh_vou.c vou_dev->sequence = 0; vou_dev 294 drivers/media/platform/sh_vou.c ret = v4l2_device_call_until_err(&vou_dev->v4l2_dev, 0, vou_dev 297 drivers/media/platform/sh_vou.c list_for_each_entry_safe(buf, node, &vou_dev->buf_list, list) { vou_dev 302 drivers/media/platform/sh_vou.c vou_dev->active = NULL; vou_dev 306 drivers/media/platform/sh_vou.c buf = list_entry(vou_dev->buf_list.next, struct sh_vou_buffer, list); vou_dev 308 drivers/media/platform/sh_vou.c vou_dev->active = buf; vou_dev 311 drivers/media/platform/sh_vou.c sh_vou_reg_a_write(vou_dev, VOURPR, 1); vou_dev 312 drivers/media/platform/sh_vou.c dev_dbg(vou_dev->v4l2_dev.dev, "%s: first buffer status 0x%x\n", vou_dev 313 drivers/media/platform/sh_vou.c __func__, sh_vou_reg_a_read(vou_dev, VOUSTR)); vou_dev 314 drivers/media/platform/sh_vou.c sh_vou_schedule_next(vou_dev, &buf->vb); vou_dev 319 drivers/media/platform/sh_vou.c sh_vou_reg_a_write(vou_dev, VOURPR, 0); vou_dev 320 drivers/media/platform/sh_vou.c sh_vou_schedule_next(vou_dev, &buf->vb); vou_dev 323 drivers/media/platform/sh_vou.c sh_vou_reg_a_write(vou_dev, VOURCR, 5); vou_dev 325 drivers/media/platform/sh_vou.c sh_vou_stream_config(vou_dev); vou_dev 327 drivers/media/platform/sh_vou.c sh_vou_reg_a_write(vou_dev, VOUIR, 0x10004); vou_dev 330 drivers/media/platform/sh_vou.c vou_dev->status = SH_VOU_RUNNING; vou_dev 331 drivers/media/platform/sh_vou.c sh_vou_reg_a_write(vou_dev, VOUER, 0x107); vou_dev 337 drivers/media/platform/sh_vou.c struct sh_vou_device *vou_dev = vb2_get_drv_priv(vq); vou_dev 341 drivers/media/platform/sh_vou.c v4l2_device_call_until_err(&vou_dev->v4l2_dev, 0, vou_dev 344 drivers/media/platform/sh_vou.c sh_vou_reg_a_set(vou_dev, VOUER, 0, 1); vou_dev 346 drivers/media/platform/sh_vou.c sh_vou_reg_a_set(vou_dev, VOUIR, 0, 0x30000); vou_dev 348 drivers/media/platform/sh_vou.c spin_lock_irqsave(&vou_dev->lock, flags); vou_dev 349 drivers/media/platform/sh_vou.c list_for_each_entry_safe(buf, node, &vou_dev->buf_list, list) { vou_dev 353 drivers/media/platform/sh_vou.c vou_dev->active = NULL; vou_dev 354 drivers/media/platform/sh_vou.c spin_unlock_irqrestore(&vou_dev->lock, flags); vou_dev 371 drivers/media/platform/sh_vou.c struct sh_vou_device *vou_dev = video_drvdata(file); vou_dev 373 drivers/media/platform/sh_vou.c dev_dbg(vou_dev->v4l2_dev.dev, "%s()\n", __func__); vou_dev 385 drivers/media/platform/sh_vou.c struct sh_vou_device *vou_dev = video_drvdata(file); vou_dev 390 drivers/media/platform/sh_vou.c dev_dbg(vou_dev->v4l2_dev.dev, "%s()\n", __func__); vou_dev 400 drivers/media/platform/sh_vou.c struct sh_vou_device *vou_dev = video_drvdata(file); vou_dev 402 drivers/media/platform/sh_vou.c dev_dbg(vou_dev->v4l2_dev.dev, "%s()\n", __func__); vou_dev 405 drivers/media/platform/sh_vou.c fmt->fmt.pix = vou_dev->pix; vou_dev 417 drivers/media/platform/sh_vou.c static void sh_vou_configure_geometry(struct sh_vou_device *vou_dev, vou_dev 423 drivers/media/platform/sh_vou.c struct v4l2_rect *rect = &vou_dev->rect; vou_dev 424 drivers/media/platform/sh_vou.c struct v4l2_pix_format *pix = &vou_dev->pix; vou_dev 427 drivers/media/platform/sh_vou.c if (vou_dev->std & V4L2_STD_525_60) { vou_dev 464 drivers/media/platform/sh_vou.c dev_dbg(vou_dev->v4l2_dev.dev, vou_dev 470 drivers/media/platform/sh_vou.c sh_vou_reg_ab_write(vou_dev, VOUISR, (pix->width << 16) | frame_in_height); vou_dev 471 drivers/media/platform/sh_vou.c sh_vou_reg_ab_write(vou_dev, VOUVPR, (black_left << 16) | black_top); vou_dev 472 drivers/media/platform/sh_vou.c sh_vou_reg_ab_write(vou_dev, VOUDPR, (rect->left << 16) | frame_out_top); vou_dev 473 drivers/media/platform/sh_vou.c sh_vou_reg_ab_write(vou_dev, VOUDSR, (dsr_h << 16) | dsr_v); vou_dev 485 drivers/media/platform/sh_vou.c dev_dbg(vou_dev->v4l2_dev.dev, "0x%08x: scaling 0x%x\n", vou_dev 489 drivers/media/platform/sh_vou.c sh_vou_reg_ab_write(vou_dev, VOUVCR, vouvcr); vou_dev 490 drivers/media/platform/sh_vou.c sh_vou_reg_ab_write(vou_dev, VOUDFR, vou_dev 654 drivers/media/platform/sh_vou.c struct sh_vou_device *vou_dev = video_drvdata(file); vou_dev 659 drivers/media/platform/sh_vou.c dev_dbg(vou_dev->v4l2_dev.dev, "%s()\n", __func__); vou_dev 672 drivers/media/platform/sh_vou.c if (vou_dev->std & V4L2_STD_525_60) vou_dev 687 drivers/media/platform/sh_vou.c static int sh_vou_set_fmt_vid_out(struct sh_vou_device *vou_dev, vou_dev 703 drivers/media/platform/sh_vou.c if (vb2_is_busy(&vou_dev->queue)) vou_dev 712 drivers/media/platform/sh_vou.c geo.output = vou_dev->rect; vou_dev 714 drivers/media/platform/sh_vou.c vou_adjust_output(&geo, vou_dev->std); vou_dev 718 drivers/media/platform/sh_vou.c ret = v4l2_device_call_until_err(&vou_dev->v4l2_dev, 0, pad, vou_dev 724 drivers/media/platform/sh_vou.c dev_dbg(vou_dev->v4l2_dev.dev, "%s(): %ux%u -> %ux%u\n", __func__, vou_dev 727 drivers/media/platform/sh_vou.c if (vou_dev->std & V4L2_STD_525_60) vou_dev 743 drivers/media/platform/sh_vou.c vou_adjust_input(&geo, vou_dev->std); vou_dev 747 drivers/media/platform/sh_vou.c vou_dev->rect = geo.output; vou_dev 751 drivers/media/platform/sh_vou.c dev_dbg(vou_dev->v4l2_dev.dev, "%s(): %ux%u\n", __func__, vou_dev 754 drivers/media/platform/sh_vou.c vou_dev->pix_idx = pix_idx; vou_dev 756 drivers/media/platform/sh_vou.c vou_dev->pix = *pix; vou_dev 758 drivers/media/platform/sh_vou.c sh_vou_configure_geometry(vou_dev, pix_idx, vou_dev 767 drivers/media/platform/sh_vou.c struct sh_vou_device *vou_dev = video_drvdata(file); vou_dev 772 drivers/media/platform/sh_vou.c return sh_vou_set_fmt_vid_out(vou_dev, &fmt->fmt.pix); vou_dev 778 drivers/media/platform/sh_vou.c struct sh_vou_device *vou_dev = video_drvdata(file); vou_dev 784 drivers/media/platform/sh_vou.c a->std = vou_dev->vdev.tvnorms; vou_dev 817 drivers/media/platform/sh_vou.c struct sh_vou_device *vou_dev = video_drvdata(file); vou_dev 820 drivers/media/platform/sh_vou.c dev_dbg(vou_dev->v4l2_dev.dev, "%s(): 0x%llx\n", __func__, std_id); vou_dev 822 drivers/media/platform/sh_vou.c if (std_id == vou_dev->std) vou_dev 825 drivers/media/platform/sh_vou.c if (vb2_is_busy(&vou_dev->queue)) vou_dev 828 drivers/media/platform/sh_vou.c ret = v4l2_device_call_until_err(&vou_dev->v4l2_dev, 0, video, vou_dev 834 drivers/media/platform/sh_vou.c vou_dev->rect.top = vou_dev->rect.left = 0; vou_dev 835 drivers/media/platform/sh_vou.c vou_dev->rect.width = VOU_MAX_IMAGE_WIDTH; vou_dev 837 drivers/media/platform/sh_vou.c sh_vou_reg_ab_set(vou_dev, VOUCR, vou_dev 838 drivers/media/platform/sh_vou.c sh_vou_ntsc_mode(vou_dev->pdata->bus_fmt) << 29, 7 << 29); vou_dev 839 drivers/media/platform/sh_vou.c vou_dev->rect.height = 480; vou_dev 841 drivers/media/platform/sh_vou.c sh_vou_reg_ab_set(vou_dev, VOUCR, 5 << 29, 7 << 29); vou_dev 842 drivers/media/platform/sh_vou.c vou_dev->rect.height = 576; vou_dev 845 drivers/media/platform/sh_vou.c vou_dev->pix.width = vou_dev->rect.width; vou_dev 846 drivers/media/platform/sh_vou.c vou_dev->pix.height = vou_dev->rect.height; vou_dev 847 drivers/media/platform/sh_vou.c vou_dev->pix.bytesperline = vou_dev 848 drivers/media/platform/sh_vou.c vou_dev->pix.width * vou_fmt[vou_dev->pix_idx].bpl; vou_dev 849 drivers/media/platform/sh_vou.c vou_dev->pix.sizeimage = vou_dev->pix.height * vou_dev 850 drivers/media/platform/sh_vou.c ((vou_dev->pix.width * vou_fmt[vou_dev->pix_idx].bpp) >> 3); vou_dev 851 drivers/media/platform/sh_vou.c vou_dev->std = std_id; vou_dev 852 drivers/media/platform/sh_vou.c sh_vou_set_fmt_vid_out(vou_dev, &vou_dev->pix); vou_dev 859 drivers/media/platform/sh_vou.c struct sh_vou_device *vou_dev = video_drvdata(file); vou_dev 861 drivers/media/platform/sh_vou.c dev_dbg(vou_dev->v4l2_dev.dev, "%s()\n", __func__); vou_dev 863 drivers/media/platform/sh_vou.c *std = vou_dev->std; vou_dev 870 drivers/media/platform/sh_vou.c struct sh_vou_device *vou_dev = video_drvdata(file); vou_dev 872 drivers/media/platform/sh_vou.c pr_info("VOUER: 0x%08x\n", sh_vou_reg_a_read(vou_dev, VOUER)); vou_dev 873 drivers/media/platform/sh_vou.c pr_info("VOUCR: 0x%08x\n", sh_vou_reg_a_read(vou_dev, VOUCR)); vou_dev 874 drivers/media/platform/sh_vou.c pr_info("VOUSTR: 0x%08x\n", sh_vou_reg_a_read(vou_dev, VOUSTR)); vou_dev 875 drivers/media/platform/sh_vou.c pr_info("VOUVCR: 0x%08x\n", sh_vou_reg_a_read(vou_dev, VOUVCR)); vou_dev 876 drivers/media/platform/sh_vou.c pr_info("VOUISR: 0x%08x\n", sh_vou_reg_a_read(vou_dev, VOUISR)); vou_dev 877 drivers/media/platform/sh_vou.c pr_info("VOUBCR: 0x%08x\n", sh_vou_reg_a_read(vou_dev, VOUBCR)); vou_dev 878 drivers/media/platform/sh_vou.c pr_info("VOUDPR: 0x%08x\n", sh_vou_reg_a_read(vou_dev, VOUDPR)); vou_dev 879 drivers/media/platform/sh_vou.c pr_info("VOUDSR: 0x%08x\n", sh_vou_reg_a_read(vou_dev, VOUDSR)); vou_dev 880 drivers/media/platform/sh_vou.c pr_info("VOUVPR: 0x%08x\n", sh_vou_reg_a_read(vou_dev, VOUVPR)); vou_dev 881 drivers/media/platform/sh_vou.c pr_info("VOUIR: 0x%08x\n", sh_vou_reg_a_read(vou_dev, VOUIR)); vou_dev 882 drivers/media/platform/sh_vou.c pr_info("VOUSRR: 0x%08x\n", sh_vou_reg_a_read(vou_dev, VOUSRR)); vou_dev 883 drivers/media/platform/sh_vou.c pr_info("VOUMSR: 0x%08x\n", sh_vou_reg_a_read(vou_dev, VOUMSR)); vou_dev 884 drivers/media/platform/sh_vou.c pr_info("VOUHIR: 0x%08x\n", sh_vou_reg_a_read(vou_dev, VOUHIR)); vou_dev 885 drivers/media/platform/sh_vou.c pr_info("VOUDFR: 0x%08x\n", sh_vou_reg_a_read(vou_dev, VOUDFR)); vou_dev 886 drivers/media/platform/sh_vou.c pr_info("VOUAD1R: 0x%08x\n", sh_vou_reg_a_read(vou_dev, VOUAD1R)); vou_dev 887 drivers/media/platform/sh_vou.c pr_info("VOUAD2R: 0x%08x\n", sh_vou_reg_a_read(vou_dev, VOUAD2R)); vou_dev 888 drivers/media/platform/sh_vou.c pr_info("VOUAIR: 0x%08x\n", sh_vou_reg_a_read(vou_dev, VOUAIR)); vou_dev 889 drivers/media/platform/sh_vou.c pr_info("VOUSWR: 0x%08x\n", sh_vou_reg_a_read(vou_dev, VOUSWR)); vou_dev 890 drivers/media/platform/sh_vou.c pr_info("VOURCR: 0x%08x\n", sh_vou_reg_a_read(vou_dev, VOURCR)); vou_dev 891 drivers/media/platform/sh_vou.c pr_info("VOURPR: 0x%08x\n", sh_vou_reg_a_read(vou_dev, VOURPR)); vou_dev 898 drivers/media/platform/sh_vou.c struct sh_vou_device *vou_dev = video_drvdata(file); vou_dev 904 drivers/media/platform/sh_vou.c sel->r = vou_dev->rect; vou_dev 911 drivers/media/platform/sh_vou.c if (vou_dev->std & V4L2_STD_525_60) vou_dev 927 drivers/media/platform/sh_vou.c struct sh_vou_device *vou_dev = video_drvdata(file); vou_dev 932 drivers/media/platform/sh_vou.c struct v4l2_pix_format *pix = &vou_dev->pix; vou_dev 948 drivers/media/platform/sh_vou.c if (vb2_is_busy(&vou_dev->queue)) vou_dev 951 drivers/media/platform/sh_vou.c if (vou_dev->std & V4L2_STD_525_60) vou_dev 978 drivers/media/platform/sh_vou.c v4l2_device_call_until_err(&vou_dev->v4l2_dev, 0, pad, vou_dev 982 drivers/media/platform/sh_vou.c ret = v4l2_device_call_until_err(&vou_dev->v4l2_dev, 0, pad, vou_dev 1001 drivers/media/platform/sh_vou.c vou_adjust_input(&geo, vou_dev->std); vou_dev 1004 drivers/media/platform/sh_vou.c vou_dev->rect = geo.output; vou_dev 1008 drivers/media/platform/sh_vou.c sh_vou_configure_geometry(vou_dev, vou_dev->pix_idx, vou_dev 1016 drivers/media/platform/sh_vou.c struct sh_vou_device *vou_dev = dev_id; vou_dev 1020 drivers/media/platform/sh_vou.c u32 irq_status = sh_vou_reg_a_read(vou_dev, VOUIR), masked; vou_dev 1021 drivers/media/platform/sh_vou.c u32 vou_status = sh_vou_reg_a_read(vou_dev, VOUSTR); vou_dev 1025 drivers/media/platform/sh_vou.c dev_warn(vou_dev->v4l2_dev.dev, "IRQ status 0x%x!\n", vou_dev 1030 drivers/media/platform/sh_vou.c spin_lock(&vou_dev->lock); vou_dev 1031 drivers/media/platform/sh_vou.c if (!vou_dev->active || list_empty(&vou_dev->buf_list)) { vou_dev 1033 drivers/media/platform/sh_vou.c dev_warn(vou_dev->v4l2_dev.dev, vou_dev 1036 drivers/media/platform/sh_vou.c sh_vou_reg_a_set(vou_dev, VOUIR, 0, 0x300); vou_dev 1037 drivers/media/platform/sh_vou.c spin_unlock(&vou_dev->lock); vou_dev 1042 drivers/media/platform/sh_vou.c dev_dbg(vou_dev->v4l2_dev.dev, vou_dev 1050 drivers/media/platform/sh_vou.c sh_vou_reg_a_write(vou_dev, VOUIR, masked); vou_dev 1052 drivers/media/platform/sh_vou.c vb = vou_dev->active; vou_dev 1055 drivers/media/platform/sh_vou.c sh_vou_schedule_next(vou_dev, &vb->vb); vou_dev 1056 drivers/media/platform/sh_vou.c spin_unlock(&vou_dev->lock); vou_dev 1063 drivers/media/platform/sh_vou.c vb->vb.sequence = vou_dev->sequence++; vou_dev 1067 drivers/media/platform/sh_vou.c vou_dev->active = list_entry(vou_dev->buf_list.next, vou_dev 1070 drivers/media/platform/sh_vou.c if (list_is_singular(&vou_dev->buf_list)) { vou_dev 1072 drivers/media/platform/sh_vou.c sh_vou_schedule_next(vou_dev, &vou_dev->active->vb); vou_dev 1074 drivers/media/platform/sh_vou.c struct sh_vou_buffer *new = list_entry(vou_dev->active->list.next, vou_dev 1076 drivers/media/platform/sh_vou.c sh_vou_schedule_next(vou_dev, &new->vb); vou_dev 1079 drivers/media/platform/sh_vou.c spin_unlock(&vou_dev->lock); vou_dev 1084 drivers/media/platform/sh_vou.c static int sh_vou_hw_init(struct sh_vou_device *vou_dev) vou_dev 1086 drivers/media/platform/sh_vou.c struct sh_vou_pdata *pdata = vou_dev->pdata; vou_dev 1091 drivers/media/platform/sh_vou.c sh_vou_reg_a_write(vou_dev, VOUIR, 0); vou_dev 1094 drivers/media/platform/sh_vou.c sh_vou_reg_a_write(vou_dev, VOUSRR, 0x101); vou_dev 1095 drivers/media/platform/sh_vou.c while (--i && (sh_vou_reg_a_read(vou_dev, VOUSRR) & 0x101)) vou_dev 1101 drivers/media/platform/sh_vou.c dev_dbg(vou_dev->v4l2_dev.dev, "Reset took %dus\n", 100 - i); vou_dev 1109 drivers/media/platform/sh_vou.c sh_vou_reg_ab_set(vou_dev, VOUCR, voucr, 0xfc000000); vou_dev 1112 drivers/media/platform/sh_vou.c sh_vou_reg_a_write(vou_dev, VOURCR, 4); vou_dev 1114 drivers/media/platform/sh_vou.c sh_vou_reg_ab_write(vou_dev, VOUMSR, 0x800000); vou_dev 1116 drivers/media/platform/sh_vou.c sh_vou_set_fmt_vid_out(vou_dev, &vou_dev->pix); vou_dev 1124 drivers/media/platform/sh_vou.c struct sh_vou_device *vou_dev = video_drvdata(file); vou_dev 1127 drivers/media/platform/sh_vou.c if (mutex_lock_interruptible(&vou_dev->fop_lock)) vou_dev 1134 drivers/media/platform/sh_vou.c vou_dev->status == SH_VOU_INITIALISING) { vou_dev 1136 drivers/media/platform/sh_vou.c pm_runtime_get_sync(vou_dev->v4l2_dev.dev); vou_dev 1137 drivers/media/platform/sh_vou.c err = sh_vou_hw_init(vou_dev); vou_dev 1139 drivers/media/platform/sh_vou.c pm_runtime_put(vou_dev->v4l2_dev.dev); vou_dev 1142 drivers/media/platform/sh_vou.c vou_dev->status = SH_VOU_IDLE; vou_dev 1146 drivers/media/platform/sh_vou.c mutex_unlock(&vou_dev->fop_lock); vou_dev 1152 drivers/media/platform/sh_vou.c struct sh_vou_device *vou_dev = video_drvdata(file); vou_dev 1155 drivers/media/platform/sh_vou.c mutex_lock(&vou_dev->fop_lock); vou_dev 1160 drivers/media/platform/sh_vou.c vou_dev->status = SH_VOU_INITIALISING; vou_dev 1161 drivers/media/platform/sh_vou.c sh_vou_reg_a_set(vou_dev, VOUER, 0, 0x101); vou_dev 1162 drivers/media/platform/sh_vou.c pm_runtime_put(vou_dev->v4l2_dev.dev); vou_dev 1164 drivers/media/platform/sh_vou.c mutex_unlock(&vou_dev->fop_lock); vou_dev 1221 drivers/media/platform/sh_vou.c struct sh_vou_device *vou_dev; vou_dev 1235 drivers/media/platform/sh_vou.c vou_dev = devm_kzalloc(&pdev->dev, sizeof(*vou_dev), GFP_KERNEL); vou_dev 1236 drivers/media/platform/sh_vou.c if (!vou_dev) vou_dev 1239 drivers/media/platform/sh_vou.c INIT_LIST_HEAD(&vou_dev->buf_list); vou_dev 1240 drivers/media/platform/sh_vou.c spin_lock_init(&vou_dev->lock); vou_dev 1241 drivers/media/platform/sh_vou.c mutex_init(&vou_dev->fop_lock); vou_dev 1242 drivers/media/platform/sh_vou.c vou_dev->pdata = vou_pdata; vou_dev 1243 drivers/media/platform/sh_vou.c vou_dev->status = SH_VOU_INITIALISING; vou_dev 1244 drivers/media/platform/sh_vou.c vou_dev->pix_idx = 1; vou_dev 1246 drivers/media/platform/sh_vou.c rect = &vou_dev->rect; vou_dev 1247 drivers/media/platform/sh_vou.c pix = &vou_dev->pix; vou_dev 1250 drivers/media/platform/sh_vou.c vou_dev->std = V4L2_STD_NTSC_M; vou_dev 1263 drivers/media/platform/sh_vou.c vou_dev->base = devm_ioremap_resource(&pdev->dev, reg_res); vou_dev 1264 drivers/media/platform/sh_vou.c if (IS_ERR(vou_dev->base)) vou_dev 1265 drivers/media/platform/sh_vou.c return PTR_ERR(vou_dev->base); vou_dev 1267 drivers/media/platform/sh_vou.c ret = devm_request_irq(&pdev->dev, irq, sh_vou_isr, 0, "vou", vou_dev); vou_dev 1271 drivers/media/platform/sh_vou.c ret = v4l2_device_register(&pdev->dev, &vou_dev->v4l2_dev); vou_dev 1277 drivers/media/platform/sh_vou.c vdev = &vou_dev->vdev; vou_dev 1281 drivers/media/platform/sh_vou.c vdev->v4l2_dev = &vou_dev->v4l2_dev; vou_dev 1283 drivers/media/platform/sh_vou.c vdev->lock = &vou_dev->fop_lock; vou_dev 1285 drivers/media/platform/sh_vou.c video_set_drvdata(vdev, vou_dev); vou_dev 1288 drivers/media/platform/sh_vou.c q = &vou_dev->queue; vou_dev 1291 drivers/media/platform/sh_vou.c q->drv_priv = vou_dev; vou_dev 1297 drivers/media/platform/sh_vou.c q->lock = &vou_dev->fop_lock; vou_dev 1304 drivers/media/platform/sh_vou.c INIT_LIST_HEAD(&vou_dev->buf_list); vou_dev 1315 drivers/media/platform/sh_vou.c ret = sh_vou_hw_init(vou_dev); vou_dev 1319 drivers/media/platform/sh_vou.c subdev = v4l2_i2c_new_subdev_board(&vou_dev->v4l2_dev, i2c_adap, vou_dev 1338 drivers/media/platform/sh_vou.c v4l2_device_unregister(&vou_dev->v4l2_dev); vou_dev 1345 drivers/media/platform/sh_vou.c struct sh_vou_device *vou_dev = container_of(v4l2_dev, vou_dev 1352 drivers/media/platform/sh_vou.c video_unregister_device(&vou_dev->vdev); vou_dev 1354 drivers/media/platform/sh_vou.c v4l2_device_unregister(&vou_dev->v4l2_dev);