1. 30 1月, 2014 5 次提交
  2. 29 1月, 2014 1 次提交
    • D
      drm: ast,cirrus,mgag200: use drm_can_sleep · f4b4718b
      Dave Airlie 提交于
      these 3 were checking in_interrupt but we have situations where
      calling vunmap under this could cause a BUG to be hit in
      smp_call_function_many. Use the drm_can_sleep macro instead,
      which should stop this path from been taken in this case.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      f4b4718b
  3. 28 1月, 2014 4 次提交
  4. 25 1月, 2014 2 次提交
    • S
      i915: remove pm_qos request on error · 22accca0
      Stanislaw Gruszka 提交于
      Not removing pm qos request and free memory for it can cause crash,
      when some other driver use pm qos. For example, this oops:
      
      BUG: unable to handle kernel paging request at fffffffffffffff8
      IP: [<ffffffff81307a6b>] plist_add+0x5b/0xd0
      Call Trace:
       [<ffffffff810acf25>] pm_qos_update_target+0x125/0x1e0
       [<ffffffff810ad071>] pm_qos_add_request+0x91/0x100
       [<ffffffffa053ec14>] e1000_open+0xe4/0x5b0 [e1000e]
      
      was caused by earlier i915 probe failure:
      
      [drm:i915_report_and_clear_eir] *ERROR* EIR stuck: 0x00000010, masking
      [drm:init_ring_common] *ERROR* render ring initialization failed ctl 0001f001 head 00003004 tail 00000000 start 00003000
      [drm:i915_driver_load] *ERROR* failed to init modeset
      i915: probe of 0000:00:02.0 failed with error -5
      
      Bug report:
      http://bugzilla.redhat.com/show_bug.cgi?id=1057533Reported-by: NGiandomenico De Tullio <ghisha@gmail.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: NStanislaw Gruszka <sgruszka@redhat.com>
      [danvet: Drop unnecessary code movement.]
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      22accca0
    • D
      Revert "drm/i915: Mask reserved bits in display/sprite address registers" · 85ba7b7d
      Daniel Vetter 提交于
      This reverts commit 446f2545.
      
      I've left the masking in the pageflip code since that seems to be some
      useful piece of preemptive robustness.
      
      Iirc I've merged this patch under the assumption that the BIOS leaves
      some random gunk in the lower bits and gets unhappy if we trample on
      them. We have quite a few case like this, so this made sense.
      
      Now I've just learned that there's actual hardware features bits in
      the low 12 bits, and the kernel needs to preserve them to allow a
      userspace blob to do its job. Given Dave Airlie's clear stance on
      userspace blob drivers I've quickly chatted with him and he doesn't
      seem too happy. So let's revert this.
      
      If there are indeed bits that we must preserve in this range then we
      can ressurrect this patch, but with proper documentation for those
      bits supplied. And we probably also need to think a bit about
      interactions with our driver.
      
      Cc: Armin Reese <armin.c.reese@intel.com>
      Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
      Cc: Dave Airlie <airlied@linux.ie>
      Reviewed-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      85ba7b7d
  5. 23 1月, 2014 28 次提交