android_kernel_oneplus_msm8998/drivers/gpu/drm/i915
Chris Wilson 8cfaf0ae1f drm/i915: Stop using RP_DOWN_EI on Baytrail
commit 8f68d591d4765b2e1ce9d916ac7bc5583285c4ad upstream.

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: 43cf3bf084 ("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>
Link: http://patchwork.freedesktop.org/patch/msgid/20170309211232.28878-1-chris@chris-wilson.co.uk
Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170313170617.31564-1-chris@chris-wilson.co.uk
(cherry picked from commit e0e8c7cb6eb68e9256de2d8cbeb481d3701c05ac)
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-04-18 07:14:34 +02:00
..
dvo.h drm/i915: Constify adjusted_mode 2015-09-30 10:20:11 +02:00
dvo_ch7xxx.c drm/i915: Constify adjusted_mode 2015-09-30 10:20:11 +02:00
dvo_ch7017.c drm/i915: Constify adjusted_mode 2015-09-30 10:20:11 +02:00
dvo_ivch.c drm/i915: Constify adjusted_mode 2015-09-30 10:20:11 +02:00
dvo_ns2501.c drm/i915: Constify adjusted_mode 2015-09-30 10:20:11 +02:00
dvo_sil164.c drm/i915: Constify adjusted_mode 2015-09-30 10:20:11 +02:00
dvo_tfp410.c drm/i915: Constify adjusted_mode 2015-09-30 10:20:11 +02:00
i915_cmd_parser.c drm/i915: Add GEN7_GPGPU_DISPATCHDIMX/Y/Z to the register whitelist 2015-10-06 10:40:22 +02:00
i915_debugfs.c drm/i915: Introduce a gmbus power domain 2015-12-02 16:42:46 +02:00
i915_dma.c drm/i915: Init power domains early in driver load 2016-03-03 15:07:22 -08:00
i915_drv.c drm/i915: refine qemu south bridge detection 2016-03-09 15:34:56 -08:00
i915_drv.h drm/i915: Stop using RP_DOWN_EI on Baytrail 2017-04-18 07:14:34 +02:00
i915_gem.c drm/i915: Only spin whilst waiting on the current request 2015-12-22 12:56:58 +02:00
i915_gem_batch_pool.c
i915_gem_batch_pool.h
i915_gem_context.c drm/i915: Restore inhibiting the load of the default context 2016-03-03 15:07:22 -08:00
i915_gem_debug.c drm/i915: Implement inter-engine read-read optimisations 2015-05-21 15:11:42 +02:00
i915_gem_dmabuf.c drm/i915: remove unused has_dma_mapping flag 2015-07-13 22:42:41 +02:00
i915_gem_evict.c drm/i915: Remove dead i915_gem_evict_everything() 2015-10-07 16:05:40 +02:00
i915_gem_execbuffer.c drm/i915: Kill DRI1 cliprects 2015-10-07 16:05:41 +02:00
i915_gem_fence.c drm/i915: Mark uneven memory banks on gen4 desktop as unknown swizzling 2015-11-23 16:42:33 +02:00
i915_gem_gtt.c drm/i915: fix aliasing_ppgtt leak 2016-09-07 08:32:42 +02:00
i915_gem_gtt.h drm/i915: prevent out of range pt in the PDE macros (take 3) 2015-10-06 14:15:29 +02:00
i915_gem_render_state.c drm/i915: Add provision to extend Golden context batch 2015-07-21 09:30:57 +02:00
i915_gem_render_state.h drm/i915: Add provision to extend Golden context batch 2015-07-21 09:30:57 +02:00
i915_gem_shrinker.c drm/i915: Update ifdeffery for mutex->owner 2016-07-27 09:47:34 -07:00
i915_gem_stolen.c drm/i915: Account for TSEG size when determining 865G stolen base 2016-10-31 04:13:58 -06:00
i915_gem_tiling.c Merge tag 'drm-intel-fixes-2015-08-14' into drm-intel-next-fixes 2015-08-14 18:11:30 +02:00
i915_gem_userptr.c Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2015-11-10 09:33:06 -08:00
i915_gpu_error.c drm/i915: rename INSTDONE1 to GEN4_INSTDONE1 2015-10-02 14:25:19 +02:00
i915_guc_reg.h drm/i915: Parametrize UOS_RSA_SCRATCH 2015-09-30 10:20:13 +02:00
i915_guc_submission.c drm/i915/guc: Add host2guc notification for suspend and resume 2015-10-06 10:32:22 +02:00
i915_ioc32.c Merge tag 'drm-intel-fixes-2015-07-15' into drm-intel-next-queued 2015-07-15 16:36:50 +02:00
i915_irq.c drm/i915: Stop using RP_DOWN_EI on Baytrail 2017-04-18 07:14:34 +02:00
i915_params.c Revert "drm/i915: skip modeset if compatible for everyone." 2015-11-19 10:38:09 +02:00
i915_reg.h drm/i915: Fix hpd live status bits for g4x 2016-09-15 08:27:44 +02:00
i915_suspend.c drm/i915: Parametrize and fix SWF registers 2015-10-13 13:20:38 +02:00
i915_sysfs.c drm/i915/bxt: fix RC6 residency time calculation 2015-09-30 17:15:13 +02:00
i915_trace.h drm/i915: Add a tracepoint for the shrinker 2015-10-07 16:05:38 +02:00
i915_trace_points.c
i915_vgpu.c
i915_vgpu.h drm/i915: Update PV INFO page definition for Intel GVT-g 2015-09-02 11:46:12 +02:00
intel_acpi.c drm/i915: Drop unnecessary #include <linux/vga_switcheroo.h> 2015-10-13 10:18:38 +02:00
intel_atomic.c drm/i915: revert a few more watermark commits 2015-10-13 13:59:55 +02:00
intel_atomic_plane.c drm/i915: Do not handle a null plane state. 2015-09-10 18:27:17 +02:00
intel_audio.c drm/i915: Use round to closest when computing the CEA 1.001 pixel clocks 2015-10-19 17:56:02 +02:00
intel_bios.c drm/i915: Check VBT for port presence in addition to the strap on VLV/CHV 2016-09-15 08:27:48 +02:00
intel_bios.h drm/i915: Ignore "digital output" and "not HDMI output" bits for eDP detection 2015-09-23 16:58:29 +02:00
intel_crt.c drm/i915: Don't leak edid in intel_crt_detect_ddc() 2017-02-01 08:30:53 +01:00
intel_csr.c drm/i915/skl: Fix DMC load on Skylake J0 and K0 2016-05-11 11:21:27 +02:00
intel_ddi.c drm/i915: Fix eDP low vswing for Broadwell 2016-05-11 11:21:24 +02:00
intel_display.c drm/i915: fix use-after-free in page_flip_completed() 2017-02-14 15:22:52 -08:00
intel_dp.c Revert "drm/i915: Check live status before reading edid" 2016-10-31 04:13:58 -06:00
intel_dp_mst.c drm/i915: Fix race condition in intel_dp_destroy_mst_connector() 2016-05-04 14:48:43 -07:00
intel_drv.h Revert "drm/i915: Check live status before reading edid" 2016-10-31 04:13:58 -06:00
intel_dsi.c drm/i915/bxt: get DSI pixelclock 2015-10-02 14:45:51 +02:00
intel_dsi.h drm/i915/bxt: get DSI pixelclock 2015-10-02 14:45:51 +02:00
intel_dsi_panel_vbt.c drm/i915/dsi: don't pass arbitrary data to sideband 2016-03-03 15:07:22 -08:00
intel_dsi_pll.c drm/i915/bxt: vlv_dsi_reset_clocks() can be static 2015-10-06 10:57:06 +02:00
intel_dvo.c drm/i915: Constify adjusted_mode 2015-09-30 10:20:11 +02:00
intel_fbc.c drm/i915: fix FBC buffer size checks 2015-10-09 09:35:50 +02:00
intel_fbdev.c drm/i915/fbdev: Fix num_connector references in intel_fb_initial_config() 2016-06-07 18:14:36 -07:00
intel_fifo_underrun.c
intel_frontbuffer.c drm/i915: fix FBC frontbuffer tracking flushing code 2015-08-05 09:59:44 +02:00
intel_guc.h drm/i915/guc: Add host2guc notification for suspend and resume 2015-10-06 10:32:22 +02:00
intel_guc_fwif.h drm/i915/guc: Add host2guc notification for suspend and resume 2015-10-06 10:32:22 +02:00
intel_guc_loader.c drm/i915: Fix locking around GuC firmware load 2015-11-04 13:23:15 +10:00
intel_hdmi.c drm/i915: Respect alternate_ddc_pin for all DDI ports 2016-11-18 10:48:36 +01:00
intel_hotplug.c drm/i915: intel_hpd_init(): Fix suspend/resume reprobing 2016-03-03 15:07:22 -08:00
intel_i2c.c drm/i915: fix error path in intel_setup_gmbus() 2016-03-03 15:07:23 -08:00
intel_lrc.c drm/i915: Fixup the free space logic in ring_prepare 2016-05-04 14:48:47 -07:00
intel_lrc.h Merge commit '06d1ee32a4d25356a710b49d5e95dbdd68bdf505' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux into drm-next 2015-10-16 10:25:28 +10:00
intel_lvds.c drm/i915: Clean up LVDS register handling 2015-10-13 13:21:15 +02:00
intel_mocs.c drm/i915: Added Programming of the MOCS 2015-07-14 17:13:14 +02:00
intel_mocs.h drm/i915: Added Programming of the MOCS 2015-07-14 17:13:14 +02:00
intel_modes.c drm/i915: Add HDMI aspect ratio property for SDVO 2015-09-30 10:20:12 +02:00
intel_opregion.c drm/i915: Don't complain about lack of ACPI video bios 2016-08-20 18:09:21 +02:00
intel_overlay.c drm/i915: Update intel_ring_begin() to take a request structure 2015-06-23 14:02:29 +02:00
intel_panel.c drm/i915: disable CPU PWM also on LPT/SPT backlight disable 2015-10-28 19:10:37 +02:00
intel_pm.c drm/i915: Stop using RP_DOWN_EI on Baytrail 2017-04-18 07:14:34 +02:00
intel_psr.c drm/i915: Parametrize HSW video DIP data registers 2015-10-13 13:15:50 +02:00
intel_renderstate.h
intel_renderstate_gen6.c
intel_renderstate_gen7.c
intel_renderstate_gen8.c
intel_renderstate_gen9.c
intel_ringbuffer.c drm/i915: Fixup the free space logic in ring_prepare 2016-05-04 14:48:47 -07:00
intel_ringbuffer.h drm/i915: Refactor common ringbuffer allocation code 2015-09-04 10:17:00 +02:00
intel_runtime_pm.c drm/i915: Introduce a gmbus power domain 2015-12-02 16:42:46 +02:00
intel_sdvo.c Revert "drm/i915: Call encoder hotplug for init and resume cases" 2015-10-08 21:51:57 +02:00
intel_sdvo_regs.h
intel_sideband.c drm/i915: s/dpio_lock/sb_lock/ 2015-05-28 11:13:51 +02:00
intel_sprite.c drm/i915: Avoid pointer arithmetic in calculating plane surface offset 2016-09-24 10:07:42 +02:00
intel_tv.c Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next 2015-09-30 08:47:41 +02:00
intel_uncore.c drm/i915: Use fw_domains_put_with_fifo() on HSW 2016-05-04 14:48:47 -07:00
Kconfig drm/i915: Use CONFIG_DRM_FBDEV_EMULATION 2015-08-11 14:00:29 +02:00
Makefile Merge tag 'drm-intel-next-fixes-2015-09-02' into drm-intel-next-queued 2015-09-02 14:33:42 +02:00