Re: [PATCH] drm/radeon: Set depth on low mem to 16 bpp instead of 8 bpp

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 18/07/17 11:20 AM, Takashi Iwai wrote:
From: Egbert Eich <eich@xxxxxxx>

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@xxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
---

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@xxxxxxx>


--
Earthling Michel Dänzer            |                  http://www.amd.com
Libre software enthusiast          |                Mesa and X developer
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux