rtc: goldfish: Enable interrupt in set_alarm() when necessary
[ Upstream commit 22f8d5a1bf230cf8567a4121fc3789babb46336d ] When use goldfish rtc, the "hwclock" command fails with "select() to /dev/rtc to wait for clock tick timed out". This is because "hwclock" need the set_alarm() hook to enable interrupt when alrm->enabled is true. This operation is missing in goldfish rtc (but other rtc drivers, such as cmos rtc, enable interrupt here), so add it. Signed-off-by: Huacai Chen <chenhc@lemote.com> Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Link: https://lore.kernel.org/r/1592654683-31314-1-git-send-email-chenhc@lemote.com Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
b07b952199
commit
b5a5b21f34
1 changed files with 1 additions and 0 deletions
|
@ -87,6 +87,7 @@ static int goldfish_rtc_set_alarm(struct device *dev,
|
||||||
rtc_alarm64 = rtc_alarm * NSEC_PER_SEC;
|
rtc_alarm64 = rtc_alarm * NSEC_PER_SEC;
|
||||||
writel((rtc_alarm64 >> 32), base + TIMER_ALARM_HIGH);
|
writel((rtc_alarm64 >> 32), base + TIMER_ALARM_HIGH);
|
||||||
writel(rtc_alarm64, base + TIMER_ALARM_LOW);
|
writel(rtc_alarm64, base + TIMER_ALARM_LOW);
|
||||||
|
writel(1, base + TIMER_IRQ_ENABLED);
|
||||||
} else {
|
} else {
|
||||||
/*
|
/*
|
||||||
* if this function was called with enabled=0
|
* if this function was called with enabled=0
|
||||||
|
|
Loading…
Reference in a new issue