04 Nov, 2009

7 commits


03 Nov, 2009

29 commits

  • - TC35815_DMA_SYNC_ONDEMAND is always enabled.
    - WORKAROUND_LOSTCAR is always enabled.
    - WORKAROUND_100HALF_PROMISC is always enabled.
    - GATHER_TXINT is always enabled.
    - TC35815_USE_PACKEDBUFFER is always disabled.
    - NO_CHECK_CARRIER is always disabled.

    Signed-off-by: David S. Miller

    Atsushi Nemoto
     
  • Signed-off-by: Atsushi Nemoto
    Signed-off-by: David S. Miller

    Atsushi Nemoto
     
  • This patch provides basic hash rules programming via the ethtool
    interface.

    Signed-off-by: Sandeep Gopalpet
    Signed-off-by: David S. Miller

    Sandeep Gopalpet
     
  • This patch introduces multiple group support for etsec2.0
    devices.

    Multiple group support is provided by mapping the set of enabled
    queues to different groups and then programming the per group
    regsiters imask, ievent, rstat, tstat.

    The queues corresponding to a group are indicated by programming
    isrg (interrupt steering) registers.

    Signed-off-by: Sandeep Gopalpet
    Signed-off-by: David S. Miller

    Sandeep Gopalpet
     
  • This patch adds support for etsec2.0 regsiters

    Signed-off-by: Sandeep Gopalpet
    Signed-off-by: David S. Miller

    Sandeep Gopalpet
     
  • This patch adds mdio support for etsec2.0 devices.

    Modified the fsl_pq_mdio structure to include the new mdio
    members.

    Signed-off-by: Sandeep Gopalpet
    Signed-off-by: David S. Miller

    Sandeep Gopalpet
     
  • This patch introduces multiple Tx and Rx queues.
    The incoming packets can be classified into different queues
    based on filer rules (out of scope of this patch). The number
    of queues enabled will be based on a DTS entries fsl,num_tx_queues
    and fsl,num_rx_queues.

    Although we are enabling multiple queues, the interrupt coalescing
    is on per device level (etsec-1.7 doesn't support multiple rxics
    and txics).

    Signed-off-by: Sandeep Gopalpet
    Signed-off-by: David S. Miller

    Sandeep Gopalpet
     
  • This patch introduces the group structure. The elements of this
    structure are the interrupt lines, their corresponding names,
    the register memory map.
    The elements for this group are factored out from the gfar_private
    structure. The introduction of group structure will help in
    providing support for newer versions of etsec.

    Currently, the support is present only for single group and
    single tx/rx queues.

    Signed-off-by: Sandeep Gopalpet
    Signed-off-by: David S. Miller

    Sandeep Gopalpet
     
  • This patch introduces per tx and per rx queue structures.
    Earlier the members of these structures were inside the
    gfar_private structure.

    Moving forward if we want to support multiple queues, we need
    to refactor the gfar_private structure so that introduction of
    multiple queues is easier.

    Signed-off-by: Sandeep Gopalpet
    Signed-off-by: David S. Miller

    Sandeep Gopalpet
     
  • This patch updates the tg3 version to 3.103.

    Signed-off-by: Matt Carlson
    Reviewed-by: Michael Chan
    Signed-off-by: David S. Miller

    Matt Carlson
     
  • This patch adds code to disable the TXC and RXC reference clocks if link
    is not available.

    Signed-off-by: Matt Carlson
    Reviewed-by: Michael Chan
    Signed-off-by: David S. Miller

    Matt Carlson
     
  • This patch adds an RXC auto power-down feature to the code that supports
    the gphys.

    Signed-off-by: Matt Carlson
    Reviewed-by: Michael Chan
    Signed-off-by: David S. Miller

    Matt Carlson
     
  • The 5785 does not use the RXC reference clock. Turning it off is
    desirable as it saves power.

    By default, the 50610 enables the RXC reference clock and the 50610M
    disables it. Presumably this is one of the reasons why the hardware
    architect chose one over the other.

    Adding a "rx reference clock disable" flag is not the ideal way to
    describe the option, as it would force the MAC using a 50610M to set
    the flag. Ideally we want the flags to represent opt-in behavior that
    deviates from hardware defaults. Furthermore, the lack of a
    "disable" flag implies that the requester wants the rx reference clock
    enabled, which doesn't necessarily follow.

    By presenting the option as a passive statement (rx reference clock
    unused) rather than a command, I hope to convey an opt-in option to
    disable the rx reference clock that falls back to hardware defaults if
    not set. A secondary benefit of this is that it keeps the
    intelligence about phy defaults in the broadcom module where it belongs
    and allows the broadcom module more latitude should a bug arise.

    Signed-off-by: Matt Carlson
    Reviewed-by: Michael Chan
    Signed-off-by: David S. Miller

    Matt Carlson
     
  • Auto power-down (APD) support is a power-saving feature. It should be
    selectively enabled since it might expose MAC bugs. This patch changes
    the code to enable APD only if the PHY_BRCM_AUTO_PWRDWN_ENABLE flag is
    set. The tg3 driver was changed to set this bit.

    Signed-off-by: Matt Carlson
    Reviewed-by: Michael Chan
    Signed-off-by: David S. Miller

    Matt Carlson
     
  • Broadcom 50610M parts changed the default definitions of the RGMII mode
    shadow register. The 5785 needs the RGMII mode selection bits [4:3]
    cleared.

    The default value of the remaining bits in this register are zero.
    Rather than unnecessarily burn an extra bit in the dev_flags member in
    an attempt to enumerate all possible combinations, this patch take a
    more course grained approach and labels the option as "clear all bits".

    Signed-off-by: Matt Carlson
    Reviewed-by: Michael Chan
    Signed-off-by: David S. Miller

    Matt Carlson
     
  • This patch moves all the dev_flags enumerations outside the broadcom.c
    file to include/linux/brcmphy.h. The existing flags were not used yet
    and have been re-enumerated to avoid conflicts.

    Signed-off-by: Matt Carlson
    Reviewed-by: Michael Chan
    Signed-off-by: David S. Miller

    Matt Carlson
     
  • This patch adds the 50610M phy ID for 5785.

    Signed-off-by: Matt Carlson
    Reviewed-by: Michael Chan
    Signed-off-by: David S. Miller

    Matt Carlson
     
  • When a 50610 or 50610M is paired against particular remote partners,
    link is slow to come up. This patch works around the problem.

    Signed-off-by: Matt Carlson
    Reviewed-by: Michael Chan
    Signed-off-by: David S. Miller

    Matt Carlson
     
  • This patch consolidates the code that requires the SMDSP clock to be
    enabled into a single function that (hopefully) makes the dependency
    obvious.

    Signed-off-by: Matt Carlson
    Reviewed-by: Michael Chan
    Signed-off-by: David S. Miller

    Matt Carlson
     
  • This patch extends the loopback test timeout from 250 usec to 350 usec.
    When the 5785 is paired against an AC131 phy, the older timeout is
    just a little too close to the expected performance based on timings.

    Signed-off-by: Matt Carlson
    Reviewed-by: Michael Chan
    Signed-off-by: David S. Miller

    Matt Carlson
     
  • This patch sets the port mode to MII when the link is down for the 5785.
    Setting the port mode to MII instead of GMII saves power.

    Signed-off-by: Matt Carlson
    Reviewed-by: Michael Chan
    Signed-off-by: David S. Miller

    Matt Carlson
     
  • The AC131 does not respect the power down bit (bit 11) of the MII
    Control Register (reg 0x0). Instead, software is required to put the
    phy into standby power down mode through the shadow register set. This
    patch implements support for the AC131 standby power down mode.

    Signed-off-by: Matt Carlson
    Reviewed-by: Michael Chan
    Signed-off-by: David S. Miller

    Matt Carlson
     
  • This patch improves 5785 performance by allowing the write DMA engine to
    request larger DMA burst sizes than it otherwise would.

    Signed-off-by: Matt Carlson
    Reviewed-by: Michael Chan
    Signed-off-by: David S. Miller

    Matt Carlson
     
  • This patch adds code to check the status of pci_map_single() before
    allowing rx buffers to be used. It also converts the pci_map_single()
    call in tg3_run_loopback() to use skb_dma_map() instead.

    Signed-off-by: Matt Carlson
    Signed-off-by: Michael Chan
    Signed-off-by: Benjamin Li
    Signed-off-by: David S. Miller

    Matt Carlson
     
  • This patch prevents a PCIe tx glitch by allowing the transmitter to go
    to a low power state.

    Signed-off-by: Matt Carlson
    Reviewed-by: Michael Chan
    Signed-off-by: David S. Miller

    Matt Carlson
     
  • This patch renames the PHY_ADDR preprocessor definition. The following
    patch will identify a new member on the MDIO bus, so we want this
    preprocessor definition to be a little more descriptive.

    Signed-off-by: Matt Carlson
    Reviewed-by: Michael Chan
    Signed-off-by: David S. Miller

    Matt Carlson
     
  • Under certain power saving conditions, 57780 asic rev devices might
    disappear from the system. The fix is to disallow the PCIe PLL from
    powering down.

    Signed-off-by: Matt Carlson
    Reviewed-by: Michael Chan
    Signed-off-by: David S. Miller

    Matt Carlson
     
  • The 5906 has trouble with fragments that are less than 8 bytes in size.
    This patch works around the problem by pivoting the 5906's transmit
    routine to tg3_start_xmit_dma_bug() and introducing a new SHORT_DMA_BUG
    flag that enables code to detect and react to the problematic condition.

    Signed-off-by: Matt Carlson
    Signed-off-by: Michael Chan
    Signed-off-by: David S. Miller

    Matt Carlson
     
  • This patch adds a flag for each bug workaround in
    tg3_start_xmit_dma_bug(). This is prep work for the following patch.

    Signed-off-by: Matt Carlson
    Reviewed-by: Michael Chan
    Signed-off-by: David S. Miller

    Matt Carlson
     

02 Nov, 2009

4 commits