An error occurred fetching the project authors.
  1. 30 Sep, 2008 1 commit
    • Josh Boyer's avatar
      ibm_newemac: Introduce mal_has_feature · ec4f9945
      Josh Boyer authored
      There are some PowerPC SoCs that do odd things with the MAL handling.  In
      order to accommodate them, we need to introduce a feature mechanism that is
      similar to the existing emac_has_feature function.
      
      This adds a feature variable to the mal_instance structure, and adds a
      mal_has_feature function.  Two features are defined and are guarded
      by Kconfig options that are selected by the affected platforms.
      
      MAL_FTR_CLEAR_ICINSTAT is used for platforms that need to clear the
      interrupt bits in the ICINTSTAT SDR for txeob/rxeob.  This is common
      on MAL implementations that have interrupt coalescing.
      
      MAL_FTR_COMMON_ERR_INT is used for platforms that have SERR, TXDE,
      and RXDE OR'd into a single interrupt bit.
      Signed-off-by: default avatarJosh Boyer <jwboyer@linux.vnet.ibm.com>
      Acked-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Acked-by: default avatarJeff Garzik <jeff@garzik.org>
      Signed-off-by: default avatarJosh Boyer <jwboyer@linux.vnet.ibm.com>
      ec4f9945
  2. 07 Dec, 2007 1 commit
  3. 15 Oct, 2007 2 commits
    • Michael Ellerman's avatar
      Add dcr_host_t.base in dcr_read()/dcr_write() · 83f34df4
      Michael Ellerman authored
      Now that all users of dcr_read()/dcr_write() add the dcr_host_t.base, we
      can save them the trouble and do it in dcr_read()/dcr_write().
      
      As some background to why we just went through all this jiggery-pokery,
      benh sayeth:
      
       Initially the goal of the dcr_read/dcr_write routines was to operate like
       mfdcr/mtdcr which take absolute DCR numbers. The reason is that on 4xx
       hardware, indirect DCR access is a pain (goes through a table of
       instructions) and it's useful to have the compiler resolve an absolute DCR
       inline.
      
       We decided that wasn't worth the API bastardisation since most places
       where absolute DCR values are used are low level 4xx-only code which may
       as well continue using mfdcr/mtdcr, while the new API is designed for
       device "instances" that can exist on 4xx and Axon type platforms and may
       be located at variable DCR offsets.
      Signed-off-by: default avatarMichael Ellerman <michael@ellerman.id.au>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      83f34df4
    • Michael Ellerman's avatar
      Update ibm_newemac to use dcr_host_t.base · 79203695
      Michael Ellerman authored
      Now that dcr_host_t contains the base address, we can use that in the
      ibm_newemac code, rather than storing it separately.
      Signed-off-by: default avatarMichael Ellerman <michael@ellerman.id.au>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      79203695
  4. 10 Oct, 2007 2 commits
    • Roland Dreier's avatar
      ibm_emac: Convert to use napi_struct independent of struct net_device · 59e90b2d
      Roland Dreier authored
      Commit da3dedd9 ("[NET]: Make NAPI polling independent of struct
      net_device objects.") changed the interface to NAPI polling.  Fix up
      the ibm_newemac driver so that it works with this new interface.  This
      is actually a nice cleanup because ibm_newemac is one of the drivers
      that wants to have multiple NAPI structures for a single net_device.
      
      Compile-tested only as I don't have a system that uses the ibm_newemac
      driver.  This conversion the conversion for the ibm_emac driver that
      was tested on real PowerPC 440SPe hardware.
      Signed-off-by: default avatarRoland Dreier <rolandd@cisco.com>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      59e90b2d
    • David Gibson's avatar
      Device tree aware EMAC driver · 1d3bb996
      David Gibson authored
      Based on BenH's earlier work, this is a new version of the EMAC driver
      for the built-in ethernet found on PowerPC 4xx embedded CPUs.  The
      same ASIC is also found in the Axon bridge chip.  This new version is
      designed to work in the arch/powerpc tree, using the device tree to
      probe the device, rather than the old and ugly arch/ppc OCP layer.
      
      This driver is designed to sit alongside the old driver (that lies in
      drivers/net/ibm_emac and this one in drivers/net/ibm_newemac).  The
      old driver is left in place to support arch/ppc until arch/ppc itself
      reaches its final demise (not too long now, with luck).
      
      This driver still has a number of things that could do with cleaning
      up, but I think they can be fixed up after merging.  Specifically:
      	- Should be adjusted to properly use the dma mapping API.
      Axon needs this.
      	- Probe logic needs reworking, in conjuction with the general
      probing code for of_platform devices.  The dependencies here between
      EMAC, MAL, ZMII etc. make this complicated.  At present, it usually
      works, because we initialize and register the sub-drivers before the
      EMAC driver itself, and (being in driver code) runs after the devices
      themselves have been instantiated from the device tree.
      Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      1d3bb996