<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/arch/alpha/include/asm/rtc.h, branch v3.13.2</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/arch/alpha/include/asm/rtc.h?h=v3.13.2</id>
<link rel='self' href='https://git.amat.us/linux/atom/arch/alpha/include/asm/rtc.h?h=v3.13.2'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2013-11-17T00:33:16Z</updated>
<entry>
<title>alpha: Reorganize rtc handling</title>
<updated>2013-11-17T00:33:16Z</updated>
<author>
<name>Richard Henderson</name>
<email>rth@twiddle.net</email>
</author>
<published>2013-07-13T22:49:45Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=85d0b3a573d8b711ee0c96199ac24a0f3283ed68'/>
<id>urn:sha1:85d0b3a573d8b711ee0c96199ac24a0f3283ed68</id>
<content type='text'>
Discontinue use of GENERIC_CMOS_UPDATE; rely on the RTC subsystem.

The marvel platform requires that the rtc only be touched from the
boot cpu.  This had been partially implemented with hooks for
get/set_rtc_time, but read/update_persistent_clock were not handled.
Move the hooks from the machine_vec to a special rtc_class_ops struct.

We had read_persistent_clock managing the epoch against which the
rtc hw is based, but this didn't apply to get_rtc_time or set_rtc_time.
This resulted in incorrect values when hwclock(8) gets involved.

Allow the epoch to be set from the kernel command-line, overriding
the autodetection, which is doomed to fail in 2020.  Further, by
implementing the rtc ioctl function, we can expose this epoch to
userland.

Elide the alarm functions that RTC_DRV_CMOS implements.  This was
highly questionable on Alpha, since the interrupt is used by the
system timer.

Signed-off-by: Richard Henderson &lt;rth@twiddle.net&gt;
</content>
</entry>
<entry>
<title>alpha: properly define get/set_rtc_time on Marvel/SMP</title>
<updated>2012-05-02T19:54:05Z</updated>
<author>
<name>Matt Turner</name>
<email>mattst88@gmail.com</email>
</author>
<published>2012-05-02T01:52:26Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f8eafb5f1a7af1281fef93fd47c9bfe0d68c8652'/>
<id>urn:sha1:f8eafb5f1a7af1281fef93fd47c9bfe0d68c8652</id>
<content type='text'>
The marvel_get_rtc_time and marvel_set_rtc_time are static, but they're
available through Marvel's machine vector.

Reported-by: Raúl Porcel &lt;armin76@gentoo.org&gt;
Signed-off-by: Matt Turner &lt;mattst88@gmail.com&gt;
</content>
</entry>
<entry>
<title>alpha: fix RTC on marvel</title>
<updated>2009-01-16T00:39:40Z</updated>
<author>
<name>Ivan Kokshaysky</name>
<email>ink@jurassic.park.msu.ru</email>
</author>
<published>2009-01-15T21:51:19Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=5f7dc5d75076fd1c1fc6bc09f2467509d20db24a'/>
<id>urn:sha1:5f7dc5d75076fd1c1fc6bc09f2467509d20db24a</id>
<content type='text'>
Unlike other alphas, marvel doesn't have real PC-style CMOS clock hardware
- RTC accesses are emulated via PAL calls.  Unfortunately, for unknown
reason these calls work only on CPU #0.  So current implementation for
arbitrary CPU makes CMOS_READ/WRITE to be executed on CPU #0 via IPI.
However, for obvious reason this doesn't work with standard
get/set_rtc_time() functions, where a bunch of CMOS accesses is done with
disabled interrupts.

Solved by making the IPI calls for entire get/set_rtc_time() functions,
not for individual CMOS accesses.  Which is also a lot more effective
performance-wise.

The patch is largely based on the code from Jay Estabrook.
My changes:
- tweak asm-generic/rtc.h by adding a couple of #defines to
  avoid a massive code duplication in arch/alpha/include/asm/rtc.h;
- sys_marvel.c: fix get/set_rtc_time() return values (Jay's FIXMEs).

NOTE: this fixes *only* LIB_RTC drivers.  Legacy (CONFIG_RTC) driver
wont't work on marvel.  Actually I think that we should just disable
CONFIG_RTC on alpha (maybe in 2.6.30?), like most other arches - AFAIK,
all modern distributions use LIB_RTC anyway.

Signed-off-by: Ivan Kokshaysky &lt;ink@jurassic.park.msu.ru&gt;
Cc: Richard Henderson &lt;rth@twiddle.net&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>alpha: move include/asm-alpha to arch/alpha/include/asm</title>
<updated>2008-08-15T16:19:40Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2008-08-15T16:19:40Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=024b246ed24492d6c2ee14c34d742b137fce1b94'/>
<id>urn:sha1:024b246ed24492d6c2ee14c34d742b137fce1b94</id>
<content type='text'>
Sam Ravnborg did the build-test that the direct header file move works,
I'm just committing it.

This is a pure move:

	mkdir arch/alpha/include
	git mv include/asm-alpha arch/alpha/include/asm

with no other changes.

Requested-and-tested-by: Sam Ravnborg &lt;sam@ravnborg.org&gt;
Cc: Richard Henderson &lt;rth@twiddle.net&gt;
Cc: Ivan Kokshaysky &lt;ink@jurassic.park.msu.ru&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
</feed>
