[PATCH] drm/radeon: fix regression on atom cards with hardcoded EDID record.
Alex Deucher
alexdeucher at gmail.com
Sun May 1 11:26:36 PDT 2011
On Sun, May 1, 2011 at 6:16 AM, Dave Airlie <airlied at gmail.com> wrote:
> From: Dave Airlie <airlied at redhat.com>
>
> Since fafcf94e2b5732d1e13b440291c53115d2b172e9 introduced an edid size, it seems to have broken this path.
>
> This manifest as oops on T500 Lenovo laptops with dual graphics primarily.
>
> Should fix: https://bugzilla.kernel.org/show_bug.cgi?id=33812
>
> Signed-off-by: Dave Airlie <airlied at redhat.com>
> cc: stable at kernel.org
Reviewed-by: Alex Deucher <alexdeucher at gmail.com>
Although, I think there may be a problem with the mux switching since
we shouldn't hit the hardcoded EDID unless DDC fails.
Alex
> ---
> drivers/gpu/drm/radeon/radeon_atombios.c | 5 +++--
> 1 files changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/radeon/radeon_atombios.c b/drivers/gpu/drm/radeon/radeon_atombios.c
> index f5d12fb..f116516 100644
> --- a/drivers/gpu/drm/radeon/radeon_atombios.c
> +++ b/drivers/gpu/drm/radeon/radeon_atombios.c
> @@ -1599,9 +1599,10 @@ struct radeon_encoder_atom_dig *radeon_atombios_get_lvds_info(struct
> memcpy((u8 *)edid, (u8 *)&fake_edid_record->ucFakeEDIDString[0],
> fake_edid_record->ucFakeEDIDLength);
>
> - if (drm_edid_is_valid(edid))
> + if (drm_edid_is_valid(edid)) {
> rdev->mode_info.bios_hardcoded_edid = edid;
> - else
> + rdev->mode_info.bios_hardcoded_edid_size = edid_size;
> + } else
> kfree(edid);
> }
> }
> --
> 1.7.4.2
>
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel
>
More information about the dri-devel
mailing list