Message ID | 1424604260-25134-2-git-send-email-daniel.vetter@ffwll.ch (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Sun, Feb 22, 2015 at 6:24 AM, Daniel Vetter <daniel.vetter@ffwll.ch> wrote: > This way drivers fully converted to atomic don't need to update these > legacy state variables in their modeset code any more. > > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> Reviewed-by: Rob Clark <robdclark@gmail.com> > --- > drivers/gpu/drm/drm_crtc.c | 25 ++++++++++++++++++------- > 1 file changed, 18 insertions(+), 7 deletions(-) > > diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c > index 6b6b07ff720b..0dbe417bc841 100644 > --- a/drivers/gpu/drm/drm_crtc.c > +++ b/drivers/gpu/drm/drm_crtc.c > @@ -2009,21 +2009,32 @@ int drm_mode_getcrtc(struct drm_device *dev, > return -ENOENT; > > drm_modeset_lock_crtc(crtc, crtc->primary); > - crtc_resp->x = crtc->x; > - crtc_resp->y = crtc->y; > crtc_resp->gamma_size = crtc->gamma_size; > if (crtc->primary->fb) > crtc_resp->fb_id = crtc->primary->fb->base.id; > else > crtc_resp->fb_id = 0; > > - if (crtc->enabled) { > - > - drm_crtc_convert_to_umode(&crtc_resp->mode, &crtc->mode); > - crtc_resp->mode_valid = 1; > + if (crtc->state) { > + crtc_resp->x = crtc->primary->state->src_x >> 16; > + crtc_resp->y = crtc->primary->state->src_y >> 16; > + if (crtc->state->enable) { > + drm_crtc_convert_to_umode(&crtc_resp->mode, &crtc->state->mode); > + crtc_resp->mode_valid = 1; > > + } else { > + crtc_resp->mode_valid = 0; > + } > } else { > - crtc_resp->mode_valid = 0; > + crtc_resp->x = crtc->x; > + crtc_resp->y = crtc->y; > + if (crtc->enabled) { > + drm_crtc_convert_to_umode(&crtc_resp->mode, &crtc->mode); > + crtc_resp->mode_valid = 1; > + > + } else { > + crtc_resp->mode_valid = 0; > + } > } > drm_modeset_unlock_crtc(crtc); > > -- > 2.1.4 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c index 6b6b07ff720b..0dbe417bc841 100644 --- a/drivers/gpu/drm/drm_crtc.c +++ b/drivers/gpu/drm/drm_crtc.c @@ -2009,21 +2009,32 @@ int drm_mode_getcrtc(struct drm_device *dev, return -ENOENT; drm_modeset_lock_crtc(crtc, crtc->primary); - crtc_resp->x = crtc->x; - crtc_resp->y = crtc->y; crtc_resp->gamma_size = crtc->gamma_size; if (crtc->primary->fb) crtc_resp->fb_id = crtc->primary->fb->base.id; else crtc_resp->fb_id = 0; - if (crtc->enabled) { - - drm_crtc_convert_to_umode(&crtc_resp->mode, &crtc->mode); - crtc_resp->mode_valid = 1; + if (crtc->state) { + crtc_resp->x = crtc->primary->state->src_x >> 16; + crtc_resp->y = crtc->primary->state->src_y >> 16; + if (crtc->state->enable) { + drm_crtc_convert_to_umode(&crtc_resp->mode, &crtc->state->mode); + crtc_resp->mode_valid = 1; + } else { + crtc_resp->mode_valid = 0; + } } else { - crtc_resp->mode_valid = 0; + crtc_resp->x = crtc->x; + crtc_resp->y = crtc->y; + if (crtc->enabled) { + drm_crtc_convert_to_umode(&crtc_resp->mode, &crtc->mode); + crtc_resp->mode_valid = 1; + + } else { + crtc_resp->mode_valid = 0; + } } drm_modeset_unlock_crtc(crtc);
This way drivers fully converted to atomic don't need to update these legacy state variables in their modeset code any more. Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> --- drivers/gpu/drm/drm_crtc.c | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-)