aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/ipu-v3
diff options
context:
space:
mode:
authorPhilipp Zabel <p.zabel@pengutronix.de>2012-05-16 11:28:29 -0400
committerPhilipp Zabel <p.zabel@pengutronix.de>2014-06-04 05:07:11 -0400
commite90460970fde8bdccf2147e899cb9953943e16d2 (patch)
tree29278f3b2d38d919979ccca628448eeb1e435492 /drivers/gpu/ipu-v3
parent35de925ffaa67971e073d3ebf1e0600be0d0d3f1 (diff)
gpu: ipu-v3: Add ipu_idmac_get_current_buffer function
This function returns the currently active buffer (0 or 1) of a double buffered IDMAC channel. It is to be used by the CSI driver. Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Diffstat (limited to 'drivers/gpu/ipu-v3')
-rw-r--r--drivers/gpu/ipu-v3/ipu-common.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/gpu/ipu-v3/ipu-common.c b/drivers/gpu/ipu-v3/ipu-common.c
index 2aecc474c478..9459f4091a27 100644
--- a/drivers/gpu/ipu-v3/ipu-common.c
+++ b/drivers/gpu/ipu-v3/ipu-common.c
@@ -661,6 +661,15 @@ int ipu_module_disable(struct ipu_soc *ipu, u32 mask)
661} 661}
662EXPORT_SYMBOL_GPL(ipu_module_disable); 662EXPORT_SYMBOL_GPL(ipu_module_disable);
663 663
664int ipu_idmac_get_current_buffer(struct ipuv3_channel *channel)
665{
666 struct ipu_soc *ipu = channel->ipu;
667 unsigned int chno = channel->num;
668
669 return (ipu_cm_read(ipu, IPU_CHA_CUR_BUF(chno)) & idma_mask(chno)) ? 1 : 0;
670}
671EXPORT_SYMBOL_GPL(ipu_idmac_get_current_buffer);
672
664void ipu_idmac_select_buffer(struct ipuv3_channel *channel, u32 buf_num) 673void ipu_idmac_select_buffer(struct ipuv3_channel *channel, u32 buf_num)
665{ 674{
666 struct ipu_soc *ipu = channel->ipu; 675 struct ipu_soc *ipu = channel->ipu;