If there is no VRAM (it is true if there is a discreted card), 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. Signed-off-by: Huacai Chen <chenhuacai@xxxxxxxxxxx> --- drivers/gpu/drm/loongson/lsdc_drv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 * -- 2.39.3