mirror of https://gitee.com/openkylin/linux.git
drm/radeon: Set depth on low mem to 16 bpp instead of 8 bpp
The radeon driver reduces the framebuffer resolution to 8bpp if a device with less than 32MB VRAM is found. This causes the framebuffer to run in 8 bit paletted mode. For a text console this is not an issue as 256 different colors is more than one gets on a VGA text console. However this leads to a poor 8bit pseudo-color visual when running X on fbdev, too, which is quite ugly. In this patch, we try to give some moderate compromise: limit the framebuffer bpp to 8 only when VRAM is 8MB or less, and use 16 bpp otherwise for 32MB or less VRAM. Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> Signed-off-by: Egbert Eich <eich@suse.de> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
c5c3579082
commit
7b8bd6bb42
|
@ -347,9 +347,12 @@ int radeon_fbdev_init(struct radeon_device *rdev)
|
|||
if (list_empty(&rdev->ddev->mode_config.connector_list))
|
||||
return 0;
|
||||
|
||||
/* select 8 bpp console on RN50 or 16MB cards */
|
||||
if (ASIC_IS_RN50(rdev) || rdev->mc.real_vram_size <= (32*1024*1024))
|
||||
/* select 8 bpp console on 8MB cards, or 16 bpp on RN50 or 32MB */
|
||||
if (rdev->mc.real_vram_size <= (8*1024*1024))
|
||||
bpp_sel = 8;
|
||||
else if (ASIC_IS_RN50(rdev) ||
|
||||
rdev->mc.real_vram_size <= (32*1024*1024))
|
||||
bpp_sel = 16;
|
||||
|
||||
rfbdev = kzalloc(sizeof(struct radeon_fbdev), GFP_KERNEL);
|
||||
if (!rfbdev)
|
||||
|
|
Loading…
Reference in New Issue