[U-Boot] [PATCH 12/17] lcd: Add support for flushing LCD fb from dcache after update

Simon Glass sjg at chromium.org
Sun Jan 15 02:57:25 CET 2012


Hi Mike,

On Sat, Jan 14, 2012 at 5:42 PM, Mike Frysinger <vapier at gentoo.org> wrote:
> On Saturday 14 January 2012 19:47:24 Simon Glass wrote:
>> --- a/common/cmd_echo.c
>> +++ b/common/cmd_echo.c
>> @@ -44,8 +44,9 @@ int do_echo(cmd_tbl_t *cmdtp, int flag, int argc, char *
>> const argv[]) }
>>       }
>>
>> +     /* Use puts() so that the LCD sees it as a new line */
>>       if (putnl)
>> -             putc('\n');
>> +             puts("\n");
>>
>>       return 0;
>>  }
>
> this sounds like a hack for a broken LCD core and so the fix should be
> somewhere in there

Well it's actually that I don't want to flush after every character
(it slows things down a lot) so puts is a good place to look. I
suppose we could flush after every newline we see in lcd_putc().

>
>> --- a/common/lcd.c
>> +++ b/common/lcd.c
>>
>> +static char lcd_flush_dcache;
>
> seems like it'd be better as a CONFIG knob

OK, will see if I can do that.

>
>> +     /*
>> +      * flush_dcache_range() is declared in common.h but it seems that some
>> +      * architectures do not actually implement it. Is there a way to find
>> +      * out whether it exists? For now, ARM is safe.
>> +      */
>
> if those arches don't implement this func, then the failure is on their head.
> people should feel free to use the cache api we expose in common.h.

I sort-of agree, except that I saw masses of failures. I will look a bit harder.

Regards,
Simon

> -mike


More information about the U-Boot mailing list