mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-23 20:53:53 +08:00
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);
|
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)
|
u32 ipu_pre_get_baddr(struct ipu_pre *pre)
|
||||||
{
|
{
|
||||||
return (u32)pre->buffer_paddr;
|
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,
|
unsigned int height, unsigned int stride, u32 format,
|
||||||
uint64_t modifier, unsigned int bufaddr);
|
uint64_t modifier, unsigned int bufaddr);
|
||||||
void ipu_pre_update(struct ipu_pre *pre, 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,
|
struct ipu_prg *ipu_prg_lookup_by_phandle(struct device *dev, const char *name,
|
||||||
int ipu_id);
|
int ipu_id);
|
||||||
|
Loading…
Reference in New Issue
Block a user