Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: [netbsd-6] src

Module Name:    src
Committed By:   bouyer
Date:           Sat Sep  7 16:39:32 UTC 2013

Modified Files:
        src/share/man/man4 [netbsd-6]: bge.4
        src/sys/dev/mii [netbsd-6]: brgphy.c miidevs miivar.h
        src/sys/dev/pci [netbsd-6]: if_bge.c if_bgereg.h if_bgevar.h pcidevs

Log Message:
sys/dev/pci/if_bge.c            1.203-1.237, 1.239-1.241, 1.243-1.258 via patch
sys/dev/pci/if_bgereg.h         1.58-1.74, 1.76-1.83 via patch
sys/dev/pci/if_bgevar.h         1.10-1.16 via patch
sys/dev/pci/pcidevs             1.1149 via patch
sys/dev/pci/pcidevs.h           regen
sys/dev/pci/pcidevs_data.h      regen
sys/dev/mii/brgphy.c            1.61-1.63, 1.65, 1.67 via patch
sys/dev/mii/miivar.h            1.61 via patch
sys/dev/mii/miidevs             1.112-1.113 via patch
sys/dev/mii/miidevs.h           regen
sys/dev/mii/miidevs_data.h      regen
share/man/man4/bge.4            1.13-1.15 via patch

        Add some device support, fix a lot of bugs and add some enahcements.
        - Add Altima AC1003, APPLE BCM5701, Broadcom BCM5785F,
          BCM5785G, BCM5787F, BCM5719, BCM5720, BCM57766, BCM57782 and BCM57786.
        - brgphy(4): Add BCM5756, BCM5717C, BCM5719C, BCM5720C and BCM57780.
        - Add some bugfixes and enhancement from FreeBSD:
          - Workaround for BCM5906 silicon bug. When auto-negotiation results in
           half-duplex operation, excess collision on the ethernet link may
           cause internal chip delays that may result in subsequent valid
           frames being dropped due to insufficient receive buffer resources.
           (FreeBSD: r214219, r214251, r214292)
          - Allow write DMA to request larger DMA burst size to get better
           performance on BCM5785.
           (FreeBSD r213333: OpenBSD 1.294)
          - Enable TX MAC state machine lockup fix for both BCM5755 or higher
           and BCM5906. Publicly available data sheet just says it may happen
           due to corrupted TxMbuf.
           (FreeBSD r214216)
          - Follow Broadcom datasheet:
           Delay 100 microseconds after enabling transmit MAC.
           Delay 10 microseconds after enabling receive MAC.
           (FreeBSD r241220)
        - Insert the completion barrier between register write and the
          consecutive delay(). It will fix some device timeout problems
          we have seen before.
        - Add DELAY(40) after turning on write DMA state machine.
        - Add some workarounds for 5717 A0 and 5776[56] to be stable.
          From Linux tg3 driver.
        - Sync with *BSD. No functional change:
          - make bge_chipid() and use it.
          - use switch() instead of a lot of if()s.
        - Check BGE_RXBDFLAG_IPV6 flag for 5717_PLUS case.
          Note that {tcp,udp}6csum flag is currently not added in the
        - Add delay after clearing BGE_MACMODE_TBI_SEND_CFGS for the link
          checking.  FreeBSD has the same delay().
        - Rename PHY related flags for the consistency. It's the same as
        - Remove BGE_10_100_ONLY flag because this was not used.
          For 10/100 devices, when calling mii_attach(), mask BMSR_EXTSTAT
          flag to not to check Gigabit flags. It's the same as FreeBSD.
        - In brgphyattach(), set sc_isbge, sc_isbnx and sc_phyflags before
          PHY_RESET() because brgphy_reset() refers those flags.
        - Call brgpy specific autonego function in MII_TICK. Before this commit,
          only MII_MEDIACHG calls brgphy_mii_phy_auto() and MII_TICK calls MI
          mii_phy_auto(). That was not intended.
        - Sync with FreeBSD and OpenBSD. Almost the same as OpenBSD rev. 1.325:
          - Sync the ring setup code closer to FreeBSD's driver
          - Do not touch the jumbo replenish threshold register on chips that
            do not have jumbo support
        - Wait for the bootcode to complete initialization for 5717 and newer
          devices.  See BCM5718 programmer's guide's "step 13,
          Device reset Procedure, Section7".
          57781's document has the same note.
        - 5718 and 57785 document say we should wait 100us.
        - Change the order of register settings a little to match both
          Broadcom's document and Linux tg3.
        - Add detach function.
        - Fix a bug that chips which have BCM5906 ASIC touch GPIO wrongly.
        - Fix a bug that the NVRAM lock timeout occured on sparc64 onboard bge.
        - Check BGE_SGDIG_STS when the chip is NOT a 5717 A0, like freebsd
          (OpenBSD rev. 1.327).
        - Fix the setting of Tx Random Backoff Register.
        - Add BGE_PCIMISCCTL_PCISTATE_RW in BGE_INIT. It's required to set the
          PCISTATE register correctly.
        - Update comments from 57XX-PG105-R.pdf and 5718-PG106-R.pdf.
        - Add missing bus_dmamap_sync() in bge_intr(). The status word is
          in DMAed area. Same as other *BSDs.
        - Check the hardware config words and print them. This change only
          read them and print the values.
        - Set BGE_MISC_CTL's byte/word swap options before using
        - For BGE_IS_575X_PLUS() devices, don't set
          BGE_RXLPSTATCONTROL_DACK_FIX bits because these bits are reserved.
        - bge_init_tx_ring() uses BGE_RSLOTS (==256) but bge_free_tx_ring() uses
          BGE_TX_RING_CNT (== 512). Delete BGE_RSLOTS and use BGE_TX_RING_CNT.
          Same as OpenBSD's if_bge.c rev. 1.86.
        - Document says 5717 and newer chips have no
          BGE_PCISTATE_INTR_NOT_ACTIVE bit, so don't use the bit on those
          chips. Same as OpenBSD.
        - Fix a bug that the PHY address bits in MI_MODE register is wrongly
          cleard.  Set the PHY address correctly.
        - Use BGE_SETBIT() instead of CSR_WRITE_4() for the BGE_MISC_LOCAL_CTL
          register to not to modify some GPIO bits.
        - Call bge_poll_fw() before writing BGE_MODE_CTL register like the
          latest linux tg3 dirver.
        - Set DMA watermark depend on the PCI max payload size.
        - Add BGE_JUMBO_CAPABLE flag to some chips. With this commit, 5714,
          5780, 5717, 5718, 5719 (exclude rev. A0), 5720, 57765 and 57766 are
          added to support jumbo frame.
        - Fix the setting of sc->bge_flags for 5717 and newer devices.
        - Fix a link detect bug on non-autopoll systems. Same as OpenBSD
          (rev.1.329 and 1.336) and FreeBSD (r213710).
        - 57765 series is not based on 5717 series. 5717 series is based on
          57765 series.
        - Set the TX DMA segment size based on the MTU size.
        - Change the TX ring size for 5717 series and 57764 series.
        - For 57766, set BGE_RDMAMODE_JMB_2K_MMRR for non-jumbo frame.
          Same as Linux tg3.
        - For 57765 and newer devices, set BGE_MAX_RX_FRAME_LOWAT to 1.
          This value is recommended by the document.
        - Change sysctl related functions for consistency.
        - Style change.
        - Use macro. Remove duplicated macro. Remove unused variable.
        - Fix comments. Add comments.
        - Remove extra semicolon. Remove unused code.
        [msaitoh, ticket #939]

To generate a diff of this commit:
cvs rdiff -u -r1.12 -r1.12.10.1 src/share/man/man4/bge.4
cvs rdiff -u -r1.59.8.1 -r1.59.8.2 src/sys/dev/mii/brgphy.c
cvs rdiff -u -r1.105.4.1 -r1.105.4.2 src/sys/dev/mii/miidevs
cvs rdiff -u -r1.59 -r1.59.14.1 src/sys/dev/mii/miivar.h
cvs rdiff -u -r1.200.2.1 -r1.200.2.2 src/sys/dev/pci/if_bge.c
cvs rdiff -u -r1.56.18.1 -r1.56.18.2 src/sys/dev/pci/if_bgereg.h
cvs rdiff -u -r1.9 -r1.9.2.1 src/sys/dev/pci/if_bgevar.h
cvs rdiff -u -r1.1102.2.12 -r1.1102.2.13 src/sys/dev/pci/pcidevs

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Home | Main Index | Thread Index | Old Index