On Sat, Mar 31, 2018 at 4:03 AM, Ivan Gorinov <ivan.gori...@intel.com> wrote:
> On Fri, Mar 30, 2018 at 10:46:40PM +0300, Andy Shevchenko wrote:
>
>> > +       writel(0, regs + HPET_MAIN_COUNT_L);
>> > +       writel(0, regs + HPET_MAIN_COUNT_H);
>>
>> Can we use writeq() here?
>
> I don't see readq/writeq defined for x86, even x86_64.
>

read_le64() and write_le64() in U-Boot source code.

Besides that there are memcpy_toio() / memcpy_fromio() defined (didn't
check if they are really implemented).

>> > +               tl = readl(regs + HPET_MAIN_COUNT_L);
>> > +               th = readl(regs + HPET_MAIN_COUNT_H);
>>
>> Ditto.
>
> If readq() is defined as two read operations in 32-bit code, main counter
> rollover (low part overflow, high part increment) can happen between them.

And how this contradicts ther current code?

-- 
With Best Regards,
Andy Shevchenko
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to