A number of small fixes:
- duplicate #define in header, thanks to Kevin Lo for pointing out. - incorrect BUSMASTER enable logic, thanks Patrick Oeschger - 82543 fails due to bogus IO BAR logic - Allow 82571 to use MSI interrupts - Checksum Offload for UDP not working on 82575 Approved by:re
This commit is contained in:
parent
8696d874ba
commit
54ec29e11d
@ -2450,8 +2450,8 @@ em_identify_hardware(struct adapter *adapter)
|
|||||||
|
|
||||||
/* Make sure our PCI config space has the necessary stuff set */
|
/* Make sure our PCI config space has the necessary stuff set */
|
||||||
adapter->hw.bus.pci_cmd_word = pci_read_config(dev, PCIR_COMMAND, 2);
|
adapter->hw.bus.pci_cmd_word = pci_read_config(dev, PCIR_COMMAND, 2);
|
||||||
if ((adapter->hw.bus.pci_cmd_word & PCIM_CMD_BUSMASTEREN) == 0 &&
|
if (!((adapter->hw.bus.pci_cmd_word & PCIM_CMD_BUSMASTEREN) &&
|
||||||
(adapter->hw.bus.pci_cmd_word & PCIM_CMD_MEMEN)) {
|
(adapter->hw.bus.pci_cmd_word & PCIM_CMD_MEMEN))) {
|
||||||
device_printf(dev, "Memory Access and/or Bus Master bits "
|
device_printf(dev, "Memory Access and/or Bus Master bits "
|
||||||
"were not set!\n");
|
"were not set!\n");
|
||||||
adapter->hw.bus.pci_cmd_word |=
|
adapter->hw.bus.pci_cmd_word |=
|
||||||
@ -2495,7 +2495,7 @@ em_allocate_pci_resources(struct adapter *adapter)
|
|||||||
adapter->hw.hw_addr = (uint8_t *)&adapter->osdep.mem_bus_space_handle;
|
adapter->hw.hw_addr = (uint8_t *)&adapter->osdep.mem_bus_space_handle;
|
||||||
|
|
||||||
/* Only older adapters use IO mapping */
|
/* Only older adapters use IO mapping */
|
||||||
if ((adapter->hw.mac.type > e1000_82542) &&
|
if ((adapter->hw.mac.type > e1000_82543) &&
|
||||||
(adapter->hw.mac.type < e1000_82571)) {
|
(adapter->hw.mac.type < e1000_82571)) {
|
||||||
/* Figure our where our IO BAR is ? */
|
/* Figure our where our IO BAR is ? */
|
||||||
for (rid = PCIR_BAR(0); rid < PCIR_CIS;) {
|
for (rid = PCIR_BAR(0); rid < PCIR_CIS;) {
|
||||||
@ -2557,7 +2557,7 @@ em_allocate_pci_resources(struct adapter *adapter)
|
|||||||
rid = 1;
|
rid = 1;
|
||||||
adapter->msi = 1;
|
adapter->msi = 1;
|
||||||
}
|
}
|
||||||
} else if (adapter->hw.mac.type > e1000_82571) {
|
} else if (adapter->hw.mac.type >= e1000_82571) {
|
||||||
val = pci_msi_count(dev);
|
val = pci_msi_count(dev);
|
||||||
if (val == 1 && pci_alloc_msi(dev, &val) == 0) {
|
if (val == 1 && pci_alloc_msi(dev, &val) == 0) {
|
||||||
rid = 1;
|
rid = 1;
|
||||||
@ -3698,7 +3698,7 @@ em_tx_adv_ctx_setup(struct adapter *adapter, struct mbuf *mp)
|
|||||||
break;
|
break;
|
||||||
case IPPROTO_UDP:
|
case IPPROTO_UDP:
|
||||||
if (mp->m_pkthdr.csum_flags & CSUM_UDP)
|
if (mp->m_pkthdr.csum_flags & CSUM_UDP)
|
||||||
type_tucmd_mlhl |= E1000_ADVTXD_TUCMD_L4T_TCP;
|
type_tucmd_mlhl |= E1000_ADVTXD_TUCMD_L4T_UDP;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -181,7 +181,6 @@ POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#define EM_SMARTSPEED_DOWNSHIFT 3
|
#define EM_SMARTSPEED_DOWNSHIFT 3
|
||||||
#define EM_SMARTSPEED_MAX 15
|
#define EM_SMARTSPEED_MAX 15
|
||||||
#define EM_MAX_INTR 10
|
#define EM_MAX_INTR 10
|
||||||
#define EM_TSO_SEG_SIZE 4096 /* Max dma seg size */
|
|
||||||
|
|
||||||
#define MAX_NUM_MULTICAST_ADDRESSES 128
|
#define MAX_NUM_MULTICAST_ADDRESSES 128
|
||||||
#define PCI_ANY_ID (~0U)
|
#define PCI_ANY_ID (~0U)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user