[PATCH 6/6] video: Only dcache flush damaged lines

Alexander Graf agraf at csgraf.de
Thu Jun 9 16:56:17 CEST 2022


On 07.06.22 10:00, Heinrich Schuchardt wrote:
> On 6/7/22 01:43, Alexander Graf wrote:
>> Now that we have a damage area tells us which parts of the frame buffer
>> actually need updating, let's only dcache flush those on video_sync()
>> calls. With this optimization in place, frame buffer updates - 
>> especially
>> on large screen such as 4k displays - speed up significantly.
>>
>> Signed-off-by: Alexander Graf <agraf at csgraf.de>
>> Reported-by: Da Xue <da at libre.computer>
>> ---
>>   drivers/video/video-uclass.c | 49 ++++++++++++++++++++++++++++++------
>>   1 file changed, 42 insertions(+), 7 deletions(-)
>>
>> diff --git a/drivers/video/video-uclass.c b/drivers/video/video-uclass.c
>> index 9ac1974670..5661beea38 100644
>> --- a/drivers/video/video-uclass.c
>> +++ b/drivers/video/video-uclass.c
>> @@ -222,6 +222,39 @@ int video_damage(struct udevice *vid, int x, int 
>> y, int width, int height)
>>   }
>>   #endif
>>   +#if defined(CONFIG_ARM) && !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
>
> Why should this be ARM specific?


I don't believe it should - and that's what the existing comment also 
says. But currently it is because the dcache API isn't available on all 
platforms; I'm merely preserving the existing logic :).


Thanks,

Alex




More information about the U-Boot mailing list