Re: [RFC PATCH 0/7] Convert to atomic, part 4.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Jun 19, 2015 at 10:02:23AM +0200, Maarten Lankhorst wrote:
> The only thing missing after part 3 is restoring atomic readout and making
> suspend/restore. With fixes for all identified causes of regressions from
> atomic suspend being done in convert to atomic, part 3 it's time to worry
> about getting atomic suspend/restore working again.
> 
> I do this in a few steps, first I re-introduce the old commit for hw state
> readout, with fixes. After that I convert the atomic readout to a full initial
> modeset, and finally I try to re-enable fastboot optimizations again by default,
> in a less hacky way.
> 
> This is a RFC because of the following possible issues:
>  - mode->clock may not be read out correctly. It can differ slightly from the
>    actually set value, which forces a modeset anyway when it could be avoided.

We shouldn't look at mode->clock but instead at the adjusted mode. And I
guess for that one we should reshuffle the code to put the computed clock
with the actual dp hw settings in there. Plus add it to the hw state
readout logic and require an exact match.

Or we need to allow a slight mismatch (really just slight) when deciding
whether to modeset or not.

>  - Not tested with DRRS support on DP, might be broken with fastboot?

There's hw state readout and cross-checking for this, you should get
yelled at if this happens. I guess we'll eventually grow a pretty big list
of fixup code that we need to run after the crtc is enabled.
-Daniel

> 
> Maarten Lankhorst (7):
>   drm/i915: Do not update pfit state when toggling crtc enabled.
>   drm/i915: Read hw state into an atomic state struct, try 2.
>   All changes from try2.
>   drm/i915: enable fastboot for everyone
>   drm/i915: Update power domains only on affected crtc's.
>   drm/i915: Always reset in intel_crtc_restore_mode
>   drm/i915: Make intel_display_suspend atomic, try 2.
> 
>  drivers/gpu/drm/i915/i915_dma.c      |   12 +-
>  drivers/gpu/drm/i915/i915_drv.c      |    2 +-
>  drivers/gpu/drm/i915/i915_drv.h      |    7 +-
>  drivers/gpu/drm/i915/i915_params.c   |    5 -
>  drivers/gpu/drm/i915/intel_atomic.c  |   23 +-
>  drivers/gpu/drm/i915/intel_display.c | 1302 ++++++++++++++++++++--------------
>  drivers/gpu/drm/i915/intel_dp.c      |    2 +-
>  drivers/gpu/drm/i915/intel_drv.h     |   21 +-
>  drivers/gpu/drm/i915/intel_fbdev.c   |   22 +-
>  drivers/gpu/drm/i915/intel_lvds.c    |    2 +-
>  10 files changed, 786 insertions(+), 612 deletions(-)
> 
> -- 
> 2.1.0
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux