[PATCH] drm/radeon: Set depth on low mem to 16 bpp instead of 8 bpp
Michel Dänzer
michel at daenzer.net
Tue Jul 18 20:53:48 UTC 2017
On 18/07/17 11:20 AM, Takashi Iwai wrote:
> From: Egbert Eich <eich at suse.de>
>
> 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.
>
> Signed-off-by: Egbert Eich <eich at suse.de>
> Signed-off-by: Takashi Iwai <tiwai at suse.de>
> ---
>
> This has been included in SUSE kernel for quite some time, and I'm
> trying to upstream this. The 16bpp looks more reasonable nowadays,
> but I know this is a matter of taste, too. It'd be great if you guys
> can comment on this, at least, whether it's uttly non-sense or not.
[...]
> diff --git a/drivers/gpu/drm/radeon/radeon_fb.c b/drivers/gpu/drm/radeon/radeon_fb.c
> index 356ad90a5238..b5f2642f124b 100644
> --- a/drivers/gpu/drm/radeon/radeon_fb.c
> +++ b/drivers/gpu/drm/radeon/radeon_fb.c
> @@ -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)
>
Looks reasonable to me — if nothing else, at least the comment and code
will match again! :)
My only potential doubt is whether there could be another reason than
VRAM size why RN50 should use 8 bpp. Assuming not,
Reviewed-by: Michel Dänzer <michel.daenzer at amd.com>
--
Earthling Michel Dänzer | http://www.amd.com
Libre software enthusiast | Mesa and X developer
More information about the dri-devel
mailing list