]> pilppa.com Git - linux-2.6-omap-h63xx.git/log
linux-2.6-omap-h63xx.git
16 years ago[POWERPC] mpc52xx_psc_spi device driver must not touch port_config and cdm
Grant Likely [Fri, 25 Jan 2008 05:25:31 +0000 (22:25 -0700)]
[POWERPC] mpc52xx_psc_spi device driver must not touch port_config and cdm

It is dangerous for an mpc52xx device driver to modify the port_config
register.  If the driver is probed incorrectly, it will change the pin
IO configuration in ways which may not be compatible with the board.
port_config should be set up by the bootloader, or failing that, in
the platform setup code in arch/powerpc/platforms/52xx.

Also, modifying CDM registers directly can cause a race condition with
other drivers.  Instead call a common routine to modify CDM settings.

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Acked-by: Dragos Carp <dragos.carp@toptica.com>
16 years ago[POWERPC] Add common clock setting routine mpc52xx_psc_set_clkdiv()
Grant Likely [Fri, 25 Jan 2008 05:25:31 +0000 (22:25 -0700)]
[POWERPC] Add common clock setting routine mpc52xx_psc_set_clkdiv()

PSC drivers should not access the CDM registers directly.  Instead provide
a common routine for setting the PSC clock parameters with the required
locking.

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
16 years ago[POWERPC] Efika: prune fixups and make them more carefull
Grant Likely [Fri, 25 Jan 2008 05:25:32 +0000 (22:25 -0700)]
[POWERPC] Efika: prune fixups and make them more carefull

Prune back Efika fixups to only include changes that are actually required
to get a working system.  Most of the drivers can accept the compatible
properties, even if they don't match the what is recommented in the generic
names recommended practice document.

This patch also adds extra checks so that fixups are not performed blindly.
Instead, the code first verifies that the device tree is faulty before
making any changes.  This way, if the Efika firmware is updated to fix
these issues, then the fixups will no longer get applied.

At this point; here is the list of fixups needed for the efika:
1. If the device_type property on the root node is 'chrp', then Linux won't
   boot.  Change device_type to 'efika' to avoid this condition
2. Add full interrupt list to the bestcomm node.  In actual fact, the
   bestcomm interrupts property is technically correct, it just doesn't
   expose the same granularity as the device driver expects.  All other
   5200 device trees provide a separate irq number for each bestcomm
   channel.  Rather than hack the driver, it's simpler to fix it up
3. /builtin/sound node is missing an interrupts property
4. /builtin/ethernet node is missing a phy-handle property and the
   device driver doesn't know what to do without one.

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
16 years ago[POWERPC] mpc5200: make dts files conform to generic names recommended practice
Grant Likely [Fri, 25 Jan 2008 05:25:31 +0000 (22:25 -0700)]
[POWERPC] mpc5200: make dts files conform to generic names recommended practice

Modify mpc5200 dts files to match Open Firmware's Generic Names recommended
practice.

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
16 years ago[POWERPC] mpc5200: normalize compatible property bindings
Grant Likely [Fri, 25 Jan 2008 05:25:31 +0000 (22:25 -0700)]
[POWERPC] mpc5200: normalize compatible property bindings

Update MPC5200 drivers to also look for compatible properties in the
form "fsl,mpc5200-*" to better conform to open firmware generic names
recommended practice as published here:

http://www.openfirmware.org/1275/practice/gnames/gnamv14a.html

This patch should *not* break compatibility with older device trees
which do not use the 'fsl,' prefix.  The drivers will still bind against
the older names also.

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
16 years ago[POWERPC] mpc52xx: clean up Kconfig
Grant Likely [Fri, 25 Jan 2008 05:24:07 +0000 (22:24 -0700)]
[POWERPC] mpc52xx: clean up Kconfig

Put all the mpc5200 board config option behind a menu item to get them
out of the top level of the platform support list

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
16 years ago[POWERPC] mpc5200: add #address-cells and #size-cells to soc node.
Paul Gortmaker [Fri, 25 Jan 2008 20:33:20 +0000 (07:33 +1100)]
[POWERPC] mpc5200: add #address-cells and #size-cells to soc node.

The various 5200 dts files don't have values specified for the soc
node, which in turn results in a warning from the processing of
every child node (roughly 40 warnings per file).  This explicitly
sets the default values and gets rid of all the warnings.

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
16 years agoRevert "[POWERPC] Fake NUMA emulation for PowerPC"
Paul Mackerras [Sat, 26 Jan 2008 05:40:33 +0000 (16:40 +1100)]
Revert "[POWERPC] Fake NUMA emulation for PowerPC"

This reverts commit 5c3f5892a2db6757a72ce8b27cba90db06683e1d,
basically because it changes behaviour even when no fake NUMA
information is specified on the kernel command line.

Firstly, it changes the nid, thus destroying the real NUMA
information.  Secondly, it also changes behaviour in that if a node
ends up with no memory in it because of the memory limit, we used to
set it online and now we don't.

Also, in the non-NUMA case with no fake NUMA information, we do
node_set_online once for each LMB now, whereas previously we only did
it once.  I don't know if that is actually a problem, but it does seem
unnecessary.

Signed-off-by: Paul Mackerras <paulus@samba.org>
16 years agoMerge branch 'for-2.6.25' of master.kernel.org:/pub/scm/linux/kernel/git/jwboyer...
Paul Mackerras [Sat, 26 Jan 2008 04:30:35 +0000 (15:30 +1100)]
Merge branch 'for-2.6.25' of master.kernel.org:/pub/scm/linux/kernel/git/jwboyer/powerpc-4xx

16 years ago[POWERPC] 4xx: logical/bitand typo in powerpc/boot/4xx.c
Roel Kluin [Wed, 23 Jan 2008 22:37:33 +0000 (09:37 +1100)]
[POWERPC] 4xx: logical/bitand typo in powerpc/boot/4xx.c

logical/bitand typo

Signed-off-by: Roel Kluin <12o3l@tiscali.nl>
Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
16 years ago[POWERPC] 4xx: PIKA Warp defconfig
Sean MacLennan [Wed, 9 Jan 2008 20:23:59 +0000 (07:23 +1100)]
[POWERPC] 4xx: PIKA Warp defconfig

Add the defconfig for the PIKA Warp board

Signed-off-by: Sean MacLennan <smaclennan@pikatech.com>
Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
16 years ago[POWERPC] 4xx: PIKA Warp bootwrapper
Sean MacLennan [Fri, 11 Jan 2008 06:17:51 +0000 (17:17 +1100)]
[POWERPC] 4xx: PIKA Warp bootwrapper

Add the cuboot wrapper for the PIKA Warp board

Signed-off-by: Sean MacLennan <smaclennan@pikatech.com>
Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
16 years ago[POWERPC] 4xx: PIKA Warp DTS
Sean MacLennan [Sat, 12 Jan 2008 20:32:38 +0000 (07:32 +1100)]
[POWERPC] 4xx: PIKA Warp DTS

Add the device tree for the PIKA Warp board

Signed-off-by: Sean MacLennan <smaclennan@pikatech.com>
Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
16 years ago[POWERPC] 4xx: PIKA Warp base platform
Sean MacLennan [Mon, 21 Jan 2008 17:55:29 +0000 (04:55 +1100)]
[POWERPC] 4xx: PIKA Warp base platform

Add the base platform support for the PIKA Warp boards.

Signed-off-by: Sean MacLennan <smaclennan@pikatech.com>
Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
16 years ago[POWERPC] 4xx: Add PowerPC 440EP Rev C
Sean MacLennan [Wed, 9 Jan 2008 20:25:58 +0000 (07:25 +1100)]
[POWERPC] 4xx: Add PowerPC 440EP Rev C

This adds the 440EP revision C PVR to the CPU table.  The chip has an
FPU on it, so we also match the logical PVR

Signed-off-by: Sean MacLennan <smaclennan@pikatech.com>
Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
16 years ago[POWERPC] Enable RTC for Ebony and Walnut (v2)
David Gibson [Fri, 11 Jan 2008 03:25:34 +0000 (14:25 +1100)]
[POWERPC] Enable RTC for Ebony and Walnut (v2)

This patch extends the Ebony and Walnut platform code to instantiate
the existing ds1742 RTC class driver for the DS1743 RTC/NVRAM chip
found on both those boards.  The patch uses a helper function to scan
the device tree and instantiate the appropriate platform_device based
on it, so it should be easy to extend for other boards which have mmio
mapped RTC chips.

Along with this, the device tree binding for the ds1743 chips is
tweaked, based on the existing DS1385 OF binding found at:
http://playground.sun.com/1275/proposals/Closed/Remanded/Accepted/346-it.txt
Although that document covers the NVRAM portion of the chip, whereas
here we're interested in the RTC portion, so it's not entirely clear
if that's a good model.

This implements only RTC class driver support - that is /dev/rtc0, not
/dev/rtc, and the low-level get/set time callbacks remain
unimplemented.  That means in order to get at the clock you will
either need a modified version of hwclock which will look at
/dev/rtc0, or you'll need to configure udev to symlink rtc0 to rtc.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
16 years ago[POWERPC] 4xx: Add AMCC Haleakala (405EXr) dts
Stefan Roese [Wed, 16 Jan 2008 07:24:52 +0000 (18:24 +1100)]
[POWERPC] 4xx: Add AMCC Haleakala (405EXr) dts

The patch adds the Haleakala dts. The Haleakala is a stripped down
version of the Kilauea (405EX) with only one EMAC and only one PCIe
interface.

Signed-off-by: Stefan Roese <sr@denx.de>
Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
16 years ago[POWERPC] 4xx: Add 405EXr to cputable
Stefan Roese [Tue, 15 Jan 2008 07:09:15 +0000 (18:09 +1100)]
[POWERPC] 4xx: Add 405EXr to cputable

This patch adds the 405EXr to the powerpc cuptable. Basically the 405EXr
is a 405EX with only one EMAC and only one PCIe interface.

Signed-off-by: Stefan Roese <sr@denx.de>
Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
16 years ago[POWERPC] Autodetect serial console on pegasos2
Olaf Hering [Mon, 21 Jan 2008 15:37:45 +0000 (02:37 +1100)]
[POWERPC] Autodetect serial console on pegasos2

Signed-off-by: Olaf Hering <olaf@aepfle.de>
Signed-off-by: Paul Mackerras <paulus@samba.org>
16 years ago[POWERPC] Revert chrp_pci_fixup_vt8231_ata devinit to fix libata on pegasos
Olaf Hering [Mon, 21 Jan 2008 09:39:30 +0000 (20:39 +1100)]
[POWERPC] Revert chrp_pci_fixup_vt8231_ata devinit to fix libata on pegasos

Commit 6d98bda79bea0e1be26c0767d0e9923ad3b72f2e changed the init order
for chrp_pci_fixup_vt8231_ata().

It can not work anymore because either the irq is not yet set to 14 or
pci_get_device() returns nothing.  At least the printk() in
chrp_pci_fixup_vt8231_ata() does not trigger anymore.
pata_via works again on Pegasos with the change below.

Signed-off-by: Olaf Hering <olaf@aepfle.de>
Signed-off-by: Paul Mackerras <paulus@samba.org>
16 years ago[POWERPC] Make IOMMU code safe for > 132 GB of memory
Michael Ellerman [Mon, 21 Jan 2008 07:01:43 +0000 (18:01 +1100)]
[POWERPC] Make IOMMU code safe for > 132 GB of memory

Currently the IOMMU code allocates one page for the segment table, that
isn't safe if we have more than 132 GB of RAM.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Acked-by: Jeremy Kerr <jk@ozlabs.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
16 years ago[POWERPC] Remove bogus comment in dma_direct_alloc_coherent()
Michael Ellerman [Mon, 21 Jan 2008 05:42:49 +0000 (16:42 +1100)]
[POWERPC] Remove bogus comment in dma_direct_alloc_coherent()

Since commit c80d9133e99de1af607314107910a2a1645efb17 (Make direct DMA use
node local allocations) went in this comment makes no sense.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
16 years ago[POWERPC] Remove the global dma_direct_offset
Michael Ellerman [Mon, 21 Jan 2008 05:42:48 +0000 (16:42 +1100)]
[POWERPC] Remove the global dma_direct_offset

We no longer need the global dma_direct_offset, update the comment to
reflect the new reality.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
16 years ago[POWERPC] Have celleb use its own dma_direct_offset variable
Michael Ellerman [Mon, 21 Jan 2008 05:42:46 +0000 (16:42 +1100)]
[POWERPC] Have celleb use its own dma_direct_offset variable

Rather than using the global variable, have celleb use its own
variable to store the direct DMA offset.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
16 years ago[POWERPC] Have cell use its own dma_direct_offset variable
Michael Ellerman [Mon, 21 Jan 2008 05:42:45 +0000 (16:42 +1100)]
[POWERPC] Have cell use its own dma_direct_offset variable

Rather than using the global variable, have cell use its own variable
to store the direct DMA offset.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
16 years ago[POWERPC] Use archdata.dma_data in dma_direct_ops and add the offset
Michael Ellerman [Mon, 21 Jan 2008 05:42:43 +0000 (16:42 +1100)]
[POWERPC] Use archdata.dma_data in dma_direct_ops and add the offset

Now that all platforms using dma_direct_offset setup the
archdata.dma_data correctly, we can change the dma_direct_ops to
retrieve the offset from the dma_data, rather than directly from the
global.

While we're here, change the way the offset is used - instead of
or'ing it into the value, add it.  This should have no effect on
current implementations where the offset is far larger than memory,
however in future we may want to use smaller offsets.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
16 years ago[POWERPC] Add celleb_dma_dev_setup()
Michael Ellerman [Mon, 21 Jan 2008 05:42:42 +0000 (16:42 +1100)]
[POWERPC] Add celleb_dma_dev_setup()

Celleb always uses dma_direct_ops, and sets dma_direct_offset, so it
too should set dma_data to dma_direct_offset.

Currently there's no pci_dma_dev_setup() routine for Celleb so add one.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
16 years ago[POWERPC] Set archdata.dma_data for direct DMA in cell_dma_dev_setup()
Michael Ellerman [Mon, 21 Jan 2008 05:42:41 +0000 (16:42 +1100)]
[POWERPC] Set archdata.dma_data for direct DMA in cell_dma_dev_setup()

Store the direct_dma_offset in each device's dma_data in the case
where we're using the direct DMA ops.

We need to make sure we setup the ppc_md.pci_dma_dev_setup() callback
if we're using a non-zero offset.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
16 years ago[POWERPC] Always hookup PHB IO resource even when empty
Benjamin Herrenschmidt [Mon, 21 Jan 2008 00:32:50 +0000 (11:32 +1100)]
[POWERPC] Always hookup PHB IO resource even when empty

We must always hookup the pci_bus resource 0 to the PHB io_resource
even if the latter is empty (the bus has no IO support).  Otherwise,
some other code will end up hooking it up to something bogus and the
resource tree will end up being broken.

This fixes boot on QS20 Cell blades where the IDE driver failed to
allocate the IO resources due to breakage of the resource tree.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
16 years ago[POWERPC] PS3: Update ps3_defconfig
Geoff Levand [Fri, 18 Jan 2008 20:33:04 +0000 (07:33 +1100)]
[POWERPC] PS3: Update ps3_defconfig

Update ps3_defconfig.

Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
16 years ago[POWERPC] PS3: Remove lpar address workaround
Geoff Levand [Fri, 18 Jan 2008 20:32:59 +0000 (07:32 +1100)]
[POWERPC] PS3: Remove lpar address workaround

Remove the PS3 workaround needed to support sparsemem SPU mappings.
The SPU mappings no longer use sparsemem, so this workaround is no
longer needed.

Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
16 years ago[POWERPC] PS3: Vuart: change semaphore to mutex
Geoff Levand [Fri, 18 Jan 2008 20:32:53 +0000 (07:32 +1100)]
[POWERPC] PS3: Vuart: change semaphore to mutex

A general housekeeping change of the PS3 vuart variable
vuart_bus_priv.probe_mutex from semaphore to mutex.

Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
16 years ago[POWERPC] PS3: Add logical performance monitor driver support
Takashi Yamamoto [Fri, 18 Jan 2008 20:32:46 +0000 (07:32 +1100)]
[POWERPC] PS3: Add logical performance monitor driver support

Add PS3 logical performance monitor (lpm) device driver.

The PS3's LV1 hypervisor provides a Logical Performance Monitor that
abstracts the Cell processor's performance monitor features for use
by guest operating systems.

Signed-off-by: Takashi Yamamoto <TakashiA.Yamamoto@jp.sony.com>
Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
16 years ago[POWERPC] PS3: Add logical performance monitor device support
Geoff Levand [Fri, 18 Jan 2008 20:32:38 +0000 (07:32 +1100)]
[POWERPC] PS3: Add logical performance monitor device support

Add PS3 logical performance monitor device support to the
PS3 system-bus and platform device registration routines.

Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
16 years ago[POWERPC] PS3: Add logical performance monitor repository routines
Takashi Yamamoto [Fri, 18 Jan 2008 20:32:31 +0000 (07:32 +1100)]
[POWERPC] PS3: Add logical performance monitor repository routines

Add repository routines for the PS3 Logical Performance Monitor.

Signed-off-by: Takashi Yamamoto <TakashiA.Yamamoto@jp.sony.com>
Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
16 years ago[POWERPC] PS3: Checkpatch cleanups for arch/powerpc/platforms/ps3/repository.c
Geert Uytterhoeven [Fri, 18 Jan 2008 20:32:24 +0000 (07:32 +1100)]
[POWERPC] PS3: Checkpatch cleanups for arch/powerpc/platforms/ps3/repository.c

Cleanup coding errors in arch/powerpc/platforms/ps3/repository.c as
reported by sparse and checkpatch.

Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
16 years ago[POWERPC] PS3: Checkpatch cleanups for drivers/ps3/ps3-vuart.c
Geert Uytterhoeven [Fri, 18 Jan 2008 20:32:19 +0000 (07:32 +1100)]
[POWERPC] PS3: Checkpatch cleanups for drivers/ps3/ps3-vuart.c

Cleanup coding errors in drivers/ps3/ps3-vuart.c as reported by
checkpatch.

Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
16 years ago[POWERPC] PS3: Checkpatch cleanups for drivers/ps3/ps3-sys-manager.c
Geert Uytterhoeven [Fri, 18 Jan 2008 20:32:14 +0000 (07:32 +1100)]
[POWERPC] PS3: Checkpatch cleanups for drivers/ps3/ps3-sys-manager.c

Cleanup coding errors in drivers/ps3/ps3-sys-manager.c as reported
by checkpatch.

Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
16 years ago[POWERPC] PS3: Refactor ps3_repository_find_device()
Geert Uytterhoeven [Fri, 18 Jan 2008 20:32:10 +0000 (07:32 +1100)]
[POWERPC] PS3: Refactor ps3_repository_find_device()

PS3: Refactor ps3_repository_find_device() to use the existing
ps3_repository_read_bus_id() routine.

Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
16 years ago[POWERPC] PS3: Kill unused ps3_repository_bump_device()
Geert Uytterhoeven [Fri, 18 Jan 2008 20:32:04 +0000 (07:32 +1100)]
[POWERPC] PS3: Kill unused ps3_repository_bump_device()

PS3: Kill unused routine ps3_repository_bump_device().

Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
16 years ago[POWERPC] PS3: Add repository polling loop to work around timing bug
Geert Uytterhoeven [Fri, 18 Jan 2008 20:30:53 +0000 (07:30 +1100)]
[POWERPC] PS3: Add repository polling loop to work around timing bug

PS3: Add repository polling loop to work around timing bug

On some firmware versions (e.g. 1.90), the storage device may not show up
in the repository immediately after receiving the notification message.
Add a small polling loop to make sure we don't miss it.

Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
16 years ago[POWERPC] PS3: Use the HVs storage device notification mechanism properly
Geert Uytterhoeven [Fri, 18 Jan 2008 20:30:40 +0000 (07:30 +1100)]
[POWERPC] PS3: Use the HVs storage device notification mechanism properly

The PS3 hypervisor has a storage device notification mechanism to wait
until a storage device is ready.  Unfortunately the storage device
probing code used this mechanism in an incorrect way, needing a
polling loop and handling of devices that are not yet ready.

This change corrects this by:
  - First waiting for the reception of an asynchronous notification
    that a new storage device became ready,
  - Then looking up the storage device in the device repository.

On shutdown, the storage probe thread is stopped and the storage
notification device is closed using a reboot notifier.

Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
16 years ago[POWERPC] PS3: Add ps3_repository_find_device_by_id()
Geert Uytterhoeven [Fri, 18 Jan 2008 20:30:27 +0000 (07:30 +1100)]
[POWERPC] PS3: Add ps3_repository_find_device_by_id()

The storage probe feature of the PS3 hypervisor returns device IDs.  Add
the corresponding repository routine ps3_repository_find_device_by_id()
which can be used to retrieve the device info from the repository.

Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
16 years ago[POWERPC] PS3: Make bus_id and dev_id u64
Geert Uytterhoeven [Fri, 18 Jan 2008 20:30:09 +0000 (07:30 +1100)]
[POWERPC] PS3: Make bus_id and dev_id u64

Change the PS3 bus_id and dev_id from type unsigned int to u64.  These
IDs are 64-bit in the repository, and the special storage notification
device has a device ID of ULONG_MAX.

Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
16 years ago[POWERPC] Add definition of Cell bookmark SPR
Geoff Levand [Fri, 18 Jan 2008 20:29:47 +0000 (07:29 +1100)]
[POWERPC] Add definition of Cell bookmark SPR

Add a definition for the Cell bookmark SPR to asm-powerpc/regs.h.

Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Paul Mackerras <paulus@samba.org>
16 years ago[POWERPC] kdump shutdown hook support
Michael Neuling [Fri, 18 Jan 2008 04:50:30 +0000 (15:50 +1100)]
[POWERPC] kdump shutdown hook support

This adds hooks into the default_machine_crash_shutdown so drivers can
register a function to be run in the first kernel before we hand off
to the second kernel.  This should only be used in exceptional
circumstances, like where the device can't be reset in the second
kernel alone (as is the case with eHEA).  To emphasize this, the
number of handles allowed to be registered is currently #def to 1.

This uses the setjmp/longjmp code around the call out to the
registered hooks, so any bogus exceptions we encounter will hopefully
be recoverable.

Tested with bogus data and instruction exceptions.

Signed-off-by: Michael Neuling <mikey@neuling.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
16 years ago[POWERPC] Make setjmp/longjmp code usable outside of xmon
Michael Neuling [Fri, 18 Jan 2008 04:50:30 +0000 (15:50 +1100)]
[POWERPC] Make setjmp/longjmp code usable outside of xmon

This makes the setjmp/longjmp code used by xmon, generically available
to other code.  It also removes the requirement for debugger hooks to
be only called on 0x300 (data storage) exception.

Signed-off-by: Michael Neuling <mikey@neuling.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
16 years ago[POWERPC] Fix a couple of copyright symbols
Stephen Rothwell [Fri, 18 Jan 2008 01:06:01 +0000 (12:06 +1100)]
[POWERPC] Fix a couple of copyright symbols

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
16 years ago[POWERPC] Make ibmebus use of_(un)register_driver
Stephen Rothwell [Mon, 14 Jan 2008 06:46:48 +0000 (17:46 +1100)]
[POWERPC] Make ibmebus use of_(un)register_driver

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Acked-by: Joachim Fenkes <fenkes@de.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
16 years ago[POWERPC] Export copy_page() on 32bit
Joseph Fannin [Tue, 1 Jan 2008 15:36:07 +0000 (02:36 +1100)]
[POWERPC] Export copy_page() on 32bit

Export copy_page() on 32-bit powerpc; unionfs needs it.

Unionfs already builds as a module on 64bit powerpc, so the export is
placed within an existing CONFIG_PPC32 #ifdef.

Signed-off-by: Joseph Fannin <jfannin@gmail.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
16 years ago[POWERPC] Make smp_send_stop() handle panic and xmon reboot
Olof Johansson [Fri, 28 Dec 2007 04:11:09 +0000 (15:11 +1100)]
[POWERPC] Make smp_send_stop() handle panic and xmon reboot

smp_send_stop() will send an IPI to all other cpus to shut them down.
However, for the case of xmon-based reboots (as well as potentially some
panics), the other cpus are (or might be) spinning with interrupts off,
and won't take the IPI.

Current code will drop us into the debugger when the IPI fails, which
means we're in an infinite loop that we can't get out of without an
external reset of some sort.

Instead, make the smp_send_stop() IPI call path just print the warning
about being unable to send IPIs, but make it return so the rest of the
shutdown sequence can continue. It's not perfect, but the lesser of
two evils.

Also move the call_lock handling outside of smp_call_function_map so we
can avoid deadlocks in smp_send_stop().

Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Paul Mackerras <paulus@samba.org>
16 years ago[POWERPC] Make smp_call_function_map static
Olof Johansson [Fri, 28 Dec 2007 04:08:36 +0000 (15:08 +1100)]
[POWERPC] Make smp_call_function_map static

smp_call_function_map should be static, and for consistency prepend it
with __ like other local helper functions in the same file.

Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Paul Mackerras <paulus@samba.org>
16 years agoMerge branch 'for-2.6.25' of master.kernel.org:/pub/scm/linux/kernel/git/galak/powerp...
Paul Mackerras [Thu, 24 Jan 2008 04:29:14 +0000 (15:29 +1100)]
Merge branch 'for-2.6.25' of master.kernel.org:/pub/scm/linux/kernel/git/galak/powerpc into for-2.6.25

16 years ago[POWERPC] Add initial storcenter config file.
Jon Loeliger [Wed, 23 Jan 2008 18:43:14 +0000 (12:43 -0600)]
[POWERPC] Add initial storcenter config file.

Signed-off-by: Jon Loeliger <jdl@freescale.com>
Acked-by: Andy Wilcox <andy@protium.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
16 years ago[POWERPC] Add initial iomega StorCenter board port.
Jon Loeliger [Wed, 23 Jan 2008 18:42:50 +0000 (12:42 -0600)]
[POWERPC] Add initial iomega StorCenter board port.

Use cuImage bootwrapper until U-Boot port is completed.
Derived heavily from Linkstation port.

Signed-off-by: Jon Loeliger <jdl@freescale.com>
Acked-by: Andy Wilcox <andy@protium.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
16 years ago[POWERPC] Add StorCenter DTS first draft.
Jon Loeliger [Wed, 23 Jan 2008 18:42:29 +0000 (12:42 -0600)]
[POWERPC] Add StorCenter DTS first draft.

Based on the Kurobox DTS files.

Signed-off-by: Jon Loeliger <jdl@freescale.com>
Acked-by: Andy Wilcox <andy@protium.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
16 years ago[POWERPC] Add _nmask_and_or_msr() declartion to asm-powerpc/system.h
Jon Loeliger [Wed, 23 Jan 2008 18:42:07 +0000 (12:42 -0600)]
[POWERPC] Add _nmask_and_or_msr() declartion to asm-powerpc/system.h

Prevents miscellaneous users from declaring it locally.

Signed-off-by: Jon Loeliger <jdl@freecale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
16 years agofs_enet: Add fixed-phy support for fs_enet
Jochen Friedrich [Tue, 18 Dec 2007 15:25:43 +0000 (16:25 +0100)]
fs_enet: Add fixed-phy support for fs_enet

This patch adds support to use the fixed-link property of an ethernet node
to fs_enet for the CONFIG_PPC_CPM_NEW_BINDING case.

Signed-off-by: Jochen Friedrich <jochen@scram.de>
Acked-by: Jeff Garzik <jeff@garzik.org>
Acked-by: Vitali Bordug <vitb@kernel.crashing.org>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
16 years ago[POWERPC] 8xx: Use machine_*_initcall() hooks in platform code
Grant Likely [Mon, 21 Jan 2008 18:58:06 +0000 (11:58 -0700)]
[POWERPC] 8xx: Use machine_*_initcall() hooks in platform code

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
16 years ago[POWERPC] Fix compile error if CONFIG_STX_GP3 is defined
Kumar Gala [Wed, 23 Jan 2008 12:36:40 +0000 (06:36 -0600)]
[POWERPC] Fix compile error if CONFIG_STX_GP3 is defined

cpmux is need in all cases, having wrapped by the ifndef CONFIG_STX_GP3
was causing a compile error.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
16 years ago[POWERPC] Move RapidIO support code from arch/ppc
Kumar Gala [Wed, 23 Jan 2008 12:12:06 +0000 (06:12 -0600)]
[POWERPC] Move RapidIO support code from arch/ppc

Do just enough to move the RapidIO support code for 85xx over from arch/ppc
into arch/powerpc and make it still build.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
16 years ago[RAPIDIO] Fix compile error and warning
Kumar Gala [Wed, 23 Jan 2008 11:53:47 +0000 (05:53 -0600)]
[RAPIDIO] Fix compile error and warning

drivers/rapidio/rio.c: In function 'rio_get_asm':
drivers/rapidio/rio.c:413: error: implicit declaration of function 'in_interrupt'
drivers/rapidio/rio.c: In function 'rio_init_mports':
drivers/rapidio/rio.c:480: warning: format '%8.8lx' expects type 'long unsigned int', but argument 2 has type 'resource_size_t'
drivers/rapidio/rio.c:480: warning: format '%8.8lx' expects type 'long unsigned int', but argument 3 has type 'resource_size_t'

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
16 years ago[POWERPC] 86xx: MPC8641 HPCN - call of_platform_bus_probe()
Wade Farnsworth [Tue, 22 Jan 2008 20:17:45 +0000 (13:17 -0700)]
[POWERPC] 86xx: MPC8641 HPCN - call of_platform_bus_probe()

Call of_platform_bus_probe() on the MPC8641 HPCN, similar to what is
done for other platforms.

Signed-off-by: Wade Farnsworth <wfarnsworth@mvista.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
16 years ago[POWERPC] 86xx: Add localbus and flash nodes to mpc8641_hpcn.dts
Wade Farnsworth [Tue, 22 Jan 2008 20:13:39 +0000 (13:13 -0700)]
[POWERPC] 86xx: Add localbus and flash nodes to mpc8641_hpcn.dts

Add local bus, flash, and MTD partition nodes to mpc8641_hpcn.dts

Also add compatible field for the soc node, so that it will be picked up
by of_platform_bus_probe().

Signed-off-by: Wade Farnsworth <wfarnsworth@mvista.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
16 years ago[POWERPC] 8xx: adder875 - Fix flash bus-width and remove duplicate __initdata
Scott Wood [Tue, 22 Jan 2008 18:31:41 +0000 (12:31 -0600)]
[POWERPC] 8xx: adder875 - Fix flash bus-width and remove duplicate __initdata

Signed-off-by: Scott Wood <scottwood@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
16 years ago[POWERPC] 83xx: Update MPC8313e RDB defconfig for MTD, NAND, JFFS2.
Scott Wood [Thu, 17 Jan 2008 22:38:11 +0000 (16:38 -0600)]
[POWERPC] 83xx: Update MPC8313e RDB defconfig for MTD, NAND, JFFS2.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
16 years ago[POWERPC] 83xx: MPC8313e RDB - Add NOR flash to the device tree.
Scott Wood [Thu, 17 Jan 2008 22:37:56 +0000 (16:37 -0600)]
[POWERPC] 83xx: MPC8313e RDB - Add NOR flash to the device tree.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
16 years ago[POWERPC] 83xx: MPC8313e RBD add NAND to device tree
Scott Wood [Thu, 17 Jan 2008 22:37:51 +0000 (16:37 -0600)]
[POWERPC] 83xx: MPC8313e RBD add NAND to device tree

Add NAND to device tree, and call of_platform_bus_probe().

Signed-off-by: Scott Wood <scottwood@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
16 years ago[POWERPC] 82xx: Embedded Planet EP8248E support
Scott Wood [Thu, 17 Jan 2008 22:32:05 +0000 (16:32 -0600)]
[POWERPC] 82xx: Embedded Planet EP8248E support

This board is also resold by Freescale under the names
"QUICCStart MPC8248 Evaluation System" and "CWH-PPC-8248N-VE".

Signed-off-by: Scott Wood <scottwood@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
16 years ago[POWERPC] 8xx: Analogue & Micro Adder875 board support.
Scott Wood [Thu, 17 Jan 2008 22:31:40 +0000 (16:31 -0600)]
[POWERPC] 8xx: Analogue & Micro Adder875 board support.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
16 years ago[POWERPC] 85xx: Respect KERNELBASE, PAGE_OFFSET, and PHYSICAL_START on e500
Dale Farnsworth [Thu, 22 Nov 2007 15:46:20 +0000 (08:46 -0700)]
[POWERPC] 85xx: Respect KERNELBASE, PAGE_OFFSET, and PHYSICAL_START on e500

The e500 MMU init code previously assumed KERNELBASE always equaled
PAGE_OFFSET and PHYSICAL_START was 0.  This is useful for kdump
support as well as asymetric multicore.

For the initial kdump support the secondary kernel will run at 32M
but need access to all of memory so we bump the initial TLB up to
64M.  This also matches with the forth coming ePAPR spec.

Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
16 years ago[POWERPC] fsl_soc: Fix get_immrbase() to use ranges, rather than reg.
Scott Wood [Mon, 14 Jan 2008 16:29:35 +0000 (10:29 -0600)]
[POWERPC] fsl_soc: Fix get_immrbase() to use ranges, rather than reg.

Don't depend on the reg property as a way to determine the base
of the immr space.  The reg property might be defined differently for
different SoC families.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
16 years ago[POWERPC] Update MPC8610 HPCD to support audio drivers
Timur Tabi [Fri, 18 Jan 2008 15:24:53 +0000 (09:24 -0600)]
[POWERPC] Update MPC8610 HPCD to support audio drivers

Update the MPC8610 HPCD files to support the audio driver.  Update
booting-without-of.txt with information on the SSI device.

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
16 years ago[POWERPC] Add IPIC Kconfig option
John Rigby [Fri, 18 Jan 2008 00:05:31 +0000 (17:05 -0700)]
[POWERPC] Add IPIC Kconfig option

IPIC is not just for 83xx anymore so make it a separate config option.

Signed-off-by: John Rigby <jrigby@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
16 years ago[POWERPC] Add support for mpc512x interrupts to ipic
John Rigby [Fri, 18 Jan 2008 00:05:32 +0000 (17:05 -0700)]
[POWERPC] Add support for mpc512x interrupts to ipic

Added ipic_info entries for vectors used by 512x that
were previously unused by 83xx.

Signed-off-by: John Rigby <jrigby@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
16 years ago[POWERPC] Fix carry bug in 128-bit unsigned integer adding
Liu Yu [Fri, 18 Jan 2008 03:21:39 +0000 (11:21 +0800)]
[POWERPC] Fix carry bug in 128-bit unsigned integer adding

Synchronize it to the definition in include/math-emu/op-4.h for short term.

Signed-off-by: Liu Yu <Yu.Liu@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
16 years ago[POWERPC] 85xx: mpc85xx_ads: add in missing of_node_put()
Paul Gortmaker [Wed, 2 Jan 2008 17:50:01 +0000 (12:50 -0500)]
[POWERPC] 85xx: mpc85xx_ads: add in missing of_node_put()

Add in missing of_node_put() after cpm2_pic_init(). This and other coding
style cleanups as suggested by Stephen Rothwell.

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
16 years ago[POWERPC] qe-uart: add support for Freescale QUICCEngine UART
Timur Tabi [Tue, 15 Jan 2008 15:56:13 +0000 (09:56 -0600)]
[POWERPC] qe-uart: add support for Freescale QUICCEngine UART

Add file ucc_uart.c, a serial device driver for the Freescale QUICCEngine.
Update the Kconfig and Makefile accordingly.

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
16 years ago[POWERPC] QE: Add support for Freescale QUICCEngine UART
Timur Tabi [Wed, 9 Jan 2008 23:35:05 +0000 (17:35 -0600)]
[POWERPC] QE: Add support for Freescale QUICCEngine UART

Add support for UART serial ports using a Freescale QUICCEngine. Update
booting-without-of.txt to define new properties for a QE UART node.  Update
the MPC8323E-MDS device tree to add UCC5 as a UART.  Update the QE library
to support slow UCC devices and modules.

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
16 years ago[POWERPC] QE: Add ability to upload QE firmware
Timur Tabi [Tue, 8 Jan 2008 16:30:58 +0000 (10:30 -0600)]
[POWERPC] QE: Add ability to upload QE firmware

Define the layout of a binary blob that contains a QE firmware and instructions
on how to upload it.  Add function qe_upload_firmware() to parse the blob
and perform the actual upload.  Fully define 'struct rsp' in immap_qe.h to
include the actual RISC Special Registers.  Added description of a new
QE firmware node to booting-without-of.txt.

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
16 years ago[POWERPC] fsl_soc: add support to gianfar for fixed-link property
Vitaly Bordug [Thu, 6 Dec 2007 22:51:31 +0000 (01:51 +0300)]
[POWERPC] fsl_soc: add support to gianfar for fixed-link property

fixed-link says: register new "Fixed/emulated PHY", i.e. PHY that
not connected to the real MDIO bus.

Signed-off-by: Vitaly Bordug <vitb@kernel.crashing.org>
Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
16 years ago[POWERPC] MPC8349E-mITX: Vitesse 7385 PHY is not connected to the MDIO bus
Vitaly Bordug [Thu, 6 Dec 2007 22:51:39 +0000 (01:51 +0300)]
[POWERPC] MPC8349E-mITX: Vitesse 7385 PHY is not connected to the MDIO bus

...thus use fixed-link to register proper "Fixed PHY"

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Signed-off-by: Vitaly Bordug <vitb@kernel.crashing.org>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
16 years agophy/fixed.c: rework to not duplicate PHY layer functionality
Vitaly Bordug [Thu, 6 Dec 2007 22:51:22 +0000 (01:51 +0300)]
phy/fixed.c: rework to not duplicate PHY layer functionality

With that patch fixed.c now fully emulates MDIO bus, thus no need
to duplicate PHY layer functionality. That, in turn, drastically
simplifies the code, and drops down line count.

As an additional bonus, now there is no need to register MDIO bus
for each PHY, all emulated PHYs placed on the platform fixed MDIO bus.
There is also no more need to pre-allocate PHYs via .config option,
this is all now handled dynamically.

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Signed-off-by: Vitaly Bordug <vitb@kernel.crashing.org>
Acked-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
16 years ago[POWERPC] MPC8349E-mITX: introduce localbus and pata nodes
Anton Vorontsov [Tue, 4 Dec 2007 19:45:31 +0000 (22:45 +0300)]
[POWERPC] MPC8349E-mITX: introduce localbus and pata nodes

This patch adds localbus and pata nodes to use CF IDE interface
on MPC8349E-mITX boards.

Patch also adds code to probe localbus.

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
16 years ago[POWERPC] 83xx: USB device tree cleanups
Li Yang [Tue, 8 Jan 2008 07:18:46 +0000 (15:18 +0800)]
[POWERPC] 83xx: USB device tree cleanups

Remove device_type = "usb" for 83xx SoC USB controller

Signed-off-by: Li Yang <leoli@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
16 years ago[POWERPC] 83xx: Add MPC837x USB platform support
Li Yang [Tue, 8 Jan 2008 07:18:45 +0000 (15:18 +0800)]
[POWERPC] 83xx: Add MPC837x USB platform support

Add chip specific and board specific initialization for MPC837x USB.

Signed-off-by: Li Yang <leoli@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
16 years ago[POWERPC] 83xx: add device trees for MPC837x MDS board
Li Yang [Mon, 7 Jan 2008 12:03:18 +0000 (20:03 +0800)]
[POWERPC] 83xx: add device trees for MPC837x MDS board

Signed-off-by: Li Yang <leoli@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
16 years ago[POWERPC] Fix incorrect interrupt map on FSL reference boards
Kumar Gala [Fri, 18 Jan 2008 04:32:49 +0000 (22:32 -0600)]
[POWERPC] Fix incorrect interrupt map on FSL reference boards

The ULI based boards had the interrupt maps for USB on the ULI incorrectly
set.

Also, the MPC8572DS was missing the interrupt-map-mask for the 3rd PCIe
controller.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
16 years ago[POWERPC] bootwrapper: convert cuboot-8{3,5}xx to dt_fixup_mac_address_by_alias
Kumar Gala [Tue, 15 Jan 2008 15:33:56 +0000 (09:33 -0600)]
[POWERPC] bootwrapper: convert cuboot-8{3,5}xx to dt_fixup_mac_address_by_alias

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
16 years ago[POWERPC] bootwrapper: Add find_node_by_alias and dt_fixup_mac_address_by_alias
Kumar Gala [Tue, 15 Jan 2008 15:30:32 +0000 (09:30 -0600)]
[POWERPC] bootwrapper: Add find_node_by_alias and dt_fixup_mac_address_by_alias

Add the ability to set the mac address given the alias for the device.
Removes the need for having a linux,network-index property.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
16 years ago[POWERPC] 83xx: convert boards to use machine_device_initcall
Kumar Gala [Tue, 15 Jan 2008 15:47:10 +0000 (09:47 -0600)]
[POWERPC] 83xx: convert boards to use machine_device_initcall

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
16 years ago[POWERPC] 85xx: convert boards to use machine_device_initcall
Kumar Gala [Tue, 15 Jan 2008 15:42:36 +0000 (09:42 -0600)]
[POWERPC] 85xx: convert boards to use machine_device_initcall

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
16 years ago[POWERPC] Fixup use of phys_addr_t in mpic code
Becky Bruce [Tue, 15 Jan 2008 02:56:18 +0000 (20:56 -0600)]
[POWERPC] Fixup use of phys_addr_t in mpic code

The mpic_map() and __mpic_map_mmio() need to use phys_addr_t for the
physical address they are passed.

Signed-off-by: Becky Bruce <becky.bruce@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
16 years ago[POWERPC] Remove update_bridge_resource
Kumar Gala [Tue, 15 Jan 2008 02:42:53 +0000 (20:42 -0600)]
[POWERPC] Remove update_bridge_resource

The 85xx/86xx pci code no longer uses update_bridge_resource and it was the
only caller.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
16 years ago[POWERPC] FSL: Rework PCI/PCIe support for 85xx/86xx
Kumar Gala [Mon, 14 Jan 2008 23:02:19 +0000 (17:02 -0600)]
[POWERPC] FSL: Rework PCI/PCIe support for 85xx/86xx

The current PCI code for Freescale 85xx/86xx was treating the virtual
P2P PCIe bridge as a transparent bridge.  Rather than doing that fixup
the virtual P2P bridge by copying the resources from the PHB.

Also, fixup a bit of the code for dealing with resource_size_t being
64-bits and how we set ATMU registers for >4G.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
16 years ago[POWERPC] Fixup transparent P2P resources
Kumar Gala [Mon, 14 Jan 2008 15:41:36 +0000 (09:41 -0600)]
[POWERPC] Fixup transparent P2P resources

For transparent P2P bridges the first 3 resources may get set from based on
BAR registers and need to get fixed up. Where as the remainder come from the
parent bus and have already been fixed up.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
16 years ago[POWERPC] Ensure we only handle PowerMac PCI bus fixup for memory resources
Kumar Gala [Sat, 12 Jan 2008 23:23:26 +0000 (17:23 -0600)]
[POWERPC] Ensure we only handle PowerMac PCI bus fixup for memory resources

The fixup code that handles the case for PowerMac's that leave bridge
windows open over an inaccessible region should only be applied to
memory resources (IORESOURCE_MEM).  If not we can get it trying to fixup
IORESOURCE_IO on some systems since the other conditions that are used to
detect the case can easily match for IORESOURCE_IO.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
16 years ago[POWERPC] Fix handling of memreserve if the range lands in highmem
Kumar Gala [Wed, 9 Jan 2008 17:27:23 +0000 (11:27 -0600)]
[POWERPC] Fix handling of memreserve if the range lands in highmem

There were several issues if a memreserve range existed and happened
to be in highmem:

* The bootmem allocator is only aware of lowmem so calling
  reserve_bootmem with a highmem address would cause a BUG_ON
* All highmem pages were provided to the buddy allocator

Added a lmb_is_reserved() api that we now use to determine if a highem
page should continue to be PageReserved or provided to the buddy
allocator.

Also, we incorrectly reported the amount of pages reserved since all
highmem pages are initally marked reserved and we clear the
PageReserved flag as we "free" up the highmem pages.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
16 years agoMerge branch 'linux-2.6'
Paul Mackerras [Wed, 23 Jan 2008 23:07:21 +0000 (10:07 +1100)]
Merge branch 'linux-2.6'

16 years ago[POWERPC] Provide a way to protect 4k subpages when using 64k pages
Paul Mackerras [Wed, 23 Jan 2008 21:35:13 +0000 (08:35 +1100)]
[POWERPC] Provide a way to protect 4k subpages when using 64k pages

Using 64k pages on 64-bit PowerPC systems makes life difficult for
emulators that are trying to emulate an ISA, such as x86, which use a
smaller page size, since the emulator can no longer use the MMU and
the normal system calls for controlling page protections.  Of course,
the emulator can emulate the MMU by checking and possibly remapping
the address for each memory access in software, but that is pretty
slow.

This provides a facility for such programs to control the access
permissions on individual 4k sub-pages of 64k pages.  The idea is
that the emulator supplies an array of protection masks to apply to a
specified range of virtual addresses.  These masks are applied at the
level where hardware PTEs are inserted into the hardware page table
based on the Linux PTEs, so the Linux PTEs are not affected.  Note
that this new mechanism does not allow any access that would otherwise
be prohibited; it can only prohibit accesses that would otherwise be
allowed.  This new facility is only available on 64-bit PowerPC and
only when the kernel is configured for 64k pages.

The masks are supplied using a new subpage_prot system call, which
takes a starting virtual address and length, and a pointer to an array
of protection masks in memory.  The array has a 32-bit word per 64k
page to be protected; each 32-bit word consists of 16 2-bit fields,
for which 0 allows any access (that is otherwise allowed), 1 prevents
write accesses, and 2 or 3 prevent any access.

Implicit in this is that the regions of the address space that are
protected are switched to use 4k hardware pages rather than 64k
hardware pages (on machines with hardware 64k page support).  In fact
the whole process is switched to use 4k hardware pages when the
subpage_prot system call is used, but this could be improved in future
to switch only the affected segments.

The subpage protection bits are stored in a 3 level tree akin to the
page table tree.  The top level of this tree is stored in a structure
that is appended to the top level of the page table tree, i.e., the
pgd array.  Since it will often only be 32-bit addresses (below 4GB)
that are protected, the pointers to the first four bottom level pages
are also stored in this structure (each bottom level page contains the
protection bits for 1GB of address space), so the protection bits for
addresses below 4GB can be accessed with one fewer loads than those
for higher addresses.

Signed-off-by: Paul Mackerras <paulus@samba.org>