mirror of https://gitee.com/openkylin/linux.git
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>
This commit is contained in:
parent
35de925ffa
commit
e90460970f
|
@ -661,6 +661,15 @@ int ipu_module_disable(struct ipu_soc *ipu, u32 mask)
|
|||
}
|
||||
EXPORT_SYMBOL_GPL(ipu_module_disable);
|
||||
|
||||
int ipu_idmac_get_current_buffer(struct ipuv3_channel *channel)
|
||||
{
|
||||
struct ipu_soc *ipu = channel->ipu;
|
||||
unsigned int chno = channel->num;
|
||||
|
||||
return (ipu_cm_read(ipu, IPU_CHA_CUR_BUF(chno)) & idma_mask(chno)) ? 1 : 0;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(ipu_idmac_get_current_buffer);
|
||||
|
||||
void ipu_idmac_select_buffer(struct ipuv3_channel *channel, u32 buf_num)
|
||||
{
|
||||
struct ipu_soc *ipu = channel->ipu;
|
||||
|
|
|
@ -103,6 +103,7 @@ int ipu_idmac_wait_busy(struct ipuv3_channel *channel, int ms);
|
|||
|
||||
void ipu_idmac_set_double_buffer(struct ipuv3_channel *channel,
|
||||
bool doublebuffer);
|
||||
int ipu_idmac_get_current_buffer(struct ipuv3_channel *channel);
|
||||
void ipu_idmac_select_buffer(struct ipuv3_channel *channel, u32 buf_num);
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in New Issue