drm/radeon/kms: Get LVDS native mode details from EDID if necessary.
Fixes RMX problems on older Apple laptops which don't have an x86 BIOS ROM. Signed-off-by: Michel Dänzer <daenzer@vmware.com> Signed-off-by: Dave Airlie <airlied@linux.ie>
This commit is contained in:

committed by
Dave Airlie

parent
f657c2a731
commit
8dfaa8a777
@@ -863,8 +863,10 @@ struct radeon_encoder_lvds *radeon_combios_get_lvds_info(struct radeon_encoder
|
||||
int tmp, i;
|
||||
struct radeon_encoder_lvds *lvds = NULL;
|
||||
|
||||
if (rdev->bios == NULL)
|
||||
return radeon_legacy_get_lvds_info_from_regs(rdev);
|
||||
if (rdev->bios == NULL) {
|
||||
lvds = radeon_legacy_get_lvds_info_from_regs(rdev);
|
||||
goto out;
|
||||
}
|
||||
|
||||
lcd_info = combios_get_table_offset(dev, COMBIOS_LCD_INFO_TABLE);
|
||||
|
||||
@@ -965,11 +967,13 @@ struct radeon_encoder_lvds *radeon_combios_get_lvds_info(struct radeon_encoder
|
||||
lvds->native_mode.flags = 0;
|
||||
}
|
||||
}
|
||||
encoder->native_mode = lvds->native_mode;
|
||||
} else {
|
||||
DRM_INFO("No panel info found in BIOS\n");
|
||||
return radeon_legacy_get_lvds_info_from_regs(rdev);
|
||||
lvds = radeon_legacy_get_lvds_info_from_regs(rdev);
|
||||
}
|
||||
out:
|
||||
if (lvds)
|
||||
encoder->native_mode = lvds->native_mode;
|
||||
return lvds;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user