[PATCH] drm/amdgpu: disable vga render in dce hw_init
Andres Rodriguez
andresx7 at gmail.com
Mon Jun 19 21:36:33 UTC 2017
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);
>
More information about the amd-gfx
mailing list