diff options
Diffstat (limited to 'drivers/net/wireless/rt2x00/rt2800lib.c')
-rw-r--r-- | drivers/net/wireless/rt2x00/rt2800lib.c | 40 |
1 files changed, 22 insertions, 18 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2800lib.c b/drivers/net/wireless/rt2x00/rt2800lib.c index 776aff3678ff..41d4a8167dc3 100644 --- a/drivers/net/wireless/rt2x00/rt2800lib.c +++ b/drivers/net/wireless/rt2x00/rt2800lib.c | |||
@@ -24,9 +24,7 @@ | |||
24 | GNU General Public License for more details. | 24 | GNU General Public License for more details. |
25 | 25 | ||
26 | You should have received a copy of the GNU General Public License | 26 | You should have received a copy of the GNU General Public License |
27 | along with this program; if not, write to the | 27 | along with this program; if not, see <http://www.gnu.org/licenses/>. |
28 | Free Software Foundation, Inc., | ||
29 | 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
30 | */ | 28 | */ |
31 | 29 | ||
32 | /* | 30 | /* |
@@ -6453,7 +6451,7 @@ static void rt2800_init_rfcsr_5390(struct rt2x00_dev *rt2x00dev) | |||
6453 | rt2800_rfcsr_write(rt2x00dev, 7, 0x00); | 6451 | rt2800_rfcsr_write(rt2x00dev, 7, 0x00); |
6454 | rt2800_rfcsr_write(rt2x00dev, 10, 0x53); | 6452 | rt2800_rfcsr_write(rt2x00dev, 10, 0x53); |
6455 | rt2800_rfcsr_write(rt2x00dev, 11, 0x4a); | 6453 | rt2800_rfcsr_write(rt2x00dev, 11, 0x4a); |
6456 | rt2800_rfcsr_write(rt2x00dev, 12, 0xc6); | 6454 | rt2800_rfcsr_write(rt2x00dev, 12, 0x46); |
6457 | rt2800_rfcsr_write(rt2x00dev, 13, 0x9f); | 6455 | rt2800_rfcsr_write(rt2x00dev, 13, 0x9f); |
6458 | rt2800_rfcsr_write(rt2x00dev, 14, 0x00); | 6456 | rt2800_rfcsr_write(rt2x00dev, 14, 0x00); |
6459 | rt2800_rfcsr_write(rt2x00dev, 15, 0x00); | 6457 | rt2800_rfcsr_write(rt2x00dev, 15, 0x00); |
@@ -6466,7 +6464,8 @@ static void rt2800_init_rfcsr_5390(struct rt2x00_dev *rt2x00dev) | |||
6466 | rt2800_rfcsr_write(rt2x00dev, 22, 0x20); | 6464 | rt2800_rfcsr_write(rt2x00dev, 22, 0x20); |
6467 | rt2800_rfcsr_write(rt2x00dev, 23, 0x00); | 6465 | rt2800_rfcsr_write(rt2x00dev, 23, 0x00); |
6468 | rt2800_rfcsr_write(rt2x00dev, 24, 0x00); | 6466 | rt2800_rfcsr_write(rt2x00dev, 24, 0x00); |
6469 | if (rt2x00_rt_rev_gte(rt2x00dev, RT5390, REV_RT5390F)) | 6467 | if (rt2x00_is_usb(rt2x00dev) && |
6468 | rt2x00_rt_rev_gte(rt2x00dev, RT5390, REV_RT5390F)) | ||
6470 | rt2800_rfcsr_write(rt2x00dev, 25, 0x80); | 6469 | rt2800_rfcsr_write(rt2x00dev, 25, 0x80); |
6471 | else | 6470 | else |
6472 | rt2800_rfcsr_write(rt2x00dev, 25, 0xc0); | 6471 | rt2800_rfcsr_write(rt2x00dev, 25, 0xc0); |
@@ -6486,10 +6485,7 @@ static void rt2800_init_rfcsr_5390(struct rt2x00_dev *rt2x00dev) | |||
6486 | rt2800_rfcsr_write(rt2x00dev, 38, 0x85); | 6485 | rt2800_rfcsr_write(rt2x00dev, 38, 0x85); |
6487 | rt2800_rfcsr_write(rt2x00dev, 39, 0x1b); | 6486 | rt2800_rfcsr_write(rt2x00dev, 39, 0x1b); |
6488 | 6487 | ||
6489 | if (rt2x00_rt_rev_gte(rt2x00dev, RT5390, REV_RT5390F)) | 6488 | rt2800_rfcsr_write(rt2x00dev, 40, 0x0b); |
6490 | rt2800_rfcsr_write(rt2x00dev, 40, 0x0b); | ||
6491 | else | ||
6492 | rt2800_rfcsr_write(rt2x00dev, 40, 0x4b); | ||
6493 | rt2800_rfcsr_write(rt2x00dev, 41, 0xbb); | 6489 | rt2800_rfcsr_write(rt2x00dev, 41, 0xbb); |
6494 | rt2800_rfcsr_write(rt2x00dev, 42, 0xd2); | 6490 | rt2800_rfcsr_write(rt2x00dev, 42, 0xd2); |
6495 | rt2800_rfcsr_write(rt2x00dev, 43, 0x9a); | 6491 | rt2800_rfcsr_write(rt2x00dev, 43, 0x9a); |
@@ -6510,16 +6506,26 @@ static void rt2800_init_rfcsr_5390(struct rt2x00_dev *rt2x00dev) | |||
6510 | rt2800_rfcsr_write(rt2x00dev, 53, 0x84); | 6506 | rt2800_rfcsr_write(rt2x00dev, 53, 0x84); |
6511 | rt2800_rfcsr_write(rt2x00dev, 54, 0x78); | 6507 | rt2800_rfcsr_write(rt2x00dev, 54, 0x78); |
6512 | rt2800_rfcsr_write(rt2x00dev, 55, 0x44); | 6508 | rt2800_rfcsr_write(rt2x00dev, 55, 0x44); |
6513 | rt2800_rfcsr_write(rt2x00dev, 56, 0x22); | 6509 | if (rt2x00_rt_rev_gte(rt2x00dev, RT5390, REV_RT5390F)) |
6510 | rt2800_rfcsr_write(rt2x00dev, 56, 0x42); | ||
6511 | else | ||
6512 | rt2800_rfcsr_write(rt2x00dev, 56, 0x22); | ||
6514 | rt2800_rfcsr_write(rt2x00dev, 57, 0x80); | 6513 | rt2800_rfcsr_write(rt2x00dev, 57, 0x80); |
6515 | rt2800_rfcsr_write(rt2x00dev, 58, 0x7f); | 6514 | rt2800_rfcsr_write(rt2x00dev, 58, 0x7f); |
6516 | rt2800_rfcsr_write(rt2x00dev, 59, 0x8f); | 6515 | rt2800_rfcsr_write(rt2x00dev, 59, 0x8f); |
6517 | 6516 | ||
6518 | rt2800_rfcsr_write(rt2x00dev, 60, 0x45); | 6517 | rt2800_rfcsr_write(rt2x00dev, 60, 0x45); |
6519 | if (rt2x00_rt_rev_gte(rt2x00dev, RT5390, REV_RT5390F)) | 6518 | if (rt2x00_rt_rev_gte(rt2x00dev, RT5390, REV_RT5390F)) { |
6520 | rt2800_rfcsr_write(rt2x00dev, 61, 0xd1); | 6519 | if (rt2x00_is_usb(rt2x00dev)) |
6521 | else | 6520 | rt2800_rfcsr_write(rt2x00dev, 61, 0xd1); |
6522 | rt2800_rfcsr_write(rt2x00dev, 61, 0xdd); | 6521 | else |
6522 | rt2800_rfcsr_write(rt2x00dev, 61, 0xd5); | ||
6523 | } else { | ||
6524 | if (rt2x00_is_usb(rt2x00dev)) | ||
6525 | rt2800_rfcsr_write(rt2x00dev, 61, 0xdd); | ||
6526 | else | ||
6527 | rt2800_rfcsr_write(rt2x00dev, 61, 0xb5); | ||
6528 | } | ||
6523 | rt2800_rfcsr_write(rt2x00dev, 62, 0x00); | 6529 | rt2800_rfcsr_write(rt2x00dev, 62, 0x00); |
6524 | rt2800_rfcsr_write(rt2x00dev, 63, 0x00); | 6530 | rt2800_rfcsr_write(rt2x00dev, 63, 0x00); |
6525 | 6531 | ||
@@ -6602,7 +6608,6 @@ static void rt2800_init_rfcsr_5592(struct rt2x00_dev *rt2x00dev) | |||
6602 | 6608 | ||
6603 | rt2800_rfcsr_write(rt2x00dev, 1, 0x3F); | 6609 | rt2800_rfcsr_write(rt2x00dev, 1, 0x3F); |
6604 | rt2800_rfcsr_write(rt2x00dev, 3, 0x08); | 6610 | rt2800_rfcsr_write(rt2x00dev, 3, 0x08); |
6605 | rt2800_rfcsr_write(rt2x00dev, 3, 0x08); | ||
6606 | rt2800_rfcsr_write(rt2x00dev, 5, 0x10); | 6611 | rt2800_rfcsr_write(rt2x00dev, 5, 0x10); |
6607 | rt2800_rfcsr_write(rt2x00dev, 6, 0xE4); | 6612 | rt2800_rfcsr_write(rt2x00dev, 6, 0xE4); |
6608 | rt2800_rfcsr_write(rt2x00dev, 7, 0x00); | 6613 | rt2800_rfcsr_write(rt2x00dev, 7, 0x00); |
@@ -7453,10 +7458,9 @@ static int rt2800_probe_hw_mode(struct rt2x00_dev *rt2x00dev) | |||
7453 | u32 reg; | 7458 | u32 reg; |
7454 | 7459 | ||
7455 | /* | 7460 | /* |
7456 | * Disable powersaving as default on PCI devices. | 7461 | * Disable powersaving as default. |
7457 | */ | 7462 | */ |
7458 | if (rt2x00_is_pci(rt2x00dev) || rt2x00_is_soc(rt2x00dev)) | 7463 | rt2x00dev->hw->wiphy->flags &= ~WIPHY_FLAG_PS_ON_BY_DEFAULT; |
7459 | rt2x00dev->hw->wiphy->flags &= ~WIPHY_FLAG_PS_ON_BY_DEFAULT; | ||
7460 | 7464 | ||
7461 | /* | 7465 | /* |
7462 | * Initialize all hw fields. | 7466 | * Initialize all hw fields. |