Whitespace changes to match rest of file..

This commit is contained in:
Julian Elischer 2004-03-02 01:46:34 +00:00
parent 707559e402
commit f2b1c1580a

View File

@ -209,10 +209,17 @@ bfe_dma_alloc(device_t dev)
&sc->bfe_parent_tag);
/* tag for TX ring */
error = bus_dma_tag_create(sc->bfe_parent_tag, BFE_TX_LIST_SIZE,
BFE_TX_LIST_SIZE, BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR,
NULL, NULL, BFE_TX_LIST_SIZE, 1, BUS_SPACE_MAXSIZE_32BIT,
0, NULL, NULL, &sc->bfe_tx_tag);
error = bus_dma_tag_create(sc->bfe_parent_tag,
BFE_TX_LIST_SIZE, BFE_TX_LIST_SIZE,
BUS_SPACE_MAXADDR,
BUS_SPACE_MAXADDR,
NULL, NULL,
BFE_TX_LIST_SIZE,
1,
BUS_SPACE_MAXSIZE_32BIT,
0,
NULL, NULL,
&sc->bfe_tx_tag);
if (error) {
device_printf(dev, "could not allocate dma tag\n");
@ -220,10 +227,17 @@ bfe_dma_alloc(device_t dev)
}
/* tag for RX ring */
error = bus_dma_tag_create(sc->bfe_parent_tag, BFE_RX_LIST_SIZE,
BFE_RX_LIST_SIZE, BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR,
NULL, NULL, BFE_RX_LIST_SIZE, 1, BUS_SPACE_MAXSIZE_32BIT,
0, NULL, NULL, &sc->bfe_rx_tag);
error = bus_dma_tag_create(sc->bfe_parent_tag,
BFE_RX_LIST_SIZE, BFE_RX_LIST_SIZE,
BUS_SPACE_MAXADDR,
BUS_SPACE_MAXADDR,
NULL, NULL,
BFE_RX_LIST_SIZE,
1,
BUS_SPACE_MAXSIZE_32BIT,
0,
NULL, NULL,
&sc->bfe_rx_tag);
if (error) {
device_printf(dev, "could not allocate dma tag\n");
@ -231,9 +245,17 @@ bfe_dma_alloc(device_t dev)
}
/* tag for mbufs */
error = bus_dma_tag_create(sc->bfe_parent_tag, ETHER_ALIGN, 0,
BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR, NULL, NULL, MCLBYTES,
1, BUS_SPACE_MAXSIZE_32BIT, 0, NULL, NULL, &sc->bfe_tag);
error = bus_dma_tag_create(sc->bfe_parent_tag,
ETHER_ALIGN, 0,
BUS_SPACE_MAXADDR,
BUS_SPACE_MAXADDR,
NULL, NULL,
MCLBYTES,
1,
BUS_SPACE_MAXSIZE_32BIT,
0,
NULL, NULL,
&sc->bfe_tag);
if (error) {
device_printf(dev, "could not allocate dma tag\n");
@ -242,7 +264,8 @@ bfe_dma_alloc(device_t dev)
/* pre allocate dmamaps for RX list */
for (i = 0; i < BFE_RX_LIST_CNT; i++) {
error = bus_dmamap_create(sc->bfe_tag, 0, &sc->bfe_rx_ring[i].bfe_map);
error = bus_dmamap_create(sc->bfe_tag, 0,
&sc->bfe_rx_ring[i].bfe_map);
if (error) {
device_printf(dev, "cannot create DMA map for RX\n");
return(ENOMEM);
@ -251,7 +274,8 @@ bfe_dma_alloc(device_t dev)
/* pre allocate dmamaps for TX list */
for (i = 0; i < BFE_TX_LIST_CNT; i++) {
error = bus_dmamap_create(sc->bfe_tag, 0, &sc->bfe_tx_ring[i].bfe_map);
error = bus_dmamap_create(sc->bfe_tag, 0,
&sc->bfe_tx_ring[i].bfe_map);
if (error) {
device_printf(dev, "cannot create DMA map for TX\n");
return(ENOMEM);
@ -319,7 +343,7 @@ bfe_attach(device_t dev)
irq = pci_read_config(dev, BFE_PCI_INTLINE, 4);
/* Reset the power state. */
printf("bfe%d: chip is is in D%d power mode -- setting to D0\n",
printf("bfe%d: chip is is in D%d power mode -- setting to D0\n",
sc->bfe_unit, pci_get_powerstate(dev));
pci_set_powerstate(dev, PCI_POWERSTATE_D0);
@ -359,7 +383,8 @@ bfe_attach(device_t dev)
}
if (bfe_dma_alloc(dev)) {
printf("bfe%d: failed to allocate DMA resources\n", sc->bfe_unit);
printf("bfe%d: failed to allocate DMA resources\n",
sc->bfe_unit);
bfe_release_resources(sc);
error = ENXIO;
goto fail;
@ -381,7 +406,8 @@ bfe_attach(device_t dev)
bfe_get_config(sc);
printf("bfe%d: Ethernet address: %6D\n", unit, sc->arpcom.ac_enaddr, ":");
printf("bfe%d: Ethernet address: %6D\n", unit,
sc->arpcom.ac_enaddr, ":");
/* Reset the chip and turn on the PHY */
bfe_chip_reset(sc);
@ -497,20 +523,20 @@ bfe_miibus_statchg(device_t dev)
static void
bfe_tx_ring_free(struct bfe_softc *sc)
{
int i;
for(i = 0; i < BFE_TX_LIST_CNT; i++) {
if(sc->bfe_tx_ring[i].bfe_mbuf != NULL) {
m_freem(sc->bfe_tx_ring[i].bfe_mbuf);
sc->bfe_tx_ring[i].bfe_mbuf = NULL;
bus_dmamap_unload(sc->bfe_tag,
sc->bfe_tx_ring[i].bfe_map);
bus_dmamap_destroy(sc->bfe_tag,
sc->bfe_tx_ring[i].bfe_map);
}
}
bzero(sc->bfe_tx_list, BFE_TX_LIST_SIZE);
bus_dmamap_sync(sc->bfe_tx_tag, sc->bfe_tx_map, BUS_DMASYNC_PREREAD);
int i;
for(i = 0; i < BFE_TX_LIST_CNT; i++) {
if(sc->bfe_tx_ring[i].bfe_mbuf != NULL) {
m_freem(sc->bfe_tx_ring[i].bfe_mbuf);
sc->bfe_tx_ring[i].bfe_mbuf = NULL;
bus_dmamap_unload(sc->bfe_tag,
sc->bfe_tx_ring[i].bfe_map);
bus_dmamap_destroy(sc->bfe_tag,
sc->bfe_tx_ring[i].bfe_map);
}
}
bzero(sc->bfe_tx_list, BFE_TX_LIST_SIZE);
bus_dmamap_sync(sc->bfe_tx_tag, sc->bfe_tx_map, BUS_DMASYNC_PREREAD);
}
static void
@ -690,7 +716,7 @@ bfe_chip_halt(struct bfe_softc *sc)
static void
bfe_chip_reset(struct bfe_softc *sc)
{
u_int32_t val;
u_int32_t val;
BFE_LOCK(sc);
@ -698,7 +724,8 @@ bfe_chip_reset(struct bfe_softc *sc)
bfe_pci_setup(sc, BFE_INTVEC_ENET0);
/* is core up? */
val = CSR_READ_4(sc, BFE_SBTMSLOW) & (BFE_RESET | BFE_REJECT | BFE_CLOCK);
val = CSR_READ_4(sc, BFE_SBTMSLOW) &
(BFE_RESET | BFE_REJECT | BFE_CLOCK);
if (val == BFE_CLOCK) {
/* It is, so shut it down */
CSR_WRITE_4(sc, BFE_RCV_LAZY, 0);
@ -707,7 +734,8 @@ bfe_chip_reset(struct bfe_softc *sc)
CSR_WRITE_4(sc, BFE_DMATX_CTRL, 0);
sc->bfe_tx_cnt = sc->bfe_tx_prod = sc->bfe_tx_cons = 0;
if (CSR_READ_4(sc, BFE_DMARX_STAT) & BFE_STAT_EMASK)
bfe_wait_bit(sc, BFE_DMARX_STAT, BFE_STAT_SIDLE, 100, 0);
bfe_wait_bit(sc, BFE_DMARX_STAT, BFE_STAT_SIDLE,
100, 0);
CSR_WRITE_4(sc, BFE_DMARX_CTRL, 0);
sc->bfe_rx_prod = sc->bfe_rx_cons = 0;
}
@ -738,8 +766,8 @@ bfe_chip_reset(struct bfe_softc *sc)
BFE_LAZY_FC_MASK));
/*
* We don't want lazy interrupts, so just send them at the end of a frame,
* please
* We don't want lazy interrupts, so just send them at
* the end of a frame, please
*/
BFE_OR(sc, BFE_RCV_LAZY, 0);
@ -751,8 +779,8 @@ bfe_chip_reset(struct bfe_softc *sc)
CSR_WRITE_4(sc, BFE_TX_WMARK, 56);
/*
* Initialise DMA channels - not forgetting dma addresses need to be added
* to BFE_PCI_DMA
* Initialise DMA channels
* - not forgetting dma addresses need to be added to BFE_PCI_DMA
*/
CSR_WRITE_4(sc, BFE_DMATX_CTRL, BFE_TX_CTRL_ENABLE);
CSR_WRITE_4(sc, BFE_DMATX_ADDR, sc->bfe_tx_dma + BFE_PCI_DMA);
@ -774,8 +802,8 @@ bfe_core_disable(struct bfe_softc *sc)
return;
/*
* Set reject, wait for it set, then wait for the core to stop being busy
* Then set reset and reject and enable the clocks
* Set reject, wait for it set, then wait for the core to stop
* being busy, then set reset and reject and enable the clocks.
*/
CSR_WRITE_4(sc, BFE_SBTMSLOW, (BFE_REJECT | BFE_CLOCK));
bfe_wait_bit(sc, BFE_SBTMSLOW, BFE_REJECT, 1000, 0);
@ -870,8 +898,8 @@ bfe_set_rx_mode(struct bfe_softc *sc)
TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) {
if (ifma->ifma_addr->sa_family != AF_LINK)
continue;
bfe_cam_write(sc, LLADDR((struct sockaddr_dl *)ifma->ifma_addr),
i++);
bfe_cam_write(sc,
LLADDR((struct sockaddr_dl *)ifma->ifma_addr), i++);
}
}
@ -923,24 +951,27 @@ bfe_release_resources(struct bfe_softc *sc)
if(sc->bfe_tx_tag != NULL) {
bus_dmamap_unload(sc->bfe_tx_tag, sc->bfe_tx_map);
bus_dmamem_free(sc->bfe_tx_tag, sc->bfe_tx_list, sc->bfe_tx_map);
bus_dmamem_free(sc->bfe_tx_tag, sc->bfe_tx_list,
sc->bfe_tx_map);
bus_dma_tag_destroy(sc->bfe_tx_tag);
sc->bfe_tx_tag = NULL;
}
if(sc->bfe_rx_tag != NULL) {
bus_dmamap_unload(sc->bfe_rx_tag, sc->bfe_rx_map);
bus_dmamem_free(sc->bfe_rx_tag, sc->bfe_rx_list, sc->bfe_rx_map);
bus_dmamem_free(sc->bfe_rx_tag, sc->bfe_rx_list,
sc->bfe_rx_map);
bus_dma_tag_destroy(sc->bfe_rx_tag);
sc->bfe_rx_tag = NULL;
}
if(sc->bfe_tag != NULL) {
for(i = 0; i < BFE_TX_LIST_CNT; i++) {
bus_dmamap_destroy(sc->bfe_tag, sc->bfe_tx_ring[i].bfe_map);
bus_dmamap_destroy(sc->bfe_tag,
sc->bfe_tx_ring[i].bfe_map);
}
bus_dma_tag_destroy(sc->bfe_tag);
sc->bfe_tag = NULL;
sc->bfe_tag = NULL;
}
if(sc->bfe_parent_tag != NULL)
@ -1074,9 +1105,9 @@ bfe_txeof(struct bfe_softc *sc)
chipidx = CSR_READ_4(sc, BFE_DMATX_STAT) & BFE_STAT_CDMASK;
chipidx /= sizeof(struct bfe_desc);
i = sc->bfe_tx_cons;
i = sc->bfe_tx_cons;
/* Go through the mbufs and free those that have been transmitted */
while(i != chipidx) {
while(i != chipidx) {
struct bfe_data *r = &sc->bfe_tx_ring[i];
if(r->bfe_mbuf != NULL) {
ifp->if_opackets++;
@ -1084,8 +1115,8 @@ bfe_txeof(struct bfe_softc *sc)
r->bfe_mbuf = NULL;
bus_dmamap_unload(sc->bfe_tag, r->bfe_map);
}
sc->bfe_tx_cnt--;
BFE_INC(i, BFE_TX_LIST_CNT);
sc->bfe_tx_cnt--;
BFE_INC(i, BFE_TX_LIST_CNT);
}
if(i != sc->bfe_tx_cons) {
@ -1157,7 +1188,7 @@ bfe_rxeof(struct bfe_softc *sc)
(*ifp->if_input)(ifp, m);
BFE_LOCK(sc);
BFE_INC(cons, BFE_RX_LIST_CNT);
BFE_INC(cons, BFE_RX_LIST_CNT);
}
sc->bfe_rx_cons = cons;
BFE_UNLOCK(sc);
@ -1225,8 +1256,8 @@ bfe_encap(struct bfe_softc *sc, struct mbuf *m_head, u_int32_t *txidx)
{
struct bfe_desc *d = NULL;
struct bfe_data *r = NULL;
struct mbuf *m;
u_int32_t frag, cur, cnt = 0;
struct mbuf *m;
u_int32_t frag, cur, cnt = 0;
int chainlen = 0;
if(BFE_TX_LIST_CNT - sc->bfe_tx_cnt < 2)
@ -1273,15 +1304,20 @@ bfe_encap(struct bfe_softc *sc, struct mbuf *m_head, u_int32_t *txidx)
/* Set start of frame */
d->bfe_ctrl |= BFE_DESC_SOF;
if(cur == BFE_TX_LIST_CNT - 1)
/* Tell the chip to wrap to the start of the descriptor list */
/*
* Tell the chip to wrap to the start of
* the descriptor list
*/
d->bfe_ctrl |= BFE_DESC_EOT;
bus_dmamap_load(sc->bfe_tag, r->bfe_map, mtod(m, void*), m->m_len,
bfe_dma_map_desc, d, 0);
bus_dmamap_sync(sc->bfe_tag, r->bfe_map, BUS_DMASYNC_PREREAD);
bus_dmamap_load(sc->bfe_tag,
r->bfe_map, mtod(m, void*), m->m_len,
bfe_dma_map_desc, d, 0);
bus_dmamap_sync(sc->bfe_tag, r->bfe_map,
BUS_DMASYNC_PREREAD);
frag = cur;
BFE_INC(cur, BFE_TX_LIST_CNT);
BFE_INC(cur, BFE_TX_LIST_CNT);
cnt++;
}
}
@ -1314,8 +1350,8 @@ bfe_start(struct ifnet *ifp)
BFE_LOCK(sc);
/*
* not much point trying to send if the link is down or we have nothing to
* send
* Not much point trying to send if the link is down
* or we have nothing to send.
*/
if (!sc->bfe_link && ifp->if_snd.ifq_len < 10) {
BFE_UNLOCK(sc);
@ -1333,8 +1369,8 @@ bfe_start(struct ifnet *ifp)
break;
/*
* Pack the data into the tx ring. If we dont have enough room, let
* the chip drain the ring
* Pack the data into the tx ring. If we dont have
* enough room, let the chip drain the ring.
*/
if(bfe_encap(sc, m_head, &idx)) {
IF_PREPEND(&ifp->if_snd, m_head);
@ -1378,8 +1414,8 @@ bfe_init(void *xsc)
bfe_chip_reset(sc);
if (bfe_list_rx_init(sc) == ENOBUFS) {
printf("bfe%d: bfe_init failed. Not enough memory for list buffers\n",
sc->bfe_unit);
printf("bfe%d: bfe_init: Not enough memory for list buffers\n",
sc->bfe_unit);
bfe_stop(sc);
return;
}
@ -1473,7 +1509,8 @@ bfe_ioctl(struct ifnet *ifp, u_long command, caddr_t data)
case SIOCGIFMEDIA:
case SIOCSIFMEDIA:
mii = device_get_softc(sc->bfe_miibus);
error = ifmedia_ioctl(ifp, ifr, &mii->mii_media, command);
error = ifmedia_ioctl(ifp, ifr, &mii->mii_media,
command);
break;
default:
error = ether_ioctl(ifp, command, data);
@ -1548,7 +1585,7 @@ bfe_stop(struct bfe_softc *sc)
ifp = &sc->arpcom.ac_if;
bfe_chip_halt(sc);
bfe_tx_ring_free(sc);
bfe_tx_ring_free(sc);
bfe_rx_ring_free(sc);
ifp->if_flags &= ~(IFF_RUNNING | IFF_OACTIVE);