[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v2 2/3] xen/arm: Add new driver for R-Car Gen2 UART



On Thu, Jan 22, 2015 at 7:27 PM, Oleksandr Tyshchenko
<oleksandr.tyshchenko@xxxxxxxxxxxxxxx> wrote:
> On Thu, Jan 22, 2015 at 7:02 PM, Julien Grall <julien.grall@xxxxxxxxxx> wrote:
>> On 22/01/15 16:55, Oleksandr Tyshchenko wrote:
>>> On Thu, Jan 22, 2015 at 6:49 PM, Julien Grall <julien.grall@xxxxxxxxxx> 
>>> wrote:
>>>> On 22/01/15 16:44, Oleksandr Tyshchenko wrote:
>>>>> I understand, then I will implement local delay func in uart driver
>>>>> based on READ_SYSREG64(CNTPCT_EL0).
>>>>
>>>> Unless I miss something, udelay should work in your case even if the
>>>> xen_init_time is not called.
>>> Unfortunately, no. If I understand correctly the var "cpu_khz" (used
>>> in ticks_to_ns()) is initialized in init_xen_time().
>>
>> Hrm, right. I looked too quickly to the function.
>>
>> I don't like the idea to use READ_SYSREG64(CNTPCT_EL0) in the UART drivers.
>>
>> Does the udelay necessary here? If yes, maybe we should either split the
>> xen_init_time in 2 parts or create a udelay_tick function to use when
>> timer is not set.
>>
>> I'm not sure what is the best one.
>>
>> Regards,
>>
>> --
>> Julien Grall
>
> According to the TRM for this family we need to add delay after
> changing baudrate before continuing init sequence.
> I tried without udelay and it is worked fine. But, if the TRM says we
> need to follow this.
>
> --
>
> Oleksandr Tyshchenko | Embedded Dev
> GlobalLogic
> www.globallogic.com

I would prefer a first variant. In xen_init_time_1() initialize
"cpu_khz" and "boot_count" only.

 cpu_khz = READ_SYSREG32(CNTFRQ_EL0) / 1000;
 boot_count = READ_SYSREG64(CNTPCT_EL0);

In xen_init_time_2() perform all initialization as it was done for
this moment and correct "cpu_khz" if node is present.

What do you think?

-- 

Oleksandr Tyshchenko | Embedded Dev
GlobalLogic
www.globallogic.com

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.