Deleted Added
full compact
rt2860.c (243857) rt2860.c (252727)
1/*-
2 * Copyright (c) 2007-2010 Damien Bergamini <damien.bergamini@free.fr>
3 * Copyright (c) 2012 Bernhard Schmidt <bschmidt@FreeBSD.org>
4 *
5 * Permission to use, copy, modify, and distribute this software for any
6 * purpose with or without fee is hereby granted, provided that the above
7 * copyright notice and this permission notice appear in all copies.
8 *

--- 4 unchanged lines hidden (view full) ---

13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 *
17 * $OpenBSD: rt2860.c,v 1.65 2010/10/23 14:24:54 damien Exp $
18 */
19
20#include <sys/cdefs.h>
1/*-
2 * Copyright (c) 2007-2010 Damien Bergamini <damien.bergamini@free.fr>
3 * Copyright (c) 2012 Bernhard Schmidt <bschmidt@FreeBSD.org>
4 *
5 * Permission to use, copy, modify, and distribute this software for any
6 * purpose with or without fee is hereby granted, provided that the above
7 * copyright notice and this permission notice appear in all copies.
8 *

--- 4 unchanged lines hidden (view full) ---

13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 *
17 * $OpenBSD: rt2860.c,v 1.65 2010/10/23 14:24:54 damien Exp $
18 */
19
20#include <sys/cdefs.h>
21__FBSDID("$FreeBSD: head/sys/dev/ral/rt2860.c 243857 2012-12-04 09:32:43Z glebius $");
21__FBSDID("$FreeBSD: head/sys/dev/ral/rt2860.c 252727 2013-07-04 21:16:49Z adrian $");
22
23/*-
24 * Ralink Technology RT2860/RT3090/RT3390/RT3562 chipset driver
25 * http://www.ralinktech.com/
26 */
27
28#include <sys/param.h>
29#include <sys/sysctl.h>

--- 1493 unchanged lines hidden (view full) ---

1523 if (IEEE80211_QOS_HAS_SEQ(wh)) {
1524 qos = ((const struct ieee80211_qosframe *)wh)->i_qos[0];
1525 tid = qos & IEEE80211_QOS_TID;
1526 } else {
1527 qos = 0;
1528 tid = 0;
1529 }
1530 ring = &sc->txq[qid];
22
23/*-
24 * Ralink Technology RT2860/RT3090/RT3390/RT3562 chipset driver
25 * http://www.ralinktech.com/
26 */
27
28#include <sys/param.h>
29#include <sys/sysctl.h>

--- 1493 unchanged lines hidden (view full) ---

1523 if (IEEE80211_QOS_HAS_SEQ(wh)) {
1524 qos = ((const struct ieee80211_qosframe *)wh)->i_qos[0];
1525 tid = qos & IEEE80211_QOS_TID;
1526 } else {
1527 qos = 0;
1528 tid = 0;
1529 }
1530 ring = &sc->txq[qid];
1531 ridx = ic->ic_rt->rateCodeToIndex[rate];
1531 ridx = ieee80211_legacy_rate_lookup(ic->ic_rt, rate);
1532
1533 /* get MCS code from rate index */
1534 mcs = rt2860_rates[ridx].mcs;
1535
1536 /* setup TX Wireless Information */
1537 txwi = data->txwi;
1538 txwi->flags = 0;
1539 /* let HW generate seq numbers for non-QoS frames */

--- 234 unchanged lines hidden (view full) ---

1774 data = SLIST_FIRST(&sc->data_pool);
1775
1776 wh = mtod(m, struct ieee80211_frame *);
1777 hdrlen = ieee80211_hdrsize(wh);
1778 type = wh->i_fc[0] & IEEE80211_FC0_TYPE_MASK;
1779
1780 /* Choose a TX rate index. */
1781 rate = params->ibp_rate0;
1532
1533 /* get MCS code from rate index */
1534 mcs = rt2860_rates[ridx].mcs;
1535
1536 /* setup TX Wireless Information */
1537 txwi = data->txwi;
1538 txwi->flags = 0;
1539 /* let HW generate seq numbers for non-QoS frames */

--- 234 unchanged lines hidden (view full) ---

1774 data = SLIST_FIRST(&sc->data_pool);
1775
1776 wh = mtod(m, struct ieee80211_frame *);
1777 hdrlen = ieee80211_hdrsize(wh);
1778 type = wh->i_fc[0] & IEEE80211_FC0_TYPE_MASK;
1779
1780 /* Choose a TX rate index. */
1781 rate = params->ibp_rate0;
1782 ridx = ic->ic_rt->rateCodeToIndex[rate];
1782 ridx = ieee80211_legacy_rate_lookup(ic->ic_rt,
1783 rate & IEEE80211_RATE_VAL);
1783 if (ridx == (uint8_t)-1) {
1784 /* XXX fall back to mcast/mgmt rate? */
1785 m_freem(m);
1786 return EINVAL;
1787 }
1788
1789 qid = params->ibp_pri & 3;
1790 tid = 0;

--- 515 unchanged lines hidden (view full) ---

2306 int i;
2307
2308 for (i = 0; i < rs->rs_nrates; i++) {
2309 rate = rs->rs_rates[i];
2310
2311 if (!(rate & IEEE80211_RATE_BASIC))
2312 continue;
2313
1784 if (ridx == (uint8_t)-1) {
1785 /* XXX fall back to mcast/mgmt rate? */
1786 m_freem(m);
1787 return EINVAL;
1788 }
1789
1790 qid = params->ibp_pri & 3;
1791 tid = 0;

--- 515 unchanged lines hidden (view full) ---

2307 int i;
2308
2309 for (i = 0; i < rs->rs_nrates; i++) {
2310 rate = rs->rs_rates[i];
2311
2312 if (!(rate & IEEE80211_RATE_BASIC))
2313 continue;
2314
2314 mask |= 1 << ic->ic_rt->rateCodeToIndex[RV(rate)];
2315 mask |= 1 << ieee80211_legacy_rate_lookup(ic->ic_rt, RV(rate));
2315 }
2316
2317 RAL_WRITE(sc, RT2860_LEGACY_BASIC_RATE, mask);
2318#undef RV
2319}
2320
2321static void
2322rt2860_scan_start(struct ieee80211com *ic)

--- 1781 unchanged lines hidden ---
2316 }
2317
2318 RAL_WRITE(sc, RT2860_LEGACY_BASIC_RATE, mask);
2319#undef RV
2320}
2321
2322static void
2323rt2860_scan_start(struct ieee80211com *ic)

--- 1781 unchanged lines hidden ---