drm/msm: add kms->flush_commit()
Add ->flush_commit(crtc_mask). Currently a no-op, but kms backends should migrate writing flush registers to this hook, so we can decouple pushing updates to hardware, and flushing the updates. Once we add async commit support, the hw updates will be pushed down to the hw synchronously, but flushing the updates will be deferred until as close to vblank as possible, so that multiple updates can be combined in a single frame. Signed-off-by: Rob Clark <robdclark@chromium.org> Reviewed-by: Sean Paul <sean@poorly.run>
This commit is contained in:
@@ -280,6 +280,11 @@ static void dpu_kms_prepare_commit(struct msm_kms *kms,
|
||||
}
|
||||
}
|
||||
|
||||
static void dpu_kms_flush_commit(struct msm_kms *kms, unsigned crtc_mask)
|
||||
{
|
||||
/* TODO */
|
||||
}
|
||||
|
||||
/*
|
||||
* Override the encoder enable since we need to setup the inline rotator and do
|
||||
* some crtc magic before enabling any bridge that might be present.
|
||||
@@ -680,6 +685,7 @@ static const struct msm_kms_funcs kms_funcs = {
|
||||
.irq_uninstall = dpu_irq_uninstall,
|
||||
.irq = dpu_irq,
|
||||
.prepare_commit = dpu_kms_prepare_commit,
|
||||
.flush_commit = dpu_kms_flush_commit,
|
||||
.commit = dpu_kms_commit,
|
||||
.wait_flush = dpu_kms_wait_flush,
|
||||
.complete_commit = dpu_kms_complete_commit,
|
||||
|
Reference in New Issue
Block a user