drm/amdgpu: disable vga render in dce hw_init
authorAlex Deucher <alexander.deucher@amd.com>
Mon, 19 Jun 2017 21:00:38 +0000 (17:00 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 14 Jul 2017 15:05:46 +0000 (11:05 -0400)
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 enables vga.

Tested-by: Andres Rodriguez <andresx7@gmail.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/dce_v10_0.c
drivers/gpu/drm/amd/amdgpu/dce_v11_0.c
drivers/gpu/drm/amd/amdgpu/dce_v6_0.c
drivers/gpu/drm/amd/amdgpu/dce_v8_0.c

index 9f78c03a2e3152eb9244d4b733fbd194c6227299..9bda363e02be800c9a16135ab455b24092c70695 100644 (file)
@@ -3025,6 +3025,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);
index 4bcf01dc567a183b462a4333727f2fa90c6e924d..c02c7fb75c63f71f446b7d6947da74dd0ab42f9b 100644 (file)
@@ -3086,6 +3086,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);
index fd134a4629d7a4ee5f3d8559049f1bfaddd8bb48..0a8ad0fc13eab7f4a93a583254ba1efbcb6bea65 100644 (file)
@@ -2873,6 +2873,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);
index a9e8695546272638e0922ba20853c241b0d7ae3b..7e06c36b6ee9d5c0eb09b3ff9f34fee62afff5f4 100644 (file)
@@ -2870,6 +2870,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);