On Tue, May 20, 2014 at 08:47:41AM +0100, Chris Wilson wrote: > Daniel simplified the modesetting code to push the common work performed > by each of the architecture specific routines higher into the caller. This > took me a while to be sure that it was safe in the event of a > modesetting failure - to be sure that the dangling pointer we left in > the registers would never be accessed. As it turns out, it is safe, as > even after the most convoluted error path, we always rewrite the address > registers with the currently pinned object before enabling the planes > and pipes. This patch just adds an assertion that the preconditions > Daniel stated are correct, and a comment to justify the dance. > > Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> > Cc: Daniel Vetter <daniel.vet...@ffwll.ch> > --- > drivers/gpu/drm/i915/intel_display.c | 30 ++++++++++++++++++++++-------- > 1 file changed, 22 insertions(+), 8 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_display.c > b/drivers/gpu/drm/i915/intel_display.c > index 28f31145335d..907ed158c676 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -1193,7 +1193,7 @@ static void assert_cursor(struct drm_i915_private > *dev_priv, > #define assert_cursor_enabled(d, p) assert_cursor(d, p, true) > #define assert_cursor_disabled(d, p) assert_cursor(d, p, false) > > -void assert_pipe(struct drm_i915_private *dev_priv, > +bool assert_pipe(struct drm_i915_private *dev_priv, > enum pipe pipe, bool state)
Sigh. I forgot this is now exported. -Chris -- Chris Wilson, Intel Open Source Technology Centre _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx