drm/i915/gvt: Init DPLL/DDI vreg for virtual display instead of inheritance.
authorColin Xu <colin.xu@intel.com>
Fri, 8 May 2020 06:05:06 +0000 (14:05 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 27 May 2020 15:46:43 +0000 (17:46 +0200)
commit5e171483e94713e7d7576804098b680dd02ab0f0
treec6c63c2246e7bff533f6db516a10feb521250ab6
parent0e1d5f67253e63a71da7a6a3efdc9536ed2d2539
drm/i915/gvt: Init DPLL/DDI vreg for virtual display instead of inheritance.

commit f965b68188ab59a40a421ced1b05a2fea638465c upstream.

Init value of some display vregs rea inherited from host pregs. When
host display in different status, i.e. all monitors unpluged, different
display configurations, etc., GVT virtual display setup don't consistent
thus may lead to guest driver consider display goes malfunctional.

The added init vreg values are based on PRMs and fixed by calcuation
from current configuration (only PIPE_A) and the virtual EDID.

Fixes: 04d348ae3f0a ("drm/i915/gvt: vGPU display virtualization")
Acked-by: Zhenyu Wang <zhenyuw@linux.intel.com>
Signed-off-by: Colin Xu <colin.xu@intel.com>
Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20200508060506.216250-1-colin.xu@intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpu/drm/i915/gvt/display.c