[PATCH RFC 6/6] arm64: wait for transmit completion before next character transmission

Pratyush Anand panand at redhat.com
Fri Apr 17 16:31:10 PDT 2015



On Friday 17 April 2015 10:52 PM, Geoff Levand wrote:
> On Thu, 2015-04-16 at 22:17 +0530, Pratyush Anand wrote:
>> Previous transmission must be completed before next character to be
>> transmitted, otherwise TX buffer may saturate and we will not see all
>> the characters on screen.
>>
>> @@ -34,6 +38,8 @@ static const char arm64_opts_usage[] __attribute__ ((unused)) =
>>   "     --lite                Fast reboot, no memory integrity checks.\n"
>>   "     --page-offset         Kernel page-offset for binary image load.\n"
>>   "     --port=ADDRESS        Purgatory output to port ADDRESS.\n"
>> +"     --port-lsr=ADDRESS    Purgatory output port line status ADDRESS.\n"
>> +"     --port-lsr-val=VALUE  Purgatory output port Line status expected SET value when TX empty.\n"
>>   "     --ramdisk=FILE        Use FILE as the kernel initial ramdisk.\n"
>>   "     --reuse-cmdline       Use command line arg of primary kernel.\n";
>
> We just need to put some chars to the screen, so I want to avoid a lot
> of parameters.
>

I was not able to get even two lines print without it :(

> Usually the status register is at a fixed offset from the TX port.  Is
> that not the case for the ARM uarts?
>
> Can't we just poll port-lsr until empty then start writing again?  That
> will at least eliminate port-lsr-val.
>

infact my first version was using a direct offset with port. Both are 
fixed in most of the cases as offset 0x14 and value 0x60.

OK, I will remove the param for now. if someone finds any different 
values then later on we can add it.

~Pratyush



More information about the kexec mailing list