Home
last modified time | relevance | path

Searched refs:ipu (Results 1 – 25 of 44) sorted by relevance

12

/linux/drivers/gpu/ipu-v3/
H A Dipu-common.c29 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()
53 ipu_cm_write(ipu, val, IPU_SRM_PRI2); in ipu_srm_dp_update()
168 struct ipuv3_channel *ipu_idmac_get(struct ipu_soc *ipu, unsigned num) in ipu_idmac_get() argument
[all …]
H A DMakefile2 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
H A Dipu-dmfc.c87 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()
190 ipu->dmfc_priv = priv; in ipu_dmfc_init()
194 priv->channels[i].ipu = ipu; in ipu_dmfc_init()
[all …]
H A Dipu-dp.c61 struct ipu_soc *ipu; member
107 ipu_srm_dp_update(priv->ipu, true); in ipu_dp_set_global_alpha()
122 ipu_srm_dp_update(priv->ipu, true); in ipu_dp_set_window_pos()
221 ipu_srm_dp_update(priv->ipu, true); in ipu_dp_setup_channel()
229 int ipu_dp_enable(struct ipu_soc *ipu) in ipu_dp_enable() argument
231 struct ipu_dp_priv *priv = ipu->dp_priv; in ipu_dp_enable()
236 ipu_module_enable(priv->ipu, IPU_CONF_DP_EN); in ipu_dp_enable()
261 ipu_srm_dp_update(priv->ipu, true); in ipu_dp_enable_channel()
292 ipu_srm_dp_update(priv->ipu, sync); in ipu_dp_disable_channel()
298 void ipu_dp_disable(struct ipu_soc *ipu) in ipu_dp_disable() argument
[all …]
H A Dipu-smfc.c26 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()
200 void ipu_smfc_exit(struct ipu_soc *ipu) in ipu_smfc_exit() argument
H A Dipu-dc.c101 struct ipu_soc *ipu; member
231 void ipu_dc_enable(struct ipu_soc *ipu) in ipu_dc_enable() argument
233 struct ipu_dc_priv *priv = ipu->dc_priv; in ipu_dc_enable()
238 ipu_module_enable(priv->ipu, IPU_CONF_DC_EN); in ipu_dc_enable()
266 void ipu_dc_disable(struct ipu_soc *ipu) in ipu_dc_disable() argument
268 struct ipu_dc_priv *priv = ipu->dc_priv; in ipu_dc_disable()
274 ipu_module_disable(priv->ipu, IPU_CONF_DC_EN); in ipu_dc_disable()
308 struct ipu_dc *ipu_dc_get(struct ipu_soc *ipu, int channel) in ipu_dc_get() argument
310 struct ipu_dc_priv *priv = ipu->dc_priv; in ipu_dc_get()
343 int ipu_dc_init(struct ipu_soc *ipu, struct device *dev, in ipu_dc_init() argument
[all …]
H A Dipu-di.c25 struct ipu_soc *ipu; member
170 dev_err(di->ipu->dev, "DI%d counters out of range.\n", in ipu_di_sync_config()
450 dev_dbg(di->ipu->dev, " IPU clock can give %lu with divider %u, error %c%d.%d%%\n", in ipu_di_config_clock()
494 dev_dbg(di->ipu->dev, "Want %luHz IPU %luHz DI %luHz using %s, %luHz\n", in ipu_di_config_clock()
512 …dev_err(di->ipu->dev, "hactive %d is not aligned to 8 and front porch is too small to compensate\n… in ipu_di_adjust_videomode()
529 dev_warn(di->ipu->dev, "failed to adjust videomode\n"); in ipu_di_adjust_videomode()
533 dev_dbg(di->ipu->dev, "videomode adapted for IPU restrictions\n"); in ipu_di_adjust_videomode()
567 dev_dbg(di->ipu->dev, "disp %d: panel size = %d x %d\n", in ipu_di_init_sync_panel()
570 dev_dbg(di->ipu->dev, "Clocks: IPU %luHz DI %luHz Needed %luHz\n", in ipu_di_init_sync_panel()
651 ipu_module_enable(di->ipu, di->module); in ipu_di_enable()
[all …]
H A Dipu-image-convert.c229 struct ipu_soc *ipu; member
346 dev_dbg(priv->ipu->dev, in dump_format()
362 dma_free_coherent(priv->ipu->dev, in free_dma_buf()
373 buf->virt = dma_alloc_coherent(priv->ipu->dev, buf->len, &buf->phys, in alloc_dma_buf()
376 dev_err(priv->ipu->dev, "failed to alloc dma buffer\n"); in alloc_dma_buf()
447 dev_dbg(ctx->chan->priv->ipu->dev, in calc_image_resize_coefficients()
500 struct device *dev = ctx->chan->priv->ipu->dev; in find_best_seam()
720 struct device *dev = ctx->chan->priv->ipu->dev; in find_seams()
878 dev_dbg(priv->ipu->dev, in calc_tile_dimensions()
887 dev_err(priv->ipu->dev, "invalid %s tile size: %ux%u\n", in calc_tile_dimensions()
[all …]
H A Dipu-prg.c115 bool ipu_prg_present(struct ipu_soc *ipu) in ipu_prg_present() argument
117 if (ipu->prg_priv) in ipu_prg_present()
124 bool ipu_prg_format_supported(struct ipu_soc *ipu, uint32_t format, in ipu_prg_format_supported() argument
143 int ipu_prg_enable(struct ipu_soc *ipu) in ipu_prg_enable() argument
145 struct ipu_prg *prg = ipu->prg_priv; in ipu_prg_enable()
154 void ipu_prg_disable(struct ipu_soc *ipu) in ipu_prg_disable() argument
156 struct ipu_prg *prg = ipu->prg_priv; in ipu_prg_disable()
245 struct ipu_prg *prg = ipu_chan->ipu->prg_priv; in ipu_prg_channel_disable()
279 struct ipu_prg *prg = ipu_chan->ipu->prg_priv; in ipu_prg_channel_configure()
345 struct ipu_prg *prg = ipu_chan->ipu->prg_priv; in ipu_prg_channel_configure_pending()
/linux/drivers/gpu/drm/ingenic/
H A Dingenic-ipu.c43 void (*set_coefs)(struct ingenic_ipu *ipu, unsigned int reg,
155 static void jz4760_set_coefs(struct ingenic_ipu *ipu, unsigned int reg, in jz4760_set_coefs() argument
199 regmap_write(ipu->map, reg, val); in jz4760_set_coefs()
204 regmap_write(ipu->map, reg, val); in jz4760_set_coefs()
207 static void jz4725b_set_coefs(struct ingenic_ipu *ipu, unsigned int reg, in jz4725b_set_coefs() argument
223 regmap_write(ipu->map, reg, val); in jz4725b_set_coefs()
227 regmap_write(ipu->map, reg, JZ4725B_IPU_RSZ_LUT_IN_EN); in jz4725b_set_coefs()
231 static void ingenic_ipu_set_downscale_coefs(struct ingenic_ipu *ipu, in ingenic_ipu_set_downscale_coefs() argument
244 ipu->soc_info->set_coefs(ipu, reg, ipu->sharpness, in ingenic_ipu_set_downscale_coefs()
249 static void ingenic_ipu_set_integer_upscale_coefs(struct ingenic_ipu *ipu, in ingenic_ipu_set_integer_upscale_coefs() argument
[all …]
H A DMakefile3 ingenic-drm-$(CONFIG_DRM_INGENIC_IPU) += ingenic-ipu.o
/linux/include/video/
H A Dimx-ipu-v3.h187 int ipu_map_irq(struct ipu_soc *ipu, int irq);
188 int ipu_idmac_channel_irq(struct ipu_soc *ipu, struct ipuv3_channel *channel,
206 int ipu_get_num(struct ipu_soc *ipu);
207 void ipu_set_csi_src_mux(struct ipu_soc *ipu, int csi_id, bool mipi_csi2);
208 void ipu_set_ic_src_mux(struct ipu_soc *ipu, int csi_id, bool vdi);
209 void ipu_dump(struct ipu_soc *ipu);
214 struct ipuv3_channel *ipu_idmac_get(struct ipu_soc *ipu, unsigned channel);
229 int ipu_fsu_link(struct ipu_soc *ipu, int src_ch, int sink_ch);
230 int ipu_fsu_unlink(struct ipu_soc *ipu, int src_ch, int sink_ch);
285 struct ipu_dc *ipu_dc_get(struct ipu_soc *ipu, in
[all...]
H A Dimx-ipu-image-convert.h10 #include <video/imx-ipu-v3.h>
72 * @ipu: the IPU handle to use for the conversions
87 ipu_image_convert_prepare(struct ipu_soc *ipu, enum ipu_ic_task ic_task,
142 * @ipu: the IPU handle to use for the conversion
160 ipu_image_convert(struct ipu_soc *ipu, enum ipu_ic_task ic_task,
/linux/drivers/staging/media/imx/
H A Dimx-media-internal-sd.c36 struct ipu_soc *ipu,
196 struct ipu_soc *ipu; in imx_media_register_ipu_internal_subdevs() local
199 ipu = dev_get_drvdata(ipu_dev); in imx_media_register_ipu_internal_subdevs()
200 if (!ipu) { in imx_media_register_ipu_internal_subdevs()
205 ipu_id = ipu_get_num(ipu); in imx_media_register_ipu_internal_subdevs()
214 if (!imxmd->ipu[ipu_id]) in imx_media_register_ipu_internal_subdevs()
215 imxmd->ipu[ipu_id] = ipu; in imx_media_register_ipu_internal_subdevs()
231 sd = intsd->sync_register(&imxmd->v4l2_dev, ipu_dev, ipu, in imx_media_register_ipu_internal_subdevs()
H A Dimx-ic-common.c23 struct ipu_soc *ipu, in imx_media_ic_register() argument
34 priv->ipu = ipu; in imx_media_ic_register()
60 priv->sd.grp_id, ipu_get_num(ipu)); in imx_media_ic_register()
H A Dimx-media.h157 struct ipu_soc *ipu[2]; member
258 struct ipu_soc *ipu,
265 struct ipu_soc *ipu,
H A Dimx-ic-prpencvf.c157 ic = ipu_ic_get(ic_priv->ipu, task); in prp_get_ipu_resources()
165 out_ch = ipu_idmac_get(ic_priv->ipu, prp_channel[task].out_ch); in prp_get_ipu_resources()
174 rot_in_ch = ipu_idmac_get(ic_priv->ipu, prp_channel[task].rot_in_ch); in prp_get_ipu_resources()
183 rot_out_ch = ipu_idmac_get(ic_priv->ipu, prp_channel[task].rot_out_ch); in prp_get_ipu_resources()
625 ipu_dump(ic_priv->ipu); in prp_setup_norotation()
694 priv->nfb4eof_irq = ipu_idmac_channel_irq(ic_priv->ipu, in prp_start()
708 ic_priv->ipu, priv->rot_out_ch, IPU_IRQ_EOF); in prp_start()
711 ic_priv->ipu, priv->out_ch, IPU_IRQ_EOF); in prp_start()
H A Dimx-ic.h14 struct ipu_soc *ipu; member
/linux/drivers/gpu/drm/imx/ipuv3/
H A Dipuv3-crtc.c53 struct ipu_soc *ipu = dev_get_drvdata(ipu_crtc->dev->parent); in ipu_crtc_atomic_enable() local
55 ipu_prg_enable(ipu); in ipu_crtc_atomic_enable()
56 ipu_dc_enable(ipu); in ipu_crtc_atomic_enable()
87 struct ipu_soc *ipu = dev_get_drvdata(ipu_crtc->dev->parent); in ipu_crtc_atomic_disable() local
97 ipu_dc_disable(ipu); in ipu_crtc_atomic_disable()
98 ipu_prg_disable(ipu); in ipu_crtc_atomic_disable()
346 struct ipu_soc *ipu = dev_get_drvdata(ipu_crtc->dev->parent); in ipu_get_resources() local
349 ipu_crtc->dc = ipu_dc_get(ipu, pdata->dc); in ipu_get_resources()
357 ipu_crtc->di = ipu_di_get(ipu, pdata->di); in ipu_get_resources()
367 struct ipu_soc *ipu = dev_get_drvdata(dev->parent); in ipu_drm_bind() local
[all …]
H A Dipuv3-plane.c121 return ipu_idmac_channel_irq(ipu_plane->ipu, ipu_plane->ipu_ch, in ipu_plane_irq()
198 ipu_plane->ipu_ch = ipu_idmac_get(ipu_plane->ipu, ipu_plane->dma); in ipu_plane_get_resources()
211 ipu_plane->alpha_ch = ipu_idmac_get(ipu_plane->ipu, alpha_ch); in ipu_plane_get_resources()
220 ipu_plane->dmfc = ipu_dmfc_get(ipu_plane->ipu, ipu_plane->dma); in ipu_plane_get_resources()
228 ipu_plane->dp = ipu_dp_get(ipu_plane->ipu, ipu_plane->dp_flow); in ipu_plane_get_resources()
257 ipu_dp_enable(ipu_plane->ipu); in ipu_plane_enable()
285 ipu_dp_disable(ipu_plane->ipu); in ipu_plane_disable()
286 if (ipu_prg_present(ipu_plane->ipu)) in ipu_plane_disable()
344 struct ipu_soc *ipu = to_ipu_plane(plane)->ipu; in ipu_plane_format_mod_supported() local
355 return ipu_prg_format_supported(ipu, format, modifier); in ipu_plane_format_mod_supported()
[all …]
H A Dipuv3-plane.h20 struct ipu_soc *ipu; member
32 struct ipu_plane *ipu_plane_init(struct drm_device *dev, struct ipu_soc *ipu,
/linux/arch/arm/boot/dts/nxp/imx/
H A Dimx6qp.dtsi95 compatible = "fsl,imx6qp-ipu", "fsl,imx6q-ipu";
100 compatible = "fsl,imx6qp-ipu", "fsl,imx6q-ipu";
/linux/drivers/net/ipvlan/
H A Dipvlan.h79 } ipu; member
80 #define ip6addr ipu.ip6
81 #define ip4addr ipu.ip4
/linux/arch/mips/boot/dts/ingenic/
H A Djz4725b.dtsi343 ipu: ipu@13080000 { label
344 compatible = "ingenic,jz4725b-ipu";
351 clock-names = "ipu";
/linux/drivers/media/pci/intel/
H A DMakefile5 obj-$(CONFIG_IPU_BRIDGE) += ipu-bridge.o

12