[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