Message ID | 1372199899-5315-6-git-send-email-jbarnes@virtuousgeek.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Wed, Jun 26, 2013 at 01:38:19AM +0300, Jesse Barnes wrote: > If the crtc is active, we can simply flip a new fb onto it, provided the > other mode setting reqs are met. Otherwise, we'll need to do a full > mode set to re-enable the crtc. > > v2: check for crtc active and set mode_changed accordingly > v3: add module parameter, i915.fastboot, to control no fb -> fb flip behavior > > Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org> Ok, I've slurped this in. Not too impressed with tiny commit messages for the first two patches though, but I've fixed that up while applying. Commit message that just do a random change but fail to explain the why aren't good enough. Same for failing to highlight a tricky part of the patch. Cheers, Daniel > --- > drivers/gpu/drm/i915/intel_display.c | 12 ++++++++++-- > 1 file changed, 10 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c > index a55e1e5..0e7324d 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -8667,8 +8667,16 @@ intel_set_config_compute_mode_changes(struct drm_mode_set *set, > if (set->crtc->fb != set->fb) { > /* If we have no fb then treat it as a full mode set */ > if (set->crtc->fb == NULL) { > - DRM_DEBUG_KMS("crtc has no fb, full mode set\n"); > - config->mode_changed = true; > + struct intel_crtc *intel_crtc = > + to_intel_crtc(set->crtc); > + > + if (intel_crtc->active && i915_fastboot) { > + DRM_DEBUG_KMS("crtc has no fb, will flip\n"); > + config->fb_changed = true; > + } else { > + DRM_DEBUG_KMS("inactive crtc, full mode set\n"); > + config->mode_changed = true; > + } > } else if (set->fb == NULL) { > config->mode_changed = true; > } else if (set->fb->pixel_format != > -- > 1.7.9.5 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index a55e1e5..0e7324d 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -8667,8 +8667,16 @@ intel_set_config_compute_mode_changes(struct drm_mode_set *set, if (set->crtc->fb != set->fb) { /* If we have no fb then treat it as a full mode set */ if (set->crtc->fb == NULL) { - DRM_DEBUG_KMS("crtc has no fb, full mode set\n"); - config->mode_changed = true; + struct intel_crtc *intel_crtc = + to_intel_crtc(set->crtc); + + if (intel_crtc->active && i915_fastboot) { + DRM_DEBUG_KMS("crtc has no fb, will flip\n"); + config->fb_changed = true; + } else { + DRM_DEBUG_KMS("inactive crtc, full mode set\n"); + config->mode_changed = true; + } } else if (set->fb == NULL) { config->mode_changed = true; } else if (set->fb->pixel_format !=
If the crtc is active, we can simply flip a new fb onto it, provided the other mode setting reqs are met. Otherwise, we'll need to do a full mode set to re-enable the crtc. v2: check for crtc active and set mode_changed accordingly v3: add module parameter, i915.fastboot, to control no fb -> fb flip behavior Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org> --- drivers/gpu/drm/i915/intel_display.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-)