diff options
author | tmm <tmm@FreeBSD.org> | 2002-03-23 19:37:11 +0000 |
---|---|---|
committer | tmm <tmm@FreeBSD.org> | 2002-03-23 19:37:11 +0000 |
commit | 96f89601bec8d2572d482a8d78c1b5f67932a00b (patch) | |
tree | 253feb44c82db144040d376f620649fee350d496 /sys/dev | |
parent | c379ca4071dae4b5dd20358faaf108a23306e77c (diff) | |
download | FreeBSD-src-96f89601bec8d2572d482a8d78c1b5f67932a00b.zip FreeBSD-src-96f89601bec8d2572d482a8d78c1b5f67932a00b.tar.gz |
Assorted fixes:
- remove some useless code from the status change handler that was intended
to enable the the MII drivers for external phys; this is already done
during interface initialization, and the deleted code made some
assumptions about phy addresses that do not seem to hold true on newer
cards. This should get at least one of the two hmes of newer Netra t1
machines working.
- correct the interrupt resource allocation
- bump the number of RX descriptors, lower values cause promblems on some
machines
Diffstat (limited to 'sys/dev')
-rw-r--r-- | sys/dev/hme/if_hme.c | 7 | ||||
-rw-r--r-- | sys/dev/hme/if_hme_pci.c | 2 | ||||
-rw-r--r-- | sys/dev/hme/if_hme_sbus.c | 2 | ||||
-rw-r--r-- | sys/dev/hme/if_hmevar.h | 3 |
4 files changed, 3 insertions, 11 deletions
diff --git a/sys/dev/hme/if_hme.c b/sys/dev/hme/if_hme.c index 9d6ed40..0c8f1d2 100644 --- a/sys/dev/hme/if_hme.c +++ b/sys/dev/hme/if_hme.c @@ -1310,13 +1310,6 @@ hme_mii_statchg(device_t dev) HME_MAC_WRITE_4(sc, HME_MACI_TXCFG, v); if (!hme_mac_bitflip(sc, HME_MACI_TXCFG, v, 0, HME_MAC_TXCFG_ENABLE)) return; - - /* If an external transceiver is selected, enable its MII drivers */ - v = HME_MAC_READ_4(sc, HME_MACI_XIF); - v &= ~HME_MAC_XIF_MIIENABLE; - if (phy == HME_PHYAD_EXTERNAL) - v |= HME_MAC_XIF_MIIENABLE; - HME_MAC_WRITE_4(sc, HME_MACI_XIF, v); } static int diff --git a/sys/dev/hme/if_hme_pci.c b/sys/dev/hme/if_hme_pci.c index 3978e00..8e2409c 100644 --- a/sys/dev/hme/if_hme_pci.c +++ b/sys/dev/hme/if_hme_pci.c @@ -151,7 +151,7 @@ hme_pci_attach(device_t dev) } hsc->hsc_irid = 0; hsc->hsc_ires = bus_alloc_resource(dev, SYS_RES_IRQ, &hsc->hsc_irid, 0, - ~0, 1, RF_ACTIVE); + ~0, 1, RF_SHAREABLE | RF_ACTIVE); if (hsc->hsc_ires == NULL) { device_printf(dev, "could not allocate interrupt\n"); error = ENXIO; diff --git a/sys/dev/hme/if_hme_sbus.c b/sys/dev/hme/if_hme_sbus.c index 1e6d82c..46eaa45 100644 --- a/sys/dev/hme/if_hme_sbus.c +++ b/sys/dev/hme/if_hme_sbus.c @@ -222,7 +222,7 @@ hme_sbus_attach(device_t dev) hsc->hsc_irid = 0; hsc->hsc_ires = bus_alloc_resource(dev, SYS_RES_IRQ, &hsc->hsc_irid, 0, - ~0, 1, RF_ACTIVE); + ~0, 1, RF_SHAREABLE | RF_ACTIVE); if (hsc->hsc_ires == NULL) { device_printf(dev, "could not allocate interrupt\n"); error = ENXIO; diff --git a/sys/dev/hme/if_hmevar.h b/sys/dev/hme/if_hmevar.h index 13bf90c..bef2b13 100644 --- a/sys/dev/hme/if_hmevar.h +++ b/sys/dev/hme/if_hmevar.h @@ -48,9 +48,8 @@ * TX descriptors have less static cost (a dma map is allocated which could * cause bounce buffers to be reserved; other that that, the only required * memory is sizeof(struct hme_txdesc)). - * Both must be a multiple of 16, and <= 128. */ -#define HME_NRXDESC 32 +#define HME_NRXDESC 128 #define HME_NTXDESC 64 /* Maximum size of a mapped RX buffer. */ |