
31 Mar
2018
31 Mar
'18
2:31 p.m.
On Sat, Mar 31, 2018 at 4:03 AM, Ivan Gorinov ivan.gorinov@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