Skip site navigation (1)Skip section navigation (2)
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>