diff options
author | Rob Clark <robdclark@chromium.org> | 2019-08-29 09:45:14 -0700 |
---|---|---|
committer | Rob Clark <robdclark@chromium.org> | 2019-09-03 16:17:01 -0700 |
commit | 9f6b65642bd2d7ec1fc2eb675cf10a55f29417e2 (patch) | |
tree | 00c7928446631b9e4c0f364d6eb388c0ba0e7b9c /drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c | |
parent | 80b4b4a703d6e4fb966e5c6a7c74a06001bf7d19 (diff) | |
download | linux-9f6b65642bd2d7ec1fc2eb675cf10a55f29417e2.tar.gz linux-9f6b65642bd2d7ec1fc2eb675cf10a55f29417e2.tar.bz2 linux-9f6b65642bd2d7ec1fc2eb675cf10a55f29417e2.zip |
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>
Diffstat (limited to 'drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c')
-rw-r--r-- | drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c b/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c index 8c6622fb373b..63e7a4a77c67 100644 --- a/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c +++ b/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c @@ -110,6 +110,11 @@ static void mdp4_prepare_commit(struct msm_kms *kms, struct drm_atomic_state *st drm_crtc_vblank_get(crtc); } +static void mdp4_flush_commit(struct msm_kms *kms, unsigned crtc_mask) +{ + /* TODO */ +} + static void mdp4_wait_flush(struct msm_kms *kms, unsigned crtc_mask) { struct mdp4_kms *mdp4_kms = to_mdp4_kms(to_mdp_kms(kms)); @@ -181,6 +186,7 @@ static const struct mdp_kms_funcs kms_funcs = { .enable_vblank = mdp4_enable_vblank, .disable_vblank = mdp4_disable_vblank, .prepare_commit = mdp4_prepare_commit, + .flush_commit = mdp4_flush_commit, .wait_flush = mdp4_wait_flush, .complete_commit = mdp4_complete_commit, .get_format = mdp_get_format, |