<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/include/asm-ppc, branch v2.6.20.11</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/include/asm-ppc?h=v2.6.20.11</id>
<link rel='self' href='https://git.amat.us/linux/atom/include/asm-ppc?h=v2.6.20.11'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2006-12-11T05:31:42Z</updated>
<entry>
<title>Merge branch 'for_paulus' of master.kernel.org:/pub/scm/linux/kernel/git/galak/powerpc</title>
<updated>2006-12-11T05:31:42Z</updated>
<author>
<name>Paul Mackerras</name>
<email>paulus@samba.org</email>
</author>
<published>2006-12-11T05:31:42Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=973c1fabc70deb10f12a0eaab2f50c2263784257'/>
<id>urn:sha1:973c1fabc70deb10f12a0eaab2f50c2263784257</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[POWERPC] Only export __mtdcr/__mfdcr if CONFIG_PPC_DCR is set</title>
<updated>2006-12-11T05:15:47Z</updated>
<author>
<name>Kumar Gala</name>
<email>galak@kernel.crashing.org</email>
</author>
<published>2006-12-11T05:15:47Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=45d8e7aaf47668550fdb6c2d3abbe42f48a76df2'/>
<id>urn:sha1:45d8e7aaf47668550fdb6c2d3abbe42f48a76df2</id>
<content type='text'>
On 85xx we don't build in dcr support because the core doesn't implement the
instructions.  This caused problems when building an 85xx kernel.  Additionally
made it so we only build __mtdcr/__mfdcr if we are CONFIG_PPC_DCR_NATIVE.

The 85xx build issue wasPointed out by Dai Haruki.

Signed-off-by: Kumar Gala &lt;galak@kernel.crashing.org&gt;
</content>
</entry>
<entry>
<title>[POWERPC] Fix mmap of PCI resource with hack for X</title>
<updated>2006-12-08T06:21:06Z</updated>
<author>
<name>Benjamin Herrenschmidt</name>
<email>benh@kernel.crashing.org</email>
</author>
<published>2006-12-08T06:14:33Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=396a1a5832ae28ce2c4150f98827873cbef554f5'/>
<id>urn:sha1:396a1a5832ae28ce2c4150f98827873cbef554f5</id>
<content type='text'>
The powerpc version of pci_resource_to_user() and associated hooks
used by /proc/bus/pci and /sys/bus/pci mmap have been broken for some
time on machines that don't have a 1:1 mapping of devices (basically
on non-PowerMacs) and have PCI devices above 32 bits.

This attempts to fix it as well as possible.

The rule is supposed to be that pci_resource_to_user() always converts
the resources back into a BAR values since that's what the /proc
interface was supposed to deal with. However, for X to work on
platforms where PCI MMIO is not mapped 1:1, it became a habit of
platforms like powerpc to pass "fixed up" values there since X expects
to be able to use values from /proc/bus/pci/devices as offsets to mmap
of /dev/mem...

So we keep that contraption here, causing also /sys/*/resource to
expose fully absolute MMIO addresses instead of BAR values, which is
ugly, but should still work as long as those are only used to calculate
alignment within a page.

X is still broken when built 32 bits on machines where PCI MMIO can be
above 32-bit space unfortunately.

Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Signed-off-by: Paul Mackerras &lt;paulus@samba.org&gt;
</content>
</entry>
<entry>
<title>[POWERPC] Define pci_unmap_addr() et al. when CONFIG_NOT_COHERENT_CACHE=y</title>
<updated>2006-12-08T06:10:18Z</updated>
<author>
<name>Roland Dreier</name>
<email>rdreier@cisco.com</email>
</author>
<published>2006-12-06T23:15:38Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=1d4454e7ce30239e67b154ae08f6d906b9737334'/>
<id>urn:sha1:1d4454e7ce30239e67b154ae08f6d906b9737334</id>
<content type='text'>
The current PowerPC code makes pci_unmap_addr(), pci_unmap_addr_set(),
and friends trivial for all 32-bit kernels.  This is reasonable, since
for those kernels it is true that pci_unmap_single() does not need the
DMA address from the original DMA mapping -- in fact, it is a NOP.

However, I recently tried the tg3 driver on a PowerPC 440SPe machine,
which runs a 32-bit kernel and has non-cache-coherent PCI DMA.  I
found that the tg3 driver crashed in pci_dma_sync_single_for_cpu(),
since for non-coherent systems, that function must invalidate the
cache for the DMA address range requested, and therefore it does use
the address passed in.  tg3 uses a DMA address it stashes away with
pci_unmap_addr_set() and retrieves with pci_unmap_addr().  Of course,
since pci_unmap_addr() is defined to (0) right now, this doesn't work.

It seems to me that the tg3 driver is using pci_unmap_addr() in a
legitimate way -- I wouldn't want to have to teach all drivers that
they should use pci_unmap_addr() if they only need the address for
unmapping functions, but if they want the pci_dma_sync functions, then
they have to store the DMA address without the helper macros.
The right fix therefore seems to be in the definition of the macros in
&lt;asm/pci.h&gt; -- we should use the trivial versions only for 32-bit
kernels for coherent systems, and the real versions for both 64-bit
kernels and non-coherent systems.

Signed-off-by: Roland Dreier &lt;rolandd@cisco.com&gt;
Signed-off-by: Paul Mackerras &lt;paulus@samba.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] mm: pagefault_{disable,enable}()</title>
<updated>2006-12-07T16:39:21Z</updated>
<author>
<name>Peter Zijlstra</name>
<email>a.p.zijlstra@chello.nl</email>
</author>
<published>2006-12-07T04:32:20Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a866374aecc90c7d90619727ccd851ac096b2fc7'/>
<id>urn:sha1:a866374aecc90c7d90619727ccd851ac096b2fc7</id>
<content type='text'>
Introduce pagefault_{disable,enable}() and use these where previously we did
manual preempt increments/decrements to make the pagefault handler do the
atomic thing.

Currently they still rely on the increased preempt count, but do not rely on
the disabled preemption, this might go away in the future.

(NOTE: the extra barrier() in pagefault_disable might fix some holes on
       machines which have too many registers for their own good)

[heiko.carstens@de.ibm.com: s390 fix]
Signed-off-by: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
Acked-by: Nick Piggin &lt;npiggin@suse.de&gt;
Cc: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
Signed-off-by: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[POWERPC] ppc: m48t35 add missing bracket</title>
<updated>2006-12-04T09:42:04Z</updated>
<author>
<name>Mariusz Kozlowski</name>
<email>m.kozlowski@tuxland.pl</email>
</author>
<published>2006-11-30T09:25:23Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=25a31e2df0ee22bdc23494371db9e858b3a23471'/>
<id>urn:sha1:25a31e2df0ee22bdc23494371db9e858b3a23471</id>
<content type='text'>
Add missing bracket in definition for m48t35 RTC chip.

Signed-off-by: Mariusz Kozlowski &lt;m.kozlowski@tuxland.pl&gt;
Signed-off-by: Paul Mackerras &lt;paulus@samba.org&gt;
</content>
</entry>
<entry>
<title>[POWERPC] Fix IDE build with ARCH=ppc</title>
<updated>2006-12-04T09:39:09Z</updated>
<author>
<name>Benjamin Herrenschmidt</name>
<email>benh@kernel.crashing.org</email>
</author>
<published>2006-11-21T02:45:56Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=6ad4e70cafc43155d3a7e6e796e8b6b6967fc9e2'/>
<id>urn:sha1:6ad4e70cafc43155d3a7e6e796e8b6b6967fc9e2</id>
<content type='text'>
The recent IO accessor changes broke IDE on arch/ppc due to the IDE
stream IO macros using the new reads/writes{b,w,l} accessors that
are only defined for arch/powerpc. This adds them to arch/ppc.

Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Signed-off-by: Paul Mackerras &lt;paulus@samba.org&gt;
</content>
</entry>
<entry>
<title>[POWERPC] Allow hooking of PCI MMIO &amp; PIO accessors on 64 bits</title>
<updated>2006-12-04T09:38:52Z</updated>
<author>
<name>Benjamin Herrenschmidt</name>
<email>benh@kernel.crashing.org</email>
</author>
<published>2006-11-11T06:25:10Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=4cb3cee03d558fd457cb58f56c80a2a09a66110c'/>
<id>urn:sha1:4cb3cee03d558fd457cb58f56c80a2a09a66110c</id>
<content type='text'>
This patch reworks the way iSeries hooks on PCI IO operations (both MMIO
and PIO) and provides a generic way for other platforms to do so (we
have need to do that for various other platforms).

While reworking the IO ops, I ended up doing some spring cleaning in
io.h and eeh.h which I might want to split into 2 or 3 patches (among
others, eeh.h had a lot of useless stuff in it).

A side effect is that EEH for PIO should work now (it used to pass IO
ports down to the eeh address check functions which is bogus).

Also, new are MMIO "repeat" ops, which other archs like ARM already had,
and that we have too now: readsb, readsw, readsl, writesb, writesw,
writesl.

In the long run, I might also make EEH use the hooks instead
of wrapping at the toplevel, which would make things even cleaner and
relegate EEH completely in platforms/iseries, but we have to measure the
performance impact there (though it's really only on MMIO reads)

Since I also need to hook on ioremap, I shuffled the functions a bit
there. I introduced ioremap_flags() to use by drivers who want to pass
explicit flags to ioremap (and it can be hooked). The old __ioremap() is
still there as a low level and cannot be hooked, thus drivers who use it
should migrate unless they know they want the low level version.

The patch "arch provides generic iomap missing accessors" (should be
number 4 in this series) is a pre-requisite to provide full iomap
API support with this patch.

Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Signed-off-by: Paul Mackerras &lt;paulus@samba.org&gt;
</content>
</entry>
<entry>
<title>[POWERPC] Add "parent" struct device for PCI host bridges</title>
<updated>2006-12-04T09:38:47Z</updated>
<author>
<name>Benjamin Herrenschmidt</name>
<email>benh@kernel.crashing.org</email>
</author>
<published>2006-11-11T06:25:07Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=803d4573e60bc890d7fbc040ad1c18c2dc7f8279'/>
<id>urn:sha1:803d4573e60bc890d7fbc040ad1c18c2dc7f8279</id>
<content type='text'>
Add a "parent" struct device to our PCI host bridge data structure so that
PCI can be rooted off another device in sysfs.

Note that arch/ppc doesn't use it, only arch/powerpc, though it's available
for both 32 and 64 bits.

Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Signed-off-by: Paul Mackerras &lt;paulus@samba.org&gt;
</content>
</entry>
<entry>
<title>Merge branch 'linux-2.6' into for-linus</title>
<updated>2006-12-04T04:59:07Z</updated>
<author>
<name>Paul Mackerras</name>
<email>paulus@samba.org</email>
</author>
<published>2006-12-04T04:59:07Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=79acbb3ff2d8095b692e1502b9eb2ccec348de26'/>
<id>urn:sha1:79acbb3ff2d8095b692e1502b9eb2ccec348de26</id>
<content type='text'>
</content>
</entry>
</feed>
