From 7ee69ef245bd0c6c84a002245736e6ebb682820e Mon Sep 17 00:00:00 2001 From: Thomas Moestl Date: Sat, 23 Mar 2002 19:37:11 +0000 Subject: 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 --- sys/dev/hme/if_hme.c | 7 ------- sys/dev/hme/if_hme_pci.c | 2 +- sys/dev/hme/if_hme_sbus.c | 2 +- sys/dev/hme/if_hmevar.h | 3 +-- 4 files changed, 3 insertions(+), 11 deletions(-) (limited to 'sys/dev') diff --git a/sys/dev/hme/if_hme.c b/sys/dev/hme/if_hme.c index 9d6ed407c940..0c8f1d24ee19 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 3978e0027b80..8e2409c6e928 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 1e6d82ce5166..46eaa4569e71 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 13bf90cd1cf3..bef2b13ab15e 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. */ -- cgit v1.3