aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/msm
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>2017-06-30 05:36:44 -0400
committerDaniel Vetter <daniel.vetter@ffwll.ch>2017-06-30 08:53:14 -0400
commit0b20a0f8c3cb6f74fe326101b62eeb5e2c56a53c (patch)
treea0710ff9f78eca95996537f90f9b965e3ddc8823 /drivers/gpu/drm/msm
parentf1e8c67123cf171e2b0357e885e426328b241d7d (diff)
drm: Add old state pointer to CRTC .enable() helper function
The old state is useful for drivers that need to perform operations at enable time that depend on the transition between the old and new states. While at it, rename the operation to .atomic_enable() to be consistent with .atomic_disable(), as the .enable() operation is used by atomic helpers only. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com> # for sun4i Acked-by: Philipp Zabel <p.zabel@pengutronix.de> # for imx-drm and mediatek Acked-by: Alexey Brodkin <abrodkin@synopsys.com> # for arcpgu Acked-by: Boris Brezillon <boris.brezillon@free-electrons.com> # for atmel-hlcdc Acked-by: Liviu Dudau <Liviu.Dudau@arm.com> # for hdlcd and mali-dp Acked-by: Stefan Agner <stefan@agner.ch> # for fsl-dcu Tested-by: Philippe Cornu <philippe.cornu@st.com> # for stm Acked-by: Philippe Cornu <philippe.cornu@st.com> # for stm Acked-by: Vincent Abriou <vincent.abriou@st.com> # for sti Reviewed-by: Thomas Hellstrom <thellstrom@vmware.com> # for vmwgfx Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Link: http://patchwork.freedesktop.org/patch/msgid/20170630093646.7928-2-laurent.pinchart+renesas@ideasonboard.com
Diffstat (limited to 'drivers/gpu/drm/msm')
-rw-r--r--drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c5
-rw-r--r--drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c5
2 files changed, 6 insertions, 4 deletions
diff --git a/drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c b/drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c
index 615e1def64d9..9c20133f3f8d 100644
--- a/drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c
+++ b/drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c
@@ -295,7 +295,8 @@ static void mdp4_crtc_disable(struct drm_crtc *crtc)
295 mdp4_crtc->enabled = false; 295 mdp4_crtc->enabled = false;
296} 296}
297 297
298static void mdp4_crtc_enable(struct drm_crtc *crtc) 298static void mdp4_crtc_atomic_enable(struct drm_crtc *crtc,
299 struct drm_crtc_state *old_state)
299{ 300{
300 struct mdp4_crtc *mdp4_crtc = to_mdp4_crtc(crtc); 301 struct mdp4_crtc *mdp4_crtc = to_mdp4_crtc(crtc);
301 struct mdp4_kms *mdp4_kms = get_kms(crtc); 302 struct mdp4_kms *mdp4_kms = get_kms(crtc);
@@ -493,10 +494,10 @@ static const struct drm_crtc_funcs mdp4_crtc_funcs = {
493static const struct drm_crtc_helper_funcs mdp4_crtc_helper_funcs = { 494static const struct drm_crtc_helper_funcs mdp4_crtc_helper_funcs = {
494 .mode_set_nofb = mdp4_crtc_mode_set_nofb, 495 .mode_set_nofb = mdp4_crtc_mode_set_nofb,
495 .disable = mdp4_crtc_disable, 496 .disable = mdp4_crtc_disable,
496 .enable = mdp4_crtc_enable,
497 .atomic_check = mdp4_crtc_atomic_check, 497 .atomic_check = mdp4_crtc_atomic_check,
498 .atomic_begin = mdp4_crtc_atomic_begin, 498 .atomic_begin = mdp4_crtc_atomic_begin,
499 .atomic_flush = mdp4_crtc_atomic_flush, 499 .atomic_flush = mdp4_crtc_atomic_flush,
500 .atomic_enable = mdp4_crtc_atomic_enable,
500}; 501};
501 502
502static void mdp4_crtc_vblank_irq(struct mdp_irq *irq, uint32_t irqstatus) 503static void mdp4_crtc_vblank_irq(struct mdp_irq *irq, uint32_t irqstatus)
diff --git a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c
index cb5415d6c04b..d39d9d24d169 100644
--- a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c
+++ b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c
@@ -429,7 +429,8 @@ static void mdp5_crtc_disable(struct drm_crtc *crtc)
429 mdp5_crtc->enabled = false; 429 mdp5_crtc->enabled = false;
430} 430}
431 431
432static void mdp5_crtc_enable(struct drm_crtc *crtc) 432static void mdp5_crtc_atomic_enable(struct drm_crtc *crtc,
433 struct drm_crtc_state *old_state)
433{ 434{
434 struct mdp5_crtc *mdp5_crtc = to_mdp5_crtc(crtc); 435 struct mdp5_crtc *mdp5_crtc = to_mdp5_crtc(crtc);
435 struct mdp5_crtc_state *mdp5_cstate = to_mdp5_crtc_state(crtc->state); 436 struct mdp5_crtc_state *mdp5_cstate = to_mdp5_crtc_state(crtc->state);
@@ -940,10 +941,10 @@ static const struct drm_crtc_funcs mdp5_crtc_no_lm_cursor_funcs = {
940static const struct drm_crtc_helper_funcs mdp5_crtc_helper_funcs = { 941static const struct drm_crtc_helper_funcs mdp5_crtc_helper_funcs = {
941 .mode_set_nofb = mdp5_crtc_mode_set_nofb, 942 .mode_set_nofb = mdp5_crtc_mode_set_nofb,
942 .disable = mdp5_crtc_disable, 943 .disable = mdp5_crtc_disable,
943 .enable = mdp5_crtc_enable,
944 .atomic_check = mdp5_crtc_atomic_check, 944 .atomic_check = mdp5_crtc_atomic_check,
945 .atomic_begin = mdp5_crtc_atomic_begin, 945 .atomic_begin = mdp5_crtc_atomic_begin,
946 .atomic_flush = mdp5_crtc_atomic_flush, 946 .atomic_flush = mdp5_crtc_atomic_flush,
947 .atomic_enable = mdp5_crtc_atomic_enable,
947}; 948};
948 949
949static void mdp5_crtc_vblank_irq(struct mdp_irq *irq, uint32_t irqstatus) 950static void mdp5_crtc_vblank_irq(struct mdp_irq *irq, uint32_t irqstatus)