[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