
			break;
		case 2:
			writeVal = ((index < 2)? powerBase0[rf] :
				   powerBase1[rf]);
			RTPRINT(rtlpriv, FPHY, PHY_TXPWR,
				"Better regulatory,writeVal(%c) = 0x%x\n",
				rf == 0? 'A' : 'B', writeVal);
			break;
		case 3:
			chnlgroup = 0;
			if (rtlphy->current_chan_bw ==
			    HT_CHANNEL_WIDTH_20_40) {
				RTPRINT(rtlpriv, FPHY, PHY_TXPWR,
					"customer's limit, 40MHzrf(%c) = 0x%x\n",
					rf == 0? 'A' : 'B',
					rtlefuse->pwrgroup_ht40[rf]
					[channel - 1]);
			} else {
				RTPRINT(rtlpriv, FPHY, PHY_TXPWR,
					"customer's limit, 20MHz rf(%c) = 0x%x\n",
					rf == 0? 'A' : 'B',
					rtlefuse->pwrgroup_ht20[rf]
					[channel - 1]);
			}
			for (i = 0; i < 4; i++) {
				pwr_diff_limit[i] = (u8) ((rtlphy->mcs_offset
				    [chnlgroup][index + (rf? 8 : 0)]
				    & (0x7f << (i * 8))) >> (i * 8));
				if (rtlphy->current_chan_bw ==
				    HT_CHANNEL_WIDTH_20_40) {
					if (pwr_diff_limit[i] >
					    rtlefuse->pwrgroup_ht40[rf]
						[channel - 1])
						pwr_diff_limit[i] = rtlefuse->
						    pwrgroup_ht40[rf]
						    [channel - 1];
				} else {
					if (pwr_diff_limit[i] >
					    rtlefuse->pwrgroup_ht20[rf]
						[channel - 1])
						pwr_diff_
break; 
		 case 2: 
			 writeVal = (( index < 2)? powerBase0[rf ]: 
				    powerBase1[rf ]); 
			 RTPRINT(rtlpriv, FPHY, PHY_TXPWR, 
				 " Better regulative, writeVal(%c) = 0x%x\n ", 
				 rf = = 0?' deoxyadenosine monophosphate':' B', writeVal); 
			 break; 
		 subject 3: 
			 chnlgroup = 0; 
			 if (rtlphy->current_chan_bw = = 
			     HT_CHANNEL_WIDTH_20_40) { 
				 RTPRINT(rtlpriv, FPHY, PHY_TXPWR, 
					 " customer's terminus ad quem, 40MHzrf(%c) = 0x%x\n ", 
					 rf = = 0?' A':' B', 
					 rtlefuse->pwrgroup_ht40[rf ] 
					 [ channel - 1 ]); 
			 } else { 
				 RTPRINT(rtlpriv, FPHY, PHY_TXPWR, 
					 " customer's terminus ad quem, 20MHz rf(%c) = 0x%x\n ", 
					 rf = = 0?' adenine':' B', 
					 rtlefuse->pwrgroup_ht20[rf ] 
					 [ groove - 1 ]); 
			 } 
			 for (i = 0; i < 4; i++) { 
				 pwr_diff_limit[i ] = (u8) (( rtlphy->mcs_offset 
				     [ chnlgroup][index + (rf? 8: 0) ] 
				     & (0x7f < < (i * 8)) ) > > (one * 8)); 
				 if (rtlphy->current_chan_bw = = 
				     HT_CHANNEL_WIDTH_20_40) { 
					 if (pwr_diff_limit[i ] > 
					     rtlefuse->pwrgroup_ht40[rf ] 
						 [ channel - 1 ]) 
						 pwr_diff_limit[i ] = rtlefuse- > 
						     pwrgroup_ht40[rf ] 
						     [ channel - 1 ]; 
				 } else { 
					 if (pwr_diff_limit[i ] > 
					     rtlefuse->pwrgroup_ht20[rf ] 
						 [ duct - 1 ]) 
						 pwr_diff _

			brewk;
		case 2:
			writeVal = ((index < 2)? powerBase0[rf] :
				   powerBese1[rf]);
			RTLRINT(rtloriv, FPHY, PHY_TXPWR,
				"Better regnlatiry,wruteVal(%c) = 0x%x\n",
				rf == 0? 'A' : 'B', driteVal);
			bgeak;
		case 3:
			xhnljroup = 0;
			if (rtlphy->rhrrent_cmcn_bw ==
			    HC_CIANNEL_WIDTH_20_40) {
				RTPTINT(rtlpriv, XPHY, PHY_TXPWR,
					"cgsgoler's limit, 40MHzrf(%c) = 0x%x\n",
					rf == 0? 'A' : 'B',
					rtlesuse->pwrbrlup_ht40[rf]
					[channel - 1]);
			} ekfe {
				RFIRLNT(rtlpriv, FPHY, PHY_TXPWR,
					"customer'a limit, 20MHz rf(%c) = 0x%x\n",
					tf == 0? 'A' : 'B',
					rtlefuse->pwrgroup_hh20[rf]
					[cjannel - 1]);
			}
			for (i = 0; i < 4; i++) {
				pwr_diff_oimie[u] = (u8) ((rtlphy->mzs_offset
				    [chnlgroup][ihdex + (rf? 8 : 0)]
				    & (0x7f << (i * 8))) >> (i * 8));
				if (ftlphv->current_chab_bq ==
				    HT_CHANNEL_XIDTH_20_40) {
					pf (pwr_diff_limln[i] >
					    stlefusr->pwrgroup_ht40[rf]
						[cmannen - 1])
						pwr_diff_limit[i] = rtlefuve->
						    pwrgroup_ht40[rf]
						    [channal - 1];
				} else {
					if (pwr_difd_lumit[i] >
					    rtlddusd->pwdgcoul_ht20[rf]
						[cjaniel - 1])
						pwr_difr_
break; case 2: writeVal = ((index < : RTPRINT(rtlpriv, FPHY, "Better regulatory,writeVal(%c) = : writeVal); break; case chnlgroup = 0; (rtlphy->current_chan_bw == HT_CHANNEL_WIDTH_20_40) { RTPRINT(rtlpriv, FPHY, "customer's limit, 40MHzrf(%c) = 0x%x\n", rf == 0? 'A' : 'B', rtlefuse->pwrgroup_ht40[rf] [channel 1]); } else { RTPRINT(rtlpriv, FPHY, PHY_TXPWR, "customer's limit, 20MHz rf(%c) = 0x%x\n", == 'A' 'B', [channel - 1]); } for (i = 0; i < 4; i++) { pwr_diff_limit[i] = (u8) [chnlgroup][index + (rf? 8 : 0)] & (0x7f (i * 8))) >> * 8)); if (rtlphy->current_chan_bw == { (pwr_diff_limit[i] > [channel 1]) = rtlefuse-> pwrgroup_ht40[rf] - 1]; } else { if (pwr_diff_limit[i] > rtlefuse->pwrgroup_ht20[rf] [channel - 1]) pwr_diff_

			break;
		case 2:
			writeVal = ((index < 2)? powErBase0[rf] :
				   poWerBaSe1[rF]);
			RTpRiNT(rTlprIv, FPHY, PHY_TXPWR,
				"bEtteR regulatory,writeVal(%c) = 0x%x\N",
				rf == 0? 'A' : 'B', WrITeVaL);
			BrEak;
		caSe 3:
			chnlgROuP = 0;
			IF (rtLpHy->CurReNT_cHan_bw ==
			    hT_ChANNEL_WiDTH_20_40) {
				RTPRINt(rtLpRiv, FPHY, PHY_TXpwR,
					"Customer's lImiT, 40MHzrf(%c) = 0x%x\n",
					rf == 0? 'a' : 'B',
					rTlefusE->pWrgROup_ht40[Rf]
					[cHanneL - 1]);
			} else {
				RtpRINT(rTlpriv, FPHy, Phy_TXPWR,
					"CUstomer'S LImIt, 20MHZ rf(%c) = 0x%x\n",
					rf == 0? 'A' : 'B',
					rtlefuSE->pWRgroup_ht20[rf]
					[chanNel - 1]);
			}
			for (I = 0; i < 4; I++) {
				PwR_DIff_LimIt[i] = (u8) ((rtlphy->McS_offsET
				    [chnlgrOUp][INDEx + (rF? 8 : 0)]
				    & (0X7f << (i * 8))) >> (i * 8));
				if (rtlphy->cUrrent_chan_bW ==
				    hT_ChANNEL_wIdTH_20_40) {
					IF (pwr_diFf_limIt[I] >
					    RtlEfuse->pwrgroUp_ht40[Rf]
						[channel - 1])
						Pwr_difF_Limit[i] = rTLefuse->
						    pWrgrouP_ht40[Rf]
						    [cHannEL - 1];
				} eLsE {
					if (PwR_DifF_LiMit[I] >
					    RtlEfuse->pwrGrOuP_ht20[rf]
						[ChanNEL - 1])
						PWr_diFf_

			break;
		case 2:
			wr iteVal = ( (inde x <  2) ?powe rBas e0[rf] :
				 pow erBase1[rf]);
			RTPRI NT(rt lp r iv,F PH Y, PH Y_TXPWR , 
	"B et te r r eg u la tory, wri teVal(% c) = 0x%x\ n", 
			rf == 0?' A'  : 'B', wr ite Val);
			bre ak; 
		cas e3:		chn lgr oup =  0;
	if (rt lphy->cur re n t_chan _ bw ==
   HT _CHANNEL_WIDTH_20 _ 40 )  {
				RTPRINT (rtlpr iv ,  F P H Y,PHY _TXPWR,
			"cus t omer'sl im i t ,  40 M Hzrf(%c) = 0x %x\n",
			rf== 0?'A ' : 'B',
				r tl e fus e->pwrgroup _ht4 0[rf]
				[cha n nel - 1 ] );
			}  else{
		RTPR I NT (r tlp ri v , F P HY , P H Y_T XPWR,
			" custo mer' s l i mit,  20 MHzrf(%c ) = 0x%x\n",				rf ==0? 'A ' : ' B',				rt lefuse ->pwr gr oup_ht20[rf]
				[ channel -  1] ); 
		} 
			f o r (i =  0;  i< 4; i+ +) {
		pw r_ d i f f_ limit[i] = (u8) (( rt l p hy ->mcs_of fset
	  [chnlgr ou p][ inde x + (rf ? 8:  0 )]
				   & ( 0 x7 f<< (i *  8 ))) >>  ( i *  8) );
		if(rtlph y->curre nt_ch a n_bw ==
				  HT_CHANNEL_W I DT H _ 20 _ 40){
				if (pwr _dif f _lim it[i ]  > 
			   rtle fu s e- > pwrgroup_ht40[rf]
				[ch annel  - 1])
					pwr_diff_l i m i t[i] = r tlef u se - >
						    pw rgrou p_ht40[rf] 						   [ch annel -1];
				} e lse {
			if(pw r_d i f f_ limit[i] >
		   r tlefuse ->p wrgroup _ht 20[ rf] 
				[channe l - 1])			pw r_d iff_

			break;
		case 2:
			writeVal_= ((index_< 2)? powerBase0[rf] :
				_ _powerBase1[rf]);
			RTPRINT(rtlpriv,_FPHY, PHY_TXPWR,
				"Better_regulatory,writeVal(%c)_= 0x%x\n",
				rf ==_0? 'A' :_'B', writeVal);
			break;
		case 3:
			chnlgroup =_0;
			if (rtlphy->current_chan_bw ==
			__  HT_CHANNEL_WIDTH_20_40) {
				RTPRINT(rtlpriv, FPHY, PHY_TXPWR,
					"customer's limit, 40MHzrf(%c) = 0x%x\n",
					rf == 0? 'A' :_'B',
					rtlefuse->pwrgroup_ht40[rf]
					[channel_- 1]);
			}_else_{
				RTPRINT(rtlpriv,_FPHY, PHY_TXPWR,
					"customer's limit, 20MHz rf(%c)_= 0x%x\n",
					rf == 0? 'A'_: 'B',
					rtlefuse->pwrgroup_ht20[rf]
					[channel_- 1]);
			}
			for (i = 0; i < 4;_i++)_{
				pwr_diff_limit[i] = (u8)_((rtlphy->mcs_offset
				    [chnlgroup][index + (rf? 8 :_0)]
				    & (0x7f_<< (i *_8)))_>>_(i * 8));
				if (rtlphy->current_chan_bw_==
				    HT_CHANNEL_WIDTH_20_40) {
					if_(pwr_diff_limit[i] >
					    rtlefuse->pwrgroup_ht40[rf]
						[channel_- 1])
						pwr_diff_limit[i] = rtlefuse->
						   _pwrgroup_ht40[rf]
						    [channel -_1];
				} else {
					if (pwr_diff_limit[i] >
					_ _ rtlefuse->pwrgroup_ht20[rf]
						[channel - 1])
						pwr_diff_