diff mbox series

drm/vc4: Use 16bpp by default for the fbdev buffer

Message ID 20190306140245.21973-1-maxime.ripard@bootlin.com (mailing list archive)
State Mainlined, archived
Commit f741b28fb299263d2d03a0fb701bfe648927cd47
Headers show
Series drm/vc4: Use 16bpp by default for the fbdev buffer | expand

Commit Message

Maxime Ripard March 6, 2019, 2:02 p.m. UTC
The preferred bpp for the fbdev emulation buffer has been 32 so far, which
means that by default we will allocate an 8MB buffer with a 1920x1080
resolution.

Worse this memory will be allocated from the CMA pool, and will never be
freed even if we don't use the fbdev emulation. Therefore, reducing it is a
big deal, and switching to 16bpp by default will gain us around 4MB at
1920x1080, while keeping decent color depth. And users still have the
option to switch to 32bpp using the kernel command line.

Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
---
 drivers/gpu/drm/vc4/vc4_drv.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Paul Kocialkowski March 6, 2019, 3:06 p.m. UTC | #1
On Wed, 2019-03-06 at 15:02 +0100, Maxime Ripard wrote:
> The preferred bpp for the fbdev emulation buffer has been 32 so far, which
> means that by default we will allocate an 8MB buffer with a 1920x1080
> resolution.
> 
> Worse this memory will be allocated from the CMA pool, and will never be
> freed even if we don't use the fbdev emulation. Therefore, reducing it is a
> big deal, and switching to 16bpp by default will gain us around 4MB at
> 1920x1080, while keeping decent color depth. And users still have the
> option to switch to 32bpp using the kernel command line.
> 
> Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>

Reviewed-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>

Cheers,

Paul

> ---
>  drivers/gpu/drm/vc4/vc4_drv.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/vc4/vc4_drv.c b/drivers/gpu/drm/vc4/vc4_drv.c
> index 52576dee809e..c38cf64837e1 100644
> --- a/drivers/gpu/drm/vc4/vc4_drv.c
> +++ b/drivers/gpu/drm/vc4/vc4_drv.c
> @@ -286,7 +286,7 @@ static int vc4_drm_bind(struct device *dev)
>  
>  	vc4_kms_load(drm);
>  
> -	drm_fbdev_generic_setup(drm, 32);
> +	drm_fbdev_generic_setup(drm, 16);
>  
>  	return 0;
>
Eric Anholt March 6, 2019, 5:32 p.m. UTC | #2
Maxime Ripard <maxime.ripard@bootlin.com> writes:

> The preferred bpp for the fbdev emulation buffer has been 32 so far, which
> means that by default we will allocate an 8MB buffer with a 1920x1080
> resolution.
>
> Worse this memory will be allocated from the CMA pool, and will never be
> freed even if we don't use the fbdev emulation. Therefore, reducing it is a
> big deal, and switching to 16bpp by default will gain us around 4MB at
> 1920x1080, while keeping decent color depth. And users still have the
> option to switch to 32bpp using the kernel command line.

Reviewed-by: Eric Anholt <eric@anholt.net>

This matches the defaults used by the bcm2708 fbdev driver that we're
trying to get people to switch off of.
Maxime Ripard March 7, 2019, 12:14 p.m. UTC | #3
On Wed, Mar 06, 2019 at 03:02:45PM +0100, Maxime Ripard wrote:
> The preferred bpp for the fbdev emulation buffer has been 32 so far, which
> means that by default we will allocate an 8MB buffer with a 1920x1080
> resolution.
> 
> Worse this memory will be allocated from the CMA pool, and will never be
> freed even if we don't use the fbdev emulation. Therefore, reducing it is a
> big deal, and switching to 16bpp by default will gain us around 4MB at
> 1920x1080, while keeping decent color depth. And users still have the
> option to switch to 32bpp using the kernel command line.
> 
> Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>

Applied with Eric and Paul Reviewed-by

Maxime
diff mbox series

Patch

diff --git a/drivers/gpu/drm/vc4/vc4_drv.c b/drivers/gpu/drm/vc4/vc4_drv.c
index 52576dee809e..c38cf64837e1 100644
--- a/drivers/gpu/drm/vc4/vc4_drv.c
+++ b/drivers/gpu/drm/vc4/vc4_drv.c
@@ -286,7 +286,7 @@  static int vc4_drm_bind(struct device *dev)
 
 	vc4_kms_load(drm);
 
-	drm_fbdev_generic_setup(drm, 32);
+	drm_fbdev_generic_setup(drm, 16);
 
 	return 0;