linux_dsm_epyc7002/drivers/gpu/drm/i915
Ville Syrjälä 56e9371bc3 drm/i915: Deal with machines that expose less than three QGV points
When SAGV is forced to disabled/min/med/max in the BIOS pcode will
only hand us a single QGV point instead of the normal three. Fix
the code to deal with that instead declaring the bandwidth limit
to be 0 MB/s (and thus preventing any planes from being enabled).

Also shrink the max_bw sturct a bit while at it, and change the
deratedbw type to unsigned since the code returns the bw as
an unsigned int.

Since we now keep track of how many qgv points we got from pcode
we can drop the earlier check added for the "pcode doesn't
support the memory subsystem query" case.

Cc: felix.j.degrood@intel.com
Cc: Mark Janes <mark.a.janes@intel.com>
Cc: Matt Roper <matthew.d.roper@intel.com>
Cc: Clint Taylor <Clinton.A.Taylor@intel.com>
Fixes: c457d9cf25 ("drm/i915: Make sure we have enough memory bandwidth on ICL")
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110838
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190606124210.3482-1-ville.syrjala@linux.intel.com
Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
2019-07-03 21:30:20 +03:00
..
display drm/i915: Deal with machines that expose less than three QGV points 2019-07-03 21:30:20 +03:00
gem drm/i915/gem: Free pages before rcu-freeing the object 2019-07-03 11:46:47 +01:00
gt drm/i915/execlists: Hesitate before slicing 2019-07-03 11:20:35 +01:00
gvt drm/i915/gtt: Use a common type for page directories 2019-06-17 16:30:54 +03:00
oa drm/i915: Move OA files to separate folder 2019-06-26 23:23:59 +01:00
selftests drm/i915/selftests: Common live setup/teardown 2019-07-03 11:07:57 +01:00
.gitignore
i915_active_types.h drm/i915: Provide an i915_active.acquire callback 2019-06-21 19:47:55 +01:00
i915_active.c drm/i915: Markup potential lock for i915_active 2019-07-03 12:23:56 +01:00
i915_active.h drm/i915: Provide an i915_active.acquire callback 2019-06-21 19:47:55 +01:00
i915_cmd_parser.c drm/i915: Move GEM object domain management from struct_mutex to local 2019-05-28 12:45:29 +01:00
i915_debugfs.c drm/i915: synchronize_irq() against the actual irq 2019-07-03 10:07:13 +01:00
i915_debugfs.h drm/i915: extract i915_debugfs.h from i915_drv.h 2019-05-03 10:06:40 +03:00
i915_drv.c drm/i915: Initialize drm_driver vblank funcs at compile time 2019-06-26 19:23:28 +03:00
i915_drv.h drm/i915: Deal with machines that expose less than three QGV points 2019-07-03 21:30:20 +03:00
i915_fixed.h drm/i915: make i915_fixed.h self-contained 2019-06-27 10:50:24 +03:00
i915_gem_batch_pool.c drm/i915: Throw away the active object retirement complexity 2019-06-21 19:47:51 +01:00
i915_gem_batch_pool.h drm/i915: Split GEM object type definition to its own header 2019-05-28 12:45:29 +01:00
i915_gem_evict.c drm/i915: Move more GEM objects under gem/ 2019-05-28 12:45:29 +01:00
i915_gem_fence_reg.c drm/i915: Use intel_uncore_rmw in intel_gt_init_swizzling 2019-06-21 13:48:24 +01:00
i915_gem_fence_reg.h drm/i915: Convert i915_gem_init_swizzling to intel_gt 2019-06-21 13:48:22 +01:00
i915_gem_gtt.c drm/i915/gtt: Don't check PPGTT presence on PPGTT-only platforms 2019-07-02 19:36:49 +01:00
i915_gem_gtt.h Revert "drm/i915: Introduce private PAT management" 2019-07-02 19:36:47 +01:00
i915_gem_render_state.c drm/i915: Save trip via top-level i915 in a few more places 2019-06-21 13:48:48 +01:00
i915_gem_render_state.h
i915_gem.c drm/i915/gem: Free pages before rcu-freeing the object 2019-07-03 11:46:47 +01:00
i915_gem.h drm/i915: Load balancing across a virtual engine 2019-05-22 08:40:38 +01:00
i915_globals.c drm/i915: Move more GEM objects under gem/ 2019-05-28 12:45:29 +01:00
i915_globals.h drm/i915: make i915_globals.h self-contained 2019-06-27 10:50:32 +03:00
i915_gpu_error.c drm/i915: Prevent dereference of engine before NULL check in error capture 2019-06-21 15:38:54 +01:00
i915_gpu_error.h
i915_ioc32.c
i915_irq.c drm/i915: synchronize_irq() against the actual irq 2019-07-03 10:07:13 +01:00
i915_irq.h drm/i915: synchronize_irq() against the actual irq 2019-07-03 10:07:13 +01:00
i915_memcpy.c
i915_mm.c
i915_params.c drm/i915: Check backlight type while doing eDP backlight initializaiton 2019-06-26 17:48:12 +03:00
i915_params.h drm/i915: Check backlight type while doing eDP backlight initializaiton 2019-06-26 17:48:12 +03:00
i915_pci.c drm/i915/ehl: Add missing VECS engine 2019-06-25 11:50:20 -07:00
i915_perf.c drm/i915: Move OA files to separate folder 2019-06-26 23:23:59 +01:00
i915_pmu.c drm/i915: update with_intel_runtime_pm to use the rpm structure 2019-06-14 15:58:33 +01:00
i915_pmu.h
i915_priolist_types.h drm/i915: Downgrade NEWCLIENT to non-preemptive 2019-05-20 18:28:22 +03:00
i915_pvinfo.h drm/i915: make i915_pvinfo.h self-contained 2019-06-27 10:50:35 +03:00
i915_query.c Revert "drm/i915: Expand subslice mask" 2019-05-29 17:18:18 +03:00
i915_query.h
i915_reg.h drm/i915/ehl: Add third combo PHY offset 2019-07-01 08:28:15 -07:00
i915_request.c drm/i915: Rename i915_timeline to intel_timeline and move under gt 2019-06-21 13:48:53 +01:00
i915_request.h drm/i915: Rename i915_timeline to intel_timeline and move under gt 2019-06-21 13:48:53 +01:00
i915_scatterlist.c drm/i915: Pull scatterlist utils out of i915_gem.h 2019-05-28 12:45:29 +01:00
i915_scatterlist.h drm/i915: Pull scatterlist utils out of i915_gem.h 2019-05-28 12:45:29 +01:00
i915_scheduler_types.h drm/i915/execlists: Minimalistic timeslicing 2019-06-20 16:52:36 +01:00
i915_scheduler.c drm/i915/execlists: Minimalistic timeslicing 2019-06-20 16:52:36 +01:00
i915_scheduler.h drm/i915: Only reschedule the submission tasklet if preemption is possible 2019-05-07 17:40:20 +01:00
i915_selftest.h drm/i915/selftests: Common live setup/teardown 2019-07-03 11:07:57 +01:00
i915_suspend.c drm/i915: move modesetting core code under display/ 2019-06-17 11:48:32 +03:00
i915_sw_fence.c
i915_sw_fence.h
i915_syncmap.c
i915_syncmap.h
i915_sysfs.c drm/i915: update with_intel_runtime_pm to use the rpm structure 2019-06-14 15:58:33 +01:00
i915_trace_points.c
i915_trace.h drm/i915: Fix various tracepoints for gen2 2019-06-26 19:23:28 +03:00
i915_user_extensions.c
i915_user_extensions.h
i915_utils.h drm/i915/execlists: Preempt-to-busy 2019-06-20 16:52:36 +01:00
i915_vgpu.c drm/i915/gt: Fixup kerneldoc parameters 2019-06-21 16:04:09 +01:00
i915_vgpu.h drm/i915: make i915_vgpu.h self-contained 2019-06-27 10:50:38 +03:00
i915_vma.c drm/i915: Mark up vma->active as safe for use inside shrinkers 2019-07-03 12:24:08 +01:00
i915_vma.h drm/i915: Move fence register tracking from i915->mm to ggtt 2019-06-13 09:37:39 +01:00
intel_csr.c drm/i915/dmc: protect against loading wrong firmware 2019-06-17 12:32:34 -07:00
intel_csr.h drm/i915/csr: move CSR version macros to intel_csr.h 2019-05-03 10:06:25 +03:00
intel_device_info.c drm/i915: rework reading pipe disable fuses 2019-06-28 10:07:26 -07:00
intel_device_info.h drm/i915: move modesetting core code under display/ 2019-06-17 11:48:32 +03:00
intel_drv.h drm/i915: Keep the TypeC port mode fixed when the port is active 2019-07-01 15:02:34 +03:00
intel_guc_ads.c drm/i915/guc: Avoid reclaim locks during reset 2019-07-01 16:21:43 +01:00
intel_guc_ads.h drm/i915/guc: Reset GuC ADS during sanitize 2019-05-28 10:07:05 +01:00
intel_guc_ct.c drm/i915/guc: reorder enable/disable communication steps 2019-06-21 19:47:33 +01:00
intel_guc_ct.h drm/i915: make intel_guc_ct.h self-contained 2019-06-27 10:50:40 +03:00
intel_guc_fw.c drm/i915/guc: Add debug capture of GuC exception 2019-06-25 20:17:22 +01:00
intel_guc_fw.h
intel_guc_fwif.h drm/i915: make intel_guc_fwif.h self-contained 2019-06-27 10:50:42 +03:00
intel_guc_log.c drm/i915: synchronize_irq() against the actual irq 2019-07-03 10:07:13 +01:00
intel_guc_log.h
intel_guc_reg.h drm/i915: make intel_guc_reg.h self-contained 2019-06-27 10:50:45 +03:00
intel_guc_submission.c drm/i915/execlists: Preempt-to-busy 2019-06-20 16:52:36 +01:00
intel_guc_submission.h
intel_guc.c drm/i915: Make GuC GGTT reservation work on ggtt 2019-06-11 14:40:15 +01:00
intel_guc.h drm/i915/guc: Avoid reclaim locks during reset 2019-07-01 16:21:43 +01:00
intel_gvt.c
intel_gvt.h drm/i915: make intel_gvt.h self-contained 2019-06-27 10:50:48 +03:00
intel_huc_fw.c drm/i915/huc: Define HuC firmware version for Icelake 2019-05-28 10:07:23 +01:00
intel_huc_fw.h
intel_huc.c drm/i915: update with_intel_runtime_pm to use the rpm structure 2019-06-14 15:58:33 +01:00
intel_huc.h drm/i915/huc: New HuC status register for Gen11 2019-05-28 10:07:13 +01:00
intel_pm.c drm/i915: Use intel state as much as possible in wm code 2019-07-01 10:32:57 +02:00
intel_pm.h drm/i915: Convert most of atomic commit to take more intel state 2019-07-01 10:32:14 +02:00
intel_renderstate_gen6.c
intel_renderstate_gen7.c
intel_renderstate_gen8.c
intel_renderstate_gen9.c
intel_renderstate.h
intel_runtime_pm.c drm/i915: Fix memleak in runtime wakeref tracking 2019-07-02 16:00:20 +01:00
intel_runtime_pm.h drm/i915: move modesetting core code under display/ 2019-06-17 11:48:32 +03:00
intel_sideband.c drm/i915: Make sandybridge_pcode_read() deal with the second data register 2019-05-27 20:51:48 +03:00
intel_sideband.h drm/i915: Make sandybridge_pcode_read() deal with the second data register 2019-05-27 20:51:48 +03:00
intel_uc_fw.c drm/i915: Move GEM object domain management from struct_mutex to local 2019-05-28 12:45:29 +01:00
intel_uc_fw.h drm/i915: make intel_uc_fw.h self-contained 2019-06-27 10:50:54 +03:00
intel_uc.c drm/i915/guc: handle GuC messages received with CTB disabled 2019-06-21 19:47:34 +01:00
intel_uc.h drm/i915/guc: Fix runtime suspend 2019-05-03 08:38:37 +01:00
intel_uncore.c drm/i915/gvt: decouple check_vgpu() from uncore_init() 2019-06-20 16:34:57 +01:00
intel_uncore.h drm/i915: dynamically allocate forcewake domains 2019-06-20 16:34:56 +01:00
intel_wakeref.c drm/i915: Local debug BUG_ON for intel_wakeref 2019-06-21 19:48:00 +01:00
intel_wakeref.h drm/i915: Add a wakeref getter for iff the wakeref is already active 2019-06-26 18:01:01 +01:00
intel_wopcm.c drm/i915/gt: Fixup kerneldoc parameters 2019-06-21 16:04:09 +01:00
intel_wopcm.h drm/i915: Stop using I915_READ/WRITE in intel_wopcm_init_hw 2019-06-21 13:48:32 +01:00
Kconfig drm/i915: add force_probe module parameter to replace alpha_support 2019-05-31 16:20:30 +03:00
Kconfig.debug drm/i915: Enable refcount debugging for default debug levels 2019-06-14 12:16:08 +01:00
Kconfig.profile drm/i915: Add a label for config DRM_I915_SPIN_REQUEST 2019-06-12 11:18:55 +01:00
Makefile drm/i915: Move the TypeC port handling code to a separate file 2019-07-01 14:48:46 +03:00
Makefile.header-test drm/i915: make intel_uc_fw.h self-contained 2019-06-27 10:50:54 +03:00