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
This commit is contained in:
Thomas Moestl 2002-03-23 19:37:11 +00:00
parent f0cf488b75
commit 7ee69ef245
4 changed files with 3 additions and 11 deletions

View file

@ -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

View file

@ -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;

View file

@ -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;

View file

@ -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. */