mirror of
https://github.com/torvalds/linux.git
synced 2024-12-28 05:41:55 +00:00
drm/i915: Always enable execlists on BDW for vgpu
Broadwell hardware supports both ring buffer mode and execlist mode. When i915 runs inside a VM with Intel GVT-g, we allow execlist mode only. The main reason of EXECLIST only is that GVT-g does not support the dynamic mode switch between ring buffer mode and execlist mode when running multiple virtual machines. v2: - Adjust the position of vgpu check in sanitize function (Joonas) - Add vgpu error check in context initialization. (Joonas, Daniel) Signed-off-by: Zhiyuan Lv <zhiyuan.lv@intel.com> Signed-off-by: Zhi Wang <zhi.a.wang@intel.com> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
parent
331f38e77d
commit
a0bd6c3183
@ -332,6 +332,13 @@ int i915_gem_context_init(struct drm_device *dev)
|
|||||||
if (WARN_ON(dev_priv->ring[RCS].default_context))
|
if (WARN_ON(dev_priv->ring[RCS].default_context))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
if (intel_vgpu_active(dev) && HAS_LOGICAL_RING_CONTEXTS(dev)) {
|
||||||
|
if (!i915.enable_execlists) {
|
||||||
|
DRM_INFO("Only EXECLIST mode is supported in vgpu.\n");
|
||||||
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (i915.enable_execlists) {
|
if (i915.enable_execlists) {
|
||||||
/* NB: intentionally left blank. We will allocate our own
|
/* NB: intentionally left blank. We will allocate our own
|
||||||
* backing objects as we need them, thank you very much */
|
* backing objects as we need them, thank you very much */
|
||||||
|
@ -236,6 +236,12 @@ int intel_sanitize_enable_execlists(struct drm_device *dev, int enable_execlists
|
|||||||
{
|
{
|
||||||
WARN_ON(i915.enable_ppgtt == -1);
|
WARN_ON(i915.enable_ppgtt == -1);
|
||||||
|
|
||||||
|
/* On platforms with execlist available, vGPU will only
|
||||||
|
* support execlist mode, no ring buffer mode.
|
||||||
|
*/
|
||||||
|
if (HAS_LOGICAL_RING_CONTEXTS(dev) && intel_vgpu_active(dev))
|
||||||
|
return 1;
|
||||||
|
|
||||||
if (INTEL_INFO(dev)->gen >= 9)
|
if (INTEL_INFO(dev)->gen >= 9)
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user