Lines 103-108
static void rtl8180_handle_rx(struct ieee80211_hw *dev)
Link Here
|
103 |
{ |
103 |
{ |
104 |
struct rtl8180_priv *priv = dev->priv; |
104 |
struct rtl8180_priv *priv = dev->priv; |
105 |
unsigned int count = 32; |
105 |
unsigned int count = 32; |
|
|
106 |
u8 signal; |
106 |
|
107 |
|
107 |
while (count--) { |
108 |
while (count--) { |
108 |
struct rtl8180_rx_desc *entry = &priv->rx_ring[priv->rx_idx]; |
109 |
struct rtl8180_rx_desc *entry = &priv->rx_ring[priv->rx_idx]; |
Lines 130-139
static void rtl8180_handle_rx(struct ieee80211_hw *dev)
Link Here
|
130 |
skb_put(skb, flags & 0xFFF); |
131 |
skb_put(skb, flags & 0xFFF); |
131 |
|
132 |
|
132 |
rx_status.antenna = (flags2 >> 15) & 1; |
133 |
rx_status.antenna = (flags2 >> 15) & 1; |
133 |
/* TODO: improve signal/rssi reporting */ |
|
|
134 |
rx_status.signal = (flags2 >> 8) & 0x7F; |
135 |
/* XXX: is this correct? */ |
136 |
rx_status.rate_idx = (flags >> 20) & 0xF; |
134 |
rx_status.rate_idx = (flags >> 20) & 0xF; |
|
|
135 |
/* TODO: improve signal/rssi reporting for !rtl8185 */ |
136 |
signal = (flags2 >> 17) & 0x7F; |
137 |
if (rx_status.rate_idx > 3) |
138 |
signal = 90 - clamp_t(u8, signal, 25, 90); |
139 |
else |
140 |
signal = 95 - clamp_t(u8, signal, 30, 95); |
141 |
rx_status.signal = signal; |
137 |
rx_status.freq = dev->conf.channel->center_freq; |
142 |
rx_status.freq = dev->conf.channel->center_freq; |
138 |
rx_status.band = dev->conf.channel->band; |
143 |
rx_status.band = dev->conf.channel->band; |
139 |
rx_status.mactime = le64_to_cpu(entry->tsft); |
144 |
rx_status.mactime = le64_to_cpu(entry->tsft); |
140 |
- |
|
|