|
@@ -172,9 +172,20 @@ static void emulate_monitor_status_change(struct intel_vgpu *vgpu)
|
|
|
SDE_PORTC_HOTPLUG_CPT |
|
|
|
SDE_PORTD_HOTPLUG_CPT);
|
|
|
|
|
|
- if (IS_SKYLAKE(dev_priv))
|
|
|
+ if (IS_SKYLAKE(dev_priv)) {
|
|
|
vgpu_vreg(vgpu, SDEISR) &= ~(SDE_PORTA_HOTPLUG_SPT |
|
|
|
SDE_PORTE_HOTPLUG_SPT);
|
|
|
+ vgpu_vreg(vgpu, SKL_FUSE_STATUS) |=
|
|
|
+ SKL_FUSE_DOWNLOAD_STATUS |
|
|
|
+ SKL_FUSE_PG0_DIST_STATUS |
|
|
|
+ SKL_FUSE_PG1_DIST_STATUS |
|
|
|
+ SKL_FUSE_PG2_DIST_STATUS;
|
|
|
+ vgpu_vreg(vgpu, LCPLL1_CTL) |=
|
|
|
+ LCPLL_PLL_ENABLE |
|
|
|
+ LCPLL_PLL_LOCK;
|
|
|
+ vgpu_vreg(vgpu, LCPLL2_CTL) |= LCPLL_PLL_ENABLE;
|
|
|
+
|
|
|
+ }
|
|
|
|
|
|
if (intel_vgpu_has_monitor_on_port(vgpu, PORT_B)) {
|
|
|
vgpu_vreg(vgpu, SDEISR) |= SDE_PORTB_HOTPLUG_CPT;
|