]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915: Stop using RP_DOWN_EI on Baytrail
authorChris Wilson <chris@chris-wilson.co.uk>
Thu, 9 Mar 2017 21:12:30 +0000 (21:12 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Fri, 10 Mar 2017 14:28:39 +0000 (14:28 +0000)
commit623b3deb44ab9f8ab09b544af71b96677c0ade20
tree8f66b1f4c6b056f0268b2e37105f26c935966494
parent75b2de9bec181be39077579cccc4f74eabd65881
drm/i915: Stop using RP_DOWN_EI on Baytrail

On Baytrail, we manually calculate busyness over the evaluation interval
to avoid issues with miscaluations with RC6 enabled. However, it turns
out that the DOWN_EI interrupt generator is completely bust - it
operates in two modes, continuous or never. Neither of which are
conducive to good behaviour. Stop unmask the DOWN_EI interrupt and just
compute everything from the UP_EI which does seem to correspond to the
desired interval.

v2: Fixup gen6_rps_pm_mask() as well
v3: Inline vlv_c0_above() to combine the now identical elapsed
calculation for up/down and simplify the threshold testing

Fixes: a91a1c6f32a6 ("drm/i915: Improved w/a for rps on Baytrail")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Cc: <stable@vger.kernel.org> # v4.1+
Link: http://patchwork.freedesktop.org/patch/msgid/20170309211232.28878-1-chris@chris-wilson.co.uk
Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
drivers/gpu/drm/i915/i915_drv.h
drivers/gpu/drm/i915/i915_irq.c
drivers/gpu/drm/i915/intel_pm.c