summaryrefslogtreecommitdiffstats
path: root/include/video
diff options
context:
space:
mode:
authorSteve Longerbeam <slongerbeam@gmail.com>2014-06-25 18:05:34 -0700
committerPhilipp Zabel <p.zabel@pengutronix.de>2014-09-02 14:55:44 +0200
commit7fafa8f06f9bdf32b806b4612bfe387de8e34125 (patch)
treeb201e57c619e16ff10cfa8183a76af617abe1173 /include/video
parentfc4353559e587f5962f22c24ca7e015bdbea1e49 (diff)
downloadop-kernel-dev-7fafa8f06f9bdf32b806b4612bfe387de8e34125.zip
op-kernel-dev-7fafa8f06f9bdf32b806b4612bfe387de8e34125.tar.gz
gpu: ipu-v3: smfc: Convert to per-channel
Convert the smfc object to be specific to a single smfc channel. Add ipu_smfc_{get|put} to retrieve and release a single smfc channel for exclusive use, and add use counter to ipu_smfc_{enable|disable}. Signed-off-by: Steve Longerbeam <steve_longerbeam@mentor.com> Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Diffstat (limited to 'include/video')
-rw-r--r--include/video/imx-ipu-v3.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/include/video/imx-ipu-v3.h b/include/video/imx-ipu-v3.h
index a477814..a695ee8 100644
--- a/include/video/imx-ipu-v3.h
+++ b/include/video/imx-ipu-v3.h
@@ -290,10 +290,12 @@ void ipu_ic_dump(struct ipu_ic *ic);
/*
* IPU Sensor Multiple FIFO Controller (SMFC) functions
*/
-int ipu_smfc_enable(struct ipu_soc *ipu);
-int ipu_smfc_disable(struct ipu_soc *ipu);
-int ipu_smfc_map_channel(struct ipu_soc *ipu, int channel, int csi_id, int mipi_id);
-int ipu_smfc_set_burstsize(struct ipu_soc *ipu, int channel, int burstsize);
+struct ipu_smfc *ipu_smfc_get(struct ipu_soc *ipu, unsigned int chno);
+void ipu_smfc_put(struct ipu_smfc *smfc);
+int ipu_smfc_enable(struct ipu_smfc *smfc);
+int ipu_smfc_disable(struct ipu_smfc *smfc);
+int ipu_smfc_map_channel(struct ipu_smfc *smfc, int csi_id, int mipi_id);
+int ipu_smfc_set_burstsize(struct ipu_smfc *smfc, int burstsize);
enum ipu_color_space ipu_drm_fourcc_to_colorspace(u32 drm_fourcc);
enum ipu_color_space ipu_pixelformat_to_colorspace(u32 pixelformat);
OpenPOWER on IntegriCloud