gpu: ipu-v3: pre: add double buffer status readback
This allows the upper layers to check if a double buffer update has been applied by the PRE or is still pending. Signed-off-by: Lucas Stach <l.stach@pengutronix.de> [p.zabel@pengutronix.de: inverted logic: done -> pending] Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
This commit is contained in:
parent
a3b22b9f11
commit
0a29b1abaf
|
@ -265,6 +265,12 @@ void ipu_pre_update(struct ipu_pre *pre, unsigned int bufaddr)
|
|||
writel(IPU_PRE_CTRL_SDW_UPDATE, pre->regs + IPU_PRE_CTRL_SET);
|
||||
}
|
||||
|
||||
bool ipu_pre_update_pending(struct ipu_pre *pre)
|
||||
{
|
||||
return !!(readl_relaxed(pre->regs + IPU_PRE_CTRL) &
|
||||
IPU_PRE_CTRL_SDW_UPDATE);
|
||||
}
|
||||
|
||||
u32 ipu_pre_get_baddr(struct ipu_pre *pre)
|
||||
{
|
||||
return (u32)pre->buffer_paddr;
|
||||
|
|
|
@ -272,6 +272,7 @@ void ipu_pre_configure(struct ipu_pre *pre, unsigned int width,
|
|||
unsigned int height, unsigned int stride, u32 format,
|
||||
uint64_t modifier, unsigned int bufaddr);
|
||||
void ipu_pre_update(struct ipu_pre *pre, unsigned int bufaddr);
|
||||
bool ipu_pre_update_pending(struct ipu_pre *pre);
|
||||
|
||||
struct ipu_prg *ipu_prg_lookup_by_phandle(struct device *dev, const char *name,
|
||||
int ipu_id);
|
||||
|
|
Loading…
Reference in New Issue