PERFORCE change 132247 for review

Hans Petter Selasky hselasky at FreeBSD.org
Tue Jan 1 05:41:28 PST 2008


http://perforce.freebsd.org/chv.cgi?CH=132247

Change 132247 by hselasky at hselasky_laptop001 on 2008/01/01 13:40:51

	
	Update "zyd_softc" and remove some unused structures.

Affected files ...

.. //depot/projects/usb/src/sys/dev/usb/if_zydreg.h#11 edit

Differences ...

==== //depot/projects/usb/src/sys/dev/usb/if_zydreg.h#11 (text+ko) ====

@@ -1067,10 +1067,7 @@
 } __packed;
 
 
-#define	ZYD_RX_LIST_CNT	1
-#define	ZYD_TX_LIST_CNT	1
-
-#define	ZYD_CONFIG_NO		1
+#define	ZYD_CONFIG_INDEX	0
 #define	ZYD_IFACE_INDEX		0
 
 #define	ZYD_INTR_TIMEOUT	1000
@@ -1104,20 +1101,6 @@
 	uint32_t val;
 };
 
-struct zyd_tx_data {
-	struct zyd_softc *sc;
-	usbd_xfer_handle xfer;
-	uint8_t *buf;
-	struct ieee80211_node *ni;
-	struct mbuf *m;
-};
-
-struct zyd_rx_data {
-	struct zyd_softc *sc;
-	usbd_xfer_handle xfer;
-	const uint8_t *buf;
-};
-
 struct zyd_node {
 	struct ieee80211_node ni;	/* must be the first */
 	struct ieee80211_amrr_node amn;
@@ -1166,7 +1149,7 @@
 	int	width;
 };
 
-struct rq {
+struct zyd_rq {
 	const uint16_t *idata;
 	struct zyd_pair *odata;
 	int	len;
@@ -1174,78 +1157,60 @@
 };
 
 struct zyd_softc {
-	device_t sc_dev;
-	struct ifnet *sc_ifp;
+	void   *sc_evilhack;		/* XXX this pointer must be first */
+
 	struct ieee80211com sc_ic;
-	int     (*sc_newstate) (struct ieee80211com *,
-	    	enum	ieee80211_state, int);
 	struct zyd_rf sc_rf;
-
-	struct usb_task sc_task;
-	struct usb_task sc_scantask;
-	int	sc_scan_action;
-#define	ZYD_SCAN_START	0
-#define	ZYD_SCAN_END	1
-#define	ZYD_SET_CHANNEL	2
-	usbd_device_handle sc_udev;
-	usbd_interface_handle sc_iface;
-	int	sc_flags;
-	int	sc_if_flags;
-#define	ZD1211_FWLOADED (1 << 0)
-
-
-	enum ieee80211_state sc_state;
-	int	sc_arg;
-
+	struct usb_callout sc_watchdog;
 	struct mtx sc_mtx;
-	struct callout sc_amrr_ch;
-	struct callout sc_watchdog_ch;
+	struct usbd_config_td sc_config_td;
+	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 ieee80211_amrr amrr;
+	struct ifnet *sc_ifp;
+	int     (*sc_newstate) (struct ieee80211com *,
+	    	enum	ieee80211_state, int);
+	struct usbd_device *sc_udev;
+	struct usbd_xfer *sc_xfer[ZYD_N_TRANSFER];
+	struct bpf_if *sc_drvbpf;
 
-		STAILQ_HEAD(rqh, rq) sc_rqh;
+	uint32_t sc_rxtap_len;
+	uint32_t sc_txtap_len;
 
-	uint16_t fwbase;
-	uint8_t	regdomain;
-	uint8_t	mac_rev;
-	uint16_t fw_rev;
-	uint8_t	rf_rev;
-	uint8_t	pa_rev;
-	uint8_t	fix_cr47;
-	uint8_t	fix_cr157;
-	uint8_t	pwr_cal[14];
-	uint8_t	pwr_int[14];
-	uint8_t	ofdm36_cal[14];
-	uint8_t	ofdm48_cal[14];
-	uint8_t	ofdm54_cal[14];
+	uint16_t sc_firmware_base;
+	uint16_t sc_fw_ver;
+	uint16_t sc_fwbase;
+	uint16_t sc_fw_rev;
 
-#define	ZYD_ENDPT_BOUT	0
-#define	ZYD_ENDPT_BIN	1
-#define	ZYD_ENDPT_IIN	2
-#define	ZYD_ENDPT_IOUT	3
-#define	ZYD_ENDPT_CNT	4
-	usbd_pipe_handle zyd_ep[ZYD_ENDPT_CNT];
-	uint8_t *ibuf;
+	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_olen;
+	uint8_t	sc_regdomain;
+	uint8_t	sc_mac_rev;
+	uint8_t	sc_rf_rev;
+	uint8_t	sc_pa_rev;
+	uint8_t	sc_fix_cr47;
+	uint8_t	sc_fix_cr157;
+	uint8_t	sc_pwr_cal[14];
+	uint8_t	sc_pwr_int[14];
+	uint8_t	sc_ofdm36_cal[14];
+	uint8_t	sc_ofdm48_cal[14];
+	uint8_t	sc_ofdm54_cal[14];
 
-	struct zyd_rx_data rx_data[ZYD_RX_LIST_CNT];
-	struct zyd_tx_data tx_data[ZYD_TX_LIST_CNT];
-	int	tx_queued;
+	uint8_t	sc_flags;
+#define	ZYD_FLAG_INTR_READ_STALL	0x01
+#define	ZYD_FLAG_INTR_WRITE_STALL	0x02
+#define	ZYD_FLAG_BULK_READ_STALL	0x04
+#define	ZYD_FLAG_BULK_WRITE_STALL	0x08
+#define	ZYD_FLAG_TX_BEACON		0x10
+#define	ZYD_FLAG_HL_READY		0x20
+#define	ZYD_FLAG_LL_READY		0x40
+#define	ZYD_FLAG_WAIT_COMMAND		0x80
 
-	int	tx_timer;
-
-	struct bpf_if *sc_drvbpf;
-
-	struct zyd_rx_radiotap_header sc_rxtap;
-	int	sc_rxtap_len;
-
-	struct zyd_tx_radiotap_header sc_txtap;
-	int	sc_txtap_len;
+	uint8_t	sc_name[16];
 };
-
-#if 0
-#define	ZYD_LOCK(sc)    mtx_lock(&(sc)->sc_mtx)
-#define	ZYD_UNLOCK(sc)  mtx_unlock(&(sc)->sc_mtx)
-#else
-#define	ZYD_LOCK(sc)    do { ((sc) = (sc)); mtx_lock(&Giant); } while (0)
-#define	ZYD_UNLOCK(sc)  mtx_unlock(&Giant)
-#endif


More information about the p4-projects mailing list