summaryrefslogtreecommitdiffstats
path: root/sys/dev/pci/if_em.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* fix commentsbrad2006-11-181-3/+2
|
* Add a lower TX threshold value and use this when checking the number ofbrad2006-11-171-4/+9
| | | | | | | | | | | available TX descriptors in the case that em_encap() has tried to reclaim descriptors. From Jack Vogel@Intel Tested by brad@, mk@, Gabriel Kihlman <gk at stacken dot kth dot se>, Johan Mson Lindman <tybollt at solace dot mh dot se> Tested on amd64/i386/sparc64
* Rework the transmit register handling. In em_encap() store the index ofbrad2006-11-141-45/+92
| | | | | | | | | | | | | | | | the EOP descriptor in the first descriptor of the packet. In em_txeof() search for the DD bit set only in the EOP descriptors, embedding the cleanup of all packet's descriptors into the inner loop. This change is important for future chips, where the DD bit is going to be set only in the EOP descriptors. From Jack Vogel@Intel Tested by brad@, mk@, reyk@, Gabriel Kihlman <gk at stacken dot kth dot se>, Johan Mson Lindman <tybollt at solace dot mh dot se>, Jason Dixon and a few others. Tested on i386/amd64/sparc64.
* Pre-allocate the TX DMA maps intead of creating and destroying a DMA mapbrad2006-11-101-37/+68
| | | | | | | | | | per packet sent. Tested by brad@, ckuethe@, Gabriel Kihlman <gk at stacken dot kth dot se> and Tim Wiess <tim at nop dot cx>. Tested with amd64/i386/sparc64. ok damien@
* em_get_buf():brad2006-11-071-18/+22
| | | | | | | | | | | | | | | - Use bus_dmamap_load_mbuf() instead of bus_dmamap_load() + mtod(). - Only BUS_DMASYNC_PREREAD is necessary for the bus_dmamap_sync(). em_allocate_receive_structures(): - Clean up error handling for receive buffer allocation and just have everything done by em_free_receive_structures() now. em_free_receive_structures(): - A few changes here to allow this function to be called from em_stop() as well as em_allocate_receive_structures(). Tested on i386/amd64/sparc64. ok reyk@
* Sync up to Intel's latest FreeBSD em driver (6.2.9). Adds supportbrad2006-11-061-39/+44
| | | | | | | | | | | | for a few newer Intel PCIe boards, some code removal and cleaning and a few bug fixes. From: Jack Vogel@Intel Tested by mk@ wilfried@ brad@ dlg@, Marc Winiger, Gabriel Kihlman, Jason Dixon, Johan Mson Lindman, and a few other end users. Tested with 82543, 82544, 82540, 82545, 82541, 82547, 82546 and 82573.
* the 8257E KCS PCI id is not the MAC but an IPMI interface being providedbrad2006-11-031-2/+1
| | | | from the chipset, so remove it.
* removed unused variable.dlg2006-10-301-4/+1
| | | | ok brad@
* move the checksum stuff under EM_CSUM_OFFLOAD.brad2006-09-291-4/+13
|
* Try to reclaim the TX descriptors in the watchdog handler before actuallybrad2006-09-171-1/+9
| | | | | | issuing a watchdog reset of the interface. From yongari@FreeBSD
* Overhaul RX path to recover from mbuf cluster allocation failure.brad2006-09-171-46/+71
| | | | | | | | | | | | - Create a spare DMA map for RX handler to recover from bus_dmamap_load() failure. - Make sure to update status bit in RX descriptors even if we failed to allocate a new buffer. - Don't blindly unload DMA map. Reuse loaded DMA map if received packet has errors. From yongari@FreeBSD Tested by myself and a number of end-users on i386/amd64/sparc64
* revert revision 1.131, the code in question was later found to not ensurebrad2006-09-171-51/+50
| | | | | | | | | | | | the proper alignment requirement for the VLAN layer on strict alignment architectures. This would result in Jumbo's working fine as long as VLANs were not in use. If VLANs were in use and a packet comes in with a size of 2046 bytes or larger, it would be corrupted as it came up through the VLAN layer. Also check the hw max frame size, instead of the MTU, so the alignment fixup is done as appropriate. Fixes PR 5185. Tested by Rui DeSousa with macppc and myself with alpha/sparc64.
* - Re-add the m_adj() back into em_get_buf(), but this time checkbrad2006-08-221-3/+7
| | | | | | | | | | the HW max frame size and only call m_adj() if the size is less than or equal to MCLBYTES - ETHER_ALIGN (2046). - Set the HW long packet enable bit on all adapters, even 82573 based adapters which are capable of Jumbo's. - Only do RX alignment fixup on adapters capable of Jumbo frames. ok jason@
* replace a incorrect number with a proper define. this is a no-op changebrad2006-08-141-2/+2
| | | | | | | since E1000_FDX_COLLISION_DISTANCE and E1000_HDX_COLLISION_DISTANCE use the same values. From glebius@FreeBSD
* cosmetic tweaks.brad2006-08-091-20/+21
|
* Sync up to Intel's latest FreeBSD em driver (6.1.4). Adds PCI id for the PCIebrad2006-08-091-11/+20
| | | | | quad port copper adapter, improvements for media support with fiber adapters, and some fixes for the ICH8 support.
* Use the DMA map size from the DMA map instead of the dma_size field withbrad2006-08-091-7/+11
| | | | | | bus_dma sync's. ok dlg@ marco@
* - merge em/ixgb_disable_promisc() into em/ixgb_set_promisc().brad2006-08-041-23/+17
| | | | - rearrange interface flags ioctl handler.
* fix up error messages in em/ixgb_allocate_pci_resources().brad2006-08-041-6/+6
|
* (em/ixgb)_(clean_transmit_interrupts/process_receive_interrupts) ->brad2006-08-011-8/+8
| | | | (em/ixgb)_(txeof/rxeof)
* Fully initialize the softc structure before enabling interrupt. ok brad@drahn2006-07-101-3/+3
|
* don't add 1000Mbps media types for a 10/100 only PHY.brad2006-07-081-4/+6
|
* Sync up to Intel's latest FreeBSD em driver (6.0.5). Adds supportbrad2006-07-071-47/+112
| | | | | | | | | | | for new chipset revisions embedded in the ESB2 and ICH8 core logic chipsets. The previous attempt at commiting this included an unrelated change to how the I/O base address was being set and this was the cause of the breakage. From: Intel's web-site
* revert back to the older driver as this causes some breakage.brad2006-07-051-113/+48
|
* Sync up to Intel's latest FreeBSD em driver (6.0.5). Adds supportbrad2006-07-031-48/+113
| | | | | | | for new chipset revisions embedded in the ESB2 and ICH8 core logic chipsets. From: Intel's web-site
* remove some whitespace.brad2006-06-281-3/+1
|
* make em_fixup_rx() a void function.brad2006-06-241-7/+3
|
* fix Jumbo frames on strict alignment architectures by allocating a new mbuf andbrad2006-05-311-61/+56
| | | | | | | | | copying the Ethernet header to the new mbuf. The new mbuf is then prepended into the existing mbuf chain. From FreeBSD ok reyk@ pascoe@ jason@
* - force the maximum receivable frame size down to 1518 bytes forbrad2006-05-281-1/+9
| | | | | | | | strict alignment architectures for the time being. - remove the m_adj() on non-strict alignment architectures as this seems to resolve the Jumbo crashing issue. tested by a few developers. ok reyk@
* always set if_hardmtu.brad2006-05-281-5/+3
|
* use if_hardmtu for MTU ioctl handler.brad2006-05-281-3/+2
|
* unknown ioctl is ENOTTY not EINVALjason2006-05-281-2/+2
|
* remove IFCAP_JUMBO_MTU interface capabilities flag and set if_hardmtu in a fewbrad2006-05-271-3/+2
| | | | | | more drivers. ok reyk@
* rename jumbo mtu to if_hardmtu; ok brad reykderaadt2006-05-261-2/+2
|
* formattingbrad2006-05-251-11/+11
|
* formatting; ok bradjason2006-05-251-40/+38
|
* fix pci resource allocation in em, don't crash!reyk2006-05-201-13/+13
| | | | fix by brad@
* set if_jumbo_mtu and the IFCAP_JUMBO_MTU capabilities flag wherebrad2006-05-201-2/+7
| | | | | | appropriate. ok reyk@
* simplify MTU ioctl switch case.brad2006-05-201-33/+23
|
* fix a typo and some KNF.brad2006-05-071-21/+9
|
* - Remove unreachable bus_dmamap_unload() in em_dma_malloc().brad2006-05-071-8/+16
| | | | | - Set the dma_tag to NULL upon failure in em_dma_malloc(). - In em_dma_free(), return if dma_tag is NULL.
* replace magic value of 32 with EM_MAX_SCATTER.brad2006-05-011-3/+4
|
* when setting the interface address, only call em_init() if the interfacebrad2006-04-281-8/+4
| | | | is not already running.
* add a few more Intel Gig PCI ids.brad2006-04-181-2/+10
| | | | Some of these are from jason@ and the rest are from the Linux PCI ids page.
* remove splnet usage from em_intr().brad2006-04-161-5/+2
|
* when the interrupt handler has run out of work to do it shouldnt return 0dlg2006-04-121-2/+2
| | | | | | | | | from the work loop. instead it should break from it so the spl can be lowered and any work that has been done can be counted. this fixes interrupt counting at least, and possibly issues related to leaving splnet raised.. ok deraadt@
* Sync up to Intel's latest FreeBSD em driver (5.1.5). Adds supportbrad2006-03-281-20/+66
| | | | | | for the 82563 PCI Express chipset and a few fixes. From: Intel's web-site
* sync in some of the new PCI ids.brad2006-03-271-4/+6
|
* allow bpf(4) to ignore packets based on their direction (inbound ordjm2006-03-251-3/+3
| | | | | outbound), using a new BIOCSDIRFILT ioctl; guidance, feedback and ok canacar@
* update link status here.brad2006-02-241-1/+2
|