• D
    drm/i915: Unbreak gpu reset vs. modeset locking · ce87ea15
    Daniel Vetter 提交于
    Taking the modeset locks unconditionally isn't the greatest idea,
    because atm that part is still broken and times out (and then atomic
    keels over). And there's really no reason to do so, the old code
    didn't do that either.
    
    To make the patch a bit simpler let's also nuke 2 cases that are only
    around for the old mmioflip paths. Atomic nonblocking workers will not
    die (minus bugs) when a gpu reset happens.
    
    And of course this doesn't fix any of the gpu reset vs. modeset
    deadlock fun, but it at least stop modern CI machines from keeling
    over all over the place for no reason at all.
    
    And we still have the explicit testcases to run the fake gpu reset, so
    coverage isn't that much worse.
    
    v2: Split out additional changes on top, restrict this to purely reducing
    the critical section of modeset locks.
    
    v2: Review from Maarten
    - update comments
    - don't oops when state is NULL in intel_finish_reset, but try to at
      least still drop locks properly. The hw is going to be toast anyway.
    
    Fixes: 73974893 ("drm/i915: Fix modeset handling during gpu reset, v5.")
    Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
    Reviewed-by: NMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
    Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Signed-off-by: NDaniel Vetter <daniel.vetter@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20170719125502.25696-3-daniel.vetter@ffwll.ch
    ce87ea15
intel_display.c 432.4 KB