This fixes display regressions on my MSI RX480 Gaming X Tested-by: Andres Rodriguez <andresx7 at gmail.com> On 2017-06-19 05:29 PM, Alex Deucher wrote: > This got dropped accidently with the fb location changes, but for > some reason, this doesn't seem to cause an issue on all cards which > is why I never saw it despite extensive testing. I suspect it may > only be an issue on systems with a legacy sbios that enable vga. > > Signed-off-by: Alex Deucher <alexander.deucher at amd.com> > --- > drivers/gpu/drm/amd/amdgpu/dce_v10_0.c | 2 ++ > drivers/gpu/drm/amd/amdgpu/dce_v11_0.c | 2 ++ > drivers/gpu/drm/amd/amdgpu/dce_v6_0.c | 2 ++ > drivers/gpu/drm/amd/amdgpu/dce_v8_0.c | 2 ++ > 4 files changed, 8 insertions(+) > > diff --git a/drivers/gpu/drm/amd/amdgpu/dce_v10_0.c b/drivers/gpu/drm/amd/amdgpu/dce_v10_0.c > index 884f22f..712dfd3 100644 > --- a/drivers/gpu/drm/amd/amdgpu/dce_v10_0.c > +++ b/drivers/gpu/drm/amd/amdgpu/dce_v10_0.c > @@ -2894,6 +2894,8 @@ static int dce_v10_0_hw_init(void *handle) > > dce_v10_0_init_golden_registers(adev); > > + /* disable vga render */ > + dce_v10_0_set_vga_render_state(adev, false); > /* init dig PHYs, disp eng pll */ > amdgpu_atombios_encoder_init_dig(adev); > amdgpu_atombios_crtc_set_disp_eng_pll(adev, adev->clock.default_dispclk); > diff --git a/drivers/gpu/drm/amd/amdgpu/dce_v11_0.c b/drivers/gpu/drm/amd/amdgpu/dce_v11_0.c > index 15208a5..406fe66 100644 > --- a/drivers/gpu/drm/amd/amdgpu/dce_v11_0.c > +++ b/drivers/gpu/drm/amd/amdgpu/dce_v11_0.c > @@ -3010,6 +3010,8 @@ static int dce_v11_0_hw_init(void *handle) > > dce_v11_0_init_golden_registers(adev); > > + /* disable vga render */ > + dce_v11_0_set_vga_render_state(adev, false); > /* init dig PHYs, disp eng pll */ > amdgpu_atombios_crtc_powergate_init(adev); > amdgpu_atombios_encoder_init_dig(adev); > diff --git a/drivers/gpu/drm/amd/amdgpu/dce_v6_0.c b/drivers/gpu/drm/amd/amdgpu/dce_v6_0.c > index af0b96c..1e28f14 100644 > --- a/drivers/gpu/drm/amd/amdgpu/dce_v6_0.c > +++ b/drivers/gpu/drm/amd/amdgpu/dce_v6_0.c > @@ -2759,6 +2759,8 @@ static int dce_v6_0_hw_init(void *handle) > int i; > struct amdgpu_device *adev = (struct amdgpu_device *)handle; > > + /* disable vga render */ > + dce_v6_0_set_vga_render_state(adev, false); > /* init dig PHYs, disp eng pll */ > amdgpu_atombios_encoder_init_dig(adev); > amdgpu_atombios_crtc_set_disp_eng_pll(adev, adev->clock.default_dispclk); > diff --git a/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c b/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c > index b7079f8..e34335f 100644 > --- a/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c > +++ b/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c > @@ -2792,6 +2792,8 @@ static int dce_v8_0_hw_init(void *handle) > int i; > struct amdgpu_device *adev = (struct amdgpu_device *)handle; > > + /* disable vga render */ > + dce_v8_0_set_vga_render_state(adev, false); > /* init dig PHYs, disp eng pll */ > amdgpu_atombios_encoder_init_dig(adev); > amdgpu_atombios_crtc_set_disp_eng_pll(adev, adev->clock.default_dispclk); >