67 Commits
Author SHA1 Message Date
Andy Fleming 0472fd0755 powerpc/85xx: Enable support for ports 3 and 4 on 8548 CDS
I believe support was disabled due to issues with earlier versions of
the board/processor.  At worst, adding the ports back into the device
tree should result in enabling ports that don't work on older systems,
so the default should be to enable them.

Signed-off-by: Andy Fleming <[email protected]>
Signed-off-by: Kumar Gala <[email protected]>
2010-05-21 07:41:54 -05:00
Andy Fleming 761ed01b35 gianfar: Wait for both RX and TX to stop
When gracefully stopping the controller, the driver was continuing if
*either* RX or TX had stopped.  We need to wait for both, or the
controller could get into an invalid state.

Signed-off-by: Andy Fleming <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2010-04-27 16:43:31 -07:00
Andy Fleming 7c0d10d35f gianfar: Fix a memory leak in gianfar close code
gianfar needed to ensure existence of the *skbuff arrays before
freeing the skbs in them, rather than ensuring their nonexistence.

Signed-off-by: Andy Fleming <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2010-03-30 23:03:16 -07:00
Andy Fleming 26ccfc37da gianfar: Convert to use netdev_ops
Signed-off-by: Andy Fleming <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2009-03-13 12:05:23 -07:00
Andy Fleming db46db1577 gianfar: remove gianfar_mii.c
commit 1577ecef76
Author: Andy Fleming <[email protected]>
Date:   Wed Feb 4 16:42:12 2009 -0800

    netdev: Merge UCC and gianfar MDIO bus drivers

left out the deletion of gianfar_mii.c.

Signed-off-by: Andy Fleming <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2009-03-13 12:05:21 -07:00
Andy Fleming 4d7902f22b gianfar: Fix stashing support
Stashing is only supported on the 85xx (e500-based) SoCs.  The 83xx and 86xx
chips don't have a proper cache for this.  U-Boot has been updated to add
stashing properties to the device tree nodes of gianfar devices on 85xx.  So
now we modify Linux to keep stashing off unless those properties are there.

Signed-off-by: Andy Fleming <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2009-02-04 16:43:44 -08:00
Andy Fleming 0fd56bb5be gianfar: Add support for skb recycling
Signed-off-by: Andy Fleming <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2009-02-04 16:43:16 -08:00
Andy Fleming 1577ecef76 netdev: Merge UCC and gianfar MDIO bus drivers
The MDIO bus drivers for the UCC and gianfar ethernet controllers are
essentially the same.  There's no reason to duplicate that much code.

Signed-off-by: Andy Fleming <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2009-02-04 16:42:35 -08:00
Andy Fleming b98ac702f4 gianfar: Fix potential soft reset race
SOFT_RESET must be asserted for at least 3 TX clocks in order for it to work
properly.  The syncs in the gfar_write() commands have been hiding this, but
we need to guarantee it.

Signed-off-by: Andy Fleming <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2009-02-04 16:38:05 -08:00
Andy Fleming 1fbe49328f gianfar: Fix BD_LENGTH_MASK definition
BD_LENGTH_MASK is supposed to catch the low 16-bits of the status field, not
the low byte.  The old way, we would never be able to clean up tx packets with
sizes divisible by 256.

Signed-off-by: Andy Fleming <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2009-02-04 16:37:40 -08:00
Andy Fleming 4219988459 gianfar: Continue polling until both tx and rx are empty
gfar_poll would declare polling done once the rx queue was empty,
but the tx queue could still have packets left.

Stolen mostly from the e1000 driver.

Signed-off-by: Andy Fleming <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2008-12-17 16:52:30 -08:00
Andy Fleming 8882d9a600 gianfar: Fix packet drop when out of memory
The patch which fixed gianfar so it drops packets when it runs out
of memory left in the code which frees the skb when it drops packets.
Change the code so that we only free the skb if the new skb was successfully
created.

Signed-off-by: Andy Fleming <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2008-12-17 16:50:22 -08:00
Andy Fleming f162e97d77 phylib: Remove unnecessary "reset" fixups in genphy_setup_forced
genphy_setup_forced hasn't actually reset the PHY for a long time,
but a comment to that effect remained in the code, so code continued
to act as if it *had* reset the PHY, and called the necessary fixup
functions to respond to a PHY reset.  With no reset, those functions
are no longer needed, so we remove them.

Signed-off-by: Andy Fleming <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2008-12-16 15:39:48 -08:00
Andy Fleming 31de198b4d gianfar: Add macros for stepping through BDs
This code is based strongly on code from Dai Haruki <[email protected]>.

The gianfar Buffer Descriptors are arranged in a circular array, the end of
which is denoted by setting the "WRAP" bit in the descriptor.  However, the
software knows the end of the ring because it knows how many descriptors are
there.  Rather than check each descriptor for whether the WRAP bit is set,
use pointer math to determine where the next BD is.  This is also useful for
when we want to look at BDs other than the very next one (for Scatter-Gather).

Signed-off-by: Andy Fleming <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2008-12-16 15:33:40 -08:00
Andy Fleming b31a1d8b41 gianfar: Convert gianfar to an of_platform_driver
Does the same for the accompanying MDIO driver, and then modifies the TBI
configuration method.  The old way used fields in einfo, which no longer
exists.  The new way is to create an MDIO device-tree node for each instance
of gianfar, and create a tbi-handle property to associate ethernet controllers
with the TBI PHYs they are connected to.

Signed-off-by: Andy Fleming <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2008-12-16 15:29:15 -08:00
Andy Fleming 257d938a0c gianfar: Use gfar_halt to stop DMA in gfar_probe
gfar_halt does everything we want to do there, including disabling
TX/RX.  It also doesn't unnecessarily enable DMA if it's already
stopped.

Signed-off-by: Andy Fleming <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2008-12-16 15:25:45 -08:00
Andy Fleming 81183059e8 gianfar: Fix DMA unmap invocations
We weren't unmapping DMA memory, which will break when gianfar gets used
on systems with more than 32-bits of memory.  Also, it's just plain wrong.

Signed-off-by: Andy Fleming <[email protected]>
Signed-off-by: Jeff Garzik <[email protected]>
2008-11-14 18:18:30 -05:00
Andy Fleming ac7198bb12 gianfar: free/iounmap memory after an error in mii bus initialization
Recent changes to MII bus initialization code added exit points which
didn't free or iounmap the bus before returning.

Addresses http://bugzilla.kernel.org/show_bug.cgi?id=11372.

Signed-off-by: Andy Fleming <[email protected]>
Reported-by: Daniel Marjamki <[email protected]>
Cc: Jeff Garzik <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Jeff Garzik <[email protected]>
2008-09-24 20:49:02 -04:00
Andy Fleming 7e1cc9c55a powerpc: Fix a bunch of sparse warnings in the qe_lib
Mostly having to do with not marking things __iomem.  And some failure
to use appropriate accessors to read MMIO regs.

Signed-off-by: Andy Fleming <[email protected]>
Signed-off-by: Kumar Gala <[email protected]>
2008-07-16 17:57:45 -05:00
Andy Fleming 4cd7e1cbd4 powerpc: Add support for multiple gfar mdio interfaces
The old code assumed there was only one, but the 8572 actually has 3.

Also, our usual id, 0xe0024520, gets resolved to -1 somewhere, and this was
preventing the multiple buses from having different ids.  So we only keep
the low 20 bits, which have the interesting info, anyway.

Signed-off-by: Andy Fleming <[email protected]>
Signed-off-by: Kumar Gala <[email protected]>
2008-07-16 17:57:44 -05:00
Andy Fleming 7f80202bb9 ucc_geth: Fix arguments to dma map/unmap functions
We were passing NULL as the device.  When we actually start supporting
more interesting memory configurations, this will break things, so
we proactively are fixing the bug.

Signed-off-by: Andy Fleming <[email protected]>
Signed-off-by: Jeff Garzik <[email protected]>
2008-05-22 06:19:24 -04:00
Andy Fleming 73f5b8f942 [POWERPC] 85xx: Fix some sparse warnings for 85xx MDS
Signed-off-by: Andy Fleming <[email protected]>
Signed-off-by: Kumar Gala <[email protected]>
2008-05-13 08:53:48 -05:00
Andy Fleming 94833a4276 [POWERPC] 85xx: Add 8568 PHY workarounds to board code
The 8568 MDS needs some configuration changes to the PHY in order to
work properly.  These are done in the firmware, normally, but Linux
shouldn't need to rely on the firmware running such things (someone
could disable the PHY support in the firmware to save space, for instance).

Signed-off-by: Andy Fleming <[email protected]>
Signed-off-by: Kumar Gala <[email protected]>
2008-05-13 08:53:48 -05:00
Andy Fleming ad5da7ab7b gianfar: Fix a bug where the pointer never moves for dma_unmap...
The loop that unmaps all of the TX Buffer Descriptors never actually
moves the txbd pointer, so we were just repeatedly unmapping the first one.

Signed-off-by: Andy Fleming <[email protected]>
Signed-off-by: Jeff Garzik <[email protected]>
2008-05-13 01:31:38 -04:00
Andy Fleming 6fee40e9b8 ucc_geth: Fix a bunch of sparse warnings
ucc_geth didn't have anything marked as __iomem.  It was also inconsistent
with its use of in/out accessors (using them sometimes, not using them other
times).  Cleaning this up cuts the warnings down from hundreds to just over a
dozen.

Signed-off-by: Andy Fleming <[email protected]>
Signed-off-by: Jeff Garzik <[email protected]>
2008-05-06 12:02:08 -04:00
Andy Fleming 9b9a8bfc8d phylib: Fix some sparse warnings
Declared some things static, declared some things in the header.

Signed-off-by: Andy Fleming <[email protected]>
Signed-off-by: Jeff Garzik <[email protected]>
2008-05-06 12:01:41 -04:00
Andy Fleming f162b9d582 gianfar: Fix a locking bug in gianfar's sysfs code
During sparse cleanup, found a locking bug.  Some of the sysfs functions were
acquiring a lock, and then returning in the event of an error.  We rearrange
the code so that the lock is released in error conditions, too.

Signed-off-by: Andy Fleming <[email protected]>
Signed-off-by: Jeff Garzik <[email protected]>
2008-05-06 12:01:34 -04:00
Andy Fleming 815b97c6b8 gianfar: Fix skb allocation strategy
gianfar was unable to handle failed skb allocation for rx buffers, so
we were spinning until it succeeded.  Actually, it was worse--we were
spinning for a long time, and then silently failing.  Instead, we take
Stephen Hemminger's suggestion to try the allocation earlier, and drop the
packet if it failed.

We also make a couple of tweaks to how buffer descriptors are set up.

Signed-off-by: Andy Fleming <[email protected]>
Signed-off-by: Jeff Garzik <[email protected]>
2008-04-25 02:08:56 -04:00
Andy Fleming f62220d3a9 phylib: Add support for board-level PHY fixups
Sometimes the specific interaction between the platform and the PHY
requires special handling.  For instance, to change where the PHY's
clock input is, or to add a delay to account for latency issues in the
data path.  We add a mechanism for registering a callback with the PHY
Lib to be called on matching PHYs when they are brought up, or reset.

Signed-off-by: Andy Fleming <[email protected]>
Signed-off-by: Jeff Garzik <[email protected]>
2008-04-25 02:08:52 -04:00
Andy Fleming f38d1008b0 ucc_geth: Fix sneaky merge conflict regarding bus_id
The patch that changed mdio_bus to a string didn't conflict strongly enough
with the patch that added fixed PHY support to UCC.  Gather it back into
the fold.

Fixes this error:
...
 CC      drivers/net/ucc_geth.o
 'ucc_geth_probe':
 /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/net/ucc_geth.c:3935: error:
 incompatible types in assignment
 make[3]: *** [drivers/net/ucc_geth.o] Error 1

Signed-off-by: Andy Fleming <[email protected]>
Signed-off-by: Jeff Garzik <[email protected]>
2008-04-25 02:07:09 -04:00
Andy Fleming c5e38a949b phy: Clean up header style
Multi-line comments weren't all CodingStyle compliant

Signed-off-by: Andy Fleming <[email protected]>
Signed-off-by: Jeff Garzik <[email protected]>
2008-04-16 20:09:35 -04:00
Andy Fleming 9d9326d3bc phy: Change mii_bus id field to a string
Having the id field be an int was making more complex bus topologies
excessively difficult.  For now, just convert it to a string, and
change all instances of "bus->id = val" to
snprintf(id, MII_BUS_ID_LEN, "%x", val).

Signed-off-by: Andy Fleming <[email protected]>
Signed-off-by: Jeff Garzik <[email protected]>
2008-04-16 20:09:35 -04:00
Andy Fleming 2f44891128 gianfar: Fix Rx/Tx HW interrupt coalescing counter reset procedure.
- Fix Rx/Tx HW interrupt coalescing counter reset logic. Disabling
is required before resetting the counter.

- Update the Default both Rx and Tx coalescing timer
threshold. Formerly 4 is set which is equal to 1.5 frame at the line
rate of 1GbE interface, and it doesn't match to the coalescing frame
count which is set to 16. Threashold 21 is matched to frame count 16.

Signed-off-by: Dai Haruki <[email protected]>
Signed-off-by: Andy Fleming <[email protected]>
Signed-off-by: Jeff Garzik <[email protected]>
2008-03-26 00:44:47 -04:00
Andy Fleming 99da5003a5 gianfar: Only process completed frames
If the LAST bit is not set in the RxBD, it's possible we're processing
an incomplete frame, which is bad.  While we're at it, add a constant
for the error bitmask, so the whole if-clause fits on one line,
and is more legible.

Signed-off-by: Dai Haruki <[email protected]>
Signed-off-by: Andy Fleming <[email protected]>
Signed-off-by: Jeff Garzik <[email protected]>
2008-03-26 00:44:39 -04:00
Andy Fleming ad562c7159 [POWERPC] 83xx: Make 83xx perfmon support selectable
Not all e300 cores support the performance monitors, and the ones
that don't will be confused by the mf/mtpmr instructions.  This
allows the support to be optional, so the 8349 can turn it off
while the 8379 can turn it on.  Sadly, those aren't config options,
so it will be left to the defconfigs and the users to make that
determination.

Signed-off-by: Andy Fleming <[email protected]>
Signed-off-by: Kumar Gala <[email protected]>
2008-03-10 09:31:43 -05:00
Andy Fleming 15cf6dde99 Fix PHY Lib support for gianfar and ucc_geth
The PHY Lib now uses mutexes instead of spin_locks.  ucc_geth
and gianfar both grab the locks in their mdio_reset functions,
so they need to use mutex_(un)lock instead.  This was not caught
until someone tested it on an SMP system.

Signed-off-by: Andy Fleming <[email protected]>
Signed-off-by: Jeff Garzik <[email protected]>
2008-02-06 06:42:04 -05:00
Andy Fleming 1347a2c1eb [POWERPC} Add oprofile support for e300
The e300 c3 and c4 variants support hardware performance monitor counters
which are identical to those found in the e500.

Signed-off-by: Andy Fleming <[email protected]>
Signed-off-by: Kumar Gala <[email protected]>
2008-02-05 23:37:58 -06:00
Andy Fleming 39aef685af [POWERPC] Made FSL Book-E PMC support more generic
Some of the more recent e300 cores have the same performance monitor
implementation as the e500.  e300 isn't book-e, so the name isn't
really appropriate.  In preparation for e300 support, rename a bunch
of fsl_booke things to say fsl_emb (Freescale Embedded Performance Monitors).

Signed-off-by: Andy Fleming <[email protected]>
Signed-off-by: Kumar Gala <[email protected]>
2008-02-05 23:34:14 -06:00
Andy Fleming 52cb1c2b70 Fix error checking in Vitesse IRQ config
phy_read() returns a negative number if there's an error, but the
error-checking code in the Vitesse driver's config_intr function
triggers if phy_read() returns non-zero.  Correct that.

Signed-off-by: Andy Fleming <[email protected]>
Signed-off-by: Jeff Garzik <[email protected]>
2007-07-24 16:28:41 -04:00
Andy Fleming 7132ab7f6e Fix RGMII-ID handling in gianfar
The TSEC/eTSEC can detect the interface to the PHY automatically,
but it isn't able to detect whether the RGMII connection needs internal
delay.  So we need to detect that change in the device tree, propagate
it to the platform data, and then check it if we're in RGMII.  This fixes
a bug on the 8641D HPCN board where the Vitesse PHY doesn't use the delay
for RGMII.

Signed-off-by: Andy Fleming <[email protected]>
2007-07-18 18:29:37 -04:00
Andy Fleming af2d940df2 Fix Vitesse RGMII-ID support
The Vitesse PHY on the 8641D needs to be set up with internal delay to
work in RGMII mode.  So we add skew when it is set to RGMII_ID mode.

Signed-off-by: Andy Fleming <[email protected]>
Signed-off-by: Haruki Dai <[email protected]>
Signed-off-by: Haiying Wang <[email protected]>
2007-07-18 18:29:37 -04:00
Andy Fleming cc65185d40 Add phy-connection-type to gianfar nodes
The TSEC/eTSEC automatically detect their PHY interface type, unless
the type is RGMII-ID (RGMII with internal delay).  In that situation,
it just detects RGMII.  In order to fix this, we need to pass in rgmii-id
if that is the connection type.

Signed-off-by: Andy Fleming <[email protected]>
2007-07-18 18:29:37 -04:00
Andy Fleming 1d5e83aac5 Fix Vitesse 824x PHY interrupt acking
The Vitesse 824x PHY doesn't allow an interrupt to be cleared if
the mask bit for that interrupt isn't set.  This means that the PHY
Lib's order of handling interrupts (disable, then clear) breaks on this
PHY.  However, clearing then disabling the interrupt opens up the code
for a silly race condition.  So rather than change the PHY Lib, we change
the Vitesse driver so it always clears interrupts before disabling them.
Further, the ack function only clears the interrupt if interrupts are
enabled.

Signed-off-by: Andy Fleming <[email protected]>
Signed-off-by: York Sun <[email protected]>
Acked-by: Haiying Wang <[email protected]>
2007-07-18 18:29:37 -04:00
Andy Fleming 76884679c6 phylib: Add support for Marvell 88e1111S and 88e1145
Changes include:
* New support for 88e1145
* New support for 88e111s
* Fixing 88e1101 driver to not match non-88e1101 PHYs
* Increases in feature support across Marvell PHY product line
* Fixes a bunch of whitespace issues found by Lindent

Signed-off-by: Andrew Fleming <[email protected]>
Signed-off-by: Jeff Garzik <[email protected]>
2007-02-17 15:16:08 -05:00
Andy Fleming eb11a720a8 [POWERPC] 85xx: Add a defconfig for the 8568 MDS
Add defconfig for the MPC8568 MDS reference board

Signed-off-by: Andrew Fleming <[email protected]>
Signed-off-by: Kumar Gala <[email protected]>
2007-02-13 12:36:53 -06:00
Andy Fleming c2882bb12c [POWERPC] 85xx: Add support for the 8568 MDS board
Add support for the MPC8568 MDS reference board

Signed-off-by: Andrew Fleming <[email protected]>
Signed-off-by: Kumar Gala <[email protected]>
2007-02-13 12:36:23 -06:00
Andy Fleming e8a2b6a420 [PATCH] PHY: Add support for configuring the PHY connection interface
Most PHYs connect to an ethernet controller over a GMII or MII
interface.  However, a growing number are connected over
different interfaces, such as RGMII or SGMII.

The ethernet driver will tell the PHY what type of connection it
is by setting it manually, or passing it in through phy_connect
(or phy_attach).

Changes include:
* Updates to documentation
* Updates to PHY Lib consumers
* Changes to PHY Lib to add interface support
* Some minor changes to whitespace in phy.h
* gianfar driver now detects interface and passes appropriate
  value to PHY Lib
Signed-off-by: Andrew Fleming <[email protected]>
Signed-off-by: Jeff Garzik <[email protected]>
2006-12-02 00:33:11 -05:00
Andy Fleming 95d21ff4c6 [PATCH] Add support for Marvell 88e1111S and 88e1145
This patch requires the new support for configurable PHY
interfaces.

Changes include:
* New support for 88e1145
* New support for 88e111s
* Fixing 88e1101 driver to not match non-88e1101 PHYs
* Increases in feature support across Marvell PHY product line
* Fixes a bunch of whitespace issues found by Lindent

Signed-off-by: Andrew Fleming <[email protected]>
Signed-off-by: Jeff Garzik <[email protected]>
2006-12-02 00:12:03 -05:00
Andy Fleming 6b655529c3 [PATCH] Fixed a number of bugs in the PHY Layer
* genphy_update_link is now exported
* Added a fix from [email protected] which changes forcing so it
  only updates the link.  Otherwise, it never tries the lower
  values, since it is always overwriting the speed/duplex values
  with the current ones, rather than the intended ones.
* Fixed a bug where bringing up a PHY with no link caused it to
  timeout, and enter forcing mode.  Once in forcing mode,
  plugging in the link didn't autonegotiate.  Now the AN state
  detects the lack of link, and enters the NO_LINK state.  AN
  only times out if the link is up and AN fails
* Cleaned up the PHY_AN case, reducing one level of indentation
  for the timeout code.

Signed-off-by: Jeff Garzik <[email protected]>
2006-12-02 00:12:02 -05:00
Andy Fleming 66a91e9c0a [PATCH] of_irq_to_resource now returns the virq
Mostly this is to allow for error checking (check the return for NO_IRQ)
Added a check that the resource is non-NULL, too.

Signed-off-by: Andrew Fleming <[email protected]>
Acked-by: Benjamin Herrenschmidt <[email protected]>
Signed-off-by: Paul Mackerras <[email protected]>
2006-11-13 14:48:54 +11:00
Andy Fleming a9b14973a8 [PATCH] Slight refactor of interrupt mapping for FSL parts
* Cleaned up interrupt mapping a little by adding a helper
  function which parses the irq out of the device-tree, and puts
  it into a resource.
* Changed the arch/ppc platform files to specify PHY_POLL, instead of -1
* Changed the fixed phy to use PHY_IGNORE_INTERRUPT
* Added ethtool.h and mii.h to phy.h includes

Signed-off-by: Paul Mackerras <[email protected]>
2006-11-13 14:48:52 +11:00
Andy Fleming dd6c89f686 [POWERPC] Fix oprofile support for e500 in arch/powerpc
Fixed a compile error in building the 85xx support with oprofile, and in
the process cleaned up some issues with the fsl_booke performance monitor
code.

* Reorganized FSL Book-E performance monitoring code so that the 7450
  wouldn't be built if the e500 was, and cleaned it up so it was more
  self-contained.

* Added a cpu_setup function for FSL Book-E.  The original
  cpu_setup function prototype had no arguments, assuming that
  the reg_setup function would copy the required information into
  variables which represented the registers.  This was silly for
  e500, since it has 1 register per counter (rather than 3 for
  all counters), so the code has been restructured to have
  cpu_setup take the current counter config array as an argument,
  with op_powerpc_setup() invoking op_powerpc_cpu_setup() through
  on_each_cpu(), and op_powerpc_cpu_setup() invoking the
  model-specific cpu_setup function with an argument.  The
  argument is ignored on all other platforms at present.

* Fixed a confusing line where a trinary operator only had two
  arguments

Signed-off-by: Andrew Fleming <[email protected]>
Signed-off-by: Paul Mackerras <[email protected]>
2006-11-01 14:52:48 +11:00
Andy Fleming e0da0daee1 [POWERPC] Fix rmb() for e500-based machines it
The e500 core generates an illegal instruction exception when it tries
to execute the lwsync instruction, which we currently use for rmb().
This fixes it by using the LWSYNC macro, which turns into a plain sync
on 32-bit machines.

Signed-off-by: Andrew Fleming <[email protected]>
Signed-off-by: Paul Mackerras <[email protected]>
2006-11-01 14:52:48 +11:00
Andy Fleming 83efafb301 [POWERPC] Fix up the OF functions to only do PCI stuff if PCI is actually configured
The original problem that inspired this patch was solved quite some time
ago (Turning off PCI didn't work), but this patch neatens things up a
little (I think), by putting all the PCI stuff inside a single CONFIG_PCI
block.  It also removes the OF PCI bus matching entries if CONFIG_PCI is
off.

Signed-off-by: Paul Mackerras <[email protected]>
2006-10-24 15:01:27 +10:00
Andy Fleming aa74a30be9 [POWERPC] Fix FEC node in 8540 ADS dts
* Fixed the FEC node, and its accompanying PHY
* Fixed a spacing issue in the PIC node

Signed-off-by: Paul Mackerras <[email protected]>
2006-08-23 15:51:18 +10:00
Andy Fleming 2654d6385f [POWERPC] Add 85xx DTS files to powerpc
Added the mpc85xx family of dts files to the powerpc tree

Signed-off-by: Paul Mackerras <[email protected]>
2006-08-23 15:51:18 +10:00
Andy Fleming ddd64159eb [POWERPC] Fix CDS IRQ handling and PCI code
* Fix IRQ support in the 85xx CDS boards so it uses the new
  generic stuff
* Fix PCI IRQ mapping to use the device tree
* Disabled i8259 support to allow the CDS to boot.  This will be
  fixed soon, but the current code doesn't even compile, so this
  is a vast improvement

Signed-off-by: Andy Fleming <[email protected]>
Signed-off-by: Paul Mackerras <[email protected]>
2006-08-23 15:51:18 +10:00
Andy Fleming 4c86cd9c59 [POWERPC] Fix interrupts on 8540 ADS board
* Fixed 8540 ADS support for the new irq layer
* Fixed 8540 ADS support for mapping PCI interrupts
* Updated 8540 ADS to use device tree for interrupt assignment
  and sense values

Signed-off-by: Paul Mackerras <[email protected]>
2006-08-23 15:51:18 +10:00
Andy Fleming fef6108d45 [PATCH] Fix locking in gianfar
This patch fixes several bugs in the gianfar driver, including a major one
where spinlocks were horribly broken:

* Split gianfar locks into two types: TX and RX
* Made it so gfar_start() now clears RHALT
* Fixed a bug where calling gfar_start_xmit() with interrupts off would
corrupt the interrupt state
* Fixed a bug where a frame could potentially arrive, and never be handled
(if no more frames arrived
* Fixed a bug where the rx_work_limit would never be observed by the rx
completion code
* Fixed a bug where the interrupt handlers were not actually protected by
their spinlocks

Signed-off-by: Andy Fleming <[email protected]>
Signed-off-by: Jeff Garzik <[email protected]>
2006-04-20 17:55:06 -04:00
Andy Fleming 591f0a4287 Add 85xx CDS to arch/powerpc
This patch adds support for 85xx CDS support to arch/powerpc

Signed-off-by: Andy Fleming <[email protected]>
Signed-off-by: Kumar Gala <[email protected]>
2006-04-04 16:09:18 -05:00
Andy Fleming 8080d54971 powerpc: Add PCI support for 8540 ADS to powerpc tree
Add PCI support for setting PCI from flat device tree on 85xx specifically for
MPC8540 ADS.

Signed-off-by: Andy Fleming <[email protected]>
Signed-off-by: Kumar Gala <[email protected]>
2006-02-21 23:48:59 -06:00
Andy Fleming 555d97ac87 [PATCH] powerpc: G4+ oprofile support
This patch adds oprofile support for the 7450 and all its multitudinous
derivatives.

* Added 7450 (and derivatives) support for oprofile
* Changed e500 cputable to have oprofile model and cpu_type fields
* Added support for classic 32-bit performance monitor interrupt
* Cleaned up common powerpc oprofile code to be as common as possible
* Cleaned up oprofile_impl.h to reflect 32 bit classic code
* Added 32-bit MMCRx bitfield definitions and SPR numbers

Signed-off-by: Andy Fleming <[email protected]>
Signed-off-by: Paul Mackerras <[email protected]>
2006-01-09 15:06:03 +11:00
Andy Fleming 7f7f53168d [PATCH] Gianfar update and sysfs support
This seems to have gotten lost, so I'll resend.

Signed-off-by: Andy Fleming <[email protected]>

* Added sysfs support to gianfar for modifying FIFO and stashing parameters
* Updated driver to support 10 Mbit, full duplex operation
* Improved comments throughout
* Cleaned up and optimized offloading code
* Fixed a bug where rx buffers were being improperly mapped and unmapped
* (only manifested if cache-coherency was off)
* Added support for using the eTSEC exact-match MAC registers
* Bumped the version to 1.3
* Added support for distinguishing between reduced 100 and 10 Mbit modes
* Modified default coalescing values to lower latency
* Added documentation
Signed-off-by: Jeff Garzik <[email protected]>
2005-11-18 13:31:26 -05:00
Andy Fleming b37665e0ba [PATCH] ppc32: 85xx PHY Platform Update
This patch updates the 85xx platform code to support the new PHY Layer.

Signed-off-by: Andy Fleming <[email protected]>
Signed-off-by: Kumar Gala <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Paul Mackerras <[email protected]>
2005-10-29 14:42:28 +10:00
Andy Fleming bb40dcbb0f [netdrvr gianfar] use new phy layer
Signed-off-by: Andy Fleming <[email protected]>
Signed-off-by: Jeff Garzik <[email protected]>
2005-09-23 22:54:21 -04:00
Andy Fleming e13934563d [PATCH] PHY Layer fixup
This patch adds back the code that was taken out, thus re-enabling:

* The PHY Layer to initialize without crashing
* Drivers to actually connect to PHYs
* The entire PHY Control Layer

This patch is used by the gianfar driver, and other drivers which are in
development.

Signed-off-by: Andy Fleming <[email protected]>
Signed-off-by: Jeff Garzik <[email protected]>
2005-08-28 20:28:25 -04:00
Andy Fleming 00db8189d9 This patch adds a PHY Abstraction Layer to the Linux Kernel, enabling
ethernet drivers to remain as ignorant as is reasonable of the connected
PHY's design and operation details.

Signed-off-by: Andy Fleming <[email protected]>
Signed-off-by: Jeff Garzik <[email protected]>
2005-07-30 19:31:23 -04:00