/linux/drivers/media/platform/atmel/ |
H A D | atmel-isi.c | 135 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 D | Makefile | 3 obj-$(CONFIG_VIDEO_ATMEL_ISI) += atmel-isi.o
|
/linux/drivers/media/platform/nxp/imx8-isi/ |
H A D | imx8-isi-core.c | 55 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 D | Makefile | 3 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 D | imx8-isi-gasket.c | 27 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 D | imx8-isi-debug.c | 85 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 D | imx8-isi-crossbar.c | 32 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 D | imx8-isi-core.h | 151 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 D | imx8-isi-pipe.c | 237 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 D | imx8-isi-m2m.c | 96 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 D | imx8-isi-hw.c | 33 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 D | imx8-isi-video.c | 416 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 D | swapfile.c | 30 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 D | iosapic.c | 381 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 D | at91sam9x5_isi.dtsi | 16 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 D | sama5d35ek.dts | 36 isi: isi@f0034000 { label
|
H A D | sama5d3xmb.dtsi | 84 isi: isi@f0034000 { label
|
H A D | at91sam9g25ek.dts | 40 &isi {
|
H A D | sama5d3xmb_cmp.dtsi | 83 isi: isi@f0034000 { label
|
H A D | at91sam9g45.dtsi | 270 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 D | sama5d3.dtsi | 246 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 D | atmel-isi.txt | 5 - 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 D | Makefile | 5 obj-y += imx8-isi/
|
H A D | Kconfig | 42 source "drivers/media/platform/nxp/imx8-isi/Kconfig"
|
/linux/drivers/media/pci/ddbridge/ |
H A D | ddbridge-sx8.c | 354 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()
|