[PATCH] drm/i915/gvt: enabled pipe A as default for vgpu
Zhang, Xiaolin
xiaolin.zhang at intel.com
Fri Dec 8 07:44:04 UTC 2017
On 12/08/2017 01:04 PM, Zhenyu Wang wrote:
> Is this for Fixes: 7e6059020894 ("drm/i915/gvt: enabled pipe A default on creating vgpu")?
yes. to fix the same issue.
>
> On 2017.12.05 14:45:32 +0800, Xiaolin Zhang wrote:
>> observed igt drv_module_reload test case failure on 4.15.0
>> rc2 kernel with panic due to no active pipe available.
>>
>> the gpu will reset during unload/load and make pipe config reg
>> lost which can cause kernel panic issue happen.
>>
>> this patch is to move pipe enabling to emulate_mointor_status_chagne
>> to handle vgpu reset case as well.
>>
>> Signed-off-by: Xiaolin Zhang <xiaolin.zhang at intel.com>
>> ---
>> drivers/gpu/drm/i915/gvt/display.c | 5 +++--
>> 1 file changed, 3 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/i915/gvt/display.c b/drivers/gpu/drm/i915/gvt/display.c
>> index 09185036bac8..1de5919dd043 100644
>> --- a/drivers/gpu/drm/i915/gvt/display.c
>> +++ b/drivers/gpu/drm/i915/gvt/display.c
>> @@ -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. */
>> if (IS_BROADWELL(dev_priv))
>> 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)
>> @@ -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,
>> 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);
>>
>> 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;
>>
>> emulate_monitor_status_change(vgpu);
>> - vgpu_vreg(vgpu, PIPECONF(PIPE_A)) |= PIPECONF_ENABLE;
>> +
>> return 0;
>> }
>>
>> --
>> 2.14.2
>>
>> _______________________________________________
>> intel-gvt-dev mailing list
>> intel-gvt-dev at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/intel-gvt-dev
More information about the intel-gvt-dev
mailing list