On Wed, May 11, 2011 at 2:02 PM, Alex Deucher <alexdeucher at gmail.com> wrote:
> On rev <= 1.1 tables, the offset is absolute,
> on newer tables, it's relative.
>
> Fixes:
> https://bugzilla.redhat.com/show_bug.cgi?id=700326
>
> Signed-off-by: Alex Deucher <alexdeucher at gmail.com>
> Cc: stable at kernel.org
Reviewed-by: Jerome Glisse <jglisse at redhat.com>

> ---
> ?drivers/gpu/drm/radeon/radeon_atombios.c | ? 14 +++++++++++---
> ?1 files changed, 11 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/radeon/radeon_atombios.c 
> b/drivers/gpu/drm/radeon/radeon_atombios.c
> index 7615aaa..fd6f4f3 100644
> --- a/drivers/gpu/drm/radeon/radeon_atombios.c
> +++ b/drivers/gpu/drm/radeon/radeon_atombios.c
> @@ -1585,9 +1585,17 @@ struct radeon_encoder_atom_dig 
> *radeon_atombios_get_lvds_info(struct
> ? ? ? ? ? ? ? ? ? ? ? ?ATOM_FAKE_EDID_PATCH_RECORD *fake_edid_record;
> ? ? ? ? ? ? ? ? ? ? ? ?ATOM_PANEL_RESOLUTION_PATCH_RECORD *panel_res_record;
> ? ? ? ? ? ? ? ? ? ? ? ?bool bad_record = false;
> - ? ? ? ? ? ? ? ? ? ? ? u8 *record = (u8 *)(mode_info->atom_context->bios +
> - ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? data_offset +
> - ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 
> le16_to_cpu(lvds_info->info.usModePatchTableOffset));
> + ? ? ? ? ? ? ? ? ? ? ? u8 *record;
> +
> + ? ? ? ? ? ? ? ? ? ? ? if ((frev == 1) && (crev < 2))
> + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /* absolute */
> + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? record = (u8 *)(mode_info->atom_context->bios 
> +
> + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 
> le16_to_cpu(lvds_info->info.usModePatchTableOffset));
> + ? ? ? ? ? ? ? ? ? ? ? else
> + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /* relative */
> + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? record = (u8 *)(mode_info->atom_context->bios 
> +
> + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? data_offset +
> + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 
> le16_to_cpu(lvds_info->info.usModePatchTableOffset));
> ? ? ? ? ? ? ? ? ? ? ? ?while (*record != ATOM_RECORD_END_TYPE) {
> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?switch (*record) {
> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?case LCD_MODE_PATCH_RECORD_MODE_TYPE:
> --
> 1.7.1.1
>
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel
>

Reply via email to