/linux-4.1.27/drivers/gpu/ipu-v3/ |
D | ipu-common.c | 37 static inline u32 ipu_cm_read(struct ipu_soc *ipu, unsigned offset) in ipu_cm_read() argument 39 return readl(ipu->cm_reg + offset); in ipu_cm_read() 42 static inline void ipu_cm_write(struct ipu_soc *ipu, u32 value, unsigned offset) in ipu_cm_write() argument 44 writel(value, ipu->cm_reg + offset); in ipu_cm_write() 47 void ipu_srm_dp_sync_update(struct ipu_soc *ipu) in ipu_srm_dp_sync_update() argument 51 val = ipu_cm_read(ipu, IPU_SRM_PRI2); in ipu_srm_dp_sync_update() 53 ipu_cm_write(ipu, val, IPU_SRM_PRI2); in ipu_srm_dp_sync_update() 244 struct ipuv3_channel *ipu_idmac_get(struct ipu_soc *ipu, unsigned num) in ipu_idmac_get() argument 248 dev_dbg(ipu->dev, "%s %d\n", __func__, num); in ipu_idmac_get() 253 mutex_lock(&ipu->channel_lock); in ipu_idmac_get() [all …]
|
D | ipu-prv.h | 132 struct ipu_soc *ipu; member 175 static inline u32 ipu_idmac_read(struct ipu_soc *ipu, unsigned offset) in ipu_idmac_read() argument 177 return readl(ipu->idmac_reg + offset); in ipu_idmac_read() 180 static inline void ipu_idmac_write(struct ipu_soc *ipu, u32 value, in ipu_idmac_write() argument 183 writel(value, ipu->idmac_reg + offset); in ipu_idmac_write() 186 void ipu_srm_dp_sync_update(struct ipu_soc *ipu); 188 int ipu_module_enable(struct ipu_soc *ipu, u32 mask); 189 int ipu_module_disable(struct ipu_soc *ipu, u32 mask); 191 bool ipu_idmac_channel_busy(struct ipu_soc *ipu, unsigned int chno); 192 int ipu_wait_interrupt(struct ipu_soc *ipu, int irq, int ms); [all …]
|
D | Makefile | 1 obj-$(CONFIG_IMX_IPUV3_CORE) += imx-ipu-v3.o 3 imx-ipu-v3-objs := ipu-common.o ipu-cpmem.o ipu-csi.o ipu-dc.o ipu-di.o \ 4 ipu-dp.o ipu-dmfc.o ipu-ic.o ipu-smfc.o
|
D | ipu-dp.c | 69 struct ipu_soc *ipu; member 115 ipu_srm_dp_sync_update(priv->ipu); in ipu_dp_set_global_alpha() 130 ipu_srm_dp_sync_update(priv->ipu); in ipu_dp_set_window_pos() 210 ipu_srm_dp_sync_update(priv->ipu); in ipu_dp_setup_channel() 218 int ipu_dp_enable(struct ipu_soc *ipu) in ipu_dp_enable() argument 220 struct ipu_dp_priv *priv = ipu->dp_priv; in ipu_dp_enable() 225 ipu_module_enable(priv->ipu, IPU_CONF_DP_EN); in ipu_dp_enable() 250 ipu_srm_dp_sync_update(priv->ipu); in ipu_dp_enable_channel() 278 ipu_srm_dp_sync_update(priv->ipu); in ipu_dp_disable_channel() 280 if (ipu_idmac_channel_busy(priv->ipu, IPUV3_CHANNEL_MEM_BG_SYNC)) in ipu_dp_disable_channel() [all …]
|
D | ipu-ic.c | 161 struct ipu_soc *ipu; member 245 dev_err(priv->ipu->dev, "Unsupported color space conversion\n"); in init_csc() 284 struct ipu_soc *ipu = priv->ipu; in calc_resize_coeffs() local 292 dev_err(ipu->dev, "Unsupported resize (in_size > 4096)\n"); in calc_resize_coeffs() 296 dev_err(ipu->dev, "Unsupported resize (out_size > 1024)\n"); in calc_resize_coeffs() 302 dev_err(ipu->dev, "Unsupported downsize\n"); in calc_resize_coeffs() 323 dev_err(ipu->dev, "Warning! Overflow on resize coeff.\n"); in calc_resize_coeffs() 497 struct ipu_soc *ipu = priv->ipu; in ipu_ic_task_idma_init() local 505 dev_err(ipu->dev, "Illegal burst length for IC\n"); in ipu_ic_task_idma_init() 644 ipu_module_enable(priv->ipu, module); in ipu_ic_enable() [all …]
|
D | ipu-cpmem.c | 32 struct ipu_soc *ipu; member 100 struct ipu_cpmem *cpmem = ch->ipu->cpmem_priv; in ipu_get_cpmem() 235 struct ipu_soc *ipu = ch->ipu; in ipu_cpmem_set_high_priority() local 238 if (ipu->ipu_type == IPUV3EX) in ipu_cpmem_set_high_priority() 241 val = ipu_idmac_read(ipu, IDMAC_CHA_PRI(ch->num)); in ipu_cpmem_set_high_priority() 243 ipu_idmac_write(ipu, val, IDMAC_CHA_PRI(ch->num)); in ipu_cpmem_set_high_priority() 680 struct ipu_soc *ipu = ch->ipu; in ipu_cpmem_dump() local 683 dev_dbg(ipu->dev, "ch %d word 0 - %08X %08X %08X %08X %08X\n", chno, in ipu_cpmem_dump() 689 dev_dbg(ipu->dev, "ch %d word 1 - %08X %08X %08X %08X %08X\n", chno, in ipu_cpmem_dump() 695 dev_dbg(ipu->dev, "PFS 0x%x, ", in ipu_cpmem_dump() [all …]
|
D | ipu-csi.c | 38 struct ipu_soc *ipu; member 210 dev_err(csi->ipu->dev, in ipu_csi_set_testgen_mclk() 429 dev_err(csi->ipu->dev, in ipu_csi_init_interface() 449 dev_dbg(csi->ipu->dev, "CSI_SENS_CONF = 0x%08X\n", in ipu_csi_init_interface() 451 dev_dbg(csi->ipu->dev, "CSI_ACT_FRM_SIZE = 0x%08X\n", in ipu_csi_init_interface() 484 dev_err(csi->ipu->dev, in ipu_csi_is_interlaced() 636 ipu_module_enable(csi->ipu, csi->module); in ipu_csi_enable() 644 ipu_module_disable(csi->ipu, csi->module); in ipu_csi_disable() 650 struct ipu_csi *ipu_csi_get(struct ipu_soc *ipu, int id) in ipu_csi_get() argument 658 csi = ipu->csi_priv[id]; in ipu_csi_get() [all …]
|
D | ipu-smfc.c | 32 struct ipu_soc *ipu; member 110 ipu_module_enable(priv->ipu, IPU_CONF_SMFC_EN); in ipu_smfc_enable() 130 ipu_module_disable(priv->ipu, IPU_CONF_SMFC_EN); in ipu_smfc_disable() 141 struct ipu_smfc *ipu_smfc_get(struct ipu_soc *ipu, unsigned int chno) in ipu_smfc_get() argument 143 struct ipu_smfc_priv *priv = ipu->smfc_priv; in ipu_smfc_get() 178 int ipu_smfc_init(struct ipu_soc *ipu, struct device *dev, in ipu_smfc_init() argument 188 ipu->smfc_priv = priv; in ipu_smfc_init() 190 priv->ipu = ipu; in ipu_smfc_init() 206 void ipu_smfc_exit(struct ipu_soc *ipu) in ipu_smfc_exit() argument
|
D | ipu-dmfc.c | 110 struct ipu_soc *ipu; member 116 struct ipu_soc *ipu; member 131 ipu_module_enable(priv->ipu, IPU_CONF_DMFC_EN); in ipu_dmfc_enable_channel() 165 ipu_module_disable(priv->ipu, IPU_CONF_DMFC_EN); in ipu_dmfc_disable_channel() 371 struct dmfc_channel *ipu_dmfc_get(struct ipu_soc *ipu, int ipu_channel) in ipu_dmfc_get() argument 373 struct ipu_dmfc_priv *priv = ipu->dmfc_priv; in ipu_dmfc_get() 389 int ipu_dmfc_init(struct ipu_soc *ipu, struct device *dev, unsigned long base, in ipu_dmfc_init() argument 404 priv->ipu = ipu; in ipu_dmfc_init() 407 ipu->dmfc_priv = priv; in ipu_dmfc_init() 411 priv->channels[i].ipu = ipu; in ipu_dmfc_init() [all …]
|
D | ipu-dc.c | 110 struct ipu_soc *ipu; member 234 void ipu_dc_enable(struct ipu_soc *ipu) in ipu_dc_enable() argument 236 struct ipu_dc_priv *priv = ipu->dc_priv; in ipu_dc_enable() 241 ipu_module_enable(priv->ipu, IPU_CONF_DC_EN); in ipu_dc_enable() 306 void ipu_dc_disable(struct ipu_soc *ipu) in ipu_dc_disable() argument 308 struct ipu_dc_priv *priv = ipu->dc_priv; in ipu_dc_disable() 314 ipu_module_disable(priv->ipu, IPU_CONF_DC_EN); in ipu_dc_disable() 348 struct ipu_dc *ipu_dc_get(struct ipu_soc *ipu, int channel) in ipu_dc_get() argument 350 struct ipu_dc_priv *priv = ipu->dc_priv; in ipu_dc_get() 383 int ipu_dc_init(struct ipu_soc *ipu, struct device *dev, in ipu_dc_init() argument [all …]
|
D | ipu-di.c | 34 struct ipu_soc *ipu; member 175 dev_err(di->ipu->dev, "DI%d counters out of range.\n", in ipu_di_sync_config() 466 dev_dbg(di->ipu->dev, " IPU clock can give %lu with divider %u, error %d.%u%%\n", in ipu_di_config_clock() 509 dev_dbg(di->ipu->dev, "Want %luHz IPU %luHz DI %luHz using %s, %luHz\n", in ipu_di_config_clock() 537 dev_warn(di->ipu->dev, "failed to adjust videomode\n"); in ipu_di_adjust_videomode() 541 dev_warn(di->ipu->dev, "videomode adapted for IPU restrictions\n"); in ipu_di_adjust_videomode() 552 dev_dbg(di->ipu->dev, "disp %d: panel size = %d x %d\n", in ipu_di_init_sync_panel() 558 dev_dbg(di->ipu->dev, "Clocks: IPU %luHz DI %luHz Needed %luHz\n", in ipu_di_init_sync_panel() 658 ipu_module_enable(di->ipu, di->module); in ipu_di_enable() 668 ipu_module_disable(di->ipu, di->module); in ipu_di_disable() [all …]
|
/linux-4.1.27/drivers/dma/ipu/ |
D | ipu_irq.c | 25 static u32 ipu_read_reg(struct ipu *ipu, unsigned long reg) in ipu_read_reg() argument 27 return __raw_readl(ipu->reg_ipu + reg); in ipu_read_reg() 30 static void ipu_write_reg(struct ipu *ipu, u32 value, unsigned long reg) in ipu_write_reg() argument 32 __raw_writel(value, ipu->reg_ipu + reg); in ipu_write_reg() 47 struct ipu *ipu; member 76 struct ipu *ipu; member 112 reg = ipu_read_reg(bank->ipu, bank->control); in ipu_irq_unmask() 114 ipu_write_reg(bank->ipu, reg, bank->control); in ipu_irq_unmask() 135 reg = ipu_read_reg(bank->ipu, bank->control); in ipu_irq_mask() 137 ipu_write_reg(bank->ipu, reg, bank->control); in ipu_irq_mask() [all …]
|
D | ipu_idmac.c | 42 static struct ipu ipu_data; 44 #define to_ipu(id) container_of(id, struct ipu, idmac) 46 static u32 __idmac_read_icreg(struct ipu *ipu, unsigned long reg) in __idmac_read_icreg() argument 48 return __raw_readl(ipu->reg_ic + reg); in __idmac_read_icreg() 51 #define idmac_read_icreg(ipu, reg) __idmac_read_icreg(ipu, reg - IC_CONF) argument 53 static void __idmac_write_icreg(struct ipu *ipu, u32 value, unsigned long reg) in __idmac_write_icreg() argument 55 __raw_writel(value, ipu->reg_ic + reg); in __idmac_write_icreg() 58 #define idmac_write_icreg(ipu, v, reg) __idmac_write_icreg(ipu, v, reg - IC_CONF) argument 60 static u32 idmac_read_ipureg(struct ipu *ipu, unsigned long reg) in idmac_read_ipureg() argument 62 return __raw_readl(ipu->reg_ipu + reg); in idmac_read_ipureg() [all …]
|
D | ipu_intern.h | 152 struct ipu { struct 169 extern int ipu_irq_attach_irq(struct ipu *ipu, struct platform_device *dev); argument 170 extern void ipu_irq_detach_irq(struct ipu *ipu, struct platform_device *dev);
|
/linux-4.1.27/include/video/ |
D | imx-ipu-v3.h | 121 int ipu_map_irq(struct ipu_soc *ipu, int irq); 122 int ipu_idmac_channel_irq(struct ipu_soc *ipu, struct ipuv3_channel *channel, 140 void ipu_set_csi_src_mux(struct ipu_soc *ipu, int csi_id, bool mipi_csi2); 141 void ipu_set_ic_src_mux(struct ipu_soc *ipu, int csi_id, bool vdi); 142 void ipu_dump(struct ipu_soc *ipu); 147 struct ipuv3_channel *ipu_idmac_get(struct ipu_soc *ipu, unsigned channel); 210 struct ipu_dc *ipu_dc_get(struct ipu_soc *ipu, int channel); 214 void ipu_dc_enable(struct ipu_soc *ipu); 217 void ipu_dc_disable(struct ipu_soc *ipu); 222 struct ipu_di *ipu_di_get(struct ipu_soc *ipu, int disp); [all …]
|
/linux-4.1.27/drivers/gpu/drm/imx/ |
D | ipuv3-plane.c | 40 return ipu_idmac_channel_irq(ipu_plane->ipu, ipu_plane->ipu_ch, in ipu_plane_irq() 239 ipu_plane->ipu_ch = ipu_idmac_get(ipu_plane->ipu, ipu_plane->dma); in ipu_plane_get_resources() 246 ipu_plane->dmfc = ipu_dmfc_get(ipu_plane->ipu, ipu_plane->dma); in ipu_plane_get_resources() 254 ipu_plane->dp = ipu_dp_get(ipu_plane->ipu, ipu_plane->dp_flow); in ipu_plane_get_resources() 272 ipu_dp_enable(ipu_plane->ipu); in ipu_plane_enable() 292 ipu_dp_disable(ipu_plane->ipu); in ipu_plane_disable() 366 struct ipu_plane *ipu_plane_init(struct drm_device *dev, struct ipu_soc *ipu, in ipu_plane_init() argument 382 ipu_plane->ipu = ipu; in ipu_plane_init()
|
D | ipuv3-crtc.c | 57 struct ipu_soc *ipu = dev_get_drvdata(ipu_crtc->dev->parent); in ipu_fb_enable() local 62 ipu_dc_enable(ipu); in ipu_fb_enable() 73 struct ipu_soc *ipu = dev_get_drvdata(ipu_crtc->dev->parent); in ipu_fb_disable() local 82 ipu_dc_disable(ipu); in ipu_fb_disable() 324 struct ipu_soc *ipu = dev_get_drvdata(ipu_crtc->dev->parent); in ipu_get_resources() local 327 ipu_crtc->dc = ipu_dc_get(ipu, pdata->dc); in ipu_get_resources() 333 ipu_crtc->di = ipu_di_get(ipu, pdata->di); in ipu_get_resources() 349 struct ipu_soc *ipu = dev_get_drvdata(ipu_crtc->dev->parent); in ipu_crtc_init() local 371 ipu_crtc->plane[0] = ipu_plane_init(ipu_crtc->base.dev, ipu, in ipu_crtc_init() 382 ipu_crtc->plane[1] = ipu_plane_init(ipu_crtc->base.dev, ipu, in ipu_crtc_init()
|
D | ipuv3-plane.h | 19 struct ipu_soc *ipu; member 35 struct ipu_plane *ipu_plane_init(struct drm_device *dev, struct ipu_soc *ipu,
|
/linux-4.1.27/Documentation/devicetree/bindings/drm/imx/ |
D | fsl-imx-drm.txt | 24 - compatible: Should be "fsl,<chip>-ipu" 39 ipu: ipu@18000000 { 42 compatible = "fsl,imx53-ipu";
|
/linux-4.1.27/drivers/net/ipvlan/ |
D | ipvlan.h | 82 } ipu; member 83 #define ip6addr ipu.ip6 84 #define ip4addr ipu.ip4
|
/linux-4.1.27/Documentation/devicetree/bindings/reset/ |
D | fsl,imx-src.txt | 36 ipu1: ipu@02400000 { 39 ipu2: ipu@02800000 {
|
/linux-4.1.27/drivers/gpu/ |
D | Makefile | 6 obj-$(CONFIG_IMX_IPUV3_CORE) += ipu-v3/
|
/linux-4.1.27/drivers/video/ |
D | Kconfig | 23 source "drivers/gpu/ipu-v3/Kconfig"
|
/linux-4.1.27/arch/arm/boot/dts/ |
D | imx6q.dtsi | 156 ipu2: ipu@02800000 { 159 compatible = "fsl,imx6q-ipu";
|
D | imx53-tx53.dtsi | 25 ipu = &ipu; 481 &ipu {
|
D | imx51.dtsi | 126 ipu: ipu@40000000 { label 129 compatible = "fsl,imx51-ipu";
|
D | imx53.dtsi | 126 ipu: ipu@18000000 { label 129 compatible = "fsl,imx53-ipu";
|
D | imx6qdl.dtsi | 1121 ipu1: ipu@02400000 { 1124 compatible = "fsl,imx6q-ipu";
|
/linux-4.1.27/arch/arm/mach-imx/devices/ |
D | Makefile | 18 obj-$(CONFIG_IMX_HAVE_PLATFORM_IPU_CORE) += platform-ipu-core.o
|
/linux-4.1.27/drivers/dma/ |
D | Makefile | 20 obj-$(CONFIG_MX3_IPU) += ipu/
|