diff mbox series

[V2] drm/loongson: Error out if no VRAM detected

Message ID 20240124101607.2910998-1-chenhuacai@loongson.cn (mailing list archive)
State New, archived
Headers show
Series [V2] drm/loongson: Error out if no VRAM detected | expand

Commit Message

Huacai Chen Jan. 24, 2024, 10:16 a.m. UTC
If there is no VRAM (it can be true if there is a discreted card, this
is probably a hardware configuration issue in BIOS but it is observed in
GDC-1401 laptop, L71 laptop and some Loongson-3C5000L based servers), we
get such an error and Xorg fails to start:

[  136.401131] loongson 0000:00:06.1: [drm] *ERROR* Requesting(0MiB) failed
[  137.444342] loongson 0000:00:06.1: [drm] *ERROR* Requesting(0MiB) failed
[  138.871166] loongson 0000:00:06.1: [drm] *ERROR* Requesting(0MiB) failed
[  140.444078] loongson 0000:00:06.1: [drm] *ERROR* Requesting(0MiB) failed
[  142.403993] loongson 0000:00:06.1: [drm] *ERROR* Requesting(0MiB) failed
[  143.970625] loongson 0000:00:06.1: [drm] *ERROR* Requesting(0MiB) failed
[  145.862013] loongson 0000:00:06.1: [drm] *ERROR* Requesting(0MiB) failed

So in lsdc_get_dedicated_vram() we error out if no VRAM (or VRAM is less
than 1MB which is also an unusable case) detected.

Tested-by: Xiaotian Wu <wuxiaotian@loongson.cn>
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
---
 drivers/gpu/drm/loongson/lsdc_drv.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Sui Jingfeng Jan. 24, 2024, 11:37 a.m. UTC | #1
Hi,


On 2024/1/24 18:16, Huacai Chen wrote:
> If there is no VRAM (it can be true if there is a discreted card, this
> is probably a hardware configuration issue in BIOS but it is observed in
> GDC-1401 laptop, L71 laptop and some Loongson-3C5000L based servers), we
> get such an error and Xorg fails to start:
>
> [  136.401131] loongson 0000:00:06.1: [drm] *ERROR* Requesting(0MiB) failed
> [  137.444342] loongson 0000:00:06.1: [drm] *ERROR* Requesting(0MiB) failed
> [  138.871166] loongson 0000:00:06.1: [drm] *ERROR* Requesting(0MiB) failed
> [  140.444078] loongson 0000:00:06.1: [drm] *ERROR* Requesting(0MiB) failed
> [  142.403993] loongson 0000:00:06.1: [drm] *ERROR* Requesting(0MiB) failed
> [  143.970625] loongson 0000:00:06.1: [drm] *ERROR* Requesting(0MiB) failed
> [  145.862013] loongson 0000:00:06.1: [drm] *ERROR* Requesting(0MiB) failed
>
> So in lsdc_get_dedicated_vram() we error out if no VRAM (or VRAM is less
> than 1MB which is also an unusable case) detected.
>
> Tested-by: Xiaotian Wu <wuxiaotian@loongson.cn>
> Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>


By the way, sending patch should Cc Maxime and Thomas in the future.
Since this patch is small patch, not a big deal, so it probably okay.

This serve as a basic sanity check, hopes this helps to mitigate the pains.


Reviewed-by: Sui Jingfeng <sui.jingfeng@linux.dev>
diff mbox series

Patch

diff --git a/drivers/gpu/drm/loongson/lsdc_drv.c b/drivers/gpu/drm/loongson/lsdc_drv.c
index 89ccc0c43169..d8ff60b46abe 100644
--- a/drivers/gpu/drm/loongson/lsdc_drv.c
+++ b/drivers/gpu/drm/loongson/lsdc_drv.c
@@ -184,7 +184,7 @@  static int lsdc_get_dedicated_vram(struct lsdc_device *ldev,
 	drm_info(ddev, "Dedicated vram start: 0x%llx, size: %uMiB\n",
 		 (u64)base, (u32)(size >> 20));
 
-	return 0;
+	return (size > SZ_1M) ? 0 : -ENODEV;
 }
 
 static struct lsdc_device *