nouveau and i915 regression fixes
-----BEGIN PGP SIGNATURE----- iQIcBAABAgAGBQJaRa4qAAoJEAx081l5xIa+mEYQAIH3TxsQAKU6htpoLySb0FbP 1svdRSLbJa2dLk2qChMblc+a+GL8HNUmRCp6vNvpmU6lFNfuHpZ4nBx6CR3UuYjx 7DKiHuF/TeuzCza+StVvFxD6NpxnL4/i5lGopxCspDLujrirj6p4hlTMGF1ZQhLt 1VYL02IbD2oPacZ/vnT1cgv6EVoNdfJkdGUIGU4O0w+pTTLhnty9RlBNonVDJ7CS 42KEFld9jEwS0HAd5Sxq28Njt0MSj/ZXPuR92yAm4jGLfRF/+v2pbTa5BUCkcn+R 58/e1ZgJtofYmz+RujWLDHjxBmVVx856fqN+3Fdi84+rGeO/q8h1hUM+C2W/0+Zs 626nfNVzRCm9AFIUL8GGzoGchHUFFYWRzXb6ymptK4SZLyjr4VBt5QZxeHA6toyv rrvFqTV/pmSF3yEOjdVl1pM69naPGjEpMDK2MkJQZF3g5r9lIXENcvr3QFxsJrlf EeQfv9qDK8LOuqk4iq48gmDT90AmZEVErf7j77dKXgpAGN1mnkvYlvwVFORgt5QZ rITCyfKpBtW41+cu5dEu7bFvg45JVcLPTctaW5i/IeYC/Rn7Q+1ghr5wIAYsJgiF rvlSajrpEGeX1QP6ETyW+XkfL6X225GDnUXmCxbis/C1a7d4J2R2Qi0JkW7nMc3S R/98A850ue9zmXB59ZUT =uS+n -----END PGP SIGNATURE----- Merge tag 'drm-fixes-for-v4.15-rc6' of git://people.freedesktop.org/~airlied/linux Pull drm fixes from Dave Airlie: "nouveau and i915 regression fixes" * tag 'drm-fixes-for-v4.15-rc6' of git://people.freedesktop.org/~airlied/linux: drm/nouveau: fix race when adding delayed work items i915: Reject CCS modifiers for pipe C on Geminilake drm/i915/gvt: Fix pipe A enable as default for vgpu
This commit is contained in:
commit
fd84b751dd
|
@ -266,6 +266,8 @@ static void emulate_monitor_status_change(struct intel_vgpu *vgpu)
|
||||||
/* Clear host CRT status, so guest couldn't detect this host CRT. */
|
/* Clear host CRT status, so guest couldn't detect this host CRT. */
|
||||||
if (IS_BROADWELL(dev_priv))
|
if (IS_BROADWELL(dev_priv))
|
||||||
vgpu_vreg(vgpu, PCH_ADPA) &= ~ADPA_CRT_HOTPLUG_MONITOR_MASK;
|
vgpu_vreg(vgpu, PCH_ADPA) &= ~ADPA_CRT_HOTPLUG_MONITOR_MASK;
|
||||||
|
|
||||||
|
vgpu_vreg(vgpu, PIPECONF(PIPE_A)) |= PIPECONF_ENABLE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void clean_virtual_dp_monitor(struct intel_vgpu *vgpu, int port_num)
|
static void clean_virtual_dp_monitor(struct intel_vgpu *vgpu, int port_num)
|
||||||
|
@ -282,7 +284,6 @@ static void clean_virtual_dp_monitor(struct intel_vgpu *vgpu, int port_num)
|
||||||
static int setup_virtual_dp_monitor(struct intel_vgpu *vgpu, int port_num,
|
static int setup_virtual_dp_monitor(struct intel_vgpu *vgpu, int port_num,
|
||||||
int type, unsigned int resolution)
|
int type, unsigned int resolution)
|
||||||
{
|
{
|
||||||
struct drm_i915_private *dev_priv = vgpu->gvt->dev_priv;
|
|
||||||
struct intel_vgpu_port *port = intel_vgpu_port(vgpu, port_num);
|
struct intel_vgpu_port *port = intel_vgpu_port(vgpu, port_num);
|
||||||
|
|
||||||
if (WARN_ON(resolution >= GVT_EDID_NUM))
|
if (WARN_ON(resolution >= GVT_EDID_NUM))
|
||||||
|
@ -308,7 +309,7 @@ static int setup_virtual_dp_monitor(struct intel_vgpu *vgpu, int port_num,
|
||||||
port->type = type;
|
port->type = type;
|
||||||
|
|
||||||
emulate_monitor_status_change(vgpu);
|
emulate_monitor_status_change(vgpu);
|
||||||
vgpu_vreg(vgpu, PIPECONF(PIPE_A)) |= PIPECONF_ENABLE;
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -13194,7 +13194,7 @@ intel_primary_plane_create(struct drm_i915_private *dev_priv, enum pipe pipe)
|
||||||
primary->frontbuffer_bit = INTEL_FRONTBUFFER_PRIMARY(pipe);
|
primary->frontbuffer_bit = INTEL_FRONTBUFFER_PRIMARY(pipe);
|
||||||
primary->check_plane = intel_check_primary_plane;
|
primary->check_plane = intel_check_primary_plane;
|
||||||
|
|
||||||
if (INTEL_GEN(dev_priv) >= 10 || IS_GEMINILAKE(dev_priv)) {
|
if (INTEL_GEN(dev_priv) >= 10) {
|
||||||
intel_primary_formats = skl_primary_formats;
|
intel_primary_formats = skl_primary_formats;
|
||||||
num_formats = ARRAY_SIZE(skl_primary_formats);
|
num_formats = ARRAY_SIZE(skl_primary_formats);
|
||||||
modifiers = skl_format_modifiers_ccs;
|
modifiers = skl_format_modifiers_ccs;
|
||||||
|
|
|
@ -152,9 +152,9 @@ nouveau_cli_work_queue(struct nouveau_cli *cli, struct dma_fence *fence,
|
||||||
work->cli = cli;
|
work->cli = cli;
|
||||||
mutex_lock(&cli->lock);
|
mutex_lock(&cli->lock);
|
||||||
list_add_tail(&work->head, &cli->worker);
|
list_add_tail(&work->head, &cli->worker);
|
||||||
mutex_unlock(&cli->lock);
|
|
||||||
if (dma_fence_add_callback(fence, &work->cb, nouveau_cli_work_fence))
|
if (dma_fence_add_callback(fence, &work->cb, nouveau_cli_work_fence))
|
||||||
nouveau_cli_work_fence(fence, &work->cb);
|
nouveau_cli_work_fence(fence, &work->cb);
|
||||||
|
mutex_unlock(&cli->lock);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
Loading…
Reference in New Issue