| /kernel/linux/linux-4.19/drivers/gpu/ipu-v3/ |
| D | ipu-common.c | 35 #include <video/imx-ipu-v3.h> 36 #include "ipu-prv.h" 38 static inline u32 ipu_cm_read(struct ipu_soc *ipu, unsigned offset) in ipu_cm_read() argument 40 return readl(ipu->cm_reg + offset); in ipu_cm_read() 43 static inline void ipu_cm_write(struct ipu_soc *ipu, u32 value, unsigned offset) in ipu_cm_write() argument 45 writel(value, ipu->cm_reg + offset); in ipu_cm_write() 48 int ipu_get_num(struct ipu_soc *ipu) in ipu_get_num() argument 50 return ipu->id; in ipu_get_num() 54 void ipu_srm_dp_update(struct ipu_soc *ipu, bool sync) in ipu_srm_dp_update() argument 58 val = ipu_cm_read(ipu, IPU_SRM_PRI2); in ipu_srm_dp_update() [all …]
|
| D | Makefile | 2 obj-$(CONFIG_IMX_IPUV3_CORE) += imx-ipu-v3.o 4 imx-ipu-v3-objs := ipu-common.o ipu-cpmem.o ipu-csi.o ipu-dc.o ipu-di.o \ 5 ipu-dp.o ipu-dmfc.o ipu-ic.o ipu-image-convert.o \ 6 ipu-smfc.o ipu-vdi.o 9 imx-ipu-v3-objs += ipu-pre.o ipu-prg.o
|
| D | ipu-prv.h | 25 #include <video/imx-ipu-v3.h> 38 /* IPU Common registers */ 160 struct ipu_soc *ipu; member 211 static inline u32 ipu_idmac_read(struct ipu_soc *ipu, unsigned offset) in ipu_idmac_read() argument 213 return readl(ipu->idmac_reg + offset); in ipu_idmac_read() 216 static inline void ipu_idmac_write(struct ipu_soc *ipu, u32 value, in ipu_idmac_write() argument 219 writel(value, ipu->idmac_reg + offset); in ipu_idmac_write() 222 void ipu_srm_dp_update(struct ipu_soc *ipu, bool sync); 224 int ipu_module_enable(struct ipu_soc *ipu, u32 mask); 225 int ipu_module_disable(struct ipu_soc *ipu, u32 mask); [all …]
|
| D | ipu-dmfc.c | 20 #include <video/imx-ipu-v3.h> 21 #include "ipu-prv.h" 96 struct ipu_soc *ipu; member 102 struct ipu_soc *ipu; member 116 ipu_module_enable(priv->ipu, IPU_CONF_DMFC_EN); in ipu_dmfc_enable_channel() 135 ipu_module_disable(priv->ipu, IPU_CONF_DMFC_EN); in ipu_dmfc_disable_channel() 164 struct dmfc_channel *ipu_dmfc_get(struct ipu_soc *ipu, int ipu_channel) in ipu_dmfc_get() argument 166 struct ipu_dmfc_priv *priv = ipu->dmfc_priv; in ipu_dmfc_get() 181 int ipu_dmfc_init(struct ipu_soc *ipu, struct device *dev, unsigned long base, in ipu_dmfc_init() argument 196 priv->ipu = ipu; in ipu_dmfc_init() [all …]
|
| D | ipu-dp.c | 22 #include <video/imx-ipu-v3.h> 23 #include "ipu-prv.h" 69 struct ipu_soc *ipu; member 115 ipu_srm_dp_update(priv->ipu, true); in ipu_dp_set_global_alpha() 130 ipu_srm_dp_update(priv->ipu, true); in ipu_dp_set_window_pos() 211 ipu_srm_dp_update(priv->ipu, true); in ipu_dp_setup_channel() 219 int ipu_dp_enable(struct ipu_soc *ipu) in ipu_dp_enable() argument 221 struct ipu_dp_priv *priv = ipu->dp_priv; in ipu_dp_enable() 226 ipu_module_enable(priv->ipu, IPU_CONF_DP_EN); in ipu_dp_enable() 251 ipu_srm_dp_update(priv->ipu, true); in ipu_dp_enable_channel() [all …]
|
| D | ipu-ic.c | 21 #include "ipu-prv.h" 162 struct ipu_soc *ipu; member 247 dev_err(priv->ipu->dev, "Unsupported color space conversion\n"); in init_csc() 286 struct ipu_soc *ipu = priv->ipu; in calc_resize_coeffs() local 294 dev_err(ipu->dev, "Unsupported resize (in_size > 4096)\n"); in calc_resize_coeffs() 298 dev_err(ipu->dev, "Unsupported resize (out_size > 1024)\n"); in calc_resize_coeffs() 304 dev_err(ipu->dev, "Unsupported downsize\n"); in calc_resize_coeffs() 325 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() [all …]
|
| D | ipu-smfc.c | 19 #include <video/imx-ipu-v3.h> 21 #include "ipu-prv.h" 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() [all …]
|
| /kernel/linux/linux-5.10/drivers/gpu/ipu-v3/ |
| D | ipu-common.c | 26 #include <video/imx-ipu-v3.h> 27 #include "ipu-prv.h" 29 static inline u32 ipu_cm_read(struct ipu_soc *ipu, unsigned offset) in ipu_cm_read() argument 31 return readl(ipu->cm_reg + offset); in ipu_cm_read() 34 static inline void ipu_cm_write(struct ipu_soc *ipu, u32 value, unsigned offset) in ipu_cm_write() argument 36 writel(value, ipu->cm_reg + offset); in ipu_cm_write() 39 int ipu_get_num(struct ipu_soc *ipu) in ipu_get_num() argument 41 return ipu->id; in ipu_get_num() 45 void ipu_srm_dp_update(struct ipu_soc *ipu, bool sync) in ipu_srm_dp_update() argument 49 val = ipu_cm_read(ipu, IPU_SRM_PRI2); in ipu_srm_dp_update() [all …]
|
| D | Makefile | 2 obj-$(CONFIG_IMX_IPUV3_CORE) += imx-ipu-v3.o 4 imx-ipu-v3-objs := ipu-common.o ipu-cpmem.o ipu-csi.o ipu-dc.o ipu-di.o \ 5 ipu-dp.o ipu-dmfc.o ipu-ic.o ipu-ic-csc.o \ 6 ipu-image-convert.o ipu-smfc.o ipu-vdi.o 9 imx-ipu-v3-objs += ipu-pre.o ipu-prg.o
|
| D | ipu-prv.h | 16 #include <video/imx-ipu-v3.h> 29 /* IPU Common registers */ 151 struct ipu_soc *ipu; member 202 static inline u32 ipu_idmac_read(struct ipu_soc *ipu, unsigned offset) in ipu_idmac_read() argument 204 return readl(ipu->idmac_reg + offset); in ipu_idmac_read() 207 static inline void ipu_idmac_write(struct ipu_soc *ipu, u32 value, in ipu_idmac_write() argument 210 writel(value, ipu->idmac_reg + offset); in ipu_idmac_write() 213 void ipu_srm_dp_update(struct ipu_soc *ipu, bool sync); 215 int ipu_module_enable(struct ipu_soc *ipu, u32 mask); 216 int ipu_module_disable(struct ipu_soc *ipu, u32 mask); [all …]
|
| D | ipu-dmfc.c | 11 #include <video/imx-ipu-v3.h> 12 #include "ipu-prv.h" 87 struct ipu_soc *ipu; member 93 struct ipu_soc *ipu; member 107 ipu_module_enable(priv->ipu, IPU_CONF_DMFC_EN); in ipu_dmfc_enable_channel() 126 ipu_module_disable(priv->ipu, IPU_CONF_DMFC_EN); in ipu_dmfc_disable_channel() 155 struct dmfc_channel *ipu_dmfc_get(struct ipu_soc *ipu, int ipu_channel) in ipu_dmfc_get() argument 157 struct ipu_dmfc_priv *priv = ipu->dmfc_priv; in ipu_dmfc_get() 172 int ipu_dmfc_init(struct ipu_soc *ipu, struct device *dev, unsigned long base, in ipu_dmfc_init() argument 187 priv->ipu = ipu; in ipu_dmfc_init() [all …]
|
| D | ipu-dp.c | 13 #include <video/imx-ipu-v3.h> 14 #include "ipu-prv.h" 60 struct ipu_soc *ipu; member 106 ipu_srm_dp_update(priv->ipu, true); in ipu_dp_set_global_alpha() 121 ipu_srm_dp_update(priv->ipu, true); in ipu_dp_set_window_pos() 202 ipu_srm_dp_update(priv->ipu, true); in ipu_dp_setup_channel() 210 int ipu_dp_enable(struct ipu_soc *ipu) in ipu_dp_enable() argument 212 struct ipu_dp_priv *priv = ipu->dp_priv; in ipu_dp_enable() 217 ipu_module_enable(priv->ipu, IPU_CONF_DP_EN); in ipu_dp_enable() 242 ipu_srm_dp_update(priv->ipu, true); in ipu_dp_enable_channel() [all …]
|
| D | ipu-ic.c | 15 #include "ipu-prv.h" 158 struct ipu_soc *ipu; member 222 struct ipu_soc *ipu = priv->ipu; in calc_resize_coeffs() local 230 dev_err(ipu->dev, "Unsupported resize (in_size > 4096)\n"); in calc_resize_coeffs() 234 dev_err(ipu->dev, "Unsupported resize (out_size > 1024)\n"); in calc_resize_coeffs() 240 dev_err(ipu->dev, "Unsupported downsize\n"); in calc_resize_coeffs() 261 dev_err(ipu->dev, "Warning! Overflow on resize coeff.\n"); in calc_resize_coeffs() 457 struct ipu_soc *ipu = priv->ipu; in ipu_ic_task_idma_init() local 465 dev_err(ipu->dev, "Illegal burst length for IC\n"); in ipu_ic_task_idma_init() 597 ipu_module_enable(priv->ipu, IPU_CONF_ROT_EN); in ipu_irt_enable() [all …]
|
| D | ipu-smfc.c | 13 #include <video/imx-ipu-v3.h> 15 #include "ipu-prv.h" 26 struct ipu_soc *ipu; member 104 ipu_module_enable(priv->ipu, IPU_CONF_SMFC_EN); in ipu_smfc_enable() 124 ipu_module_disable(priv->ipu, IPU_CONF_SMFC_EN); in ipu_smfc_disable() 135 struct ipu_smfc *ipu_smfc_get(struct ipu_soc *ipu, unsigned int chno) in ipu_smfc_get() argument 137 struct ipu_smfc_priv *priv = ipu->smfc_priv; in ipu_smfc_get() 172 int ipu_smfc_init(struct ipu_soc *ipu, struct device *dev, in ipu_smfc_init() argument 182 ipu->smfc_priv = priv; in ipu_smfc_init() 184 priv->ipu = ipu; in ipu_smfc_init() [all …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/ingenic/ |
| D | ingenic-ipu.c | 3 // Ingenic JZ47xx IPU driver 9 #include "ingenic-ipu.h" 40 void (*set_coefs)(struct ingenic_ipu *ipu, unsigned int reg, 116 static void jz4760_set_coefs(struct ingenic_ipu *ipu, unsigned int reg, in jz4760_set_coefs() argument 160 regmap_write(ipu->map, reg, val); in jz4760_set_coefs() 165 regmap_write(ipu->map, reg, val); in jz4760_set_coefs() 168 static void jz4725b_set_coefs(struct ingenic_ipu *ipu, unsigned int reg, in jz4725b_set_coefs() argument 184 regmap_write(ipu->map, reg, val); in jz4725b_set_coefs() 188 regmap_write(ipu->map, reg, JZ4725B_IPU_RSZ_LUT_IN_EN); in jz4725b_set_coefs() 192 static void ingenic_ipu_set_downscale_coefs(struct ingenic_ipu *ipu, in ingenic_ipu_set_downscale_coefs() argument [all …]
|
| /kernel/linux/linux-4.19/drivers/dma/ipu/ |
| D | ipu_irq.c | 18 #include <linux/dma/ipu-dma.h> 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() 37 * IPU IRQ chip driver 47 struct ipu *ipu; member 76 struct ipu *ipu; member 108 pr_err("IPU: %s(%u) - unmapped!\n", __func__, d->irq); in ipu_irq_unmask() 112 reg = ipu_read_reg(bank->ipu, bank->control); in ipu_irq_unmask() [all …]
|
| D | ipu_idmac.c | 25 #include <linux/dma/ipu-dma.h> 39 * struct ipu *ipu = to_ipu(to_idmac(ichan->dma_chan.device)); 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 [all …]
|
| /kernel/linux/linux-5.10/drivers/dma/ipu/ |
| D | ipu_irq.c | 15 #include <linux/dma/ipu-dma.h> 22 static u32 ipu_read_reg(struct ipu *ipu, unsigned long reg) in ipu_read_reg() argument 24 return __raw_readl(ipu->reg_ipu + reg); in ipu_read_reg() 27 static void ipu_write_reg(struct ipu *ipu, u32 value, unsigned long reg) in ipu_write_reg() argument 29 __raw_writel(value, ipu->reg_ipu + reg); in ipu_write_reg() 34 * IPU IRQ chip driver 44 struct ipu *ipu; member 73 struct ipu *ipu; member 105 pr_err("IPU: %s(%u) - unmapped!\n", __func__, d->irq); in ipu_irq_unmask() 109 reg = ipu_read_reg(bank->ipu, bank->control); in ipu_irq_unmask() [all …]
|
| D | ipu_idmac.c | 22 #include <linux/dma/ipu-dma.h> 36 * struct ipu *ipu = to_ipu(to_idmac(ichan->dma_chan.device)); 39 static struct ipu ipu_data; 41 #define to_ipu(id) container_of(id, struct ipu, idmac) 43 static u32 __idmac_read_icreg(struct ipu *ipu, unsigned long reg) in __idmac_read_icreg() argument 45 return __raw_readl(ipu->reg_ic + reg); in __idmac_read_icreg() 48 #define idmac_read_icreg(ipu, reg) __idmac_read_icreg(ipu, reg - IC_CONF) argument 50 static void __idmac_write_icreg(struct ipu *ipu, u32 value, unsigned long reg) in __idmac_write_icreg() argument 52 __raw_writel(value, ipu->reg_ic + reg); in __idmac_write_icreg() 55 #define idmac_write_icreg(ipu, v, reg) __idmac_write_icreg(ipu, v, reg - IC_CONF) argument [all …]
|
| /kernel/linux/linux-4.19/include/video/ |
| D | imx-ipu-v3.h | 64 * Enumeration of IPU rotation modes 119 * NOTE: channels 6,7 are unused in the IPU and are not IDMAC channels, 186 int ipu_map_irq(struct ipu_soc *ipu, int irq); 187 int ipu_idmac_channel_irq(struct ipu_soc *ipu, struct ipuv3_channel *channel, 203 * IPU Common functions 205 int ipu_get_num(struct ipu_soc *ipu); 206 void ipu_set_csi_src_mux(struct ipu_soc *ipu, int csi_id, bool mipi_csi2); 207 void ipu_set_ic_src_mux(struct ipu_soc *ipu, int csi_id, bool vdi); 208 void ipu_dump(struct ipu_soc *ipu); 211 * IPU Image DMA Controller (idmac) functions [all …]
|
| D | imx-ipu-image-convert.h | 19 #include <video/imx-ipu-v3.h> 66 * ipu_image_convert_adjust() - adjust input/output images to IPU restrictions. 79 * and rotation mode meet IPU restrictions. 85 * Returns 0 if the formats and rotation mode meet IPU restrictions, 94 * @ipu: the IPU handle to use for the conversions 104 * IPU retrictions. 109 ipu_image_convert_prepare(struct ipu_soc *ipu, enum ipu_ic_task ic_task, 164 * @ipu: the IPU handle to use for the conversion 175 * mode must already meet IPU retrictions. 182 ipu_image_convert(struct ipu_soc *ipu, enum ipu_ic_task ic_task, [all …]
|
| /kernel/linux/linux-5.10/include/video/ |
| D | imx-ipu-v3.h | 64 * Enumeration of IPU rotation modes 119 * NOTE: channels 6,7 are unused in the IPU and are not IDMAC channels, 186 int ipu_map_irq(struct ipu_soc *ipu, int irq); 187 int ipu_idmac_channel_irq(struct ipu_soc *ipu, struct ipuv3_channel *channel, 203 * IPU Common functions 205 int ipu_get_num(struct ipu_soc *ipu); 206 void ipu_set_csi_src_mux(struct ipu_soc *ipu, int csi_id, bool mipi_csi2); 207 void ipu_set_ic_src_mux(struct ipu_soc *ipu, int csi_id, bool vdi); 208 void ipu_dump(struct ipu_soc *ipu); 211 * IPU Image DMA Controller (idmac) functions [all …]
|
| D | imx-ipu-image-convert.h | 10 #include <video/imx-ipu-v3.h> 57 * ipu_image_convert_adjust() - adjust input/output images to IPU restrictions. 70 * and rotation mode meet IPU restrictions. 76 * Returns 0 if the formats and rotation mode meet IPU restrictions, 85 * @ipu: the IPU handle to use for the conversions 95 * IPU retrictions. 100 ipu_image_convert_prepare(struct ipu_soc *ipu, enum ipu_ic_task ic_task, 155 * @ipu: the IPU handle to use for the conversion 166 * mode must already meet IPU retrictions. 173 ipu_image_convert(struct ipu_soc *ipu, enum ipu_ic_task ic_task, [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/display/ |
| D | ingenic,ipu.yaml | 4 $id: http://devicetree.org/schemas/display/ingenic,ipu.yaml# 7 title: Ingenic SoCs Image Processing Unit (IPU) devicetree bindings 16 - ingenic,jz4725b-ipu 17 - ingenic,jz4760-ipu 19 - const: ingenic,jz4770-ipu 20 - const: ingenic,jz4760-ipu 32 const: ipu 50 ipu@13080000 { 51 compatible = "ingenic,jz4770-ipu", "ingenic,jz4760-ipu"; 58 clock-names = "ipu";
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/remoteproc/ |
| D | ti,omap-remoteproc.yaml | 21 The OMAP SoCs usually have a DSP processor sub-system and/or an IPU processor 23 C66x or C67x family of DSP cores as the main execution unit. The IPU processor 45 - ti,omap4-ipu 46 - ti,omap5-ipu 47 - ti,dra7-ipu 105 'reg-names'. These are mandatory for all DSP and IPU 186 - ti,omap4-ipu 187 - ti,omap5-ipu 188 - ti,dra7-ipu 251 //Example 2: OMAP5 IPU [all …]
|