[PATCH 4/4] rt2x00-d80211: Add wireless statistics (compile tested only)

2006-11-02 Thread Larry Finger
These patches modify the rt2x00-d80211 family of drivers to use
the wireless statics added in patch 1.

Signed-Off-By: Larry [EMAIL PROTECTED]
Index: wireless-dev/drivers/net/wireless/d80211/rt2x00/rt2400pci.c
===
--- wireless-dev.orig/drivers/net/wireless/d80211/rt2x00/rt2400pci.c
+++ wireless-dev/drivers/net/wireless/d80211/rt2x00/rt2400pci.c
@@ -1695,6 +1695,14 @@ static void rt2400pci_rxdone(void *data)
rt2x00dev-rx_params.ssi =
rt2x00_get_field32(rxd-word2, RXD_W2_RSSI);
 
+/* FIXME: The following set of assignments supply additional data for wireless 
statistics. The
+  necessary quantities are (1) the noise value in dBm, and (2) the 
signal value in dBm.
+  The present code supplies dummy values for these quantities. */
+
+   rt2x00dev-rx_params.noise = -85;   /* FIXME */
+   rt2x00dev-rx_params.signal =
+   rt2x00dev-rx_params.ssi - RT2X00_RX_MAX_SSI; 
/* FIXME */
+
__ieee80211_rx(ring-net_dev,
skb, rt2x00dev-rx_params);
}
@@ -2581,6 +2589,7 @@ static int rt2400pci_init_hw(struct rt2x
hw-device_strips_mic = 0;
hw-monitor_during_oper = 1;
hw-fraglist = 0;
+   hw-maxssi = RT2X00_RX_MAX_SSI;
 
/*
 * We have 2 TX queues: TX and PRIO.
Index: wireless-dev/drivers/net/wireless/d80211/rt2x00/rt2500pci.c
===
--- wireless-dev.orig/drivers/net/wireless/d80211/rt2x00/rt2500pci.c
+++ wireless-dev/drivers/net/wireless/d80211/rt2x00/rt2500pci.c
@@ -1841,6 +1841,14 @@ static void rt2500pci_rxdone(void *data)
rt2x00dev-rx_params.ssi =
rt2x00_get_field32(rxd-word2, RXD_W2_RSSI);
 
+/* FIXME: The following set of assignments supply additional data for wireless 
statistics. The
+  necessary quantities are (1) the noise value in dBm, and (2) the 
signal value in dBm.
+  The present code supplies dummy values for these quantities. */
+
+   rt2x00dev-rx_params.noise = -85;   /* FIXME */
+   rt2x00dev-rx_params.signal =
+   rt2x00dev-rx_params.ssi - RT2X00_RX_MAX_SSI; 
/* FIXME */
+
__ieee80211_rx(ring-net_dev,
skb, rt2x00dev-rx_params);
 
@@ -2735,6 +2743,7 @@ static int rt2500pci_init_hw(struct rt2x
hw-device_strips_mic = 0;
hw-monitor_during_oper = 1;
hw-fraglist = 0;
+   hw-maxssi = RT2X00_RX_MAX_SSI;
 
/*
 * We have 2 TX queues: TX and PRIO.
Index: wireless-dev/drivers/net/wireless/d80211/rt2x00/rt2500usb.c
===
--- wireless-dev.orig/drivers/net/wireless/d80211/rt2x00/rt2500usb.c
+++ wireless-dev/drivers/net/wireless/d80211/rt2x00/rt2500usb.c
@@ -1627,6 +1627,14 @@ static void rt2500usb_rxdone(void *data)
rt2x00dev-rx_params.ssi =
rt2x00_get_field32(rxd-word1, RXD_W1_RSSI);
 
+/* FIXME: The following set of assignments supply additional data for wireless 
statistics. The
+ necessary quantities are (1) the noise value in dBm, and (2) the 
signal value in dBm.
+ The present code supplies dummy values for these quantities. */
+
+   rt2x00dev-rx_params.noise = -85;   /* FIXME */
+   rt2x00dev-rx_params.signal =
+   rt2x00dev-rx_params.ssi - RT2X00_RX_MAX_SSI; 
/* FIXME */
+
__ieee80211_rx(ring-net_dev,
skb, rt2x00dev-rx_params);
 
@@ -2423,6 +2431,7 @@ static int rt2500usb_init_hw(struct rt2x
hw-device_strips_mic = 0;
hw-monitor_during_oper = 1;
hw-fraglist = 0;
+   hw-maxssi = RT2X00_RX_MAX_SSI;
 
/*
 * We have 2 TX queues: TX and PRIO.
Index: wireless-dev/drivers/net/wireless/d80211/rt2x00/rt2x00.h
===
--- wireless-dev.orig/drivers/net/wireless/d80211/rt2x00/rt2x00.h
+++ wireless-dev/drivers/net/wireless/d80211/rt2x00/rt2x00.h
@@ -850,6 +850,8 @@ struct rt2x00_dev {
 #define CONFIG_DOUBLE_ANTENNA  0x0001
 #define CONFIG_DISABLE_BBP_TUNING  0x0002
 
+#define RT2X00_RX_MAX_SSI  100
+
/*
 * Chipset identification.
 */
Index: wireless-dev/drivers/net/wireless/d80211/rt2x00/rt61pci.c
===
--- wireless-dev.orig/drivers/net/wireless/d80211/rt2x00/rt61pci.c
+++ wireless-dev/drivers/net/wireless/d80211/rt2x00/rt61pci.c
@@ -2285,6 +2285,14 @@ static void rt61pci_rxdone(void *data)
rt2x00dev-rx_params.ssi =
  

Re: [Rt2400-devel] [PATCH 4/4] rt2x00-d80211: Add wireless statistics (compile tested only)

2006-11-02 Thread Ivo van Doorn
On Thursday 02 November 2006 19:48, Larry Finger wrote:
 These patches modify the rt2x00-d80211 family of drivers to use
 the wireless statics added in patch 1.
 
 Signed-Off-By: Larry [EMAIL PROTECTED]

I will put the search for the correct values on my TODO list,
but that needs some heavy legacy driver research.
But these values seem sane enough for me. ;)

Signed-Off-By: Ivo van Doorn [EMAIL PROTECTED]

 Index: wireless-dev/drivers/net/wireless/d80211/rt2x00/rt2400pci.c
 ===
 --- wireless-dev.orig/drivers/net/wireless/d80211/rt2x00/rt2400pci.c
 +++ wireless-dev/drivers/net/wireless/d80211/rt2x00/rt2400pci.c
 @@ -1695,6 +1695,14 @@ static void rt2400pci_rxdone(void *data)
   rt2x00dev-rx_params.ssi =
   rt2x00_get_field32(rxd-word2, RXD_W2_RSSI);
  
 +/* FIXME: The following set of assignments supply additional data for 
 wireless statistics. The
 +  necessary quantities are (1) the noise value in dBm, and (2) the 
 signal value in dBm.
 +  The present code supplies dummy values for these quantities. */
 +
 + rt2x00dev-rx_params.noise = -85;   /* FIXME */
 + rt2x00dev-rx_params.signal =
 + rt2x00dev-rx_params.ssi - RT2X00_RX_MAX_SSI; 
 /* FIXME */
 +
   __ieee80211_rx(ring-net_dev,
   skb, rt2x00dev-rx_params);
   }
 @@ -2581,6 +2589,7 @@ static int rt2400pci_init_hw(struct rt2x
   hw-device_strips_mic = 0;
   hw-monitor_during_oper = 1;
   hw-fraglist = 0;
 + hw-maxssi = RT2X00_RX_MAX_SSI;
  
   /*
* We have 2 TX queues: TX and PRIO.
 Index: wireless-dev/drivers/net/wireless/d80211/rt2x00/rt2500pci.c
 ===
 --- wireless-dev.orig/drivers/net/wireless/d80211/rt2x00/rt2500pci.c
 +++ wireless-dev/drivers/net/wireless/d80211/rt2x00/rt2500pci.c
 @@ -1841,6 +1841,14 @@ static void rt2500pci_rxdone(void *data)
   rt2x00dev-rx_params.ssi =
   rt2x00_get_field32(rxd-word2, RXD_W2_RSSI);
  
 +/* FIXME: The following set of assignments supply additional data for 
 wireless statistics. The
 +  necessary quantities are (1) the noise value in dBm, and (2) the 
 signal value in dBm.
 +  The present code supplies dummy values for these quantities. */
 +
 + rt2x00dev-rx_params.noise = -85;   /* FIXME */
 + rt2x00dev-rx_params.signal =
 + rt2x00dev-rx_params.ssi - RT2X00_RX_MAX_SSI; 
 /* FIXME */
 +
   __ieee80211_rx(ring-net_dev,
   skb, rt2x00dev-rx_params);
  
 @@ -2735,6 +2743,7 @@ static int rt2500pci_init_hw(struct rt2x
   hw-device_strips_mic = 0;
   hw-monitor_during_oper = 1;
   hw-fraglist = 0;
 + hw-maxssi = RT2X00_RX_MAX_SSI;
  
   /*
* We have 2 TX queues: TX and PRIO.
 Index: wireless-dev/drivers/net/wireless/d80211/rt2x00/rt2500usb.c
 ===
 --- wireless-dev.orig/drivers/net/wireless/d80211/rt2x00/rt2500usb.c
 +++ wireless-dev/drivers/net/wireless/d80211/rt2x00/rt2500usb.c
 @@ -1627,6 +1627,14 @@ static void rt2500usb_rxdone(void *data)
   rt2x00dev-rx_params.ssi =
   rt2x00_get_field32(rxd-word1, RXD_W1_RSSI);
  
 +/* FIXME: The following set of assignments supply additional data for 
 wireless statistics. The
 +   necessary quantities are (1) the noise value in dBm, and (2) the 
 signal value in dBm.
 +   The present code supplies dummy values for these quantities. */
 +
 + rt2x00dev-rx_params.noise = -85;   /* FIXME */
 + rt2x00dev-rx_params.signal =
 + rt2x00dev-rx_params.ssi - RT2X00_RX_MAX_SSI; 
 /* FIXME */
 +
   __ieee80211_rx(ring-net_dev,
   skb, rt2x00dev-rx_params);
  
 @@ -2423,6 +2431,7 @@ static int rt2500usb_init_hw(struct rt2x
   hw-device_strips_mic = 0;
   hw-monitor_during_oper = 1;
   hw-fraglist = 0;
 + hw-maxssi = RT2X00_RX_MAX_SSI;
  
   /*
* We have 2 TX queues: TX and PRIO.
 Index: wireless-dev/drivers/net/wireless/d80211/rt2x00/rt2x00.h
 ===
 --- wireless-dev.orig/drivers/net/wireless/d80211/rt2x00/rt2x00.h
 +++ wireless-dev/drivers/net/wireless/d80211/rt2x00/rt2x00.h
 @@ -850,6 +850,8 @@ struct rt2x00_dev {
  #define CONFIG_DOUBLE_ANTENNA0x0001
  #define CONFIG_DISABLE_BBP_TUNING0x0002
  
 +#define RT2X00_RX_MAX_SSI100
 +
   /*
* Chipset identification.
*/
 Index: wireless-dev/drivers/net/wireless/d80211/rt2x00/rt61pci.c