drm/loongson: Error out if no VRAM detected

Katyusha KatyushaScarlet at Outlook.com
Sat Jan 20 12:01:02 UTC 2024


Hi,

This patch works fine with my Loongson 3A5000M laptop (L71), which has a 
7A1000 chipset without VRAM.

On 2024/1/20 0:18, Sui JIngfeng wrote:
> Hi,
>
> Thanks a lot for contribution.
>
> On 2024/1/19 18:40, Huacai Chen wrote:
>> If there is no VRAM (it is true if there is a discreted card),
>
>
> Why the dedicated VRAM is gone whenthere is a discrete card?
>
> As far as I know, this is only possible on Loongson 3C5000 + aspeed 
> BMC server hardware platform where the dedicated VRAM chip of Loongson 
> Graphics is NOT soldered on the motherboard. Probably for cost reason, 
> but then, the platform BIOS(either UEFI or PMON) should turn off the 
> Loongson integrated graphics.
>
> Because without dedicated VRAM, this driver can not work correctly. Or 
> carve out
> part of system RAM as VRAM, and write the base address and size to the 
> BAR 2 of
> the GPU PCI device.
> This is NOT true  for Loongson 3A5000/3A6000  desktop hardware, 
> because I have do
> a lot test on various platform[1] before this driver was merged. It 
> never happens
> on a sane hardware configuration. Please update the commit message and 
> limit the
> scope.
>
> [1] https://github.com/loongson-gfx/loongson_boards
>
>> we get
>> such an error and Xorg fails to start:
>
>
> Yeah, If there is no dedicated VRAM, the driver can't allocate memory 
> for framebuffer.
> But this is probably more about the hardware configuration issue, not 
> a driver issue.
>
>
>> [  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.
>
>
> This is not expected, if you want this driver be there and run normally.
> You should guarantee that there have at least 64MiB dedicated VRAM.
>
> I'm OK if this patch is strongly requested, but this is a kind of 
> error handling.
> Please give more details about the hardware in using and explain why 
> there is no
> dedicated VRAM available for your hardware.
>
>
>> Signed-off-by: Huacai Chen <chenhuacai at loongson.cn>
>> ---
>>   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 *
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20240120/28b5dba7/attachment-0001.htm>


More information about the dri-devel mailing list