Lines Matching refs:dp

143 #define	OUTB(dp, p, v, errp, label)	\
144 if ((*(errp) = usbgem_ctrl_out_val((dp), \
153 #define OUTW(dp, p, v, errp, label) \
154 if ((*(errp) = usbgem_ctrl_out_val((dp), \
164 #define OUTS(dp, p, buf, len, errp, label) \
165 if ((*(errp) = usbgem_ctrl_out((dp), \
176 #define IN(dp, p, vp, errp, label) \
177 if ((*(errp) = usbgem_ctrl_in_val((dp), \
186 #define INS(dp, p, buf, len, errp, label) \
187 if ((*(errp) = usbgem_ctrl_in((dp), \
210 urf_reset_chip(struct usbgem_dev *dp)
215 struct urf_dev *lp = dp->private;
217 DPRINTF(0, (CE_CONT, "!%s: %s: called", dp->name, __func__));
220 OUTB(dp, CR, lp->cr | CR_SOFT_RST, &err, usberr);
223 IN(dp, CR, &reg, &err, usberr);
229 cmn_err(CE_WARN, "%s: failed to reset: timeout", dp->name);
233 cmn_err(CE_NOTE, "!%s: %s: usberr detected", dp->name, __func__);
241 urf_init_chip(struct usbgem_dev *dp)
246 struct urf_dev *lp = dp->private;
248 DPRINTF(0, (CE_CONT, "!%s: %s: called", dp->name, __func__));
256 OUTB(dp, CR, lp->cr, &err, usberr);
259 OUTB(dp, TCR, TCR_IFG_802_3, &err, usberr);
263 OUTW(dp, RCR, lp->rcr, &err, usberr);
266 err = urf_set_media(dp);
271 DPRINTF(2, (CE_CONT, "!%s: %s: end (success)", dp->name, __func__));
275 cmn_err(CE_NOTE, "!%s: %s: usberr detected", dp->name, __func__);
280 urf_start_chip(struct usbgem_dev *dp)
282 struct urf_dev *lp = dp->private;
289 urf_stop_chip(struct usbgem_dev *dp)
291 return (urf_reset_chip(dp));
295 urf_get_stats(struct usbgem_dev *dp)
302 urf_mcast_hash(struct usbgem_dev *dp, const uint8_t *addr)
308 urf_set_rx_filter(struct usbgem_dev *dp)
315 struct urf_dev *lp = dp->private;
318 dp->name, __func__, dp->rxmode));
324 OUTW(dp, RCR, lp->rcr, &err, usberr);
327 OUTW(dp, RCR, lp->rcr | RCR_AAM | RCR_AAP, &err, usberr);
335 if (dp->rxmode & RXMODE_PROMISC) {
338 } else if ((dp->rxmode & RXMODE_ALLMULTI) || dp->mc_count > 64/2) {
341 } else if (dp->mc_count > 0) {
347 for (i = 0; i < dp->mc_count; i++) {
350 h = dp->mc_list[i].hash >> (32 - 6);
357 OUTS(dp, IDR, dp->cur_addr.ether_addr_octet, ETHERADDRL, &err, usberr);
362 OUTS(dp, MAR, mhash, sizeof (mhash), &err, usberr);
365 OUTW(dp, RCR, lp->rcr, &err, usberr);
368 IN(dp, RCR, &rcr, &err, usberr);
370 dp->name, __func__, rcr, RCR_BITS);
375 cmn_err(CE_NOTE, "!%s: %s: usberr detected", dp->name, __func__);
380 urf_set_media(struct usbgem_dev *dp)
385 struct urf_dev *lp = dp->private;
387 DPRINTF(2, (CE_CONT, "!%s: %s: called", dp->name, __func__));
394 IN(dp, MSR, &old, &err, usberr);
399 switch (dp->flow_control) {
418 OUTB(dp, MSR, new, &err, usberr);
420 DPRINTF(2, (CE_CONT, "!%s: %s: returned", dp->name, __func__));
424 cmn_err(CE_NOTE, "!%s: %s: usberr detected", dp->name, __func__);
432 urf_tx_make_packet(struct usbgem_dev *dp, mblk_t *mp)
478 urf_dump_packet(struct usbgem_dev *dp, uint8_t *bp, int n)
489 urf_rx_make_packet(struct usbgem_dev *dp, mblk_t *mp)
499 dp->name, ddi_get_lbolt(), __func__, len, mp->b_cont));
502 urf_dump_packet(dp, mp->b_rptr, max(6, len));
507 dp->stats.runt++;
508 dp->stats.errrcv++;
518 dp->name, __func__, rxhd, RXHD_BITS, len));
523 dp->name, __func__, rxhd, RXHD_BITS));
525 dp->stats.runt++;
528 dp->stats.errrcv++;
535 dp->stats.frame_too_long++;
536 dp->stats.errrcv++;
539 dp->stats.runt++;
540 dp->stats.errrcv++;
553 urf_mii_read(struct usbgem_dev *dp, uint_t index, int *errp)
559 dp->name, __func__, index));
588 IN(dp, reg, &val, errp, usberr);
596 IN(dp, MSR, &msr, errp, usberr);
608 "!%s: %s: usberr(%d) detected", dp->name, __func__, *errp);
614 urf_mii_write(struct usbgem_dev *dp, uint_t index, uint16_t val, int *errp)
618 DPRINTF(5, (CE_CONT, "!%s: %s called", dp->name, __func__));
647 OUTW(dp, reg, val, errp, usberr);
658 urf_eeprom_dump(struct usbgem_dev *dp, int size)
664 cmn_err(CE_CONT, "!%s: eeprom dump:", dp->name);
666 IN(dp, i + 0, &w0, &err, usberr);
667 IN(dp, i + 2, &w1, &err, usberr);
668 IN(dp, i + 4, &w2, &err, usberr);
669 IN(dp, i + 6, &w3, &err, usberr);
678 urf_attach_chip(struct usbgem_dev *dp)
685 struct urf_dev *lp = dp->private;
690 IN(dp, URF_EEPROM_BASE + 9, &old, &err, usberr);
692 DPRINTF(0, (CE_CONT, "!%s: eeprom offset 9: %02x", dp->name, old));
694 if (dp->ugc.usbgc_flow_control != FLOW_CONTROL_NONE) {
703 OUTB(dp, CR, lp->cr | CR_WEPROM, &err, usberr);
706 IN(dp, URF_EEPROM_BASE + 8, &reg, &err, usberr);
709 OUTW(dp, URF_EEPROM_BASE + 8, new, &err, usberr);
712 OUTB(dp, CR, lp->cr, &err, usberr);
718 OUTB(dp, CR, lp->cr | CR_AUTOLOAD, &err, usberr);
722 IN(dp, CR, &reg, &err, usberr);
729 dp->name, __func__);
736 INS(dp, IDR, dp->dev_addr.ether_addr_octet, ETHERADDRL, &err, usberr);
739 dp->mii_phy_addr = -1;
742 urf_eeprom_dump(dp, 0x80);
746 dp->misc_flag = USBGEM_VLAN;
751 cmn_err(CE_WARN, "%s: urf_attach_chip: usb error detected", dp->name);
764 struct usbgem_dev *dp;
865 dp = usbgem_do_attach(dip, ugcp, lp, sizeof (struct urf_dev));
869 if (dp != NULL) {