linux/drivers/gpu/drm/i915
Rodrigo Vivi 4d6ef0da41 drm/i915/skl: Fix has_ipc on skl and document WaDisableIPC.
According to Spec for SKL+: "Isochronous Priority Control.
If enabled, Display sends demoted requests once the transition
watermark is reached. If transition watermark is not enabled,
Display sends demoted requests when the display buffer is full."

The commit 'e57f1c02155f ("drm/i915/gen9+: Add has_ipc flag in
device info structure")' introduced that as gen9+ but missing many
SKL Skus.

I believe the reason for that is Spec also mentions workarounds for
SKL-ALL: "IPC (Isoch Priority Control) may cause underflows
WA: Do not enable IPC in register ARB_CTL2"

It seems lame to add the feature and forever disable it,
but it will avoid a mistake of enabling it when we are reorganizing
the feature definitions on i915_pci.c later.

It will also allow us to probably extend that workaround for
other platforms.

Cc: Mahesh Kumar <mahesh1.kumar@intel.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Reviewed-by: Mahesh Kumar <mahesh1.kumar@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20171003063652.17248-1-rodrigo.vivi@intel.com
2017-10-03 10:53:48 -07:00
..
gvt Merge drm-upstream/drm-next into drm-intel-next-queued 2017-09-28 15:56:49 +03:00
selftests drm/i915/selftests: Replace wmb() with i915_gem_chipset_flush() 2017-09-29 12:30:17 +01:00
dvo_ch7xxx.c drm/i915/dvo: fix debug logging on unknown DID 2017-06-01 15:53:03 +03:00
dvo_ch7017.c drm/i915/lvds: Remove magic from PLL programming 2017-05-10 13:47:55 +03:00
dvo_ivch.c
dvo_ns2501.c
dvo_sil164.c
dvo_tfp410.c
dvo.h
i915_cmd_parser.c drm/i915: Recreate vmapping even when the object is pinned 2017-08-30 12:08:11 -07:00
i915_debugfs.c Merge drm-upstream/drm-next into drm-intel-next-queued 2017-09-28 15:56:49 +03:00
i915_drv.c drm/i915/gen9+: Set same power state before hibernation image save/restore 2017-10-02 12:07:42 +03:00
i915_drv.h drm/i915: Update DRIVER_DATE to 20170929 2017-09-29 13:50:38 +03:00
i915_gem_batch_pool.c drm/i915: Reinstate reservation_object zapping for batch_pool objects 2017-06-14 14:06:22 +01:00
i915_gem_batch_pool.h
i915_gem_clflush.c drm/i915: Split obj->cache_coherent to track r/w 2017-08-15 15:46:57 +01:00
i915_gem_clflush.h drm/i915: Force CPU synchronisation even if userspace requests ASYNC 2017-07-27 22:07:24 +02:00
i915_gem_context.c drm/i915: Rename global i915 to i915_modparams 2017-09-22 14:50:36 +03:00
i915_gem_context.h drm/i915: Replace execbuf vma ht with an idr 2017-08-18 11:59:02 +01:00
i915_gem_dmabuf.c drm/i915: Implement dma_buf_ops->kmap 2017-05-03 23:15:02 +01:00
i915_gem_evict.c drm/i915: Convert execbuf to use struct-of-array packing for critical fields 2017-08-18 11:57:36 +01:00
i915_gem_execbuffer.c Merge drm-upstream/drm-next into drm-intel-next-queued 2017-09-28 15:56:49 +03:00
i915_gem_fence_reg.c drm/i915: Add interface to reserve fence registers for vGPU 2017-09-04 16:34:59 +01:00
i915_gem_fence_reg.h
i915_gem_gtt.c drm/i915: Use memset64() to prefill the GTT page 2017-09-28 21:00:48 +01:00
i915_gem_gtt.h drm/i915: Remove the "INDEX" suffix from PPAT marcos 2017-09-14 16:46:36 +03:00
i915_gem_internal.c drm/i915: Split obj->cache_coherent to track r/w 2017-08-15 15:46:57 +01:00
i915_gem_object.c drm/i915: Split obj->cache_coherent to track r/w 2017-08-15 15:46:57 +01:00
i915_gem_object.h drm/i915: Replace execbuf vma ht with an idr 2017-08-18 11:59:02 +01:00
i915_gem_render_state.c drm/i915: Perform an invalidate prior to executing golden renderstate 2017-08-14 19:28:06 +03:00
i915_gem_render_state.h
i915_gem_request.c drm/i915: Give the invalid priority a magic name 2017-09-29 12:45:34 +01:00
i915_gem_request.h drm/i915: Give the invalid priority a magic name 2017-09-29 12:45:34 +01:00
i915_gem_shrinker.c drm/i915: wire up shrinkctl->nr_scanned 2017-09-06 17:27:25 -07:00
i915_gem_stolen.c drm/i915: Split obj->cache_coherent to track r/w 2017-08-15 15:46:57 +01:00
i915_gem_tiling.c drm/i915: Fix logical inversion for gen4 quirking 2017-06-07 16:31:34 +03:00
i915_gem_timeline.c drm/i915: Squash repeated awaits on the same fence 2017-05-03 11:08:48 +01:00
i915_gem_timeline.h drm/i915: Rename intel_timeline.sync_seqno[] to .global_sync[] 2017-05-03 11:08:52 +01:00
i915_gem_userptr.c Merge drm-upstream/drm-next into drm-intel-next-queued 2017-09-28 15:56:49 +03:00
i915_gem.c drm/i915: Move i915_gem_restore_fences to i915_gem_resume 2017-09-29 12:30:17 +01:00
i915_gem.h drm/i915: Squash repeated awaits on the same fence 2017-05-03 11:08:48 +01:00
i915_gpu_error.c Merge drm-upstream/drm-next into drm-intel-next-queued 2017-09-28 15:56:49 +03:00
i915_guc_reg.h
i915_guc_submission.c drm/i915: Make execlist port count variable 2017-09-25 11:33:53 +03:00
i915_ioc32.c
i915_irq.c drm/i915/gen8+: Init/reset display interrupts only if i915 IRQs are enabled 2017-10-02 12:09:11 +03:00
i915_memcpy.c
i915_mm.c
i915_oa_bdw.c drm/i915/perf: leave GDT_CHICKEN_BITS programming in configs 2017-08-03 18:18:44 +01:00
i915_oa_bdw.h drm/i915/perf: prune OA configs 2017-08-03 18:18:05 +01:00
i915_oa_bxt.c drm/i915/perf: leave GDT_CHICKEN_BITS programming in configs 2017-08-03 18:18:44 +01:00
i915_oa_bxt.h drm/i915/perf: prune OA configs 2017-08-03 18:18:05 +01:00
i915_oa_cflgt2.c drm/i915/perf: add support for Coffeelake GT2 2017-09-18 19:46:36 +01:00
i915_oa_cflgt2.h drm/i915/perf: add support for Coffeelake GT2 2017-09-18 19:46:36 +01:00
i915_oa_chv.c drm/i915/perf: leave GDT_CHICKEN_BITS programming in configs 2017-08-03 18:18:44 +01:00
i915_oa_chv.h drm/i915/perf: prune OA configs 2017-08-03 18:18:05 +01:00
i915_oa_glk.c drm/i915/perf: leave GDT_CHICKEN_BITS programming in configs 2017-08-03 18:18:44 +01:00
i915_oa_glk.h drm/i915/perf: prune OA configs 2017-08-03 18:18:05 +01:00
i915_oa_hsw.c drm/i915/perf: leave GDT_CHICKEN_BITS programming in configs 2017-08-03 18:18:44 +01:00
i915_oa_hsw.h drm/i915/perf: prune OA configs 2017-08-03 18:18:05 +01:00
i915_oa_kblgt2.c drm/i915/perf: leave GDT_CHICKEN_BITS programming in configs 2017-08-03 18:18:44 +01:00
i915_oa_kblgt2.h drm/i915/perf: prune OA configs 2017-08-03 18:18:05 +01:00
i915_oa_kblgt3.c drm/i915/perf: leave GDT_CHICKEN_BITS programming in configs 2017-08-03 18:18:44 +01:00
i915_oa_kblgt3.h drm/i915/perf: prune OA configs 2017-08-03 18:18:05 +01:00
i915_oa_sklgt2.c drm/i915/perf: leave GDT_CHICKEN_BITS programming in configs 2017-08-03 18:18:44 +01:00
i915_oa_sklgt2.h drm/i915/perf: prune OA configs 2017-08-03 18:18:05 +01:00
i915_oa_sklgt3.c drm/i915/perf: leave GDT_CHICKEN_BITS programming in configs 2017-08-03 18:18:44 +01:00
i915_oa_sklgt3.h drm/i915/perf: prune OA configs 2017-08-03 18:18:05 +01:00
i915_oa_sklgt4.c drm/i915/perf: leave GDT_CHICKEN_BITS programming in configs 2017-08-03 18:18:44 +01:00
i915_oa_sklgt4.h drm/i915/perf: prune OA configs 2017-08-03 18:18:05 +01:00
i915_params.c drm/i915: Extend I915_PARAMS_FOR_EACH with default member value 2017-09-26 11:22:23 +03:00
i915_params.h drm/i915: Fix default values of some modparams 2017-09-26 11:22:26 +03:00
i915_pci.c drm/i915/skl: Fix has_ipc on skl and document WaDisableIPC. 2017-10-03 10:53:48 -07:00
i915_perf.c drm/i915: Rename global i915 to i915_modparams 2017-09-22 14:50:36 +03:00
i915_pvinfo.h drm/i915: Enable guest i915 full ppgtt functionality 2017-08-15 10:12:48 +08:00
i915_reg.h drm/i915/glk, cnl: Implement WaDisableScalarClockGating 2017-10-03 12:09:16 +03:00
i915_selftest.h drm/i915: Don't use MI_STORE_DWORD_IMM on Sandybridge/vcs 2017-08-18 11:55:02 +01:00
i915_suspend.c drm/i915: Move i915_gem_restore_fences to i915_gem_resume 2017-09-29 12:30:17 +01:00
i915_sw_fence.c drm/i915/fence: Avoid del_timer_sync() from inside a timer 2017-09-19 13:06:21 +01:00
i915_sw_fence.h main drm pull for v4.13 2017-07-09 18:48:37 -07:00
i915_syncmap.c drm/i915: Squash repeated awaits on the same fence 2017-05-03 11:08:48 +01:00
i915_syncmap.h drm/i915: Squash repeated awaits on the same fence 2017-05-03 11:08:48 +01:00
i915_sysfs.c drm/i915: add const to bin_attribute 2017-08-03 12:20:09 +02:00
i915_trace_points.c
i915_trace.h drm/i915: Use correct path to trace include 2017-09-04 09:45:44 +02:00
i915_utils.h drm/i915: Store a direct lookup from object handle to vma 2017-06-16 16:54:04 +01:00
i915_vgpu.c drm/i915: Enable guest i915 full ppgtt functionality 2017-08-15 10:12:48 +08:00
i915_vgpu.h drm/i915: Enable guest i915 full ppgtt functionality 2017-08-15 10:12:48 +08:00
i915_vma.c drm/i915: Replace execbuf vma ht with an idr 2017-08-18 11:59:02 +01:00
i915_vma.h drm/i915: Ignore duplicate VMA stored within the per-object handle LUT 2017-08-30 12:17:22 -07:00
intel_acpi.c ACPI: Switch to use generic guid_t in acpi_evaluate_dsm() 2017-06-07 12:20:49 +02:00
intel_atomic_plane.c drm/i915: Pass proper old/new states to intel_plane_atomic_check_with_state() 2017-09-01 16:48:24 +03:00
intel_atomic.c drm/i915/cnl: Fix Cannonlake scaler mode programing. 2017-06-12 09:45:55 -07:00
intel_audio.c drm/i915: always update ELD connector type after get modes 2017-09-20 10:36:34 +03:00
intel_bios.c drm/i915/bios: ignore HDMI on port A 2017-09-25 10:49:55 +03:00
intel_bios.h
intel_breadcrumbs.c i915: Use %pS printk format for direct addresses 2017-09-27 14:23:30 +02:00
intel_cdclk.c drm/i915: Increase poll time for BDW FCLK_DONE 2017-09-12 12:19:57 +03:00
intel_color.c drm/i915: Make i9xx_load_ycbcr_conversion_matrix() static 2017-09-01 10:30:37 -07:00
intel_crt.c drm/i915: Rename global i915 to i915_modparams 2017-09-22 14:50:36 +03:00
intel_csr.c drm/i915: Speed up DMC firmware loading 2017-09-25 14:48:44 +01:00
intel_ddi.c drm/i915: Fix DDI PHY init if it was already on 2017-10-03 12:09:52 +03:00
intel_device_info.c drm/i915/cnl: Add support slice/subslice/eu configs 2017-09-26 13:02:44 -07:00
intel_display.c drm/i915/glk, cnl: Implement WaDisableScalarClockGating 2017-10-03 12:09:16 +03:00
intel_dp_aux_backlight.c drm/i915: Rename global i915 to i915_modparams 2017-09-22 14:50:36 +03:00
intel_dp_link_training.c drm/i915: Explicit the connector name for DP link training result 2017-07-19 08:32:42 +02:00
intel_dp_mst.c drm/i915/mst: Print active mst links after update 2017-09-25 15:21:22 +03:00
intel_dp.c drm/i915/dp: Remove useless debug about TPS3 support 2017-09-25 15:22:07 +03:00
intel_dpio_phy.c drm/i915: Fix DDI PHY init if it was already on 2017-10-03 12:09:52 +03:00
intel_dpll_mgr.c drm/i915/cnl: Dump the right pll registers when dumping pipe config. 2017-08-11 11:41:45 -07:00
intel_dpll_mgr.h drm/i915/cnl: Initialize PLLs 2017-06-12 09:42:18 -07:00
intel_drv.h drm/i915: Enable scanline read based on frame timestamps 2017-09-26 10:57:05 +03:00
intel_dsi_dcs_backlight.c drm/i915: Initialize 'data' in intel_dsi_dcs_backlight.c 2017-08-16 18:02:00 +03:00
intel_dsi_pll.c
intel_dsi_vbt.c drm/i915/bxt: use NULL for GPIO connection ID 2017-08-21 11:52:29 +03:00
intel_dsi.c Merge tag 'drm-intel-next-2017-09-07' of git://anongit.freedesktop.org/git/drm-intel into drm-next 2017-09-28 07:12:44 +10:00
intel_dsi.h
intel_dvo.c drm/i915: Constify states passed to enable/disable/etc. encoder hooks 2017-08-22 17:59:02 +03:00
intel_engine_cs.c drm/i915: Make execlist port count variable 2017-09-25 11:33:53 +03:00
intel_fbc.c drm/i915: Rename global i915 to i915_modparams 2017-09-22 14:50:36 +03:00
intel_fbdev.c drm/i915: Wake up the device for the fbdev setup 2017-09-04 19:30:45 +03:00
intel_fifo_underrun.c drm/i915: Don't rmw PIPESTAT enable bits 2017-09-25 16:54:09 +03:00
intel_frontbuffer.c
intel_frontbuffer.h
intel_guc_ct.c drm/i915/guc: Introduce buffer based cmd transport 2017-05-26 13:26:53 +01:00
intel_guc_ct.h drm/i915/guc: Introduce buffer based cmd transport 2017-05-26 13:26:53 +01:00
intel_guc_fwif.h drm/i915/guc: Remove WQ_WORKLOAD_SHIFT define 2017-09-13 10:36:48 +01:00
intel_guc_loader.c drm/i915: Rename global i915 to i915_modparams 2017-09-22 14:50:36 +03:00
intel_guc_log.c drm/i915: Rename global i915 to i915_modparams 2017-09-22 14:50:36 +03:00
intel_gvt.c drm/i915: Rename global i915 to i915_modparams 2017-09-22 14:50:36 +03:00
intel_gvt.h drm/i915/gvt: Add gvt options sanitize function 2017-05-30 15:59:47 +03:00
intel_hangcheck.c drm/i915: Rename global i915 to i915_modparams 2017-09-22 14:50:36 +03:00
intel_hdmi.c drm/i915: Constify states passed to enable/disable/etc. encoder hooks 2017-08-22 17:59:02 +03:00
intel_hotplug.c drm/i915: Introduce intel_hpd_pin function. 2017-08-11 11:53:47 -07:00
intel_huc.c drm/i915/huc: Reorganize HuC authentication 2017-09-26 12:08:03 +03:00
intel_i2c.c drm/i915: Make i2c lock ops static 2017-09-01 10:30:40 -07:00
intel_lpe_audio.c drm/i915: Stop pretending to mask/unmask LPE audio interrupts 2017-05-26 11:51:18 +03:00
intel_lrc.c drm/i915/execlists: Cache the last priolist lookup 2017-09-29 12:46:08 +01:00
intel_lrc.h drm/i915/lrc: Clarify the format of the context image 2017-09-13 15:02:15 +01:00
intel_lspcon.c drm/i915/cnl: Fix LSPCON support. 2017-08-16 18:02:13 +03:00
intel_lvds.c drm/i915: Rename global i915 to i915_modparams 2017-09-22 14:50:36 +03:00
intel_mocs.c drm/i915/cnl: Cannonlake has same MOCS table than Skylake. 2017-06-07 07:29:51 -07:00
intel_mocs.h
intel_modes.c drm/i915: always update ELD connector type after get modes 2017-09-20 10:36:34 +03:00
intel_opregion.c drm/i915: Rename global i915 to i915_modparams 2017-09-22 14:50:36 +03:00
intel_overlay.c drm/i915: More surgically unbreak the modeset vs reset deadlock 2017-08-14 17:03:36 +02:00
intel_panel.c drm/i915: Rename global i915 to i915_modparams 2017-09-22 14:50:36 +03:00
intel_pipe_crc.c drm/i915: Beef up of Beef up the IPS vs. CRC workaround 2017-08-28 16:12:47 +03:00
intel_pm.c drm/i915/skl: Fix has_ipc on skl and document WaDisableIPC. 2017-10-03 10:53:48 -07:00
intel_psr.c drm/i915/psr: Set frames before SU entry for psr2 2017-09-28 09:40:34 -07:00
intel_renderstate_gen6.c
intel_renderstate_gen7.c
intel_renderstate_gen8.c
intel_renderstate_gen9.c drm/i915/gen9: Send all components in VF state 2017-08-14 12:15:49 +03:00
intel_renderstate.h
intel_ringbuffer.c drm/i915: Rename global i915 to i915_modparams 2017-09-22 14:50:36 +03:00
intel_ringbuffer.h drm/i915: Make execlist port count variable 2017-09-25 11:33:53 +03:00
intel_runtime_pm.c drm/i915: Rename global i915 to i915_modparams 2017-09-22 14:50:36 +03:00
intel_sdvo_regs.h
intel_sdvo.c drm/i915: Make i2c lock ops static 2017-09-01 10:30:40 -07:00
intel_sideband.c
intel_sprite.c drm/i915: Pass the crtc state explicitly to intel_pipe_update_start/end() 2017-08-31 21:23:28 +03:00
intel_tv.c drm/i915: Use mul_u32_u32() for 32b x 32b -> 64b result 2017-09-13 13:27:20 +01:00
intel_uc.c drm/i915/huc: Reorganize HuC authentication 2017-09-26 12:08:03 +03:00
intel_uc.h drm/i915/huc: Reorganize HuC authentication 2017-09-26 12:08:03 +03:00
intel_uncore.c drm/i915: Rename global i915 to i915_modparams 2017-09-22 14:50:36 +03:00
intel_uncore.h drm/i915: Disable mmio debugging during user access 2017-09-07 17:58:17 +01:00
intel_vbt_defs.h drm/i915/bios: amend edp block based on intel_vbt_decode 2017-08-28 11:04:24 +03:00
Kconfig drm/i915/fence: Avoid del_timer_sync() from inside a timer 2017-09-19 13:06:21 +01:00
Kconfig.debug drm/i915: Add SW_SYNC to our recommend testing Kconfig 2017-08-12 10:30:42 +01:00
Makefile drm/i915/perf: add support for Coffeelake GT2 2017-09-18 19:46:36 +01:00