if_run.c (256721) | if_run.c (256722) |
---|---|
1/*- 2 * Copyright (c) 2008,2010 Damien Bergamini <damien.bergamini@free.fr> 3 * ported to FreeBSD by Akinori Furukoshi <moonlightakkiy@yahoo.ca> 4 * USB Consulting, Hans Petter Selasky <hselasky@freebsd.org> 5 * 6 * Permission to use, copy, modify, and distribute this software for any 7 * purpose with or without fee is hereby granted, provided that the above 8 * copyright notice and this permission notice appear in all copies. 9 * 10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 17 */ 18 19#include <sys/cdefs.h> | 1/*- 2 * Copyright (c) 2008,2010 Damien Bergamini <damien.bergamini@free.fr> 3 * ported to FreeBSD by Akinori Furukoshi <moonlightakkiy@yahoo.ca> 4 * USB Consulting, Hans Petter Selasky <hselasky@freebsd.org> 5 * 6 * Permission to use, copy, modify, and distribute this software for any 7 * purpose with or without fee is hereby granted, provided that the above 8 * copyright notice and this permission notice appear in all copies. 9 * 10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 17 */ 18 19#include <sys/cdefs.h> |
20__FBSDID("$FreeBSD: head/sys/dev/usb/wlan/if_run.c 256721 2013-10-18 07:46:28Z kevlo $"); | 20__FBSDID("$FreeBSD: head/sys/dev/usb/wlan/if_run.c 256722 2013-10-18 07:48:20Z kevlo $"); |
21 22/*- 23 * Ralink Technology RT2700U/RT2800U/RT3000U chipset driver. 24 * http://www.ralinktech.com/ 25 */ 26 27#include <sys/param.h> 28#include <sys/sockio.h> --- 4332 unchanged lines hidden (view full) --- 4361 } 4362 return (0); 4363} 4364 4365static int 4366run_rt3070_rf_init(struct run_softc *sc) 4367{ 4368 uint32_t tmp; | 21 22/*- 23 * Ralink Technology RT2700U/RT2800U/RT3000U chipset driver. 24 * http://www.ralinktech.com/ 25 */ 26 27#include <sys/param.h> 28#include <sys/sockio.h> --- 4332 unchanged lines hidden (view full) --- 4361 } 4362 return (0); 4363} 4364 4365static int 4366run_rt3070_rf_init(struct run_softc *sc) 4367{ 4368 uint32_t tmp; |
4369 uint8_t rf, target, bbp4; | 4369 uint8_t bbp4, mingain, rf, target; |
4370 int i; 4371 4372 run_rt3070_rf_read(sc, 30, &rf); 4373 /* toggle RF R30 bit 7 */ 4374 run_rt3070_rf_write(sc, 30, rf | 0x80); 4375 run_delay(sc, 10); 4376 run_rt3070_rf_write(sc, 30, rf & ~0x80); 4377 --- 90 unchanged lines hidden (view full) --- 4468 4469 if (sc->mac_ver == 0x3070 || sc->mac_ver == 0x3071) { 4470 run_rt3070_rf_read(sc, 17, &rf); 4471 rf &= ~RT3070_TX_LO1; 4472 if ((sc->mac_ver == 0x3070 || 4473 (sc->mac_ver == 0x3071 && sc->mac_rev >= 0x0211)) && 4474 !sc->ext_2ghz_lna) 4475 rf |= 0x20; /* fix for long range Rx issue */ | 4370 int i; 4371 4372 run_rt3070_rf_read(sc, 30, &rf); 4373 /* toggle RF R30 bit 7 */ 4374 run_rt3070_rf_write(sc, 30, rf | 0x80); 4375 run_delay(sc, 10); 4376 run_rt3070_rf_write(sc, 30, rf & ~0x80); 4377 --- 90 unchanged lines hidden (view full) --- 4468 4469 if (sc->mac_ver == 0x3070 || sc->mac_ver == 0x3071) { 4470 run_rt3070_rf_read(sc, 17, &rf); 4471 rf &= ~RT3070_TX_LO1; 4472 if ((sc->mac_ver == 0x3070 || 4473 (sc->mac_ver == 0x3071 && sc->mac_rev >= 0x0211)) && 4474 !sc->ext_2ghz_lna) 4475 rf |= 0x20; /* fix for long range Rx issue */ |
4476 if (sc->txmixgain_2ghz >= 1) | 4476 mingain = (sc->mac_ver == 0x3070) ? 1 : 2; 4477 if (sc->txmixgain_2ghz >= mingain) |
4477 rf = (rf & ~0x7) | sc->txmixgain_2ghz; 4478 run_rt3070_rf_write(sc, 17, rf); 4479 } 4480 4481 if (sc->mac_rev == 0x3071) { 4482 run_rt3070_rf_read(sc, 1, &rf); 4483 rf &= ~(RT3070_RX0_PD | RT3070_TX0_PD); 4484 rf |= RT3070_RF_BLOCK | RT3070_RX1_PD | RT3070_TX1_PD; --- 518 unchanged lines hidden --- | 4478 rf = (rf & ~0x7) | sc->txmixgain_2ghz; 4479 run_rt3070_rf_write(sc, 17, rf); 4480 } 4481 4482 if (sc->mac_rev == 0x3071) { 4483 run_rt3070_rf_read(sc, 1, &rf); 4484 rf &= ~(RT3070_RX0_PD | RT3070_TX0_PD); 4485 rf |= RT3070_RF_BLOCK | RT3070_RX1_PD | RT3070_TX1_PD; --- 518 unchanged lines hidden --- |