Date: Wed, 2 Jan 2008 17:55:10 GMT From: Hans Petter Selasky <hselasky@FreeBSD.org> To: Perforce Change Reviews <perforce@FreeBSD.org> Subject: PERFORCE change 132315 for review Message-ID: <200801021755.m02HtAYd072078@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=132315 Change 132315 by hselasky@hselasky_laptop001 on 2008/01/02 17:55:04 Some corrections and additions. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/if_zydreg.h#13 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/if_zydreg.h#13 (text+ko) ==== @@ -1066,6 +1066,7 @@ uint16_t count; } __packed; +#define ZYD_HW_PADDING 10 /* bytes */ #define ZYD_CONFIG_INDEX 0 #define ZYD_IFACE_INDEX 0 @@ -1079,7 +1080,6 @@ #define ZYD_MIN_FRAGSZ \ (sizeof(struct zyd_plcphdr) + IEEE80211_MIN_LEN + \ sizeof(struct zyd_rx_stat)) -#define ZYD_MIN_RXBUFSZ ZYD_MIN_FRAGSZ #define ZYX_MAX_RXBUFSZ \ ((sizeof (struct zyd_plcphdr) + IEEE80211_MAX_LEN + \ sizeof (struct zyd_rx_stat)) * ZYD_MAX_RXFRAMECNT + \ @@ -1140,25 +1140,28 @@ struct zyd_rf { /* RF methods */ - int (*init) (struct zyd_rf *); - int (*switch_radio) (struct zyd_rf *, int); - int (*set_channel) (struct zyd_rf *, uint8_t); - - /* RF attributes */ - struct zyd_softc *rf_sc; /* back-pointer */ - int width; + void (*cfg_init_hw) (struct zyd_softc *, struct zyd_rf *); + void (*cfg_switch_radio) (struct zyd_softc *, uint8_t on); + void (*cfg_set_channel) (struct zyd_softc *, struct zyd_rf *, uint8_t); + uint8_t width; }; -struct zyd_rq { - const uint16_t *idata; - struct zyd_pair *odata; - int len; - STAILQ_ENTRY(rq) rq; +enum { + ZYD_TR_BULK_DT_WR, + ZYD_TR_BULK_DT_RD, + ZYD_TR_BULK_CS_WR, + ZYD_TR_BULK_CS_RD, + ZYD_TR_INTR_DT_WR, + ZYD_TR_INTR_DT_RD, + ZYD_TR_INTR_CS_WR, + ZYD_TR_INTR_CS_RD, + ZYD_N_TRANSFER, }; struct zyd_softc { void *sc_evilhack; /* XXX this pointer must be first */ + struct ieee80211_amrr sc_amrr; struct ieee80211com sc_ic; struct zyd_rf sc_rf; struct usb_callout sc_watchdog; @@ -1167,8 +1170,8 @@ struct ieee80211_beacon_offsets sc_bo; struct zyd_rx_radiotap_header sc_rxtap; struct zyd_tx_radiotap_header sc_txtap; - struct zyd_rf sc_rf; - STAILQ_HEAD(rqh, zyd_rq) sc_rqh; + struct zyd_cmd sc_intr_ibuf; + struct zyd_cmd sc_intr_obuf; struct ifnet *sc_ifp; int (*sc_newstate) (struct ieee80211com *, @@ -1179,16 +1182,16 @@ uint32_t sc_rxtap_len; uint32_t sc_txtap_len; + uint32_t sc_unit; uint16_t sc_firmware_base; uint16_t sc_fw_ver; uint16_t sc_fwbase; uint16_t sc_fw_rev; - uint8_t sc_intr_obuf[ZYD_INTR_BUF_SIZE]; - uint8_t sc_intr_ibuf[ZYD_INTR_BUF_SIZE]; uint8_t sc_intr_iwakeup; uint8_t sc_intr_owakeup; + uint8_t sc_intr_ilen; uint8_t sc_intr_olen; uint8_t sc_regdomain; uint8_t sc_mac_rev; @@ -1212,5 +1215,38 @@ #define ZYD_FLAG_LL_READY 0x40 #define ZYD_FLAG_WAIT_COMMAND 0x80 + uint8_t sc_amrr_timer; + uint8_t sc_name[16]; }; + +struct zyd_config_copy { + struct { + uint32_t chan_to_ieee; + uint16_t ic_freq; + uint8_t chan_is_2ghz; + } ic_curchan; + + struct { + struct { + uint8_t chan_is_5ghz; + } ni_chan; + + uint16_t ni_intval; + uint8_t ni_bssid[IEEE80211_ADDR_LEN]; + } ic_bss; + + enum ieee80211_opmode ic_opmode; + enum ieee80211_state ic_state; + uint32_t ic_flags; + uint32_t if_flags; + + uint32_t zyd_multi_low; + uint32_t zyd_multi_high; + + uint16_t ic_txpowlimit; + uint16_t ic_curmode; + + uint8_t ic_myaddr[IEEE80211_ADDR_LEN]; + uint8_t if_broadcastaddr[IEEE80211_ADDR_LEN]; +};
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200801021755.m02HtAYd072078>