summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/cardbus/if_rl_cardbus.c55
-rw-r--r--sys/dev/ic/rtl81x9.c252
-rw-r--r--sys/dev/pci/if_rl_pci.c29
3 files changed, 143 insertions, 193 deletions
diff --git a/sys/dev/cardbus/if_rl_cardbus.c b/sys/dev/cardbus/if_rl_cardbus.c
index 7fa6adb6b00..fe9c673a6c4 100644
--- a/sys/dev/cardbus/if_rl_cardbus.c
+++ b/sys/dev/cardbus/if_rl_cardbus.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_rl_cardbus.c,v 1.17 2009/06/02 17:27:39 jsg Exp $ */
+/* $OpenBSD: if_rl_cardbus.c,v 1.18 2009/12/21 18:14:51 naddy Exp $ */
/* $NetBSD: if_rl_cardbus.c,v 1.3.8.3 2001/11/14 19:14:02 nathanw Exp $ */
/*
@@ -132,10 +132,7 @@ struct cfattach rl_cardbus_ca = {
};
int
-rl_cardbus_match(parent, match, aux)
- struct device *parent;
- void *match;
- void *aux;
+rl_cardbus_match(struct device *parent, void *match, void *aux)
{
return (cardbus_matchbyid((struct cardbus_attach_args *)aux,
rl_cardbus_devices,
@@ -144,19 +141,18 @@ rl_cardbus_match(parent, match, aux)
void
-rl_cardbus_attach(parent, self, aux)
- struct device *parent, *self;
- void *aux;
+rl_cardbus_attach(struct device *parent, struct device *self, void *aux)
{
- struct rl_cardbus_softc *csc = (struct rl_cardbus_softc *)self;
- struct rl_softc *sc = &csc->sc_rl;
- struct cardbus_attach_args *ca = aux;
- struct cardbus_softc *psc =
+ struct rl_cardbus_softc *csc =
+ (struct rl_cardbus_softc *)self;
+ struct rl_softc *sc = &csc->sc_rl;
+ struct cardbus_attach_args *ca = aux;
+ struct cardbus_softc *psc =
(struct cardbus_softc *)sc->sc_dev.dv_parent;
- cardbus_chipset_tag_t cc = psc->sc_cc;
- cardbus_function_tag_t cf = psc->sc_cf;
- cardbus_devfunc_t ct = ca->ca_ct;
- bus_addr_t adr;
+ cardbus_chipset_tag_t cc = psc->sc_cc;
+ cardbus_function_tag_t cf = psc->sc_cf;
+ cardbus_devfunc_t ct = ca->ca_ct;
+ bus_addr_t adr;
sc->sc_dmat = ca->ca_dmat;
csc->sc_ct = ct;
@@ -213,14 +209,12 @@ rl_cardbus_attach(parent, self, aux)
}
int
-rl_cardbus_detach(self, flags)
- struct device *self;
- int flags;
+rl_cardbus_detach(struct device *self, int flags)
{
- struct rl_cardbus_softc *csc = (void *) self;
- struct rl_softc *sc = &csc->sc_rl;
- struct cardbus_devfunc *ct = csc->sc_ct;
- int rv;
+ struct rl_cardbus_softc *csc = (void *) self;
+ struct rl_softc *sc = &csc->sc_rl;
+ struct cardbus_devfunc *ct = csc->sc_ct;
+ int rv;
#ifdef DIAGNOSTIC
if (ct == NULL)
@@ -246,15 +240,14 @@ rl_cardbus_detach(self, flags)
}
void
-rl_cardbus_setup(csc)
- struct rl_cardbus_softc *csc;
+rl_cardbus_setup(struct rl_cardbus_softc *csc)
{
- struct rl_softc *sc = &csc->sc_rl;
- cardbus_devfunc_t ct = csc->sc_ct;
- cardbus_chipset_tag_t cc = ct->ct_cc;
- cardbus_function_tag_t cf = ct->ct_cf;
- pcireg_t reg, command;
- int pmreg;
+ struct rl_softc *sc = &csc->sc_rl;
+ cardbus_devfunc_t ct = csc->sc_ct;
+ cardbus_chipset_tag_t cc = ct->ct_cc;
+ cardbus_function_tag_t cf = ct->ct_cf;
+ pcireg_t reg, command;
+ int pmreg;
/*
* Handle power management nonsense.
diff --git a/sys/dev/ic/rtl81x9.c b/sys/dev/ic/rtl81x9.c
index a1ec817781f..071e99c24a2 100644
--- a/sys/dev/ic/rtl81x9.c
+++ b/sys/dev/ic/rtl81x9.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: rtl81x9.c,v 1.68 2009/11/23 23:49:45 deraadt Exp $ */
+/* $OpenBSD: rtl81x9.c,v 1.69 2009/12/21 18:14:51 naddy Exp $ */
/*
* Copyright (c) 1997, 1998
@@ -172,11 +172,10 @@ int rl_list_tx_init(struct rl_softc *);
/*
* Send a read command and address to the EEPROM, check for ACK.
*/
-void rl_eeprom_putbyte(sc, addr, addr_len)
- struct rl_softc *sc;
- int addr, addr_len;
+void
+rl_eeprom_putbyte(struct rl_softc *sc, int addr, int addr_len)
{
- register int d, i;
+ int d, i;
d = (RL_EECMD_READ << addr_len) | addr;
@@ -200,13 +199,12 @@ void rl_eeprom_putbyte(sc, addr, addr_len)
/*
* Read a word of data stored in the EEPROM at address 'addr.'
*/
-void rl_eeprom_getword(sc, addr, addr_len, dest)
- struct rl_softc *sc;
- int addr, addr_len;
- u_int16_t *dest;
+void
+rl_eeprom_getword(struct rl_softc *sc, int addr, int addr_len,
+ u_int16_t *dest)
{
- register int i;
- u_int16_t word = 0;
+ int i;
+ u_int16_t word = 0;
/* Enter EEPROM access mode. */
CSR_WRITE_1(sc, RL_EECMD, RL_EEMODE_PROGRAM|RL_EE_SEL);
@@ -239,16 +237,12 @@ void rl_eeprom_getword(sc, addr, addr_len, dest)
/*
* Read a sequence of words from the EEPROM.
*/
-void rl_read_eeprom(sc, dest, off, addr_len, cnt, swap)
- struct rl_softc *sc;
- caddr_t dest;
- int off;
- int addr_len;
- int cnt;
- int swap;
+void
+rl_read_eeprom(struct rl_softc *sc, caddr_t dest, int off, int addr_len,
+ int cnt, int swap)
{
- int i;
- u_int16_t word = 0, *ptr;
+ int i;
+ u_int16_t word = 0, *ptr;
for (i = 0; i < cnt; i++) {
rl_eeprom_getword(sc, off + i, addr_len, &word);
@@ -277,10 +271,10 @@ void rl_read_eeprom(sc, dest, off, addr_len, cnt, swap)
/*
* Sync the PHYs by setting data bit and strobing the clock 32 times.
*/
-void rl_mii_sync(sc)
- struct rl_softc *sc;
+void
+rl_mii_sync(struct rl_softc *sc)
{
- register int i;
+ int i;
MII_SET(RL_MII_DIR|RL_MII_DATAOUT);
@@ -295,12 +289,10 @@ void rl_mii_sync(sc)
/*
* Clock a series of bits through the MII.
*/
-void rl_mii_send(sc, bits, cnt)
- struct rl_softc *sc;
- u_int32_t bits;
- int cnt;
+void
+rl_mii_send(struct rl_softc *sc, u_int32_t bits, int cnt)
{
- int i;
+ int i;
MII_CLR(RL_MII_CLK);
@@ -319,11 +311,10 @@ void rl_mii_send(sc, bits, cnt)
/*
* Read an PHY register through the MII.
*/
-int rl_mii_readreg(sc, frame)
- struct rl_softc *sc;
- struct rl_mii_frame *frame;
+int
+rl_mii_readreg(struct rl_softc *sc, struct rl_mii_frame *frame)
{
- int i, ack, s;
+ int i, ack, s;
s = splnet();
@@ -411,11 +402,10 @@ fail:
/*
* Write to a PHY register through the MII.
*/
-int rl_mii_writereg(sc, frame)
- struct rl_softc *sc;
- struct rl_mii_frame *frame;
+int
+rl_mii_writereg(struct rl_softc *sc, struct rl_mii_frame *frame)
{
- int s;
+ int s;
s = splnet();
/*
@@ -456,8 +446,8 @@ int rl_mii_writereg(sc, frame)
return(0);
}
-void rl_iff(sc)
- struct rl_softc *sc;
+void
+rl_iff(struct rl_softc *sc)
{
struct ifnet *ifp = &sc->sc_arpcom.ac_if;
int h = 0;
@@ -509,10 +499,9 @@ void rl_iff(sc)
}
void
-rl_reset(sc)
- struct rl_softc *sc;
+rl_reset(struct rl_softc *sc)
{
- register int i;
+ int i;
CSR_WRITE_1(sc, RL_COMMAND, RL_CMD_RESET);
@@ -530,13 +519,11 @@ rl_reset(sc)
* Initialize the transmit descriptors.
*/
int
-rl_list_tx_init(sc)
- struct rl_softc *sc;
+rl_list_tx_init(struct rl_softc *sc)
{
- struct rl_chain_data *cd;
+ struct rl_chain_data *cd = &sc->rl_cdata;
int i;
- cd = &sc->rl_cdata;
for (i = 0; i < RL_TX_LIST_CNT; i++) {
cd->rl_tx_chain[i] = NULL;
CSR_WRITE_4(sc,
@@ -577,20 +564,17 @@ rl_list_tx_init(sc)
* 2-byte backstep even if reading from the ring at offset 0.
*/
void
-rl_rxeof(sc)
- struct rl_softc *sc;
+rl_rxeof(struct rl_softc *sc)
{
- struct mbuf *m;
- struct ifnet *ifp;
- int total_len;
- u_int32_t rxstat;
- caddr_t rxbufpos;
- int wrap = 0;
- u_int16_t cur_rx;
- u_int16_t limit;
- u_int16_t rx_bytes = 0, max_bytes;
-
- ifp = &sc->sc_arpcom.ac_if;
+ struct ifnet *ifp = &sc->sc_arpcom.ac_if;
+ struct mbuf *m;
+ int total_len;
+ u_int32_t rxstat;
+ caddr_t rxbufpos;
+ int wrap = 0;
+ u_int16_t cur_rx;
+ u_int16_t limit;
+ u_int16_t rx_bytes = 0, max_bytes;
cur_rx = (CSR_READ_2(sc, RL_CURRXADDR) + 16) % RL_RXBUFLEN;
@@ -602,7 +586,7 @@ rl_rxeof(sc)
else
max_bytes = limit - cur_rx;
- while((CSR_READ_1(sc, RL_COMMAND) & RL_CMD_EMPTY_RXBUF) == 0) {
+ while ((CSR_READ_1(sc, RL_COMMAND) & RL_CMD_EMPTY_RXBUF) == 0) {
bus_dmamap_sync(sc->sc_dmat, sc->sc_rx_dmamap,
0, sc->sc_rx_dmamap->dm_mapsize, BUS_DMASYNC_POSTREAD);
rxbufpos = sc->rl_cdata.rl_rx_buf + cur_rx;
@@ -718,13 +702,11 @@ rl_rxeof(sc)
* A frame was downloaded to the chip. It's safe for us to clean up
* the list buffers.
*/
-void rl_txeof(sc)
- struct rl_softc *sc;
+void
+rl_txeof(struct rl_softc *sc)
{
- struct ifnet *ifp;
- u_int32_t txstat;
-
- ifp = &sc->sc_arpcom.ac_if;
+ struct ifnet *ifp = &sc->sc_arpcom.ac_if;
+ u_int32_t txstat;
/*
* Go through our tx list and free mbufs for those
@@ -781,16 +763,13 @@ void rl_txeof(sc)
ifp->if_timer = 5;
}
-int rl_intr(arg)
- void *arg;
+int
+rl_intr(void *arg)
{
- struct rl_softc *sc;
- struct ifnet *ifp;
- int claimed = 0;
- u_int16_t status;
-
- sc = arg;
- ifp = &sc->sc_arpcom.ac_if;
+ struct rl_softc *sc = arg;
+ struct ifnet *ifp = &sc->sc_arpcom.ac_if;
+ int claimed = 0;
+ u_int16_t status;
/* Disable interrupts. */
CSR_WRITE_2(sc, RL_IMR, 0x0000);
@@ -828,11 +807,10 @@ int rl_intr(arg)
* Encapsulate an mbuf chain in a descriptor by coupling the mbuf data
* pointers to the fragment pointers.
*/
-int rl_encap(sc, m_head)
- struct rl_softc *sc;
- struct mbuf *m_head;
+int
+rl_encap(struct rl_softc *sc, struct mbuf *m_head)
{
- struct mbuf *m_new;
+ struct mbuf *m_new;
/*
* The RealTek is brain damaged and wants longword-aligned
@@ -887,17 +865,14 @@ int rl_encap(sc, m_head)
/*
* Main transmit routine.
*/
-
-void rl_start(ifp)
- struct ifnet *ifp;
+void
+rl_start(struct ifnet *ifp)
{
- struct rl_softc *sc;
- struct mbuf *m_head = NULL;
- int pkts = 0;
+ struct rl_softc *sc = ifp->if_softc;
+ struct mbuf *m_head = NULL;
+ int pkts = 0;
- sc = ifp->if_softc;
-
- while(RL_CUR_TXMBUF(sc) == NULL) {
+ while (RL_CUR_TXMBUF(sc) == NULL) {
IFQ_DEQUEUE(&ifp->if_snd, m_head);
if (m_head == NULL)
break;
@@ -932,6 +907,7 @@ void rl_start(ifp)
*/
ifp->if_timer = 5;
}
+
if (pkts == 0)
return;
@@ -944,12 +920,12 @@ void rl_start(ifp)
ifp->if_flags |= IFF_OACTIVE;
}
-void rl_init(xsc)
- void *xsc;
+void
+rl_init(void *xsc)
{
- struct rl_softc *sc = xsc;
- struct ifnet *ifp = &sc->sc_arpcom.ac_if;
- int s;
+ struct rl_softc *sc = xsc;
+ struct ifnet *ifp = &sc->sc_arpcom.ac_if;
+ int s;
s = splnet();
@@ -1021,8 +997,8 @@ void rl_init(xsc)
/*
* Set media options.
*/
-int rl_ifmedia_upd(ifp)
- struct ifnet *ifp;
+int
+rl_ifmedia_upd(struct ifnet *ifp)
{
struct rl_softc *sc = (struct rl_softc *)ifp->if_softc;
@@ -1033,9 +1009,8 @@ int rl_ifmedia_upd(ifp)
/*
* Report current media status.
*/
-void rl_ifmedia_sts(ifp, ifmr)
- struct ifnet *ifp;
- struct ifmediareq *ifmr;
+void
+rl_ifmedia_sts(struct ifnet *ifp, struct ifmediareq *ifmr)
{
struct rl_softc *sc = ifp->if_softc;
@@ -1044,15 +1019,13 @@ void rl_ifmedia_sts(ifp, ifmr)
ifmr->ifm_active = sc->sc_mii.mii_media_active;
}
-int rl_ioctl(ifp, command, data)
- struct ifnet *ifp;
- u_long command;
- caddr_t data;
+int
+rl_ioctl(struct ifnet *ifp, u_long command, caddr_t data)
{
- struct rl_softc *sc = ifp->if_softc;
- struct ifreq *ifr = (struct ifreq *) data;
- struct ifaddr *ifa = (struct ifaddr *) data;
- int s, error = 0;
+ struct rl_softc *sc = ifp->if_softc;
+ struct ifreq *ifr = (struct ifreq *) data;
+ struct ifaddr *ifa = (struct ifaddr *) data;
+ int s, error = 0;
s = splnet();
@@ -1064,7 +1037,7 @@ int rl_ioctl(ifp, command, data)
#ifdef INET
if (ifa->ifa_addr->sa_family == AF_INET)
arp_ifinit(&sc->sc_arpcom, ifa);
-#endif /* INET */
+#endif
break;
case SIOCSIFFLAGS:
@@ -1098,12 +1071,10 @@ int rl_ioctl(ifp, command, data)
return(error);
}
-void rl_watchdog(ifp)
- struct ifnet *ifp;
+void
+rl_watchdog(struct ifnet *ifp)
{
- struct rl_softc *sc;
-
- sc = ifp->if_softc;
+ struct rl_softc *sc = ifp->if_softc;
printf("%s: watchdog timeout\n", sc->sc_dev.dv_xname);
ifp->if_oerrors++;
@@ -1116,13 +1087,12 @@ void rl_watchdog(ifp)
* Stop the adapter and free any mbufs allocated to the
* RX and TX lists.
*/
-void rl_stop(sc)
- struct rl_softc *sc;
+void
+rl_stop(struct rl_softc *sc)
{
- register int i;
- struct ifnet *ifp;
+ struct ifnet *ifp = &sc->sc_arpcom.ac_if;
+ int i;
- ifp = &sc->sc_arpcom.ac_if;
ifp->if_timer = 0;
timeout_del(&sc->sc_tick_tmo);
@@ -1152,14 +1122,13 @@ void rl_stop(sc)
}
int
-rl_attach(sc)
- struct rl_softc *sc;
+rl_attach(struct rl_softc *sc)
{
- struct ifnet *ifp = &sc->sc_arpcom.ac_if;
- int rseg, i;
- u_int16_t rl_id, rl_did;
- caddr_t kva;
- int addr_len;
+ struct ifnet *ifp = &sc->sc_arpcom.ac_if;
+ int rseg, i;
+ u_int16_t rl_id, rl_did;
+ caddr_t kva;
+ int addr_len;
rl_reset(sc);
@@ -1284,22 +1253,18 @@ rl_attach(sc)
}
void
-rl_powerhook(why, arg)
- int why;
- void *arg;
+rl_powerhook(int why, void *arg)
{
if (why == PWR_RESUME)
rl_init(arg);
}
int
-rl_miibus_readreg(self, phy, reg)
- struct device *self;
- int phy, reg;
+rl_miibus_readreg(struct device *self, int phy, int reg)
{
- struct rl_softc *sc = (struct rl_softc *)self;
- struct rl_mii_frame frame;
- u_int16_t rl8139_reg;
+ struct rl_softc *sc = (struct rl_softc *)self;
+ struct rl_mii_frame frame;
+ u_int16_t rl8139_reg;
if (sc->rl_type == RL_8139) {
/*
@@ -1345,13 +1310,11 @@ rl_miibus_readreg(self, phy, reg)
}
void
-rl_miibus_writereg(self, phy, reg, val)
- struct device *self;
- int phy, reg, val;
+rl_miibus_writereg(struct device *self, int phy, int reg, int val)
{
- struct rl_softc *sc = (struct rl_softc *)self;
- struct rl_mii_frame frame;
- u_int16_t rl8139_reg = 0;
+ struct rl_softc *sc = (struct rl_softc *)self;
+ struct rl_mii_frame frame;
+ u_int16_t rl8139_reg = 0;
if (sc->rl_type == RL_8139) {
if (phy)
@@ -1389,28 +1352,27 @@ rl_miibus_writereg(self, phy, reg, val)
}
void
-rl_miibus_statchg(self)
- struct device *self;
+rl_miibus_statchg(struct device *self)
{
}
void
-rl_tick(v)
- void *v;
+rl_tick(void *v)
{
- struct rl_softc *sc = v;
- int s;
+ struct rl_softc *sc = v;
+ int s;
s = splnet();
mii_tick(&sc->sc_mii);
splx(s);
+
timeout_add_sec(&sc->sc_tick_tmo, 1);
}
int
rl_detach(struct rl_softc *sc)
{
- struct ifnet *ifp = &sc->sc_arpcom.ac_if;
+ struct ifnet *ifp = &sc->sc_arpcom.ac_if;
/* Unhook our tick handler. */
timeout_del(&sc->sc_tick_tmo);
diff --git a/sys/dev/pci/if_rl_pci.c b/sys/dev/pci/if_rl_pci.c
index 69aa2d6a2c9..fb7180e9094 100644
--- a/sys/dev/pci/if_rl_pci.c
+++ b/sys/dev/pci/if_rl_pci.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_rl_pci.c,v 1.17 2009/06/02 17:27:39 jsg Exp $ */
+/* $OpenBSD: if_rl_pci.c,v 1.18 2009/12/21 18:14:51 naddy Exp $ */
/*
* Copyright (c) 1997, 1998
@@ -114,10 +114,7 @@ const struct pci_matchid rl_pci_devices[] = {
};
int
-rl_pci_match(parent, match, aux)
- struct device *parent;
- void *match;
- void *aux;
+rl_pci_match(struct device *parent, void *match, void *aux)
{
struct pci_attach_args *pa = aux;
@@ -131,16 +128,14 @@ rl_pci_match(parent, match, aux)
}
void
-rl_pci_attach(parent, self, aux)
- struct device *parent, *self;
- void *aux;
+rl_pci_attach(struct device *parent, struct device *self, void *aux)
{
- struct rl_pci_softc *psc = (void *)self;
- struct rl_softc *sc = &psc->psc_softc;
- struct pci_attach_args *pa = aux;
- pci_chipset_tag_t pc = pa->pa_pc;
- pci_intr_handle_t ih;
- const char *intrstr = NULL;
+ struct rl_pci_softc *psc = (void *)self;
+ struct rl_softc *sc = &psc->psc_softc;
+ struct pci_attach_args *pa = aux;
+ pci_chipset_tag_t pc = pa->pa_pc;
+ pci_intr_handle_t ih;
+ const char *intrstr = NULL;
/*
* Map control/status registers.
@@ -191,9 +186,9 @@ rl_pci_attach(parent, self, aux)
int
rl_pci_detach(struct device *self, int flags)
{
- struct rl_pci_softc *psc = (void *)self;
- struct rl_softc *sc = &psc->psc_softc;
- int rv;
+ struct rl_pci_softc *psc = (void *)self;
+ struct rl_softc *sc = &psc->psc_softc;
+ int rv;
rv = rl_detach(sc);
if (rv)