1. 15 Jul, 2015 15 commits
  2. 14 Jul, 2015 24 commits
  3. 13 Jul, 2015 1 commit
    • Daniel Vetter's avatar
      drm/i915: fix oops in primary_check_plane · bbf47020
      Daniel Vetter authored
      On Sun, Jul 12, 2015 at 09:52:51AM -0700, Linus Torvalds wrote:
      > On Sun, Jul 12, 2015 at 1:03 AM, Jörg Otte <jrg.otte@gmail.com> wrote:
      > > BUG: unable to handle kernel NULL pointer dereference at 0000000000000009
      > > IP: [<ffffffffbd3447bb>] 0xffffffffbd3447bb
      >
      > Ugh. Please enable KALLSYMS to get sane symbols.
      >
      > But yes, "crtc_state->base.active" is at offset 9 from "crtc_state",
      > so it's pretty clearly just that change frm
      >
      > -       if (intel_crtc->active) {
      > +       if (crtc_state->base.active) {
      >
      > and "crtc_state" is NULL.
      >
      > And the code very much knows that crtc_state can be NULL, since it's
      > initialized with
      >
      >         crtc_state = state->base.state ?
      >                 intel_atomic_get_crtc_state(state->base.state,
      > intel_crtc) : NULL;
      >
      > Tssk. Daniel? Should I just revert that commit dec4f799
      > ("drm/i915: Use crtc_state->active in primary check_plane func") for
      > now, or is there a better fix? Like just checking crtc_state for NULL?
      
      Indeed embarrassing. I've missed that we still have 1 caller left that's
      using the transitional helpers, and those don't fill out
      plane_state->state backpointers to the global atomic update since there is
      no global atomic update for transitional helpers. Below diff should fix
      this - we need to preferentially check crts_state->active and if that's
      not set intel_crtc->active should yield the right result for the one
      remaining caller (it's in the crtc_disable paths).
      
      This fixes a regression introduced in
      
      commit dec4f799
      Author: Daniel Vetter <daniel.vetter@ffwll.ch>
      Date:   Tue Jul 7 11:15:47 2015 +0200
      
          drm/i915: Use crtc_state->active in primary check_plane func
      
      which was quickly reverted in
      
      commit 01e2d062
      Author: Linus Torvalds <torvalds@linux-foundation.org>
      Date:   Sun Jul 12 15:00:20 2015 -0700
      
          Revert "drm/i915: Use crtc_state->active in primary check_plane func"
      
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Jörg Otte <jrg.otte@gmail.com>
      Reported-and-tested-by: default avatarJörg Otte <jrg.otte@gmail.com>
      Reviewed-by: default avatarMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
      bbf47020