Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 918be888 authored by Dave Airlie's avatar Dave Airlie
Browse files

drm/mgag200: on cards with < 2MB VRAM default to 16-bit



This aligns with what the userspace -mga driver does in
the same situation.

Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
parent f5395ba3
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -282,6 +282,11 @@ int mgag200_fbdev_init(struct mga_device *mdev)
{
	struct mga_fbdev *mfbdev;
	int ret;
	int bpp_sel = 32;

	/* prefer 16bpp on low end gpus with limited VRAM */
	if (IS_G200_SE(mdev) && mdev->mc.vram_size < (2048*1024))
		bpp_sel = 16;

	mfbdev = devm_kzalloc(mdev->dev->dev, sizeof(struct mga_fbdev), GFP_KERNEL);
	if (!mfbdev)
@@ -301,7 +306,7 @@ int mgag200_fbdev_init(struct mga_device *mdev)
	/* disable all the possible outputs/crtcs before entering KMS mode */
	drm_helper_disable_unused_functions(mdev->dev);

	drm_fb_helper_initial_config(&mfbdev->helper, 32);
	drm_fb_helper_initial_config(&mfbdev->helper, bpp_sel);

	return 0;
}
+4 −1
Original line number Diff line number Diff line
@@ -217,6 +217,9 @@ int mgag200_driver_load(struct drm_device *dev, unsigned long flags)

	drm_mode_config_init(dev);
	dev->mode_config.funcs = (void *)&mga_mode_funcs;
	if (IS_G200_SE(mdev) && mdev->mc.vram_size < (2048*1024))
		dev->mode_config.preferred_depth = 16;
	else
		dev->mode_config.preferred_depth = 24;
	dev->mode_config.prefer_shadow = 1;