1. 15 11月, 2017 2 次提交
  2. 14 11月, 2017 11 次提交
  3. 13 11月, 2017 11 次提交
  4. 12 11月, 2017 2 次提交
  5. 11 11月, 2017 12 次提交
  6. 10 11月, 2017 2 次提交
    • C
      drm/i915: Restore the wait for idle engine after flushing interrupts · 30b29406
      Chris Wilson 提交于
      So it appears that commit 5427f207 ("drm/i915: Bump wait-times for
      the final CS interrupt before parking") was a little over optimistic in
      its belief that it had successfully waited for all residual activity on
      the engines before parking. Numerous sightings in CI since then of
      
      <7>[   52.542886] [IGT] core_auth: executing
      <3>[   52.561013] [drm:intel_engines_park [i915]] *ERROR* vcs0 is not idle before parking
      <7>[   52.561215] intel_engines_park vcs0
      <7>[   52.561229] intel_engines_park 	current seqno 98, last 98, hangcheck 0 [-247449 ms], inflight 0
      <7>[   52.561238] intel_engines_park 	Reset count: 0
      <7>[   52.561266] intel_engines_park 	Requests:
      <7>[   52.561363] intel_engines_park 	RING_START: 0x00000000 [0x00000000]
      <7>[   52.561377] intel_engines_park 	RING_HEAD:  0x00000000 [0x00000000]
      <7>[   52.561390] intel_engines_park 	RING_TAIL:  0x00000000 [0x00000000]
      <7>[   52.561406] intel_engines_park 	RING_CTL:   0x00000000
      <7>[   52.561422] intel_engines_park 	RING_MODE:  0x00000200 [idle]
      <7>[   52.561442] intel_engines_park 	ACTHD:  0x00000000_00000000
      <7>[   52.561459] intel_engines_park 	BBADDR: 0x00000000_00000000
      <7>[   52.561474] intel_engines_park 	Execlist status: 0x00000301 00000000
      <7>[   52.561489] intel_engines_park 	Execlist CSB read 5 [5 cached], write 5 [5 from hws], interrupt posted? no
      <7>[   52.561500] intel_engines_park 		ELSP[0] idle
      <7>[   52.561510] intel_engines_park 		ELSP[1] idle
      <7>[   52.561519] intel_engines_park 		HW active? 0x0
      <7>[   52.561608] intel_engines_park Idle? yes
      <7>[   52.561617] intel_engines_park
      
      on Braswell, which indicates that the engine just needs that little bit
      longer after flushing the tasklet to settle. So give it a few more
      milliseconds before declaring an err and applying the emergency brake.
      
      Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103479Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20171110112550.28909-1-chris@chris-wilson.co.ukReviewed-by: NMika Kuoppala <mika.kuoppala@linux.intel.com>
      30b29406
    • H
      drm/i915: Acquire PUNIT->PMIC bus for intel_uncore_forcewake_reset() · a5266db4
      Hans de Goede 提交于
      intel_uncore_forcewake_reset() does forcewake puts and gets as such
      we need to make sure that no-one tries to access the PUNIT->PMIC bus
      (on systems where this bus is shared) while it runs, otherwise bad
      things happen.
      
      Normally this is taken care of by the i915_pmic_bus_access_notifier()
      which does an intel_uncore_forcewake_get(FORCEWAKE_ALL) when some other
      driver tries to access the PMIC bus, so that later forcewake gets are
      no-ops (for the duration of the bus access).
      
      But intel_uncore_forcewake_reset gets called in 3 cases:
      1) Before registering the pmic_bus_access_notifier
      2) After unregistering the pmic_bus_access_notifier
      3) To reset forcewake state on a GPU reset
      
      In all 3 cases the i915_pmic_bus_access_notifier() protection is
      insufficient.
      
      This commit fixes this race by calling iosf_mbi_punit_acquire() before
      calling intel_uncore_forcewake_reset(). In the case where it is called
      directly after unregistering the pmic_bus_access_notifier, we need to
      hold the punit-lock over both calls to avoid a race where
      intel_uncore_fw_release_timer() may execute between the 2 calls.
      Reviewed-by: NImre Deak <imre.deak@intel.com>
      Acked-by: NIngo Molnar <mingo@kernel.org>
      Signed-off-by: NHans de Goede <hdegoede@redhat.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20171019111620.26761-3-hdegoede@redhat.com
      a5266db4