mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-11-03 14:34:27 -05:00 
			
		
		
		
	Based on patch by Bryan Forbes <bryan@reigndropsfall.net> Also update mt76 to update for API changes Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 44655
		
			
				
	
	
		
			45 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
From c49b2d829aa1c816a46a577cdec6d2ff14d9f06e Mon Sep 17 00:00:00 2001
 | 
						|
From: Gabor Juhos <juhosg@openwrt.org>
 | 
						|
Date: Tue, 1 Oct 2013 15:40:08 +0200
 | 
						|
Subject: [PATCH] rt2x00: rt2800lib: fix VGC setup for RT3883
 | 
						|
 | 
						|
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
 | 
						|
---
 | 
						|
 drivers/net/wireless/rt2x00/rt2800lib.c |   11 +++++++++--
 | 
						|
 1 file changed, 9 insertions(+), 2 deletions(-)
 | 
						|
 | 
						|
--- a/drivers/net/wireless/rt2x00/rt2800lib.c
 | 
						|
+++ b/drivers/net/wireless/rt2x00/rt2800lib.c
 | 
						|
@@ -4835,7 +4835,8 @@ static u8 rt2800_get_default_vgc(struct 
 | 
						|
 		else
 | 
						|
 			vgc = 0x2e + rt2x00dev->lna_gain;
 | 
						|
 	} else { /* 5GHZ band */
 | 
						|
-		if (rt2x00_rt(rt2x00dev, RT3593))
 | 
						|
+		if (rt2x00_rt(rt2x00dev, RT3593) ||
 | 
						|
+		    rt2x00_rt(rt2x00dev, RT3883))
 | 
						|
 			vgc = 0x20 + (rt2x00dev->lna_gain * 5) / 3;
 | 
						|
 		else if (rt2x00_rt(rt2x00dev, RT5592))
 | 
						|
 			vgc = 0x24 + (2 * rt2x00dev->lna_gain);
 | 
						|
@@ -4855,7 +4856,8 @@ static inline void rt2800_set_vgc(struct
 | 
						|
 {
 | 
						|
 	if (qual->vgc_level != vgc_level) {
 | 
						|
 		if (rt2x00_rt(rt2x00dev, RT3572) ||
 | 
						|
-		    rt2x00_rt(rt2x00dev, RT3593)) {
 | 
						|
+		    rt2x00_rt(rt2x00dev, RT3593) ||
 | 
						|
+		    rt2x00_rt(rt2x00dev, RT3883)) {
 | 
						|
 			rt2800_bbp_write_with_rx_chain(rt2x00dev, 66,
 | 
						|
 						       vgc_level);
 | 
						|
 		} else if (rt2x00_rt(rt2x00dev, RT5592)) {
 | 
						|
@@ -4902,6 +4904,11 @@ void rt2800_link_tuner(struct rt2x00_dev
 | 
						|
 		}
 | 
						|
 		break;
 | 
						|
 
 | 
						|
+	case RT3883:
 | 
						|
+		if (qual->rssi > -65)
 | 
						|
+			vgc += 0x10;
 | 
						|
+		break;
 | 
						|
+
 | 
						|
 	case RT5592:
 | 
						|
 		if (qual->rssi > -65)
 | 
						|
 			vgc += 0x20;
 |