Home
last modified time | relevance | path

Searched refs:isi (Results 1 – 25 of 35) sorted by relevance

12

/linux/drivers/media/platform/atmel/
H A Datmel-isi.c135 static void isi_writel(struct atmel_isi *isi, u32 reg, u32 val) in isi_writel() argument
137 writel(val, isi->regs + reg); in isi_writel()
139 static u32 isi_readl(struct atmel_isi *isi, u32 reg) in isi_readl() argument
141 return readl(isi->regs + reg); in isi_readl()
144 static void configure_geometry(struct atmel_isi *isi) in configure_geometry() argument
147 u32 fourcc = isi->current_fmt->fourcc; in configure_geometry()
149 isi->enable_preview_path = fourcc == V4L2_PIX_FMT_RGB565 || in configure_geometry()
154 cfg2 = isi->current_fmt->swap; in configure_geometry()
156 isi_writel(isi, ISI_CTRL, ISI_CTRL_DIS); in configure_geometry()
158 cfg2 |= ((isi->fmt.fmt.pix.width - 1) << ISI_CFG2_IM_HSIZE_OFFSET) & in configure_geometry()
[all …]
H A DMakefile3 obj-$(CONFIG_VIDEO_ATMEL_ISI) += atmel-isi.o
/linux/drivers/media/platform/nxp/imx8-isi/
H A Dimx8-isi-core.c55 struct mxc_isi_dev *isi = notifier_to_mxc_isi_dev(notifier); in mxc_isi_async_notifier_bound() local
57 struct media_pad *pad = &isi->crossbar.pads[masd->port]; in mxc_isi_async_notifier_bound()
60 dev_dbg(isi->dev, "Bound subdev %s to crossbar input %u\n", sd->name, in mxc_isi_async_notifier_bound()
68 link = device_link_add(isi->dev, sd->dev, DL_FLAG_STATELESS); in mxc_isi_async_notifier_bound()
70 dev_err(isi->dev, in mxc_isi_async_notifier_bound()
80 struct mxc_isi_dev *isi = notifier_to_mxc_isi_dev(notifier); in mxc_isi_async_notifier_complete() local
83 dev_dbg(isi->dev, "All subdevs bound\n"); in mxc_isi_async_notifier_complete()
85 ret = v4l2_device_register_subdev_nodes(&isi->v4l2_dev); in mxc_isi_async_notifier_complete()
87 dev_err(isi->dev, in mxc_isi_async_notifier_complete()
92 return media_device_register(&isi->media_dev); in mxc_isi_async_notifier_complete()
[all …]
H A DMakefile3 imx8-isi-y := imx8-isi-core.o imx8-isi-crossbar.o imx8-isi-gasket.o \
4 imx8-isi-hw.o imx8-isi-pipe.o imx8-isi-video.o
5 imx8-isi-$(CONFIG_DEBUG_FS) += imx8-isi-debug.o
6 imx8-isi-$(CONFIG_VIDEO_IMX8_ISI_M2M) += imx8-isi-m2m.o
8 obj-$(CONFIG_VIDEO_IMX8_ISI) += imx8-isi.o
H A Dimx8-isi-gasket.c27 static void mxc_imx8_gasket_enable(struct mxc_isi_dev *isi, in mxc_imx8_gasket_enable() argument
34 regmap_write(isi->gasket, GASKET_BASE(port) + GASKET_HSIZE, fmt->width); in mxc_imx8_gasket_enable()
35 regmap_write(isi->gasket, GASKET_BASE(port) + GASKET_VSIZE, fmt->height); in mxc_imx8_gasket_enable()
42 regmap_write(isi->gasket, GASKET_BASE(port) + GASKET_CTRL, val); in mxc_imx8_gasket_enable()
45 static void mxc_imx8_gasket_disable(struct mxc_isi_dev *isi, in mxc_imx8_gasket_disable() argument
48 regmap_write(isi->gasket, GASKET_BASE(port) + GASKET_CTRL, 0); in mxc_imx8_gasket_disable()
64 static void mxc_imx93_gasket_enable(struct mxc_isi_dev *isi, in mxc_imx93_gasket_enable() argument
73 regmap_write(isi->gasket, DISP_MIX_CAMERA_MUX, val); in mxc_imx93_gasket_enable()
76 static void mxc_imx93_gasket_disable(struct mxc_isi_dev *isi, in mxc_imx93_gasket_disable() argument
79 regmap_write(isi->gasket, DISP_MIX_CAMERA_MUX, 0); in mxc_imx93_gasket_disable()
H A Dimx8-isi-debug.c85 if (!pm_runtime_get_if_in_use(pipe->isi->dev)) in mxc_isi_debug_dump_regs_show()
95 if (pipe->isi->pdata->has_36bit_dma) { in mxc_isi_debug_dump_regs_show()
105 pm_runtime_put(pipe->isi->dev); in mxc_isi_debug_dump_regs_show()
111 void mxc_isi_debug_init(struct mxc_isi_dev *isi) in mxc_isi_debug_init() argument
115 isi->debugfs_root = debugfs_create_dir(dev_name(isi->dev), NULL); in mxc_isi_debug_init()
117 for (i = 0; i < isi->pdata->num_channels; ++i) { in mxc_isi_debug_init()
118 struct mxc_isi_pipe *pipe = &isi->pipes[i]; in mxc_isi_debug_init()
122 debugfs_create_file(name, 0444, isi->debugfs_root, pipe, in mxc_isi_debug_init()
127 void mxc_isi_debug_cleanup(struct mxc_isi_dev *isi) in mxc_isi_debug_cleanup() argument
129 debugfs_remove_recursive(isi->debugfs_root); in mxc_isi_debug_cleanup()
H A Dimx8-isi-crossbar.c32 struct mxc_isi_dev *isi = xbar->isi; in mxc_isi_crossbar_gasket_enable() local
33 const struct mxc_gasket_ops *gasket_ops = isi->pdata->gasket_ops; in mxc_isi_crossbar_gasket_enable()
49 dev_err(isi->dev, in mxc_isi_crossbar_gasket_enable()
56 dev_err(isi->dev, "invalid frame descriptor for '%s':%u\n", in mxc_isi_crossbar_gasket_enable()
65 gasket_ops->enable(isi, &fd, fmt, port); in mxc_isi_crossbar_gasket_enable()
72 struct mxc_isi_dev *isi = xbar->isi; in mxc_isi_crossbar_gasket_disable() local
73 const struct mxc_gasket_ops *gasket_ops = isi->pdata->gasket_ops; in mxc_isi_crossbar_gasket_disable()
78 gasket_ops->disable(isi, port); in mxc_isi_crossbar_gasket_disable()
113 dev_dbg(xbar->isi->dev, in __mxc_isi_crossbar_set_routing()
156 dev_dbg(xbar->isi->dev, in mxc_isi_crossbar_xlate_streams()
[all …]
H A Dimx8-isi-core.h151 void (*enable)(struct mxc_isi_dev *isi,
155 void (*disable)(struct mxc_isi_dev *isi, const unsigned int port);
189 struct mxc_isi_dev *isi; member
234 struct mxc_isi_dev *isi; member
262 struct mxc_isi_dev *isi; member
301 int mxc_isi_crossbar_init(struct mxc_isi_dev *isi);
318 int mxc_isi_pipe_init(struct mxc_isi_dev *isi, unsigned int id);
338 int mxc_isi_video_buffer_prepare(struct mxc_isi_dev *isi, struct vb2_buffer *vb2,
343 int mxc_isi_m2m_register(struct mxc_isi_dev *isi, struct v4l2_device *v4l2_dev);
344 int mxc_isi_m2m_unregister(struct mxc_isi_dev *isi);
[all …]
H A Dimx8-isi-pipe.c237 struct mxc_isi_crossbar *xbar = &pipe->isi->crossbar; in mxc_isi_pipe_enable()
294 dev_err(pipe->isi->dev, "Failed to enable pipe %u\n", in mxc_isi_pipe_enable()
304 struct mxc_isi_crossbar *xbar = &pipe->isi->crossbar; in mxc_isi_pipe_disable()
310 dev_err(pipe->isi->dev, "Failed to disable pipe %u\n", in mxc_isi_pipe_disable()
476 max_width = pipe->id == pipe->isi->pdata->num_channels - 1 in mxc_isi_pipe_set_fmt()
539 dev_dbg(pipe->isi->dev, "pad%u: code: 0x%04x, %ux%u", in mxc_isi_pipe_set_fmt()
677 dev_dbg(pipe->isi->dev, "%s, target %#x: (%d,%d)/%dx%d", __func__, in mxc_isi_pipe_set_selection()
707 const struct mxc_isi_ier_reg *ier_reg = pipe->isi->pdata->ier_reg; in mxc_isi_pipe_irq_handler()
720 dev_dbg(pipe->isi->dev, "%s: IRQ AXI Error stat=0x%X\n", in mxc_isi_pipe_irq_handler()
726 dev_dbg(pipe->isi->dev, "%s: IRQ Panic OFLW Error stat=0x%X\n", in mxc_isi_pipe_irq_handler()
[all …]
H A Dimx8-isi-m2m.c96 struct mxc_isi_m2m *m2m = &pipe->isi->m2m; in mxc_isi_m2m_frame_write_done()
102 dev_err(m2m->isi->dev, in mxc_isi_m2m_frame_write_done()
226 return mxc_isi_video_buffer_prepare(ctx->m2m->isi, vb2, qdata->info, in mxc_isi_m2m_vb2_buffer_prepare()
293 src_vq->dev = m2m->isi->dev; in mxc_isi_m2m_queue_init()
307 dst_vq->dev = m2m->isi->dev; in mxc_isi_m2m_queue_init()
678 ret = pm_runtime_resume_and_get(m2m->isi->dev); in mxc_isi_m2m_open()
711 pm_runtime_put(m2m->isi->dev); in mxc_isi_m2m_release()
729 int mxc_isi_m2m_register(struct mxc_isi_dev *isi, struct v4l2_device *v4l2_dev) in mxc_isi_m2m_register() argument
731 struct mxc_isi_m2m *m2m = &isi->m2m; in mxc_isi_m2m_register()
736 m2m->isi = isi; in mxc_isi_m2m_register()
[all …]
H A Dimx8-isi-hw.c33 if (pipe->isi->pdata->has_36bit_dma) in mxc_isi_channel_set_inbuf()
53 if (pipe->isi->pdata->has_36bit_dma) { in mxc_isi_channel_set_outbuf()
69 if (pipe->isi->pdata->has_36bit_dma) { in mxc_isi_channel_set_outbuf()
128 dev_dbg(pipe->isi->dev, "input %ux%u, output %ux%u\n", in mxc_isi_channel_set_scaling()
240 dev_dbg(pipe->isi->dev, "CSC: %s -> %s\n", in mxc_isi_channel_set_csc()
285 const struct mxc_isi_set_thd *set_thd = pipe->isi->pdata->set_thd; in mxc_isi_channel_set_panic_threshold()
339 val |= CHNL_CTRL_SRC_INPUT(pipe->isi->pdata->num_ports); in mxc_isi_channel_set_control()
401 dev_dbg(pipe->isi->dev, "output format %p4cc", &format->pixelformat); in mxc_isi_channel_set_output_format()
435 const struct mxc_isi_ier_reg *ier_reg = pipe->isi->pdata->ier_reg; in mxc_isi_channel_irq_enable()
604 if (WARN_ON(pipe->id == pipe->isi->pdata->num_channels - 1)) in mxc_isi_channel_chain()
H A Dimx8-isi-video.c416 max_width = pipe->id == pipe->isi->pdata->num_channels - 1 in mxc_isi_format_try()
495 struct device *dev = pipe->isi->dev; in mxc_isi_video_frame_write_done()
556 buf_id = pipe->isi->pdata->buf_active_reverse in mxc_isi_video_frame_write_done()
664 dma_free_coherent(video->pipe->isi->dev, buf->size, buf->addr, in mxc_isi_video_free_discard_buffers()
679 buf->addr = dma_alloc_coherent(video->pipe->isi->dev, buf->size, in mxc_isi_video_alloc_discard_buffers()
686 dev_dbg(video->pipe->isi->dev, in mxc_isi_video_alloc_discard_buffers()
721 dev_dbg(video->pipe->isi->dev, in mxc_isi_video_validate_format()
860 int mxc_isi_video_buffer_prepare(struct mxc_isi_dev *isi, struct vb2_buffer *vb2, in mxc_isi_video_buffer_prepare() argument
870 dev_err(isi->dev, "User buffer too small (%ld < %ld)\n", in mxc_isi_video_buffer_prepare()
908 return mxc_isi_video_buffer_prepare(video->pipe->isi, vb2, in mxc_isi_vb2_buffer_prepare()
[all …]
/linux/fs/iomap/
H A Dswapfile.c30 static int iomap_swapfile_add_extent(struct iomap_swapfile_info *isi) in iomap_swapfile_add_extent() argument
32 struct iomap *iomap = &isi->iomap; in iomap_swapfile_add_extent()
40 if (unlikely(isi->nr_pages >= isi->sis->max)) in iomap_swapfile_add_extent()
42 max_pages = isi->sis->max - isi->nr_pages; in iomap_swapfile_add_extent()
66 if (isi->lowest_ppage > first_ppage_reported) in iomap_swapfile_add_extent()
67 isi->lowest_ppage = first_ppage_reported; in iomap_swapfile_add_extent()
68 if (isi->highest_ppage < (next_ppage - 1)) in iomap_swapfile_add_extent()
69 isi->highest_ppage = next_ppage - 1; in iomap_swapfile_add_extent()
72 error = add_swap_extent(isi->sis, isi->nr_pages, nr_pages, first_ppage); in iomap_swapfile_add_extent()
75 isi->nr_extents += error; in iomap_swapfile_add_extent()
[all …]
/linux/drivers/parisc/
H A Diosapic.c381 irt_find_irqline(struct iosapic_info *isi, u8 slot, u8 intr_pin) in irt_find_irqline() argument
413 if (!COMPARE_IRTE_ADDR(i, isi->isi_hpa)) in irt_find_irqline()
431 isi->isi_hpa, slot, intr_pin); in irt_find_irqline()
451 iosapic_xlate_pin(struct iosapic_info *isi, struct pci_dev *pcidev) in iosapic_xlate_pin() argument
514 return irt_find_irqline(isi, intr_slot, intr_pin); in iosapic_xlate_pin()
699 struct iosapic_info *isi = isi_obj; in iosapic_fixup_irq() local
704 if (!isi) { in iosapic_fixup_irq()
730 irte = iosapic_xlate_pin(isi, pcidev); in iosapic_fixup_irq()
749 vi = isi->isi_vector + isi_line; in iosapic_fixup_irq()
776 vi->eoi_addr = isi->addr + IOSAPIC_REG_EOI; in iosapic_fixup_irq()
[all …]
/linux/arch/arm/boot/dts/microchip/
H A Dat91sam9x5_isi.dtsi16 isi {
17 pinctrl_isi_data_0_7: isi-0-data-0-7 {
32 pinctrl_isi_data_8_9: isi-0-data-8-9 {
38 pinctrl_isi_data_10_11: isi-0-data-10-11 {
46 isi: isi@f8048000 { label
47 compatible = "atmel,at91sam9g45-isi";
H A Dsama5d35ek.dts36 isi: isi@f0034000 { label
H A Dsama5d3xmb.dtsi84 isi: isi@f0034000 { label
H A Dat91sam9g25ek.dts40 &isi {
H A Dsama5d3xmb_cmp.dtsi83 isi: isi@f0034000 { label
H A Dat91sam9g45.dtsi270 isi {
271 pinctrl_isi_data_0_7: isi-0-data-0-7 {
286 pinctrl_isi_data_8_9: isi-0-data-8-9 {
292 pinctrl_isi_data_10_11: isi-0-data-10-11 {
831 isi@fffb4000 {
832 compatible = "atmel,at91sam9g45-isi";
H A Dsama5d3.dtsi246 isi: isi@f0034000 { label
247 compatible = "atmel,at91sam9g45-isi";
673 isi {
674 pinctrl_isi_data_0_7: isi-0-data-0-7 {
689 pinctrl_isi_data_8_9: isi-0-data-8-9 {
695 pinctrl_isi_data_10_11: isi-0-data-10-11 {
/linux/Documentation/devicetree/bindings/media/
H A Datmel-isi.txt5 - compatible: must be "atmel,at91sam9g45-isi" or "microchip,sam9x60-isi".
28 isi: isi@f0034000 {
29 compatible = "atmel,at91sam9g45-isi";
/linux/drivers/media/platform/nxp/
H A DMakefile5 obj-y += imx8-isi/
H A DKconfig42 source "drivers/media/platform/nxp/imx8-isi/Kconfig"
/linux/drivers/media/pci/ddbridge/
H A Dddbridge-sx8.c354 u32 ts_config = SX8_TSCONFIG_MODE_NORMAL, iq_mode = 0, isi; in set_parameters() local
359 isi = p->stream_id; in set_parameters()
360 if (isi != NO_STREAM_ID_FILTER) in set_parameters()
361 iq_mode = (isi & 0x30000000) >> 28; in set_parameters()

12