path: root/drivers/gpu/ipu-v3/ipu-prv.h
diff options
authorLucas Stach <>2017-03-08 12:13:14 +0100
committerPhilipp Zabel <>2017-03-15 15:42:35 +0100
commitd2a34232580a5d2c9f58baa5270836c5c9ab83ba (patch)
tree2e1bc95a51a9dd1e4332070390a207dffdf6ba8b /drivers/gpu/ipu-v3/ipu-prv.h
parentdcddda561b91fe82a8201ba7f5b4237be4c79219 (diff)
gpu: ipu-v3: add driver for Prefetch Resolve Engine
This adds support for the i.MX6 QuadPlus PRE units. Currently only linear prefetch into SRAM is supported, other modes of operation like the tiled-to-linear conversion will be added later. Signed-off-by: Lucas Stach <> Signed-off-by: Philipp Zabel <>
Diffstat (limited to 'drivers/gpu/ipu-v3/ipu-prv.h')
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/gpu/ipu-v3/ipu-prv.h b/drivers/gpu/ipu-v3/ipu-prv.h
index 285595702ee0..262efdff1dba 100644
--- a/drivers/gpu/ipu-v3/ipu-prv.h
+++ b/drivers/gpu/ipu-v3/ipu-prv.h
@@ -173,6 +173,7 @@ struct ipu_ic_priv;
struct ipu_vdi;
struct ipu_image_convert_priv;
struct ipu_smfc_priv;
+struct ipu_pre;
struct ipu_devtype;
@@ -264,4 +265,17 @@ void ipu_cpmem_exit(struct ipu_soc *ipu);
int ipu_smfc_init(struct ipu_soc *ipu, struct device *dev, unsigned long base);
void ipu_smfc_exit(struct ipu_soc *ipu);
+struct ipu_pre *ipu_pre_lookup_by_phandle(struct device *dev, const char *name,
+ int index);
+int ipu_pre_get_available_count(void);
+int ipu_pre_get(struct ipu_pre *pre);
+void ipu_pre_put(struct ipu_pre *pre);
+u32 ipu_pre_get_baddr(struct ipu_pre *pre);
+void ipu_pre_configure(struct ipu_pre *pre, unsigned int width,
+ unsigned int height,
+ unsigned int stride, u32 format, unsigned int bufaddr);
+void ipu_pre_update(struct ipu_pre *pre, unsigned int bufaddr);
+extern struct platform_driver ipu_pre_drv;
#endif /* __IPU_PRV_H__ */