Hi, Daniel,
If possible, throw it into drm-misc. We have no changes for the next merge window at this time so it's a bit unnecessary to generate a separate pull request for this.
Thanks, Thomas
On 06/30/2017 03:39 PM, Daniel Vetter wrote:
Want me to throw this into drm-misc too, or will you pick this up in wmvgfx trees? Since it's not tree-wide there's no reason for it to go through drm-misc. -Daniel
On Fri, Jun 30, 2017 at 3:04 PM, Thomas Hellstrom thellstrom@vmware.com wrote:
Reviewed-by: Thomas Hellstrom thellstrom@vmware.com
On 06/30/2017 11:36 AM, Laurent Pinchart wrote:
The CRTC .prepare() helper operation is legacy code, drivers should use the .atomic_disable() operation instead.
When a CRTC is temporarily disabled prior to a mode set, the atomic helpers call the .prepare() operation if provided instead of the .atomic_disable() operation. In order to avoid modifying the driver's behaviour that has an empty .prepare() implementation, we need to return from the .atomic_disable() operation without performing any action if the CRTC will be reenabled.
Signed-off-by: Laurent Pinchart
laurent.pinchart+renesas@ideasonboard.com
drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c | 15 +++------------ drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c | 10 +++------- 2 files changed, 6 insertions(+), 19 deletions(-)
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c b/drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c index 854403509216..bdf6349de250 100644 --- a/drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c @@ -259,17 +259,6 @@ static void vmw_sou_crtc_mode_set_nofb(struct drm_crtc *crtc) } /**
- vmw_sou_crtc_helper_prepare - Noop
- @crtc: CRTC associated with the new screen
- Prepares the CRTC for a mode set, but we don't need to do anything
here.
- */
-static void vmw_sou_crtc_helper_prepare(struct drm_crtc *crtc) -{ -}
-/** * vmw_sou_crtc_atomic_enable - Noop * * @crtc: CRTC associated with the new screen @@ -299,6 +288,9 @@ static void vmw_sou_crtc_atomic_disable(struct drm_crtc *crtc, return; }
if (crtc->state->enable)
return;
@@ -574,7 +566,6 @@ drm_plane_helper_funcssou = vmw_crtc_to_sou(crtc); dev_priv = vmw_priv(crtc->dev);
vmw_sou_primary_plane_helper_funcs = { }; static const struct drm_crtc_helper_funcs vmw_sou_crtc_helper_funcs = {
.prepare = vmw_sou_crtc_helper_prepare, .mode_set_nofb = vmw_sou_crtc_mode_set_nofb, .atomic_check = vmw_du_crtc_atomic_check, .atomic_begin = vmw_du_crtc_atomic_begin,
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c b/drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c index ed9404a7f457..c3bd4a012b64 100644 --- a/drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c @@ -406,12 +406,6 @@ static void vmw_stdu_crtc_mode_set_nofb(struct drm_crtc *crtc) crtc->x, crtc->y); }
-static void vmw_stdu_crtc_helper_prepare(struct drm_crtc *crtc) -{ -}
- static void vmw_stdu_crtc_atomic_enable(struct drm_crtc *crtc, struct drm_crtc_state *old_state) {
@@ -446,6 +440,9 @@ static void vmw_stdu_crtc_atomic_disable(struct drm_crtc *crtc, return; }
if (crtc->state->enable)
return;
@@ -1416,7 +1413,6 @@ drm_plane_helper_funcsstdu = vmw_crtc_to_stdu(crtc); dev_priv = vmw_priv(crtc->dev);
vmw_stdu_primary_plane_helper_funcs = { }; static const struct drm_crtc_helper_funcs vmw_stdu_crtc_helper_funcs = {
.prepare = vmw_stdu_crtc_helper_prepare, .mode_set_nofb = vmw_stdu_crtc_mode_set_nofb, .atomic_check = vmw_du_crtc_atomic_check, .atomic_begin = vmw_du_crtc_atomic_begin,
dri-devel mailing list dri-devel@lists.freedesktop.org https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.freedesktop.org_m...