<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/mn10300/kernel, branch linux-2.6.28.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.28.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.28.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2009-01-18T18:43:51Z</updated>
<entry>
<title>Rename old_readdir to sys_old_readdir</title>
<updated>2009-01-18T18:43:51Z</updated>
<author>
<name>Heiko Carstens</name>
</author>
<published>2009-01-14T13:13:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f5f7564062f518230ce6a749be151477e528874a'/>
<id>urn:sha1:f5f7564062f518230ce6a749be151477e528874a</id>
<content type='text'>
commit e55380edf68796d75bf41391a781c68ee678587d upstream.

This way it matches the generic system call name convention.

Signed-off-by: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</content>
</entry>
<entry>
<title>MN10300: Give correct size when reserving interrupt vector table</title>
<updated>2008-12-10T21:34:33Z</updated>
<author>
<name>Akira Takeuchi</name>
</author>
<published>2008-12-10T12:43:39Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c7f8d6f6b5d121e5f7408119661ca29fc4661c10'/>
<id>urn:sha1:c7f8d6f6b5d121e5f7408119661ca29fc4661c10</id>
<content type='text'>
Give the correct size when reserving the interrupt vector table.  It should be
a page not a single byte.

Signed-off-by: Akira Takeuchi &lt;takeuchi.akr@jp.panasonic.com&gt;
Signed-off-by: David Howells &lt;dhowells@redhat.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>MN10300: Fix the preemption resume_kernel() routine</title>
<updated>2008-12-10T21:34:33Z</updated>
<author>
<name>Akira Takeuchi</name>
</author>
<published>2008-12-10T12:43:29Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=24646bd2269fbca95367bfd3eafbc9f7ade2e980'/>
<id>urn:sha1:24646bd2269fbca95367bfd3eafbc9f7ade2e980</id>
<content type='text'>
Fix the preemption resume_kernel() routine by inverting the test to see
whether interrupts are off (IM7 is all enabled, not all disabled).

Furthermore, interrupts should be disabled on entry to resume_kernel() so that
they're correctly set for jumping to restore_all() and doing the need
reschedule test.

Signed-off-by: Akira Takeuchi &lt;takeuchi.akr@jp.panasonic.com&gt;
Signed-off-by: David Howells &lt;dhowells@redhat.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>MN10300: Discard low-priority Tx interrupts when closing an on-chip serial port</title>
<updated>2008-12-10T21:34:33Z</updated>
<author>
<name>Akira Takeuchi</name>
</author>
<published>2008-12-10T12:43:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a8893fb3e61473349b052794ae157b938e3b2b98'/>
<id>urn:sha1:a8893fb3e61473349b052794ae157b938e3b2b98</id>
<content type='text'>
Discard low-prioriy Tx interrupts when closing an MN10300 on-chip serial port.

The MN10300 on-chip serial port uses three interrupts to manage its serial
ports:

 (1) A very high priority interrupt that drives virtual DMA for Rx.

 (2) A very high priority interrupt that drives virtual DMA for Tx.

 (3) A normal priority virtual interrupt that does the normal UART interrupt
     stuff and is shared between Rx and Tx.

mn10300_serial_stop_tx() only disables the high priority Tx interrupt.  It
doesn't also disable the normal priority one because it is shared with Rx.

However, the high priority interrupt may interrupt local_irq_disabled()
sections, and so may have queued up a low priority virtual interrupt whilst the
UART driver is asking for the Tx interrupt to be disabled.

The result of this can be an oops when we try to process the interrupt in
mn10300_serial_transmit_interrupt() as port-&gt;uart.info and port-&gt;uart.info-&gt;tty
may have gone away.

To deal with this, if either of those pointers is NULL, we make sure the
high-priority Tx interrupt is disabled and discard the interrupt.  The low
priority interrupt is disabled by the mn10300_serial_pic irq_chip table.

Signed-off-by: Akira Takeuchi &lt;takeuchi.akr@jp.panasonic.com&gt;
Signed-off-by: David Howells &lt;dhowells@redhat.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>MN10300: vmlinux.lds.S cleanup - use PAGE_SIZE, PERCPU macros</title>
<updated>2008-12-10T21:34:33Z</updated>
<author>
<name>Cyrill Gorcunov</name>
</author>
<published>2008-12-10T12:43:19Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=cb32898c0996e78509a4b21b068209eb2d569f00'/>
<id>urn:sha1:cb32898c0996e78509a4b21b068209eb2d569f00</id>
<content type='text'>
Include the linux/page.h header into the MN10300 kernel linker script thus
allowing us to use PAGE_SIZE macro instead of a numeric constant.

Also use the PERCPU macro instead of an explicit section definition.

Signed-off-by: Cyrill Gorcunov &lt;gorcunov@gmail.com&gt;
Signed-off-by: David Howells &lt;dhowells@redhat.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>MN10300: Introduce barriers to replace removed volatiles in gdbstub 16550 driver</title>
<updated>2008-12-04T00:47:40Z</updated>
<author>
<name>David Howells</name>
</author>
<published>2008-12-03T16:33:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=004b50f4ed2accb56069d56714a32484f8b83ec0'/>
<id>urn:sha1:004b50f4ed2accb56069d56714a32484f8b83ec0</id>
<content type='text'>
Introduce into the MN10300 gdbstub 16550 driver a couple of barrier() calls to
replace the removed volatility of the input/output index variables for the Rx
ring buffer.  A previous patch added them into the on-chip serial port driver.

Signed-off-by: David Howells &lt;dhowells@redhat.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>MN10300: Fix application of kernel module relocations</title>
<updated>2008-12-02T23:52:07Z</updated>
<author>
<name>Mark Salter</name>
</author>
<published>2008-12-02T14:38:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1122b19b8f4da2ee6d6b21780f86bea7957f641e'/>
<id>urn:sha1:1122b19b8f4da2ee6d6b21780f86bea7957f641e</id>
<content type='text'>
This fixes the MN10300 kernel module linking to match the toolchain.  RELA
relocs don't use the value at the location being relocated.  This has been
working because the tools always leave the value at the target location
cleared.

Signed-off-by: Mark Salter &lt;msalter@redhat.com&gt;
Signed-off-by: David Howells &lt;dhowells@redhat.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>MN10300: Tighten up the code using case ranges</title>
<updated>2008-11-30T19:21:18Z</updated>
<author>
<name>Robert P. J. Day</name>
</author>
<published>2008-11-28T11:48:37Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=499c59c42967329d39481314a839d7669f5e1506'/>
<id>urn:sha1:499c59c42967329d39481314a839d7669f5e1506</id>
<content type='text'>
Compress a set of consecutive switch cases into a case-range.

Signed-off-by: Robert P. J. Day &lt;rpjday@crashcourse.ca&gt;
Signed-off-by: David Howells &lt;dhowells@redhat.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>mn10300: use bcd2bin/bin2bcd</title>
<updated>2008-10-20T15:52:41Z</updated>
<author>
<name>Adrian Bunk</name>
</author>
<published>2008-10-19T03:28:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f6a2298c5fd1f074aa3626febea33f48cd3b5a94'/>
<id>urn:sha1:f6a2298c5fd1f074aa3626febea33f48cd3b5a94</id>
<content type='text'>
Change mn10300 to use the new bcd2bin/bin2bcd functions instead of the
obsolete BCD_TO_BIN/BIN_TO_BCD macros.

Signed-off-by: Adrian Bunk &lt;bunk@kernel.org&gt;
Acked-by: David Howells &lt;dhowells@redhat.com&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>MN10300: Fix IRQ handling</title>
<updated>2008-10-01T16:40:43Z</updated>
<author>
<name>David Howells</name>
</author>
<published>2008-10-01T12:47:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d6478fad430e37148b56f642c87301ba72476675'/>
<id>urn:sha1:d6478fad430e37148b56f642c87301ba72476675</id>
<content type='text'>
Fix the IRQ handling on the MN10300 arch.

This patch makes a number of significant changes:

 (1) It separates the irq_chip definition for edge-triggered interrupts from
     the one for level-triggered interrupts.

     This is necessary because the MN10300 PIC latches the IRQ channel's
     interrupt request bit (GxICR_REQUEST), even after the device has ceased to
     assert its interrupt line and the interrupt channel has been disabled in
     the PIC.  So for level-triggered interrupts we need to clear this bit when
     we re-enable - which is achieved by setting GxICR_DETECT but not
     GxICR_REQUEST when writing to the register.

     Not doing this results in spurious interrupts occurring because calling
     mask_ack() at the start of handle_level_irq() is insufficient - it fails
     to clear the REQUEST latch because the device that caused the interrupt is
     still asserting its interrupt line at this point.

 (2) IRQ disablement [irq_chip::disable_irq()] shouldn't clear the interrupt
     request flag for edge-triggered interrupts lest it lose an interrupt.

 (3) IRQ unmasking [irq_chip::unmask_irq()] also shouldn't clear the interrupt
     request flag for edge-triggered interrupts lest it lose an interrupt.

 (4) The end() operation is now left to the default (no-operation) as
     __do_IRQ() is compiled out.  This may affect misrouted_irq(), but
     according to Thomas Gleixner it's the correct thing to do.

 (5) handle_level_irq() is used for edge-triggered interrupts rather than
     handle_edge_irq() as the MN10300 PIC latches interrupt events even on
     masked IRQ channels, thus rendering IRQ_PENDING unnecessary.  It is
     sufficient to call mask_ack() at the start and unmask() at the end.

 (6) For level-triggered interrupts, ack() is now NULL as it's not used, and
     there is no effective ACK function on the PIC.  mask_ack() is now the
     same as mask() as the latch continues to latch, even when the channel is
     masked.

Further, the patch discards the disable() op implementation as its now the same
as the mask() op implementation, which is used instead.

It also discards the enable() op implementations as they're now the same as
the unmask() op implementations, which are used instead.

Signed-off-by: David Howells &lt;dhowells@redhat.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
</feed>
