dp_ratetable.c 273 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289
  1. /*
  2. * Copyright (c) 2016-2019, 2021 The Linux Foundation. All rights reserved.
  3. * Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
  4. *
  5. * Permission to use, copy, modify, and/or distribute this software for
  6. * any purpose with or without fee is hereby granted, provided that the
  7. * above copyright notice and this permission notice appear in all
  8. * copies.
  9. *
  10. * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
  11. * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
  12. * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
  13. * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
  14. * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
  15. * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
  16. * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
  17. * PERFORMANCE OF THIS SOFTWARE.
  18. */
  19. #include <qdf_types.h>
  20. #include "dp_ratetable.h"
  21. #include "qdf_module.h"
  22. #include "cdp_txrx_mon_struct.h"
  23. enum {
  24. MODE_11A = 0, /* 11a Mode */
  25. MODE_11G = 1, /* 11b/g Mode */
  26. MODE_11B = 2, /* 11b Mode */
  27. MODE_11GONLY = 3, /* 11g only Mode */
  28. MODE_11NA_HT20 = 4, /* 11a HT20 mode */
  29. MODE_11NG_HT20 = 5, /* 11g HT20 mode */
  30. MODE_11NA_HT40 = 6, /* 11a HT40 mode */
  31. MODE_11NG_HT40 = 7, /* 11g HT40 mode */
  32. MODE_11AC_VHT20 = 8,
  33. MODE_11AC_VHT40 = 9,
  34. MODE_11AC_VHT80 = 10,
  35. MODE_11AC_VHT20_2G = 11,
  36. MODE_11AC_VHT40_2G = 12,
  37. MODE_11AC_VHT80_2G = 13,
  38. MODE_11AC_VHT80_80 = 14,
  39. MODE_11AC_VHT160 = 15,
  40. MODE_11AX_HE20 = 16,
  41. MODE_11AX_HE40 = 17,
  42. MODE_11AX_HE80 = 18,
  43. MODE_11AX_HE80_80 = 19,
  44. MODE_11AX_HE160 = 20,
  45. MODE_11AX_HE20_2G = 21,
  46. MODE_11AX_HE40_2G = 22,
  47. MODE_11AX_HE80_2G = 23,
  48. #ifdef WLAN_FEATURE_11BE
  49. MODE_11BE_EHT20 = 24,
  50. MODE_11BE_EHT40 = 25,
  51. MODE_11BE_EHT80 = 26,
  52. MODE_11BE_EHT80_80 = 27,
  53. MODE_11BE_EHT160 = 28,
  54. MODE_11BE_EHT160_160 = 29,
  55. MODE_11BE_EHT320 = 30,
  56. MODE_11BE_EHT20_2G = 31,
  57. MODE_11BE_EHT40_2G = 32,
  58. #endif
  59. /* MODE_UNKNOWN should not be used within the host / target interface.
  60. * Thus, it is permissible for ODE_UNKNOWN to be conditionally-defined,
  61. * taking different values when compiling for different targets.
  62. */
  63. MODE_UNKNOWN,
  64. MODE_UNKNOWN_NO_160MHZ_SUPPORT = 14, /* not needed? */
  65. MODE_UNKNOWN_160MHZ_SUPPORT = MODE_UNKNOWN, /* not needed? */
  66. } DP_PHY_MODE;
  67. /* The following would span more than one octet
  68. * when 160MHz BW defined for VHT
  69. * Also it's important to maintain the ordering of this enum
  70. * else it would break other rate adaptation functions
  71. */
  72. enum DP_CMN_RATECODE_PREAM_TYPE {
  73. DP_CMN_RATECODE_PREAM_OFDM,
  74. DP_CMN_RATECODE_PREAM_CCK,
  75. DP_CMN_RATECODE_PREAM_HT,
  76. DP_CMN_RATECODE_PREAM_VHT,
  77. DP_CMN_RATECODE_PREAM_HE,
  78. #ifdef WLAN_FEATURE_11BE
  79. DP_CMN_RATECODE_PREAM_EHT,
  80. #endif
  81. DP_CMN_RATECODE_PREAM_COUNT,
  82. };
  83. /*
  84. * @validmodemask : bit mask where 1 indicates the rate is valid for that mode
  85. * @DP_CMN_MODULATION : modulation CCK/OFDM/MCS
  86. * @propmask : bit mask of rate property. NSS/STBC/TXBF/LDPC
  87. * @ratekbps : Rate in Kbits per second
  88. * @ratebpdsgi : Rate in kbits per second if HT SGI is enabled
  89. * @ratekbpsdgi : Rate in kbits per second if 1.6us GI is enabled
  90. * @ratekbpsqgi : Rate in kbits per second if 3.2us GI is enabled
  91. * @ratekbpsdcm : Rate in kbits per second if DCM is applied
  92. * @userratekabps : User rate in KBits per second
  93. * @dot11rate : Value that goes into supported rates info element of MLME
  94. * @ratecode : rate that goes into hw descriptors
  95. */
  96. const struct DP_CMN_RATE_TABLE {
  97. struct {
  98. #ifdef WLAN_FEATURE_11BE
  99. uint64_t validmodemask;
  100. #else
  101. uint32_t validmodemask;
  102. #endif
  103. enum DP_CMN_MODULATION_TYPE phy;
  104. uint32_t ratekbps;
  105. uint32_t ratekbpssgi;
  106. uint32_t ratekbpsdgi;
  107. uint32_t ratekbpsqgi;
  108. uint32_t ratekbpsdcm;
  109. uint32_t userratekbps;
  110. uint16_t ratecode;
  111. } info[DP_RATE_TABLE_SIZE];
  112. } DP_CMN_RATE_TABLE;
  113. /*Use the highest bit to indicate the invalid bcc rates accorss
  114. *different PHYMODE
  115. */
  116. #ifdef WLAN_FEATURE_11BE
  117. #define ONE_UL ((uint64_t)1)
  118. #define INVALID_BCC_RATE ONE_UL << MODE_UNKNOWN
  119. #else
  120. #define INVALID_BCC_RATE BIT(MODE_UNKNOWN)
  121. #endif
  122. #define CCK_MODE_VALID_MASK ((1 << MODE_11G) | (1 << MODE_11B) | \
  123. (1 << MODE_11NG_HT20) | (1 << MODE_11NG_HT40) | \
  124. (1 << MODE_11AC_VHT40_2G) | (1 << MODE_11AC_VHT20_2G) |\
  125. (1 << MODE_11AC_VHT80_2G))
  126. #define OFDM_MODE_VALID_MASK ((1 << MODE_11A) | (1 << MODE_11G) | \
  127. (1 << MODE_11GONLY) | (1 << MODE_11NA_HT20) | \
  128. (1 << MODE_11NG_HT20) \
  129. | (1 << MODE_11NA_HT40) | (1 << MODE_11NG_HT40) \
  130. | (1 << MODE_11AC_VHT40) | (1 << MODE_11AC_VHT20) | \
  131. (1 << MODE_11AC_VHT80) \
  132. | (1 << MODE_11AC_VHT40_2G) | (1 << MODE_11AC_VHT20_2G) | \
  133. (1 << MODE_11AC_VHT80_2G) \
  134. | (1 << MODE_11AC_VHT160) | (1 << MODE_11AC_VHT80_80))
  135. #define HT20_MODE_VALID_MASK ((1 << MODE_11NA_HT20) | \
  136. (1 << MODE_11NG_HT20) \
  137. | (1 << MODE_11NA_HT40) | (1 << MODE_11NG_HT40) \
  138. | (1 << MODE_11AC_VHT40) | (1 << MODE_11AC_VHT20) | \
  139. (1 << MODE_11AC_VHT80) \
  140. | (1 << MODE_11AC_VHT40_2G) | (1 << MODE_11AC_VHT20_2G) | \
  141. (1 << MODE_11AC_VHT80_2G) \
  142. | (1 << MODE_11AC_VHT160) | (1 << MODE_11AC_VHT80_80))
  143. #define HT40_MODE_VALID_MASK ((1 << MODE_11NA_HT40) | \
  144. (1 << MODE_11NG_HT40) \
  145. | (1 << MODE_11AC_VHT40) | (1 << MODE_11AC_VHT80) \
  146. | (1 << MODE_11AC_VHT40_2G) | (1 << MODE_11AC_VHT80_2G) \
  147. | (1 << MODE_11AC_VHT160) | (1 << MODE_11AC_VHT80_80))
  148. #define VHT20_MODE_VALID_MASK ((1 << MODE_11AC_VHT20) | \
  149. (1 << MODE_11AC_VHT40) | (1 << MODE_11AC_VHT80) | \
  150. (1 << MODE_11AC_VHT40_2G) | (1 << MODE_11AC_VHT20_2G) | \
  151. (1 << MODE_11AC_VHT80_2G) | \
  152. (1 << MODE_11AC_VHT160) | (1 << MODE_11AC_VHT80_80))
  153. #define VHT40_MODE_VALID_MASK ((1 << MODE_11AC_VHT40) | \
  154. (1 << MODE_11AC_VHT80) | \
  155. (1 << MODE_11AC_VHT40_2G) | (1 << MODE_11AC_VHT80_2G) | \
  156. (1 << MODE_11AC_VHT160) | (1 << MODE_11AC_VHT80_80))
  157. #define VHT80_MODE_VALID_MASK ((1 << MODE_11AC_VHT80) | \
  158. (1 << MODE_11AC_VHT80_2G) | \
  159. (1 << MODE_11AC_VHT160) | (1 << MODE_11AC_VHT80_80))
  160. #define VHT160_MODE_VALID_MASK ((1 << MODE_11AC_VHT160) | \
  161. (1 << MODE_11AC_VHT80_80))
  162. #define VHT20_LDPC_ONLY_MASKS (VHT20_MODE_VALID_MASK | INVALID_BCC_RATE)
  163. #define VHT40_LDPC_ONLY_MASKS (VHT40_MODE_VALID_MASK | INVALID_BCC_RATE)
  164. #define VHT80_LDPC_ONLY_MASKS (VHT80_MODE_VALID_MASK | INVALID_BCC_RATE)
  165. #define VHT160_LDPC_ONLY_MASKS (VHT160_MODE_VALID_MASK | INVALID_BCC_RATE)
  166. #define VHT_INVALID_MCS (0xFF)
  167. #define VHT_INVALID_RATES_MASK 0
  168. #define HE20_MODE_VALID_MASK ((1 << MODE_11AX_HE20) |\
  169. (1 << MODE_11AX_HE40) | \
  170. (1 << MODE_11AX_HE80) | (1 << MODE_11AX_HE20_2G) | \
  171. (1 << MODE_11AX_HE40_2G) | \
  172. (1 << MODE_11AX_HE80_2G) | (1 << MODE_11AX_HE80_80) | \
  173. (1 << MODE_11AX_HE160))
  174. #define HE40_MODE_VALID_MASK ((1 << MODE_11AX_HE40) | \
  175. (1 << MODE_11AX_HE80) | (1 << MODE_11AX_HE40_2G) | \
  176. (1 << MODE_11AX_HE80_2G) | (1 << MODE_11AX_HE80_80) | \
  177. (1 << MODE_11AX_HE160))
  178. #define HE80_MODE_VALID_MASK ((1 << MODE_11AX_HE80) | \
  179. (1 << MODE_11AX_HE80_2G) | \
  180. (1 << MODE_11AX_HE80_80) | (1 << MODE_11AX_HE160))
  181. #define HE160_MODE_VALID_MASK ((1 << MODE_11AX_HE80_80) | \
  182. (1 << MODE_11AX_HE160))
  183. #define HE20_LDPC_ONLY_MASKS (HE20_MODE_VALID_MASK | INVALID_BCC_RATE)
  184. #define HE40_LDPC_ONLY_MASKS (HE40_MODE_VALID_MASK | INVALID_BCC_RATE)
  185. #define HE80_LDPC_ONLY_MASKS (HE80_MODE_VALID_MASK | INVALID_BCC_RATE)
  186. #define HE160_LDPC_ONLY_MASKS (HE160_MODE_VALID_MASK | INVALID_BCC_RATE)
  187. #define HE_INVALID_RATES_MASK 0
  188. #ifdef WLAN_FEATURE_11BE
  189. #define MODE_11BE_EHT240 0
  190. #define EHT20_MODE_VALID_MASK ((ONE_UL << MODE_11BE_EHT20) | \
  191. (ONE_UL << MODE_11BE_EHT40) | \
  192. (ONE_UL << MODE_11BE_EHT80) | \
  193. (ONE_UL << MODE_11BE_EHT80_80) | \
  194. (ONE_UL << MODE_11BE_EHT160) | \
  195. (ONE_UL << MODE_11BE_EHT240) | \
  196. (ONE_UL << MODE_11BE_EHT160_160) | \
  197. (ONE_UL << MODE_11BE_EHT320) | \
  198. (ONE_UL << MODE_11BE_EHT20_2G) | \
  199. (ONE_UL << MODE_11BE_EHT40_2G))
  200. #define EHT40_MODE_VALID_MASK ((ONE_UL << MODE_11BE_EHT40) | \
  201. (ONE_UL << MODE_11BE_EHT80) | \
  202. (ONE_UL << MODE_11BE_EHT80_80) | \
  203. (ONE_UL << MODE_11BE_EHT160) | \
  204. (ONE_UL << MODE_11BE_EHT240) | \
  205. (ONE_UL << MODE_11BE_EHT160_160) | \
  206. (ONE_UL << MODE_11BE_EHT320) | \
  207. (ONE_UL << MODE_11BE_EHT40_2G))
  208. #define EHT80_MODE_VALID_MASK ((ONE_UL << MODE_11BE_EHT80) | \
  209. (ONE_UL << MODE_11BE_EHT80_80) | \
  210. (ONE_UL << MODE_11BE_EHT160) | \
  211. (ONE_UL << MODE_11BE_EHT240) | \
  212. (ONE_UL << MODE_11BE_EHT160_160) | \
  213. (ONE_UL << MODE_11BE_EHT320))
  214. #define EHT160_MODE_VALID_MASK ((ONE_UL << MODE_11BE_EHT80_80) | \
  215. (ONE_UL << MODE_11BE_EHT160) | \
  216. (ONE_UL << MODE_11BE_EHT240) | \
  217. (ONE_UL << MODE_11BE_EHT160_160) | \
  218. (ONE_UL << MODE_11BE_EHT320))
  219. #define EHT320_MODE_VALID_MASK ((ONE_UL << MODE_11BE_EHT160_160) | \
  220. (ONE_UL << MODE_11BE_EHT320))
  221. /* LDPC mask definition */
  222. #define EHT20_LDPC_ONLY_MASKS (EHT20_MODE_VALID_MASK | INVALID_BCC_RATE)
  223. #define EHT40_LDPC_ONLY_MASKS (EHT40_MODE_VALID_MASK | INVALID_BCC_RATE)
  224. #define EHT80_LDPC_ONLY_MASKS (EHT80_MODE_VALID_MASK | INVALID_BCC_RATE)
  225. #define EHT160_LDPC_ONLY_MASKS (EHT160_MODE_VALID_MASK | INVALID_BCC_RATE)
  226. #define EHT320_LDPC_ONLY_MASKS (EHT320_MODE_VALID_MASK | INVALID_BCC_RATE)
  227. #define EHT_INVALID_RATES_MASK 0
  228. #endif /* WLAN_FEATURE_11BE */
  229. static const struct DP_CMN_RATE_TABLE dp_11abgnratetable = {
  230. {
  231. /* When number of spatial streams > 4 or 11AX support is enabled */
  232. /* 0 11 Mb */ { CCK_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_CCK,
  233. 11000, 11000, 0, 0, 0, 11000,
  234. 0x100 },
  235. /* 1 5.5 Mb */ { CCK_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_CCK,
  236. 5500, 5500, 0, 0, 0, 5500, 0x101
  237. },
  238. /* 2 2 Mb */ { CCK_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_CCK,
  239. 2000, 2000, 0, 0, 0, 2000, 0x102
  240. },
  241. /* 3 1 Mb */ { CCK_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_CCK,
  242. 1000, 1000, 0, 0, 0, 1000, 0x103
  243. },
  244. /* 4 48 Mb */ { OFDM_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_OFDM,
  245. 48000, 48000, 0, 0, 0, 48000,
  246. 0x000 },
  247. /* 5 24 Mb */ { OFDM_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_OFDM,
  248. 24000, 24000, 0, 0, 0, 24000,
  249. 0x001 },
  250. /* 6 12 Mb */ { OFDM_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_OFDM,
  251. 12000, 12000, 0, 0, 0, 12000,
  252. 0x002 },
  253. /* 7 6 Mb */ { OFDM_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_OFDM,
  254. 6000, 6000, 0, 0, 0, 6000,
  255. 0x003 },
  256. /* 8 54 Mb */ { OFDM_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_OFDM,
  257. 54000, 54000, 0, 0, 0, 54000,
  258. 0x004 },
  259. /* 9 36 Mb */ { OFDM_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_OFDM,
  260. 36000, 36000, 0, 0, 0, 36000,
  261. 0x005 },
  262. /* 10 18 Mb */ { OFDM_MODE_VALID_MASK,
  263. DP_CMN_MOD_IEEE80211_T_OFDM,
  264. 18000, 18000, 0, 0, 0, 18000,
  265. 0x006 },
  266. /* 11 9 Mb */ { OFDM_MODE_VALID_MASK,
  267. DP_CMN_MOD_IEEE80211_T_OFDM,
  268. 9000, 9000, 0, 0, 0, 9000,
  269. 0x007},
  270. /* 12 MCS-00 */ { HT20_MODE_VALID_MASK,
  271. DP_CMN_MOD_IEEE80211_T_HT_20, 6500,
  272. 7200, 0, 0, 0, 6500, 0x200 },
  273. /* 13 MCS-01 */ { HT20_MODE_VALID_MASK,
  274. DP_CMN_MOD_IEEE80211_T_HT_20, 13000,
  275. 14400, 0, 0, 0, 13000, 0x201 },
  276. /* 14 MCS-02 */ { HT20_MODE_VALID_MASK,
  277. DP_CMN_MOD_IEEE80211_T_HT_20, 19500,
  278. 21700, 0, 0, 0, 19500, 0x202 },
  279. /* 15 MCS-03 */ { HT20_MODE_VALID_MASK,
  280. DP_CMN_MOD_IEEE80211_T_HT_20, 26000,
  281. 28900, 0, 0, 0, 26000, 0x203 },
  282. /* 16 MCS-04 */ { HT20_MODE_VALID_MASK,
  283. DP_CMN_MOD_IEEE80211_T_HT_20, 39000,
  284. 43300, 0, 0, 0, 39000, 0x204 },
  285. /* 17 MCS-05 */ { HT20_MODE_VALID_MASK,
  286. DP_CMN_MOD_IEEE80211_T_HT_20, 52000,
  287. 57800, 0, 0, 0, 52000, 0x205 },
  288. /* 18 MCS-06 */ { HT20_MODE_VALID_MASK,
  289. DP_CMN_MOD_IEEE80211_T_HT_20, 58500,
  290. 65000, 0, 0, 0, 58500, 0x206 },
  291. /* 19 MCS-07 */ { HT20_MODE_VALID_MASK,
  292. DP_CMN_MOD_IEEE80211_T_HT_20, 65000,
  293. 72200, 0, 0, 0, 65000, 0x207 },
  294. /* When number of spatial streams > 1 */
  295. /* 20 MCS-00 */ { HT20_MODE_VALID_MASK,
  296. DP_CMN_MOD_IEEE80211_T_HT_20, 13000,
  297. 14400, 0, 0, 0, 13000, 0x220 },
  298. /* 21 MCS-01 */ { HT20_MODE_VALID_MASK,
  299. DP_CMN_MOD_IEEE80211_T_HT_20, 26000,
  300. 28900, 0, 0, 0, 26000, 0x221 },
  301. /* 22 MCS-02 */ { HT20_MODE_VALID_MASK,
  302. DP_CMN_MOD_IEEE80211_T_HT_20, 39000,
  303. 43300, 0, 0, 0, 39000, 0x222 },
  304. /* 23 MCS-03 */ { HT20_MODE_VALID_MASK,
  305. DP_CMN_MOD_IEEE80211_T_HT_20, 52000,
  306. 57800, 0, 0, 0, 52000, 0x223 },
  307. /* 24 MCS-04 */ { HT20_MODE_VALID_MASK,
  308. DP_CMN_MOD_IEEE80211_T_HT_20, 78000,
  309. 86700, 0, 0, 0, 78000, 0x224 },
  310. /* 25 MCS-05 */ { HT20_MODE_VALID_MASK,
  311. DP_CMN_MOD_IEEE80211_T_HT_20, 104000,
  312. 115600, 0, 0, 0, 104000, 0x225 },
  313. /* 26 MCS-06 */ { HT20_MODE_VALID_MASK,
  314. DP_CMN_MOD_IEEE80211_T_HT_20, 117000,
  315. 130000, 0, 0, 0, 117000, 0x226 },
  316. /* 27 MCS-07 */ { HT20_MODE_VALID_MASK,
  317. DP_CMN_MOD_IEEE80211_T_HT_20, 130000,
  318. 144000, 0, 0, 0, 130000, 0x227 },
  319. /* When number of spatial streams > 2 */
  320. /* 28 MCS-00 */ { HT20_MODE_VALID_MASK,
  321. DP_CMN_MOD_IEEE80211_T_HT_20, 19500,
  322. 21700, 0, 0, 0, 19500, 0x240 },
  323. /* 29 MCS-01 */ { HT20_MODE_VALID_MASK,
  324. DP_CMN_MOD_IEEE80211_T_HT_20, 39000,
  325. 43300, 0, 0, 0, 39000, 0x241 },
  326. /* 30 MCS-02 */ { HT20_MODE_VALID_MASK,
  327. DP_CMN_MOD_IEEE80211_T_HT_20, 58500,
  328. 65000, 0, 0, 0, 58500, 0x242 },
  329. /* 31 MCS-03 */ { HT20_MODE_VALID_MASK,
  330. DP_CMN_MOD_IEEE80211_T_HT_20, 78000,
  331. 86700, 0, 0, 0, 78000, 0x243 },
  332. /* 32 MCS-04 */ { HT20_MODE_VALID_MASK,
  333. DP_CMN_MOD_IEEE80211_T_HT_20, 117000,
  334. 130000, 0, 0, 0, 117000, 0x244 },
  335. /* 33 MCS-05 */ { HT20_MODE_VALID_MASK,
  336. DP_CMN_MOD_IEEE80211_T_HT_20, 156000,
  337. 173300, 0, 0, 0, 156000, 0x245 },
  338. /* 34 MCS-06 */ { HT20_MODE_VALID_MASK,
  339. DP_CMN_MOD_IEEE80211_T_HT_20, 175500,
  340. 195000, 0, 0, 0, 175500, 0x246 },
  341. /* 35 MCS-07 */ { HT20_MODE_VALID_MASK,
  342. DP_CMN_MOD_IEEE80211_T_HT_20, 195000,
  343. 216700, 0, 0, 0, 195000, 0x247 },
  344. /* When number of spatial streams > 3 */
  345. /* 36 MCS-00 */ { HT20_MODE_VALID_MASK,
  346. DP_CMN_MOD_IEEE80211_T_HT_20, 26000,
  347. 28900, 0, 0, 0, 26000, 0x260 },
  348. /* 37 MCS-01 */ { HT20_MODE_VALID_MASK,
  349. DP_CMN_MOD_IEEE80211_T_HT_20, 52000,
  350. 57800, 0, 0, 0, 52000, 0x261 },
  351. /* 38 MCS-02 */ { HT20_MODE_VALID_MASK,
  352. DP_CMN_MOD_IEEE80211_T_HT_20, 78000,
  353. 86700, 0, 0, 0, 78000, 0x262 },
  354. /* 39 MCS-03 */ { HT20_MODE_VALID_MASK,
  355. DP_CMN_MOD_IEEE80211_T_HT_20, 104000,
  356. 115600, 0, 0, 0, 104000, 0x263 },
  357. /* 40 MCS-04 */ { HT20_MODE_VALID_MASK,
  358. DP_CMN_MOD_IEEE80211_T_HT_20, 156000,
  359. 173300, 0, 0, 0, 156000, 0x264 },
  360. /* 41 MCS-05 */ { HT20_MODE_VALID_MASK,
  361. DP_CMN_MOD_IEEE80211_T_HT_20, 208000,
  362. 231100, 0, 0, 0, 208000, 0x265 },
  363. /* 42 MCS-06 */ { HT20_MODE_VALID_MASK,
  364. DP_CMN_MOD_IEEE80211_T_HT_20, 234000,
  365. 260000, 0, 0, 0, 234000, 0x266 },
  366. /* 43 MCS-07 */ { HT20_MODE_VALID_MASK,
  367. DP_CMN_MOD_IEEE80211_T_HT_20, 260000,
  368. 288900, 0, 0, 0, 260000, 0x267 },
  369. /* 11n HT40 rates */
  370. /* 44 MCS-00 */ { HT40_MODE_VALID_MASK,
  371. DP_CMN_MOD_IEEE80211_T_HT_40, 13500,
  372. 15000, 0, 0, 0, 13500, 0x200 },
  373. /* 45 MCS-01 */ { HT40_MODE_VALID_MASK,
  374. DP_CMN_MOD_IEEE80211_T_HT_40, 27000,
  375. 30000, 0, 0, 0, 27000, 0x201 },
  376. /* 46 MCS-02 */ { HT40_MODE_VALID_MASK,
  377. DP_CMN_MOD_IEEE80211_T_HT_40, 40500,
  378. 45000, 0, 0, 0, 40500, 0x202 },
  379. /* 47 MCS-03 */ { HT40_MODE_VALID_MASK,
  380. DP_CMN_MOD_IEEE80211_T_HT_40, 54000,
  381. 60000, 0, 0, 0, 54000, 0x203 },
  382. /* 48 MCS-04 */ { HT40_MODE_VALID_MASK,
  383. DP_CMN_MOD_IEEE80211_T_HT_40, 81500,
  384. 90000, 0, 0, 0, 81500, 0x204 },
  385. /* 49 MCS-05 */ { HT40_MODE_VALID_MASK,
  386. DP_CMN_MOD_IEEE80211_T_HT_40, 108000,
  387. 120000, 0, 0, 0, 108000, 0x205 },
  388. /* 50 MCS-06 */ { HT40_MODE_VALID_MASK,
  389. DP_CMN_MOD_IEEE80211_T_HT_40, 121500,
  390. 135000, 0, 0, 0, 121500, 0x206 },
  391. /* 51 MCS-07 */ { HT40_MODE_VALID_MASK,
  392. DP_CMN_MOD_IEEE80211_T_HT_40, 135000,
  393. 150000, 0, 0, 0, 135000, 0x207 },
  394. /* When number of spatial streams > 1 */
  395. /* 52 MCS-00 */ { HT40_MODE_VALID_MASK,
  396. DP_CMN_MOD_IEEE80211_T_HT_40, 27000,
  397. 30000, 0, 0, 0, 27000, 0x220 },
  398. /* 53 MCS-01 */ { HT40_MODE_VALID_MASK,
  399. DP_CMN_MOD_IEEE80211_T_HT_40, 54000,
  400. 60000, 0, 0, 0, 54000, 0x221 },
  401. /* 54 MCS-02 */ { HT40_MODE_VALID_MASK,
  402. DP_CMN_MOD_IEEE80211_T_HT_40, 81000,
  403. 90000, 0, 0, 0, 81000, 0x222 },
  404. /* 55 MCS-03 */ { HT40_MODE_VALID_MASK,
  405. DP_CMN_MOD_IEEE80211_T_HT_40, 108000,
  406. 120000, 0, 0, 0, 108000, 0x223 },
  407. /* 56 MCS-04 */ { HT40_MODE_VALID_MASK,
  408. DP_CMN_MOD_IEEE80211_T_HT_40, 162000,
  409. 180000, 0, 0, 0, 162000, 0x224 },
  410. /* 57 MCS-05 */ { HT40_MODE_VALID_MASK,
  411. DP_CMN_MOD_IEEE80211_T_HT_40, 216000,
  412. 240000, 0, 0, 0, 216000, 0x225 },
  413. /* 58 MCS-06 */ { HT40_MODE_VALID_MASK,
  414. DP_CMN_MOD_IEEE80211_T_HT_40, 243000,
  415. 270000, 0, 0, 0, 243000, 0x226 },
  416. /* 59 MCS-07 */ { HT40_MODE_VALID_MASK,
  417. DP_CMN_MOD_IEEE80211_T_HT_40, 270000,
  418. 300000, 0, 0, 0, 270000, 0x227 },
  419. /* When number of spatial streams > 2 */
  420. /* 60 MCS-00 */ { HT40_MODE_VALID_MASK,
  421. DP_CMN_MOD_IEEE80211_T_HT_40, 40500,
  422. 45000, 0, 0, 0, 40500, 0x240 },
  423. /* 61 MCS-01 */ { HT40_MODE_VALID_MASK,
  424. DP_CMN_MOD_IEEE80211_T_HT_40, 81000,
  425. 90000, 0, 0, 0, 81000, 0x241 },
  426. /* 62 MCS-02 */ { HT40_MODE_VALID_MASK,
  427. DP_CMN_MOD_IEEE80211_T_HT_40, 121500,
  428. 135000, 0, 0, 0, 121500, 0x242 },
  429. /* 63 MCS-03 */ { HT40_MODE_VALID_MASK,
  430. DP_CMN_MOD_IEEE80211_T_HT_40, 162000,
  431. 180000, 0, 0, 0, 162000, 0x243 },
  432. /* 64 MCS-04 */ { HT40_MODE_VALID_MASK,
  433. DP_CMN_MOD_IEEE80211_T_HT_40, 243000,
  434. 270000, 0, 0, 0, 243000, 0x244 },
  435. /* 65 MCS-05 */ { HT40_MODE_VALID_MASK,
  436. DP_CMN_MOD_IEEE80211_T_HT_40, 324000,
  437. 360000, 0, 0, 0, 324000, 0x245 },
  438. /* 66 MCS-06 */ { HT40_MODE_VALID_MASK,
  439. DP_CMN_MOD_IEEE80211_T_HT_40, 364500,
  440. 405000, 0, 0, 0, 364500, 0x246 },
  441. /* 67 MCS-07 */ { HT40_MODE_VALID_MASK,
  442. DP_CMN_MOD_IEEE80211_T_HT_40, 405000,
  443. 450000, 0, 0, 0, 405000, 0x247 },
  444. /* When number of spatial streams > 3 */
  445. /* 68 MCS-00 */ { HT40_MODE_VALID_MASK,
  446. DP_CMN_MOD_IEEE80211_T_HT_40, 54000,
  447. 60000, 0, 0, 0, 54000, 0x260 },
  448. /* 69 MCS-01 */ { HT40_MODE_VALID_MASK,
  449. DP_CMN_MOD_IEEE80211_T_HT_40, 108000,
  450. 120000, 0, 0, 0, 108000, 0x261 },
  451. /* 70 MCS-02 */ { HT40_MODE_VALID_MASK,
  452. DP_CMN_MOD_IEEE80211_T_HT_40, 162000,
  453. 180000, 0, 0, 0, 162000, 0x262 },
  454. /* 71 MCS-03 */ { HT40_MODE_VALID_MASK,
  455. DP_CMN_MOD_IEEE80211_T_HT_40, 216000,
  456. 240000, 0, 0, 0, 216000, 0x263 },
  457. /* 72 MCS-04 */ { HT40_MODE_VALID_MASK,
  458. DP_CMN_MOD_IEEE80211_T_HT_40, 324000,
  459. 360000, 0, 0, 0, 324000, 0x264 },
  460. /* 73 MCS-05 */ { HT40_MODE_VALID_MASK,
  461. DP_CMN_MOD_IEEE80211_T_HT_40, 432000,
  462. 480000, 0, 0, 0, 432000, 0x265 },
  463. /* 74 MCS-06 */ { HT40_MODE_VALID_MASK,
  464. DP_CMN_MOD_IEEE80211_T_HT_40, 486000,
  465. 540000, 0, 0, 0, 486000, 0x266 },
  466. /* 75 MCS-07 */ { HT40_MODE_VALID_MASK,
  467. DP_CMN_MOD_IEEE80211_T_HT_40, 540000,
  468. 600000, 0, 0, 0, 540000, 0x267 },
  469. /* 11ac VHT20 rates */
  470. /* 76 MCS-00 */ { VHT20_MODE_VALID_MASK,
  471. DP_CMN_MOD_IEEE80211_T_VHT_20, 6500,
  472. 7200, 0, 0, 0, 6500, 0x300 },
  473. /* 77 MCS-01 */ { VHT20_MODE_VALID_MASK,
  474. DP_CMN_MOD_IEEE80211_T_VHT_20, 13000,
  475. 14400, 0, 0, 0, 13000, 0x301 },
  476. /* 78 MCS-02 */ { VHT20_MODE_VALID_MASK,
  477. DP_CMN_MOD_IEEE80211_T_VHT_20, 19500,
  478. 21700, 0, 0, 0, 19500, 0x302 },
  479. /* 79 MCS-03 */ { VHT20_MODE_VALID_MASK,
  480. DP_CMN_MOD_IEEE80211_T_VHT_20, 26000,
  481. 28900, 0, 0, 0, 26000, 0x303 },
  482. /* 80 MCS-04 */ { VHT20_MODE_VALID_MASK,
  483. DP_CMN_MOD_IEEE80211_T_VHT_20, 39000,
  484. 43300, 0, 0, 0, 39000, 0x304 },
  485. /* 81 MCS-05 */ { VHT20_MODE_VALID_MASK,
  486. DP_CMN_MOD_IEEE80211_T_VHT_20, 52000,
  487. 57800, 0, 0, 0, 52000, 0x305 },
  488. /* 82 MCS-06 */ { VHT20_MODE_VALID_MASK,
  489. DP_CMN_MOD_IEEE80211_T_VHT_20, 58500,
  490. 65000, 0, 0, 0, 58500, 0x306 },
  491. /* 83 MCS-07 */ { VHT20_MODE_VALID_MASK,
  492. DP_CMN_MOD_IEEE80211_T_VHT_20, 65000,
  493. 72200, 0, 0, 0, 65000, 0x307 },
  494. /* 84 MCS-08 */ { VHT20_MODE_VALID_MASK,
  495. DP_CMN_MOD_IEEE80211_T_VHT_20, 78000,
  496. 86700, 0, 0, 0, 78000, 0x308 },
  497. /* 85 MCS-09 */ { VHT20_LDPC_ONLY_MASKS,
  498. DP_CMN_MOD_IEEE80211_T_VHT_20, 86500,
  499. 96000, 0, 0, 0, 86500, 0x309 },
  500. /* When we support very high throughput MCS */
  501. /* 86 MCS-10 */ { VHT20_LDPC_ONLY_MASKS,
  502. DP_CMN_MOD_IEEE80211_T_VHT_20,
  503. 97500, 108300, 0, 0, 0,
  504. 97500, 0x30a},
  505. /* 87 MCS-11 */ { VHT20_LDPC_ONLY_MASKS,
  506. DP_CMN_MOD_IEEE80211_T_VHT_20,
  507. 108300, 120400, 0, 0, 0,
  508. 108300, 0x30b},
  509. /* When number of spatial streams > 1 */
  510. /* 88 MCS-00 */ { VHT20_MODE_VALID_MASK,
  511. DP_CMN_MOD_IEEE80211_T_VHT_20, 13000,
  512. 14400, 0, 0, 0, 13000, 0x320 },
  513. /* 89 MCS-01 */ { VHT20_MODE_VALID_MASK,
  514. DP_CMN_MOD_IEEE80211_T_VHT_20, 26000,
  515. 28900, 0, 0, 0, 26000, 0x321 },
  516. /* 90 MCS-02 */ { VHT20_MODE_VALID_MASK,
  517. DP_CMN_MOD_IEEE80211_T_VHT_20, 39000,
  518. 43300, 0, 0, 0, 39000, 0x322 },
  519. /* 91 MCS-03 */ { VHT20_MODE_VALID_MASK,
  520. DP_CMN_MOD_IEEE80211_T_VHT_20, 52000,
  521. 57800, 0, 0, 0, 52000, 0x323 },
  522. /* 92 MCS-04 */ { VHT20_MODE_VALID_MASK,
  523. DP_CMN_MOD_IEEE80211_T_VHT_20, 78000,
  524. 86700, 0, 0, 0, 78000, 0x324 },
  525. /* 93 MCS-05 */ { VHT20_MODE_VALID_MASK,
  526. DP_CMN_MOD_IEEE80211_T_VHT_20, 104000,
  527. 115600, 0, 0, 0, 104000, 0x325 },
  528. /* 94 MCS-06 */ { VHT20_MODE_VALID_MASK,
  529. DP_CMN_MOD_IEEE80211_T_VHT_20, 117000,
  530. 130000, 0, 0, 0, 117000, 0x326 },
  531. /* 95 MCS-07 */ { VHT20_MODE_VALID_MASK,
  532. DP_CMN_MOD_IEEE80211_T_VHT_20, 130000,
  533. 144400, 0, 0, 0, 130000, 0x327 },
  534. /* 96 MCS-08 */ { VHT20_MODE_VALID_MASK,
  535. DP_CMN_MOD_IEEE80211_T_VHT_20, 156000,
  536. 173300, 0, 0, 0, 156000, 0x328 },
  537. /* 97 MCS-09 */ { VHT20_LDPC_ONLY_MASKS,
  538. DP_CMN_MOD_IEEE80211_T_VHT_20, 173000,
  539. 192000, 0, 0, 0, 173000, 0x329 },
  540. /* 98 MCS-10 */ { VHT20_LDPC_ONLY_MASKS,
  541. DP_CMN_MOD_IEEE80211_T_VHT_20,
  542. 195000, 216700, 0, 0, 0,
  543. 195000, 0x32a },
  544. /* 99 MCS-11 */ { VHT20_LDPC_ONLY_MASKS,
  545. DP_CMN_MOD_IEEE80211_T_VHT_20,
  546. 216700, 240700, 0, 0, 0,
  547. 216700, 0x32b },
  548. /* when number of spatial streams > 2 */
  549. /* 100 MCS-00 */ { VHT20_MODE_VALID_MASK,
  550. DP_CMN_MOD_IEEE80211_T_VHT_20, 19500,
  551. 21700, 0, 0, 0, 19500, 0x340 },
  552. /* 101 MCS-01 */ { VHT20_MODE_VALID_MASK,
  553. DP_CMN_MOD_IEEE80211_T_VHT_20, 39000,
  554. 43300, 0, 0, 0, 39000, 0x341 },
  555. /* 102 MCS-02 */ { VHT20_MODE_VALID_MASK,
  556. DP_CMN_MOD_IEEE80211_T_VHT_20, 58500,
  557. 65000, 0, 0, 0, 58500, 0x342 },
  558. /* 103 MCS-03 */ { VHT20_MODE_VALID_MASK,
  559. DP_CMN_MOD_IEEE80211_T_VHT_20, 78000,
  560. 86700, 0, 0, 0, 78000, 0x343 },
  561. /* 104 MCS-04 */ { VHT20_MODE_VALID_MASK,
  562. DP_CMN_MOD_IEEE80211_T_VHT_20, 117000,
  563. 130000, 0, 0, 0, 117000, 0x344 },
  564. /* 105 MCS-05 */ { VHT20_MODE_VALID_MASK,
  565. DP_CMN_MOD_IEEE80211_T_VHT_20, 156000,
  566. 173300, 0, 0, 0, 156000, 0x345 },
  567. /* 106 MCS-06 */ { VHT20_MODE_VALID_MASK,
  568. DP_CMN_MOD_IEEE80211_T_VHT_20, 175500,
  569. 195000, 0, 0, 0, 175500, 0x346 },
  570. /* 107 MCS-07 */ { VHT20_MODE_VALID_MASK,
  571. DP_CMN_MOD_IEEE80211_T_VHT_20, 195000,
  572. 216700, 0, 0, 0, 195000, 0x347 },
  573. /* 108 MCS-08 */ { VHT20_MODE_VALID_MASK,
  574. DP_CMN_MOD_IEEE80211_T_VHT_20, 234000,
  575. 260000, 0, 0, 0, 234000, 0x348 },
  576. /* 109 MCS-09 */ { VHT20_MODE_VALID_MASK,
  577. DP_CMN_MOD_IEEE80211_T_VHT_20, 260000,
  578. 288900, 0, 0, 0, 260000, 0x349 },
  579. /* 110 MCS-10 */ { VHT20_LDPC_ONLY_MASKS,
  580. DP_CMN_MOD_IEEE80211_T_VHT_20,
  581. 292500, 325000, 0, 0, 0,
  582. 292500, 0x34a},
  583. /* 111 MCS-11 */ { VHT20_LDPC_ONLY_MASKS,
  584. DP_CMN_MOD_IEEE80211_T_VHT_20,
  585. 325000, 361100, 0, 0, 0,
  586. 325000, 0x34b},
  587. /* when number of spatial streams > 3 */
  588. /* 112 MCS-00 */ { VHT20_MODE_VALID_MASK,
  589. DP_CMN_MOD_IEEE80211_T_VHT_20, 26000,
  590. 28900, 0, 0, 0, 26000, 0x360 },
  591. /* 113 MCS-01 */ { VHT20_MODE_VALID_MASK,
  592. DP_CMN_MOD_IEEE80211_T_VHT_20, 52000,
  593. 57800, 0, 0, 0, 52000, 0x361 },
  594. /* 114 MCS-02 */ { VHT20_MODE_VALID_MASK,
  595. DP_CMN_MOD_IEEE80211_T_VHT_20, 78000,
  596. 86700, 0, 0, 0, 78000, 0x362 },
  597. /* 115 MCS-03 */ { VHT20_MODE_VALID_MASK,
  598. DP_CMN_MOD_IEEE80211_T_VHT_20, 104000,
  599. 115600, 0, 0, 0, 104000, 0x363 },
  600. /* 116 MCS-04 */ { VHT20_MODE_VALID_MASK,
  601. DP_CMN_MOD_IEEE80211_T_VHT_20, 156000,
  602. 173300, 0, 0, 0, 156000, 0x364 },
  603. /* 117 MCS-05 */ { VHT20_MODE_VALID_MASK,
  604. DP_CMN_MOD_IEEE80211_T_VHT_20, 208000,
  605. 231100, 0, 0, 0, 208000, 0x365 },
  606. /* 118 MCS-06 */ { VHT20_MODE_VALID_MASK,
  607. DP_CMN_MOD_IEEE80211_T_VHT_20, 234000,
  608. 260000, 0, 0, 0, 234000, 0x366 },
  609. /* 119 MCS-07 */ { VHT20_MODE_VALID_MASK,
  610. DP_CMN_MOD_IEEE80211_T_VHT_20, 260000,
  611. 288900, 0, 0, 0, 260000, 0x367 },
  612. /* 120 MCS-08 */ { VHT20_MODE_VALID_MASK,
  613. DP_CMN_MOD_IEEE80211_T_VHT_20, 312000,
  614. 346700, 0, 0, 0, 312000, 0x368 },
  615. /* 121 MCS-09 */ { VHT20_LDPC_ONLY_MASKS,
  616. DP_CMN_MOD_IEEE80211_T_VHT_20, 344000,
  617. 378400, 0, 0, 0, 344000, 0x369 },
  618. /* 122 MCS-10 */ { VHT20_LDPC_ONLY_MASKS,
  619. DP_CMN_MOD_IEEE80211_T_VHT_20,
  620. 390000, 433300, 0, 0, 0, 390000,
  621. 0x36a},
  622. /* 123 MCS-11 */ { VHT20_LDPC_ONLY_MASKS,
  623. DP_CMN_MOD_IEEE80211_T_VHT_20, 433300,
  624. 481500, 0, 0, 0, 433300, 0x36b},
  625. /* when number of spatial streams > 4 */
  626. /* 124 MCS-00 */ { VHT20_LDPC_ONLY_MASKS,
  627. DP_CMN_MOD_IEEE80211_T_VHT_20, 32500,
  628. 36100, 0, 0, 0, 32500, 0x380 },
  629. /* 125 MCS-01 */ { VHT20_LDPC_ONLY_MASKS,
  630. DP_CMN_MOD_IEEE80211_T_VHT_20, 65000,
  631. 72200, 0, 0, 0, 65000, 0x381 },
  632. /* 126 MCS-02 */ { VHT20_LDPC_ONLY_MASKS,
  633. DP_CMN_MOD_IEEE80211_T_VHT_20, 97500,
  634. 108300, 0, 0, 0, 97500, 0x382 },
  635. /* 127 MCS-03 */ { VHT20_LDPC_ONLY_MASKS,
  636. DP_CMN_MOD_IEEE80211_T_VHT_20, 130000,
  637. 144400, 0, 0, 0, 130000, 0x383 },
  638. /* 128 MCS-04 */ { VHT20_LDPC_ONLY_MASKS,
  639. DP_CMN_MOD_IEEE80211_T_VHT_20, 195000,
  640. 216700, 0, 0, 0, 195000, 0x384 },
  641. /* 129 MCS-05 */ { VHT20_LDPC_ONLY_MASKS,
  642. DP_CMN_MOD_IEEE80211_T_VHT_20, 260000,
  643. 288900, 0, 0, 0, 260000, 0x385 },
  644. /* 130 MCS-06 */ { VHT20_LDPC_ONLY_MASKS,
  645. DP_CMN_MOD_IEEE80211_T_VHT_20, 292500,
  646. 325000, 0, 0, 0, 292500, 0x386 },
  647. /* 131 MCS-07 */ { VHT20_LDPC_ONLY_MASKS,
  648. DP_CMN_MOD_IEEE80211_T_VHT_20, 325000,
  649. 361100, 0, 0, 0, 325000, 0x387 },
  650. /* 132 MCS-08 */ { VHT20_LDPC_ONLY_MASKS,
  651. DP_CMN_MOD_IEEE80211_T_VHT_20, 390000,
  652. 433300, 0, 0, 0, 390000, 0x388 },
  653. /* 133 MCS-09 */ { VHT20_LDPC_ONLY_MASKS,
  654. DP_CMN_MOD_IEEE80211_T_VHT_20, 433300,
  655. 481500, 0, 0, 0, 433300, 0x389 },
  656. /* 134 MCS-10 */ { VHT20_LDPC_ONLY_MASKS,
  657. DP_CMN_MOD_IEEE80211_T_VHT_20, 487500,
  658. 541700, 0, 0, 0, 487500, 0x38a },
  659. /* 135 MCS-11 */ { VHT20_LDPC_ONLY_MASKS,
  660. DP_CMN_MOD_IEEE80211_T_VHT_20, 541700,
  661. 601900, 0, 0, 0, 541700, 0x38b },
  662. /* When number of spatial streams > 5 */
  663. /* 136 MCS-00 */ { VHT20_LDPC_ONLY_MASKS,
  664. DP_CMN_MOD_IEEE80211_T_VHT_20, 39000,
  665. 43300, 0, 0, 0, 39000, 0x3a0 },
  666. /* 137 MCS-01 */ { VHT20_LDPC_ONLY_MASKS,
  667. DP_CMN_MOD_IEEE80211_T_VHT_20, 78000,
  668. 86700, 0, 0, 0, 78000, 0x3a1 },
  669. /* 138 MCS-02 */ { VHT20_LDPC_ONLY_MASKS,
  670. DP_CMN_MOD_IEEE80211_T_VHT_20, 117000,
  671. 130000, 0, 0, 0, 117000, 0x3a2 },
  672. /* 139 MCS-03 */ { VHT20_LDPC_ONLY_MASKS,
  673. DP_CMN_MOD_IEEE80211_T_VHT_20, 156000,
  674. 173300, 0, 0, 0, 156000, 0x3a3 },
  675. /* 140 MCS-04 */ { VHT20_LDPC_ONLY_MASKS,
  676. DP_CMN_MOD_IEEE80211_T_VHT_20, 234000,
  677. 260000, 0, 0, 0, 234000, 0x3a4 },
  678. /* 141 MCS-05 */ { VHT20_LDPC_ONLY_MASKS,
  679. DP_CMN_MOD_IEEE80211_T_VHT_20, 312000,
  680. 346700, 0, 0, 0, 312000, 0x3a5 },
  681. /* 142 MCS-06 */ { VHT20_LDPC_ONLY_MASKS,
  682. DP_CMN_MOD_IEEE80211_T_VHT_20, 351000,
  683. 390000, 0, 0, 0, 351000, 0x3a6 },
  684. /* 143 MCS-07 */ { VHT20_LDPC_ONLY_MASKS,
  685. DP_CMN_MOD_IEEE80211_T_VHT_20, 390000,
  686. 433300, 0, 0, 0, 390000, 0x3a7 },
  687. /* 144 MCS-08 */ { VHT20_LDPC_ONLY_MASKS,
  688. DP_CMN_MOD_IEEE80211_T_VHT_20, 468000,
  689. 520000, 0, 0, 0, 468000, 0x3a8 },
  690. /* 145 MCS-09 */ { VHT20_LDPC_ONLY_MASKS,
  691. DP_CMN_MOD_IEEE80211_T_VHT_20, 520000,
  692. 577800, 0, 0, 0, 520000, 0x3a9 },
  693. /* 146 MCS-10 */ { VHT20_LDPC_ONLY_MASKS,
  694. DP_CMN_MOD_IEEE80211_T_VHT_20,
  695. 585000, 650000, 0, 0, 0,
  696. 585000, 0x3aa },
  697. /* 147 MCS-11 */ { VHT20_LDPC_ONLY_MASKS,
  698. DP_CMN_MOD_IEEE80211_T_VHT_20,
  699. 650000, 722200, 0, 0,
  700. 0, 650000, 0x3ab },
  701. /* when number of spatial streams > 6 */
  702. /* 148 MCS-00 */ { VHT20_LDPC_ONLY_MASKS,
  703. DP_CMN_MOD_IEEE80211_T_VHT_20, 45500,
  704. 50600, 0, 0, 0, 45500, 0x3c0 },
  705. /* 149 MCS-01 */ { VHT20_LDPC_ONLY_MASKS,
  706. DP_CMN_MOD_IEEE80211_T_VHT_20, 91000,
  707. 101100, 0, 0, 0, 91000, 0x3c1 },
  708. /* 150 MCS-02 */ { VHT20_LDPC_ONLY_MASKS,
  709. DP_CMN_MOD_IEEE80211_T_VHT_20, 136500,
  710. 151700, 0, 0, 0, 136500, 0x3c2 },
  711. /* 151 MCS-03 */ { VHT20_LDPC_ONLY_MASKS,
  712. DP_CMN_MOD_IEEE80211_T_VHT_20, 182000,
  713. 202200, 0, 0, 0, 182000, 0x3c3 },
  714. /* 152 MCS-04 */ { VHT20_LDPC_ONLY_MASKS,
  715. DP_CMN_MOD_IEEE80211_T_VHT_20, 273000,
  716. 303300, 0, 0, 0, 273000, 0x3c4 },
  717. /* 153 MCS-05 */ { VHT20_LDPC_ONLY_MASKS,
  718. DP_CMN_MOD_IEEE80211_T_VHT_20, 364000,
  719. 404400, 0, 0, 0, 364000, 0x3c5 },
  720. /* 154 MCS-06 */ { VHT20_LDPC_ONLY_MASKS,
  721. DP_CMN_MOD_IEEE80211_T_VHT_20, 409500,
  722. 455000, 0, 0, 0, 409500, 0x3c6 },
  723. /* 155 MCS-07 */ { VHT20_LDPC_ONLY_MASKS,
  724. DP_CMN_MOD_IEEE80211_T_VHT_20, 455000,
  725. 505600, 0, 0, 0, 455000, 0x3c7 },
  726. /* 156 MCS-08 */ { VHT20_LDPC_ONLY_MASKS,
  727. DP_CMN_MOD_IEEE80211_T_VHT_20, 546000,
  728. 606700, 0, 0, 0, 546000, 0x3c8 },
  729. /* 157 MCS-09 */ { VHT20_LDPC_ONLY_MASKS,
  730. DP_CMN_MOD_IEEE80211_T_VHT_20, 606700,
  731. 674100, 0, 0, 0, 606700, 0x3c9 },
  732. /* 158 MCS-10 */ { VHT20_LDPC_ONLY_MASKS,
  733. DP_CMN_MOD_IEEE80211_T_VHT_20, 682500,
  734. 758300, 0, 0, 0, 682500, 0x3ca },
  735. /* 159 MCS-11 */ { VHT20_LDPC_ONLY_MASKS,
  736. DP_CMN_MOD_IEEE80211_T_VHT_20, 758300,
  737. 842600, 0, 0, 0, 758300, 0x3cb },
  738. /* when number of spatial streams > 7 */
  739. /* 160 MCS-00 */ { VHT20_LDPC_ONLY_MASKS,
  740. DP_CMN_MOD_IEEE80211_T_VHT_20, 52000,
  741. 57800, 0, 0, 0, 52000, 0x3e0 },
  742. /* 161 MCS-01 */ { VHT20_LDPC_ONLY_MASKS,
  743. DP_CMN_MOD_IEEE80211_T_VHT_20, 104000,
  744. 115600, 0, 0, 0, 104000, 0x3e1 },
  745. /* 162 MCS-02 */ { VHT20_LDPC_ONLY_MASKS,
  746. DP_CMN_MOD_IEEE80211_T_VHT_20, 156000,
  747. 173300, 0, 0, 0, 156000, 0x3e2 },
  748. /* 163 MCS-03 */ { VHT20_LDPC_ONLY_MASKS,
  749. DP_CMN_MOD_IEEE80211_T_VHT_20, 208000,
  750. 231100, 0, 0, 0, 208000, 0x3e3 },
  751. /* 164 MCS-04 */ { VHT20_LDPC_ONLY_MASKS,
  752. DP_CMN_MOD_IEEE80211_T_VHT_20, 312000,
  753. 346700, 0, 0, 0, 312000, 0x3e4 },
  754. /* 165 MCS-05 */ { VHT20_LDPC_ONLY_MASKS,
  755. DP_CMN_MOD_IEEE80211_T_VHT_20, 416000,
  756. 462200, 0, 0, 0, 416000, 0x3e5 },
  757. /* 166 MCS-06 */ { VHT20_LDPC_ONLY_MASKS,
  758. DP_CMN_MOD_IEEE80211_T_VHT_20, 468000,
  759. 520000, 0, 0, 0, 468000, 0x3e6 },
  760. /* 167 MCS-07 */ { VHT20_LDPC_ONLY_MASKS,
  761. DP_CMN_MOD_IEEE80211_T_VHT_20, 520000,
  762. 577800, 0, 0, 0, 520000, 0x3e7 },
  763. /* 168 MCS-08 */ { VHT20_LDPC_ONLY_MASKS,
  764. DP_CMN_MOD_IEEE80211_T_VHT_20, 624000,
  765. 693300, 0, 0, 0, 624000, 0x3e8 },
  766. /* 169 MCS-09 */ { VHT20_LDPC_ONLY_MASKS,
  767. DP_CMN_MOD_IEEE80211_T_VHT_20, 693300,
  768. 770400, 0, 0, 0, 693300, 0x3e9 },
  769. /* 170 MCS-10 */ { VHT20_LDPC_ONLY_MASKS,
  770. DP_CMN_MOD_IEEE80211_T_VHT_20, 780000,
  771. 866700, 0, 0, 0, 780000, 0x3ea },
  772. /* 171 MCS-11 */ { VHT20_LDPC_ONLY_MASKS,
  773. DP_CMN_MOD_IEEE80211_T_VHT_20, 866700,
  774. 963000, 0, 0, 0, 866700, 0x3eb },
  775. /* 11ac VHT40 rates */
  776. /* 172 MCS-00 */ { VHT40_MODE_VALID_MASK,
  777. DP_CMN_MOD_IEEE80211_T_VHT_40, 13500,
  778. 15000, 0, 0, 0, 13500, 0x300 },
  779. /* 173 MCS-01 */ { VHT40_MODE_VALID_MASK,
  780. DP_CMN_MOD_IEEE80211_T_VHT_40, 27000,
  781. 30000, 0, 0, 0, 27000, 0x301 },
  782. /* 174 MCS-02 */ { VHT40_MODE_VALID_MASK,
  783. DP_CMN_MOD_IEEE80211_T_VHT_40, 40500,
  784. 45000, 0, 0, 0, 40500, 0x302 },
  785. /* 175 MCS-03 */ { VHT40_MODE_VALID_MASK,
  786. DP_CMN_MOD_IEEE80211_T_VHT_40, 54000,
  787. 60000, 0, 0, 0, 54000, 0x303 },
  788. /* 176 MCS-04 */ { VHT40_MODE_VALID_MASK,
  789. DP_CMN_MOD_IEEE80211_T_VHT_40, 81000,
  790. 90000, 0, 0, 0, 81000, 0x304 },
  791. /* 177 MCS-05 */ { VHT40_MODE_VALID_MASK,
  792. DP_CMN_MOD_IEEE80211_T_VHT_40, 108000,
  793. 120000, 0, 0, 0, 108000, 0x305 },
  794. /* 178 MCS-06 */ { VHT40_MODE_VALID_MASK,
  795. DP_CMN_MOD_IEEE80211_T_VHT_40, 121500,
  796. 135000, 0, 0, 0, 121500, 0x306 },
  797. /* 179 MCS-07 */ { VHT40_MODE_VALID_MASK,
  798. DP_CMN_MOD_IEEE80211_T_VHT_40, 135000,
  799. 150000, 0, 0, 0, 135000, 0x307 },
  800. /* 180 MCS-08 */ { VHT40_MODE_VALID_MASK,
  801. DP_CMN_MOD_IEEE80211_T_VHT_40, 162000,
  802. 180000, 0, 0, 0, 162000, 0x308 },
  803. /* 181 MCS-09 */ { VHT40_MODE_VALID_MASK,
  804. DP_CMN_MOD_IEEE80211_T_VHT_40, 180000,
  805. 200000, 0, 0, 0, 180000, 0x309 },
  806. /* 182 MCS-10 */ { VHT40_LDPC_ONLY_MASKS,
  807. DP_CMN_MOD_IEEE80211_T_VHT_40, 202500,
  808. 225000, 0, 0, 0, 202500, 0x30a },
  809. /* 183 MCS-11 */ { VHT40_LDPC_ONLY_MASKS,
  810. DP_CMN_MOD_IEEE80211_T_VHT_40, 225000,
  811. 250000, 0, 0, 0, 225000, 0x30b },
  812. /* when number of spatial streams > 1 */
  813. /* 184 MCS-00 */ { VHT40_MODE_VALID_MASK,
  814. DP_CMN_MOD_IEEE80211_T_VHT_40, 27000,
  815. 30000, 0, 0, 0, 27000, 0x320 },
  816. /* 185 MCS-01 */ { VHT40_MODE_VALID_MASK,
  817. DP_CMN_MOD_IEEE80211_T_VHT_40, 54000,
  818. 60000, 0, 0, 0, 54000, 0x321 },
  819. /* 186 MCS-02 */ { VHT40_MODE_VALID_MASK,
  820. DP_CMN_MOD_IEEE80211_T_VHT_40, 81000,
  821. 90000, 0, 0, 0, 81000, 0x322 },
  822. /* 187 MCS-03 */ { VHT40_MODE_VALID_MASK,
  823. DP_CMN_MOD_IEEE80211_T_VHT_40, 108000,
  824. 120000, 0, 0, 0, 108000, 0x323 },
  825. /* 188 MCS-04 */ { VHT40_MODE_VALID_MASK,
  826. DP_CMN_MOD_IEEE80211_T_VHT_40, 162000,
  827. 180000, 0, 0, 0, 162000, 0x324 },
  828. /* 189 MCS-05 */ { VHT40_MODE_VALID_MASK,
  829. DP_CMN_MOD_IEEE80211_T_VHT_40, 216000,
  830. 240000, 0, 0, 0, 216000, 0x325 },
  831. /* 190 MCS-06 */ { VHT40_MODE_VALID_MASK,
  832. DP_CMN_MOD_IEEE80211_T_VHT_40, 243000,
  833. 270000, 0, 0, 0, 243000, 0x326 },
  834. /* 191 MCS-07 */ { VHT40_MODE_VALID_MASK,
  835. DP_CMN_MOD_IEEE80211_T_VHT_40, 270000,
  836. 300000, 0, 0, 0, 270000, 0x327 },
  837. /* 192 MCS-08 */ { VHT40_MODE_VALID_MASK,
  838. DP_CMN_MOD_IEEE80211_T_VHT_40, 324000,
  839. 360000, 0, 0, 0, 324000, 0x328 },
  840. /* 193 MCS-09 */ { VHT40_MODE_VALID_MASK,
  841. DP_CMN_MOD_IEEE80211_T_VHT_40, 360000,
  842. 400000, 0, 0, 0, 360000, 0x329 },
  843. /* 194 MCS-10 */ { VHT40_LDPC_ONLY_MASKS,
  844. DP_CMN_MOD_IEEE80211_T_VHT_40, 405000,
  845. 450000, 0, 0, 0, 405000, 0x32a },
  846. /* 195 MCS-11 */ { VHT40_LDPC_ONLY_MASKS,
  847. DP_CMN_MOD_IEEE80211_T_VHT_40, 450000,
  848. 500000, 0, 0, 0, 450000, 0x32b },
  849. /* When number of spatial streams > 2 use below rate*/
  850. /* 196 MCS-00 */ { VHT40_MODE_VALID_MASK,
  851. DP_CMN_MOD_IEEE80211_T_VHT_40, 40500,
  852. 45000, 0, 0, 0, 40500, 0x340 },
  853. /* 197 MCS-01 */ { VHT40_MODE_VALID_MASK,
  854. DP_CMN_MOD_IEEE80211_T_VHT_40, 81000,
  855. 90000, 0, 0, 0, 81000, 0x341 },
  856. /* 198 MCS-02 */ { VHT40_MODE_VALID_MASK,
  857. DP_CMN_MOD_IEEE80211_T_VHT_40, 121500,
  858. 135000, 0, 0, 0, 121500, 0x342 },
  859. /* 199 MCS-03 */ { VHT40_MODE_VALID_MASK,
  860. DP_CMN_MOD_IEEE80211_T_VHT_40, 162000,
  861. 180000, 0, 0, 0, 162000, 0x343 },
  862. /* 200 MCS-04 */ { VHT40_MODE_VALID_MASK,
  863. DP_CMN_MOD_IEEE80211_T_VHT_40, 243000,
  864. 270000, 0, 0, 0, 243000, 0x344 },
  865. /* 201 MCS-05 */ { VHT40_MODE_VALID_MASK,
  866. DP_CMN_MOD_IEEE80211_T_VHT_40, 324000,
  867. 360000, 0, 0, 0, 324000, 0x345 },
  868. /* 202 MCS-06 */ { VHT40_MODE_VALID_MASK,
  869. DP_CMN_MOD_IEEE80211_T_VHT_40, 364500,
  870. 405000, 0, 0, 0, 364500, 0x346 },
  871. /* 203 MCS-07 */ { VHT40_MODE_VALID_MASK,
  872. DP_CMN_MOD_IEEE80211_T_VHT_40, 405000,
  873. 450000, 0, 0, 0, 405000, 0x347 },
  874. /* 204 MCS-08 */ { VHT40_MODE_VALID_MASK,
  875. DP_CMN_MOD_IEEE80211_T_VHT_40, 486000,
  876. 540000, 0, 0, 0, 486000, 0x348 },
  877. /* 205 MCS-09 */ { VHT40_MODE_VALID_MASK,
  878. DP_CMN_MOD_IEEE80211_T_VHT_40, 540000,
  879. 600000, 0, 0, 0, 540000, 0x349 },
  880. /* 206 MCS-10 */ { VHT40_LDPC_ONLY_MASKS,
  881. DP_CMN_MOD_IEEE80211_T_VHT_40, 607500,
  882. 675000, 0, 0, 0, 607500, 0x34a},
  883. /* 207 MCS-11 */ { VHT40_LDPC_ONLY_MASKS,
  884. DP_CMN_MOD_IEEE80211_T_VHT_40, 675000,
  885. 750000, 0, 0, 0, 675000, 0x34b},
  886. /* When number of spatial streams > 3 use below rates */
  887. /* 208 MCS-00 */ { VHT40_MODE_VALID_MASK,
  888. DP_CMN_MOD_IEEE80211_T_VHT_40, 54000,
  889. 60000, 0, 0, 0, 54000, 0x360},
  890. /* 209 MCS-01 */ { VHT40_MODE_VALID_MASK,
  891. DP_CMN_MOD_IEEE80211_T_VHT_40, 108000,
  892. 120000, 0, 0, 0, 108000, 0x361},
  893. /* 210 MCS-02 */ { VHT40_MODE_VALID_MASK,
  894. DP_CMN_MOD_IEEE80211_T_VHT_40, 162000,
  895. 180000, 0, 0, 0, 162000, 0x362},
  896. /* 211 MCS-03 */ { VHT40_MODE_VALID_MASK,
  897. DP_CMN_MOD_IEEE80211_T_VHT_40, 216000,
  898. 240000, 0, 0, 0, 216000, 0x363},
  899. /* 212 MCS-04 */ { VHT40_MODE_VALID_MASK,
  900. DP_CMN_MOD_IEEE80211_T_VHT_40, 324000,
  901. 260000, 0, 0, 0, 324000, 0x364},
  902. /* 213 MCS-05 */ { VHT40_MODE_VALID_MASK,
  903. DP_CMN_MOD_IEEE80211_T_VHT_40, 432000,
  904. 480000, 0, 0, 0, 432000, 0x365},
  905. /* 214 MCS-06 */ { VHT40_MODE_VALID_MASK,
  906. DP_CMN_MOD_IEEE80211_T_VHT_40, 486000,
  907. 540000, 0, 0, 0, 486000, 0x366},
  908. /* 215 MCS-07 */ { VHT40_MODE_VALID_MASK,
  909. DP_CMN_MOD_IEEE80211_T_VHT_40, 540000,
  910. 600000, 0, 0, 0, 540000, 0x367},
  911. /* 216 MCS-08 */ { VHT40_MODE_VALID_MASK,
  912. DP_CMN_MOD_IEEE80211_T_VHT_40, 648000,
  913. 720000, 0, 0, 0, 648000, 0x368},
  914. /* 217 MCS-09 */ { VHT40_MODE_VALID_MASK,
  915. DP_CMN_MOD_IEEE80211_T_VHT_40, 720000,
  916. 800000, 0, 0, 0, 720000, 0x369},
  917. /* 218 MCS-10 */ { VHT40_LDPC_ONLY_MASKS,
  918. DP_CMN_MOD_IEEE80211_T_VHT_40, 810000,
  919. 900000, 0, 0, 0, 810000, 0x36a },
  920. /* 219 MCS-11 */ { VHT40_LDPC_ONLY_MASKS,
  921. DP_CMN_MOD_IEEE80211_T_VHT_40, 900000,
  922. 1000000, 0, 0, 0, 900000, 0x36b },
  923. /* when number of spatial streams > 4 use below rates */
  924. /* 220 MCS-00 */ { VHT40_LDPC_ONLY_MASKS,
  925. DP_CMN_MOD_IEEE80211_T_VHT_40, 67500,
  926. 75000, 0, 0, 0, 67500, 0x380 },
  927. /* 221 MCS-01 */ { VHT40_LDPC_ONLY_MASKS,
  928. DP_CMN_MOD_IEEE80211_T_VHT_40, 135000,
  929. 150000, 0, 0, 0, 135000, 0x381 },
  930. /* 222 MCS-02 */ { VHT40_LDPC_ONLY_MASKS,
  931. DP_CMN_MOD_IEEE80211_T_VHT_40, 202500,
  932. 225000, 0, 0, 0, 202500, 0x382 },
  933. /* 223 MCS-03 */ { VHT40_LDPC_ONLY_MASKS,
  934. DP_CMN_MOD_IEEE80211_T_VHT_40, 270000,
  935. 300000, 0, 0, 0, 270000, 0x383 },
  936. /* 224 MCS-04 */ { VHT40_LDPC_ONLY_MASKS,
  937. DP_CMN_MOD_IEEE80211_T_VHT_40, 405000,
  938. 450000, 0, 0, 0, 405000, 0x384 },
  939. /* 225 MCS-05 */ { VHT40_LDPC_ONLY_MASKS,
  940. DP_CMN_MOD_IEEE80211_T_VHT_40, 540000,
  941. 600000, 0, 0, 0, 540000, 0x385 },
  942. /* 226 MCS-06 */ { VHT40_LDPC_ONLY_MASKS,
  943. DP_CMN_MOD_IEEE80211_T_VHT_40, 607500,
  944. 675000, 0, 0, 0, 607500, 0x386 },
  945. /* 227 MCS-07 */ { VHT40_LDPC_ONLY_MASKS,
  946. DP_CMN_MOD_IEEE80211_T_VHT_40, 675000,
  947. 750000, 0, 0, 0, 675000, 0x387 },
  948. /* 228 MCS-08 */ { VHT40_LDPC_ONLY_MASKS,
  949. DP_CMN_MOD_IEEE80211_T_VHT_40,
  950. 810000, 900000, 0, 0, 0, 810000,
  951. 0x388 },
  952. /* 229 MCS-09 */ { VHT40_LDPC_ONLY_MASKS,
  953. DP_CMN_MOD_IEEE80211_T_VHT_40,
  954. 900000, 1000000, 0, 0, 0, 900000,
  955. 0x389 },
  956. /* 230 MCS-10 */ { VHT40_LDPC_ONLY_MASKS,
  957. DP_CMN_MOD_IEEE80211_T_VHT_40,
  958. 1012500, 1125000, 0, 0, 0, 1012500,
  959. 0x38a },
  960. /* 231 MCS-11 */ { VHT40_LDPC_ONLY_MASKS,
  961. DP_CMN_MOD_IEEE80211_T_VHT_40,
  962. 1125000, 1250000, 0, 0, 0, 1125000,
  963. 0x38b },
  964. /* when number of spatial streams > 5 use below rates*/
  965. /* 232 MCS-00 */ { VHT40_LDPC_ONLY_MASKS,
  966. DP_CMN_MOD_IEEE80211_T_VHT_40,
  967. 81000, 90000, 0, 0, 0, 81000, 0x3a0
  968. },
  969. /* 233 MCS-01 */ { VHT40_LDPC_ONLY_MASKS,
  970. DP_CMN_MOD_IEEE80211_T_VHT_40,
  971. 162000, 180000, 0, 0, 0, 162000,
  972. 0x3a1 },
  973. /* 234 MCS-02 */ { VHT40_LDPC_ONLY_MASKS,
  974. DP_CMN_MOD_IEEE80211_T_VHT_40,
  975. 243000, 270000, 0, 0, 0, 243000,
  976. 0x3a2 },
  977. /* 235 MCS-03 */ { VHT40_LDPC_ONLY_MASKS,
  978. DP_CMN_MOD_IEEE80211_T_VHT_40,
  979. 324000, 360000, 0, 0, 0, 324000,
  980. 0x3a3 },
  981. /* 236 MCS-04 */ { VHT40_LDPC_ONLY_MASKS,
  982. DP_CMN_MOD_IEEE80211_T_VHT_40,
  983. 486000, 540000, 0, 0, 0, 486000,
  984. 0x3a4 },
  985. /* 237 MCS-05 */ { VHT40_LDPC_ONLY_MASKS,
  986. DP_CMN_MOD_IEEE80211_T_VHT_40,
  987. 648000, 720000, 0, 0, 0, 648000,
  988. 0x3a5 },
  989. /* 238 MCS-06 */ { VHT40_LDPC_ONLY_MASKS,
  990. DP_CMN_MOD_IEEE80211_T_VHT_40,
  991. 729000, 815000, 0, 0, 0, 729000,
  992. 0x3a6 },
  993. /* 239 MCS-07 */ { VHT40_LDPC_ONLY_MASKS,
  994. DP_CMN_MOD_IEEE80211_T_VHT_40,
  995. 810000, 900000, 0, 0, 0, 810000,
  996. 0x3a7 },
  997. /* 240 MCS-08 */ { VHT40_LDPC_ONLY_MASKS,
  998. DP_CMN_MOD_IEEE80211_T_VHT_40,
  999. 972000, 1080000, 0, 0, 0, 972000,
  1000. 0x3a8 },
  1001. /* 241 MCS-09 */ { VHT40_LDPC_ONLY_MASKS,
  1002. DP_CMN_MOD_IEEE80211_T_VHT_40,
  1003. 1080000, 1200000, 0, 0, 0, 1080000,
  1004. 0x3a9 },
  1005. /* 242 MCS-10 */ { VHT40_LDPC_ONLY_MASKS,
  1006. DP_CMN_MOD_IEEE80211_T_VHT_40,
  1007. 1215000, 1350000, 0, 0, 0, 1215000,
  1008. 0x3aa },
  1009. /* 243 MCS-11 */ { VHT40_LDPC_ONLY_MASKS,
  1010. DP_CMN_MOD_IEEE80211_T_VHT_40,
  1011. 1350000, 1500000, 0, 0, 0, 1350000,
  1012. 0x3ab },
  1013. /* when number of spatial streams > 6 use below rates */
  1014. /* 244 MCS-00 */ { VHT40_LDPC_ONLY_MASKS,
  1015. DP_CMN_MOD_IEEE80211_T_VHT_40,
  1016. 94500, 105000, 0, 0, 0, 94500, 0x3c0
  1017. },
  1018. /* 245 MCS-01 */ { VHT40_LDPC_ONLY_MASKS,
  1019. DP_CMN_MOD_IEEE80211_T_VHT_40,
  1020. 189000, 210000, 0, 0, 0, 189000,
  1021. 0x3c1 },
  1022. /* 246 MCS-02 */ { VHT40_LDPC_ONLY_MASKS,
  1023. DP_CMN_MOD_IEEE80211_T_VHT_40,
  1024. 283500, 315000, 0, 0, 0, 283500,
  1025. 0x3c2 },
  1026. /* 247 MCS-03 */ { VHT40_LDPC_ONLY_MASKS,
  1027. DP_CMN_MOD_IEEE80211_T_VHT_40,
  1028. 378000, 420000, 0, 0, 0, 378000,
  1029. 0x3c3 },
  1030. /* 248 MCS-04 */ { VHT40_LDPC_ONLY_MASKS,
  1031. DP_CMN_MOD_IEEE80211_T_VHT_40,
  1032. 567000, 630000, 0, 0, 0, 567000,
  1033. 0x3c4 },
  1034. /* 249 MCS-05 */ { VHT40_LDPC_ONLY_MASKS,
  1035. DP_CMN_MOD_IEEE80211_T_VHT_40,
  1036. 756000, 840000, 0, 0, 0, 756000,
  1037. 0x3c5 },
  1038. /* 250 MCS-06 */ { VHT40_LDPC_ONLY_MASKS,
  1039. DP_CMN_MOD_IEEE80211_T_VHT_40,
  1040. 850500, 945000, 0, 0, 0, 850500,
  1041. 0x3c6 },
  1042. /* 251 MCS-07 */ { VHT40_LDPC_ONLY_MASKS,
  1043. DP_CMN_MOD_IEEE80211_T_VHT_40,
  1044. 945000, 1050000, 0, 0, 0, 945000,
  1045. 0x3c7 },
  1046. /* 252 MCS-08 */ { VHT40_LDPC_ONLY_MASKS,
  1047. DP_CMN_MOD_IEEE80211_T_VHT_40,
  1048. 1134000, 1260000, 0, 0, 0, 1134000,
  1049. 0x3c8 },
  1050. /* 253 MCS-09 */ { VHT40_LDPC_ONLY_MASKS,
  1051. DP_CMN_MOD_IEEE80211_T_VHT_40,
  1052. 1260000, 1400000, 0, 0, 0, 1260000,
  1053. 0x3c9 },
  1054. /* 254 MCS-10 */ { VHT40_LDPC_ONLY_MASKS,
  1055. DP_CMN_MOD_IEEE80211_T_VHT_40,
  1056. 1417500, 1575000, 0, 0, 0, 1417500,
  1057. 0x3ca },
  1058. /* 255 MCS-11 */ { VHT40_LDPC_ONLY_MASKS,
  1059. DP_CMN_MOD_IEEE80211_T_VHT_40,
  1060. 1575000, 1750000, 0, 0, 0, 1575000,
  1061. 0x3cb },
  1062. /* when number of spatial streams > 7 use below rates */
  1063. /* 256 MCS-00 */ { VHT40_LDPC_ONLY_MASKS,
  1064. DP_CMN_MOD_IEEE80211_T_VHT_40,
  1065. 108000, 120000, 0, 0, 0, 108000,
  1066. 0x3e0 },
  1067. /* 257 MCS-01 */ { VHT40_LDPC_ONLY_MASKS,
  1068. DP_CMN_MOD_IEEE80211_T_VHT_40,
  1069. 216000, 240000, 0, 0, 0, 216000,
  1070. 0x3e1 },
  1071. /* 258 MCS-02 */ { VHT40_LDPC_ONLY_MASKS,
  1072. DP_CMN_MOD_IEEE80211_T_VHT_40,
  1073. 324000, 360000, 0, 0, 0, 324000,
  1074. 0x3e2 },
  1075. /* 259 MCS-03 */ { VHT40_LDPC_ONLY_MASKS,
  1076. DP_CMN_MOD_IEEE80211_T_VHT_40,
  1077. 432000, 480000, 0, 0, 0, 432000,
  1078. 0x3e3 },
  1079. /* 260 MCS-04 */ { VHT40_LDPC_ONLY_MASKS,
  1080. DP_CMN_MOD_IEEE80211_T_VHT_40,
  1081. 648000, 720000, 0, 0, 0, 648000,
  1082. 0x3e4 },
  1083. /* 261 MCS-05 */ { VHT40_LDPC_ONLY_MASKS,
  1084. DP_CMN_MOD_IEEE80211_T_VHT_40,
  1085. 864000, 960000, 0, 0, 0, 864000,
  1086. 0x3e5 },
  1087. /* 262 MCS-06 */ { VHT40_LDPC_ONLY_MASKS,
  1088. DP_CMN_MOD_IEEE80211_T_VHT_40,
  1089. 972000, 1080000, 0, 0, 0, 972000,
  1090. 0x3e6 },
  1091. /* 263 MCS-07 */ { VHT40_LDPC_ONLY_MASKS,
  1092. DP_CMN_MOD_IEEE80211_T_VHT_40,
  1093. 1080000, 1200000, 0, 0, 0, 1080000,
  1094. 0x3e7 },
  1095. /* 264 MCS-08 */ { VHT40_LDPC_ONLY_MASKS,
  1096. DP_CMN_MOD_IEEE80211_T_VHT_40,
  1097. 1296000, 1440000, 0, 0, 0, 1296000,
  1098. 0x3e8 },
  1099. /* 265 MCS-09 */ { VHT40_LDPC_ONLY_MASKS,
  1100. DP_CMN_MOD_IEEE80211_T_VHT_40,
  1101. 1440000, 1600000, 0, 0, 0, 1440000,
  1102. 0x3e9 },
  1103. /* 266 MCS-10 */ { VHT40_LDPC_ONLY_MASKS,
  1104. DP_CMN_MOD_IEEE80211_T_VHT_40,
  1105. 1620000, 1800000, 0, 0, 0, 1620000,
  1106. 0x3ea },
  1107. /* 267 MCS-11 */ { VHT40_LDPC_ONLY_MASKS,
  1108. DP_CMN_MOD_IEEE80211_T_VHT_40,
  1109. 1800000, 2000000, 0, 0, 0, 1800000,
  1110. 0x3eb },
  1111. /* 11ac VHT80 rates
  1112. */
  1113. /* 268 MCS-00 */ { VHT80_MODE_VALID_MASK,
  1114. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1115. 29300, 32500, 0, 0, 0, 29300,
  1116. 0x300},
  1117. /* 269 MCS-01 */ { VHT80_MODE_VALID_MASK,
  1118. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1119. 58500, 65000, 0, 0, 0, 58500,
  1120. 0x301},
  1121. /* 270 MCS-02 */ { VHT80_MODE_VALID_MASK,
  1122. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1123. 87800, 97500, 0, 0, 0, 87800,
  1124. 0x302},
  1125. /* 271 MCS-03 */ { VHT80_MODE_VALID_MASK,
  1126. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1127. 117000, 130000, 0, 0, 0, 117000,
  1128. 0x303},
  1129. /* 272 MCS-04 */ { VHT80_MODE_VALID_MASK,
  1130. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1131. 175500, 195000, 0, 0, 0, 175500,
  1132. 0x304},
  1133. /* 273 MCS-05 */ { VHT80_MODE_VALID_MASK,
  1134. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1135. 234000, 260000, 0, 0, 0, 234000,
  1136. 0x305},
  1137. /* 274 MCS-06 */ { VHT80_MODE_VALID_MASK,
  1138. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1139. 263300, 292500, 0, 0, 0, 263300,
  1140. 0x306},
  1141. /* 275 MCS-07 */ { VHT80_MODE_VALID_MASK,
  1142. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1143. 292500, 325000, 0, 0, 0, 292500,
  1144. 0x307},
  1145. /* 276 MCS-08 */ { VHT80_MODE_VALID_MASK,
  1146. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1147. 351000, 390000, 0, 0, 0, 351000,
  1148. 0x308},
  1149. /* 277 MCS-09 */ { VHT80_MODE_VALID_MASK,
  1150. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1151. 390000, 433300, 0, 0, 0, 390000,
  1152. 0x309},
  1153. /* 278 MCS-10 */ { VHT80_LDPC_ONLY_MASKS,
  1154. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1155. 438800, 487500, 0, 0, 0, 438800,
  1156. 0x30a},
  1157. /* 279 MCS-11 */ { VHT80_LDPC_ONLY_MASKS,
  1158. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1159. 487500, 541700, 0, 0, 0, 487500,
  1160. 0x30b},
  1161. /* When number of spatial streams > 1 use below rates*/
  1162. /* 280 MCS-00 */ { VHT80_MODE_VALID_MASK,
  1163. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1164. 58500, 65000, 0, 0, 0, 58500,
  1165. 0x320},
  1166. /* 281 MCS-01 */ { VHT80_MODE_VALID_MASK,
  1167. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1168. 117000, 130000, 0, 0, 0, 117000,
  1169. 0x321},
  1170. /* 282 MCS-02 */ { VHT80_MODE_VALID_MASK,
  1171. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1172. 175500, 195000, 0, 0, 0, 175500,
  1173. 0x322},
  1174. /* 283 MCS-03 */ { VHT80_MODE_VALID_MASK,
  1175. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1176. 234000, 260000, 0, 0, 0, 234000,
  1177. 0x323},
  1178. /* 284 MCS-04 */ { VHT80_MODE_VALID_MASK,
  1179. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1180. 351000, 390000, 0, 0, 0, 351000,
  1181. 0x324},
  1182. /* 285 MCS-05 */ { VHT80_MODE_VALID_MASK,
  1183. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1184. 468000, 520000, 0, 0, 0, 468000,
  1185. 0x325},
  1186. /* 286 MCS-06 */ { VHT80_MODE_VALID_MASK,
  1187. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1188. 526500, 585000, 0, 0, 0, 526500,
  1189. 0x326},
  1190. /* 287 MCS-07 */ { VHT80_MODE_VALID_MASK,
  1191. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1192. 585000, 650000, 0, 0, 0, 585000,
  1193. 0x327},
  1194. /* 288 MCS-08 */ { VHT80_MODE_VALID_MASK,
  1195. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1196. 702000, 780000, 0, 0, 0, 702000,
  1197. 0x328},
  1198. /* 289 MCS-09 */ { VHT80_MODE_VALID_MASK,
  1199. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1200. 780000, 866700, 0, 0, 0, 780000,
  1201. 0x329},
  1202. /* 290 MCS-10 */ { VHT80_LDPC_ONLY_MASKS,
  1203. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1204. 877500, 975000, 0, 0, 0, 877500,
  1205. 0x32a},
  1206. /* 291 MCS-11 */ { VHT80_LDPC_ONLY_MASKS,
  1207. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1208. 975000, 1083300, 0, 0, 0, 975000,
  1209. 0x32b},
  1210. /* When number of spatial streams > 2 use below rates */
  1211. /* 292 MCS-00 */ { VHT80_MODE_VALID_MASK,
  1212. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1213. 87800, 97500, 0, 0, 0, 87800, 0x340
  1214. },
  1215. /* 293 MCS-01 */ { VHT80_MODE_VALID_MASK,
  1216. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1217. 175500, 195000, 0, 0, 0, 175500,
  1218. 0x341 },
  1219. /* 294 MCS-02 */ { VHT80_MODE_VALID_MASK,
  1220. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1221. 263300, 292500, 0, 0, 0, 263300,
  1222. 0x342 },
  1223. /* 295 MCS-03 */ { VHT80_MODE_VALID_MASK,
  1224. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1225. 351000, 390000, 0, 0, 0, 351000,
  1226. 0x343 },
  1227. /* 296 MCS-04 */ { VHT80_MODE_VALID_MASK,
  1228. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1229. 526500, 585000, 0, 0, 0, 526500,
  1230. 0x344 },
  1231. /* 297 MCS-05 */ { VHT80_MODE_VALID_MASK,
  1232. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1233. 702000, 780000, 0, 0, 0, 702000,
  1234. 0x345 },
  1235. /* 298 MCS-06 */ { VHT_INVALID_RATES_MASK,
  1236. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1237. 789800, 877500, 0, 0, 0, 789800,
  1238. 0x346 },
  1239. /* 299 MCS-07 */ { VHT80_MODE_VALID_MASK,
  1240. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1241. 877500, 975000, 0, 0, 0, 877500,
  1242. 0x347 },
  1243. /* 300 MCS-08 */ { VHT80_MODE_VALID_MASK,
  1244. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1245. 1053000, 1170000, 0, 0, 0, 1053000,
  1246. 0x348 },
  1247. /* 301 MCS-09 */ { VHT80_MODE_VALID_MASK,
  1248. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1249. 1170000, 1300000, 0, 0, 0, 1170000,
  1250. 0x349 },
  1251. /* 302 MCS-10 */ { VHT80_LDPC_ONLY_MASKS,
  1252. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1253. 1316300, 1462500, 0, 0, 0, 1316300,
  1254. 0x34a },
  1255. /* 303 MCS-11 */ { VHT80_LDPC_ONLY_MASKS,
  1256. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1257. 1462500, 1625000, 0, 0, 0, 1462500,
  1258. 0x34b },
  1259. /* When number of spatial streams > 3 use below rates */
  1260. /* 304 MCS-00 */ { VHT80_MODE_VALID_MASK,
  1261. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1262. 117000, 130000, 0, 0, 0, 117000,
  1263. 0x360 },
  1264. /* 305 MCS-01 */ { VHT80_MODE_VALID_MASK,
  1265. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1266. 234000, 260000, 0, 0, 0, 234000,
  1267. 0x361 },
  1268. /* 306 MCS-02 */ { VHT80_MODE_VALID_MASK,
  1269. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1270. 351000, 390000, 0, 0, 0, 351000,
  1271. 0x362 },
  1272. /* 307 MCS-03 */ { VHT80_MODE_VALID_MASK,
  1273. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1274. 468000, 520000, 0, 0, 0, 468000,
  1275. 0x363 },
  1276. /* 308 MCS-04 */ { VHT80_MODE_VALID_MASK,
  1277. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1278. 702000, 780000, 0, 0, 0, 702000,
  1279. 0x364 },
  1280. /* 309 MCS-05 */ { VHT80_MODE_VALID_MASK,
  1281. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1282. 936000, 1040000, 0, 0, 0, 936000,
  1283. 0x365 },
  1284. /* 310 MCS-06 */ { VHT80_MODE_VALID_MASK,
  1285. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1286. 1053000, 1170000, 0, 0, 0, 1053000,
  1287. 0x366 },
  1288. /* 311 MCS-07 */ { VHT80_MODE_VALID_MASK,
  1289. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1290. 1170000, 1300000, 0, 0, 0, 1170000,
  1291. 0x367 },
  1292. /* 312 MCS-08 */ { VHT80_MODE_VALID_MASK,
  1293. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1294. 1404000, 1560000, 0, 0, 0, 1404000,
  1295. 0x368 },
  1296. /* 313 MCS-09 */ { VHT80_MODE_VALID_MASK,
  1297. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1298. 1560000, 1733000, 0, 0, 0, 1560000,
  1299. 0x369 },
  1300. /* 314 MCS-08 */ { VHT80_LDPC_ONLY_MASKS,
  1301. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1302. 1755000, 1950000, 0, 0, 0, 1755000,
  1303. 0x36a },
  1304. /* 315 MCS-09 */ { VHT80_LDPC_ONLY_MASKS,
  1305. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1306. 1950000, 2166700, 0, 0, 0, 1950000,
  1307. 0x36b },
  1308. /* When number of spatial streams > 4 use below rates */
  1309. /* 316 MCS-00 */ { VHT80_LDPC_ONLY_MASKS,
  1310. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1311. 146300, 162500, 0, 0, 0, 146300,
  1312. 0x380 },
  1313. /* 317 MCS-01 */ { VHT80_LDPC_ONLY_MASKS,
  1314. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1315. 292500, 325000, 0, 0, 0, 292500,
  1316. 0x381 },
  1317. /* 318 MCS-02 */ { VHT80_LDPC_ONLY_MASKS,
  1318. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1319. 438800, 487500, 0, 0, 0, 438800,
  1320. 0x382 },
  1321. /* 319 MCS-03 */ { VHT80_LDPC_ONLY_MASKS,
  1322. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1323. 585000, 650000, 0, 0, 0, 585000,
  1324. 0x383 },
  1325. /* 320 MCS-04 */ { VHT80_LDPC_ONLY_MASKS,
  1326. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1327. 877500, 975000, 0, 0, 0, 877500,
  1328. 0x384 },
  1329. /* 321 MCS-05 */ { VHT80_LDPC_ONLY_MASKS,
  1330. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1331. 1170000, 1300000, 0, 0, 0, 1170000,
  1332. 0x385 },
  1333. /* 322 MCS-06 */ { VHT80_LDPC_ONLY_MASKS,
  1334. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1335. 1316300, 1462500, 0, 0, 0, 1316300,
  1336. 0x386 },
  1337. /* 323 MCS-07 */ { VHT80_LDPC_ONLY_MASKS,
  1338. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1339. 1462500, 1625000, 0, 0, 0, 1462500,
  1340. 0x387 },
  1341. /* 324 MCS-08 */ { VHT80_LDPC_ONLY_MASKS,
  1342. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1343. 1755000, 1950000, 0, 0, 0, 1755000,
  1344. 0x388 },
  1345. /* 325 MCS-09 */ { VHT80_LDPC_ONLY_MASKS,
  1346. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1347. 1950000, 2166700, 0, 0, 0, 1950000,
  1348. 0x389 },
  1349. /* 326 MCS-10 */ { VHT80_LDPC_ONLY_MASKS,
  1350. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1351. 2193800, 2437500, 0, 0, 0, 2193800,
  1352. 0x38a },
  1353. /* 327 MCS-11 */ { VHT80_LDPC_ONLY_MASKS,
  1354. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1355. 2437500, 2708300, 0, 0, 0, 2437500,
  1356. 0x38b },
  1357. /* When number of spatial streams > 5 use below rates */
  1358. /* 328 MCS-00 */ { VHT80_LDPC_ONLY_MASKS,
  1359. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1360. 175500, 195000, 0, 0, 0, 175500,
  1361. 0x3a0 },
  1362. /* 329 MCS-01 */ { VHT80_LDPC_ONLY_MASKS,
  1363. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1364. 351000, 390000, 0, 0, 0, 351000,
  1365. 0x3a1 },
  1366. /* 330 MCS-02 */ { VHT80_LDPC_ONLY_MASKS,
  1367. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1368. 526500, 585500, 0, 0, 0, 526500,
  1369. 0x3a2 },
  1370. /* 331 MCS-03 */ { VHT80_LDPC_ONLY_MASKS,
  1371. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1372. 702000, 780000, 0, 0, 0, 702000,
  1373. 0x3a3 },
  1374. /* 332 MCS-04 */ { VHT80_LDPC_ONLY_MASKS,
  1375. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1376. 1053000, 1170000, 0, 0, 0, 1053000,
  1377. 0x3a4 },
  1378. /* 333 MCS-05 */ { VHT80_LDPC_ONLY_MASKS,
  1379. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1380. 1404000, 1560000, 0, 0, 0, 1404000,
  1381. 0x3a5 },
  1382. /* 334 MCS-06 */ { VHT80_LDPC_ONLY_MASKS,
  1383. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1384. 1579500, 1755000, 0, 0, 0, 1579500,
  1385. 0x3a6 },
  1386. /* 335 MCS-07 */ { VHT80_LDPC_ONLY_MASKS,
  1387. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1388. 1755000, 1950000, 0, 0, 0, 1755000,
  1389. 0x3a7 },
  1390. /* 336 MCS-08 */ { VHT80_LDPC_ONLY_MASKS,
  1391. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1392. 2106000, 2340000, 0, 0, 0, 2106000,
  1393. 0x3a8 },
  1394. /* 337 MCS-09 */ { VHT80_LDPC_ONLY_MASKS,
  1395. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1396. 2340000, 2600000, 0, 0, 0, 2340000,
  1397. 0x3a9 },
  1398. /* 338 MCS-10 */ { VHT80_LDPC_ONLY_MASKS,
  1399. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1400. 2632500, 2925000, 0, 0, 0, 2632500,
  1401. 0x3aa },
  1402. /* 339 MCS-11 */ { VHT80_LDPC_ONLY_MASKS,
  1403. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1404. 2925000, 3250000, 0, 0, 0, 2925000,
  1405. 0x3ab },
  1406. /* When number of spatial streams > 6 use below rates*/
  1407. /* 340 MCS-00 */ { VHT80_LDPC_ONLY_MASKS,
  1408. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1409. 204800, 227500, 0, 0, 0, 204800,
  1410. 0x3c0 },
  1411. /* 341 MCS-01 */ { VHT80_LDPC_ONLY_MASKS,
  1412. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1413. 409500, 455000, 0, 0, 0, 409500,
  1414. 0x3c1 },
  1415. /* 342 MCS-02 */ { VHT80_LDPC_ONLY_MASKS,
  1416. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1417. 614300, 682500, 0, 0, 0, 614300,
  1418. 0x3c2 },
  1419. /* 343 MCS-03 */ { VHT80_LDPC_ONLY_MASKS,
  1420. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1421. 819000, 910000, 0, 0, 0, 819000,
  1422. 0x3c3 },
  1423. /* 344 MCS-04 */ { VHT80_LDPC_ONLY_MASKS,
  1424. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1425. 1288500, 1365000, 0, 0, 0, 1288500,
  1426. 0x3c4 },
  1427. /* 345 MCS-05 */ { VHT80_LDPC_ONLY_MASKS,
  1428. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1429. 1638000, 1820000, 0, 0, 0, 1638000,
  1430. 0x3c5 },
  1431. /* 346 MCS-06 */ { VHT80_LDPC_ONLY_MASKS,
  1432. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1433. 1842800, 2047500, 0, 0, 0, 1842800,
  1434. 0x3c6 },
  1435. /* 347 MCS-07 */ { VHT80_LDPC_ONLY_MASKS,
  1436. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1437. 2047500, 2275000, 0, 0, 0, 2047500,
  1438. 0x3c7 },
  1439. /* 348 MCS-08 */ { VHT80_LDPC_ONLY_MASKS,
  1440. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1441. 2457000, 2730000, 0, 0, 0, 2457000,
  1442. 0x3c8 },
  1443. /* 349 MCS-09 */ { VHT80_LDPC_ONLY_MASKS,
  1444. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1445. 2730000, 3033300, 0, 0, 0, 2730000,
  1446. 0x3c9 },
  1447. /* 350 MCS-10 */ { VHT80_LDPC_ONLY_MASKS,
  1448. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1449. 3071300, 3412500, 0, 0, 0, 3071300,
  1450. 0x3ca },
  1451. /* 351 MCS-11 */ { VHT80_LDPC_ONLY_MASKS,
  1452. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1453. 3412500, 3791700, 0, 0, 0, 3412500,
  1454. 0x3cb },
  1455. /* When number of spatial streams > 7 use below rates*/
  1456. /* 352 MCS-00 */ { VHT80_LDPC_ONLY_MASKS,
  1457. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1458. 234000, 260000, 0, 0, 0, 234000,
  1459. 0x3e0 },
  1460. /* 353 MCS-01 */ { VHT80_LDPC_ONLY_MASKS,
  1461. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1462. 468000, 520000, 0, 0, 0, 468000,
  1463. 0x3e1},
  1464. /* 354 MCS-02 */ { VHT80_LDPC_ONLY_MASKS,
  1465. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1466. 702000, 780000, 0, 0, 0, 702000,
  1467. 0x3e2},
  1468. /* 355 MCS-03 */ { VHT80_LDPC_ONLY_MASKS,
  1469. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1470. 936000, 1040000, 0, 0, 0, 936000,
  1471. 0x3e3},
  1472. /* 356 MCS-04 */ { VHT80_LDPC_ONLY_MASKS,
  1473. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1474. 1404000, 1560000, 0, 0, 0, 1404000,
  1475. 0x3e4},
  1476. /* 357 MCS-05 */ { VHT80_LDPC_ONLY_MASKS,
  1477. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1478. 1872000, 2080000, 0, 0, 0, 1872000,
  1479. 0x3e5},
  1480. /* 358 MCS-06 */ { VHT80_LDPC_ONLY_MASKS,
  1481. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1482. 2106000, 2340000, 0, 0, 0, 2106000,
  1483. 0x3e6},
  1484. /* 359 MCS-07 */ { VHT80_LDPC_ONLY_MASKS,
  1485. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1486. 2340000, 2600000, 0, 0, 0, 2340000,
  1487. 0x3e7},
  1488. /* 360 MCS-08 */ { VHT80_LDPC_ONLY_MASKS,
  1489. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1490. 2808000, 3120000, 0, 0, 0, 2808000,
  1491. 0x3e8},
  1492. /* 361 MCS-09 */ { VHT80_LDPC_ONLY_MASKS,
  1493. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1494. 3120000, 3466700, 0, 0, 0, 3120000,
  1495. 0x3e9},
  1496. /* 362 MCS-10 */ { VHT80_LDPC_ONLY_MASKS,
  1497. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1498. 3510000, 3900000, 0, 0, 0, 3510000,
  1499. 0x3ea},
  1500. /* 363 MCS-11 */ { VHT80_LDPC_ONLY_MASKS,
  1501. DP_CMN_MOD_IEEE80211_T_VHT_80,
  1502. 3900000, 4333300, 0, 0, 0, 3900000,
  1503. 0x3eb},
  1504. /* 11ac VHT160 rates
  1505. */
  1506. /* 364 MCS-00 */ { VHT160_MODE_VALID_MASK,
  1507. DP_CMN_MOD_IEEE80211_T_VHT_160,
  1508. 58500, 65000, 0, 0, 0, 58500,
  1509. 0x300},
  1510. /* 365 MCS-01 */ { VHT160_MODE_VALID_MASK,
  1511. DP_CMN_MOD_IEEE80211_T_VHT_160,
  1512. 117000, 130000, 0, 0, 0, 117000,
  1513. 0x301},
  1514. /* 366 MCS-02 */ { VHT160_MODE_VALID_MASK,
  1515. DP_CMN_MOD_IEEE80211_T_VHT_160,
  1516. 175500, 195000, 0, 0, 0, 175500,
  1517. 0x302},
  1518. /* 367 MCS-03 */ { VHT160_MODE_VALID_MASK,
  1519. DP_CMN_MOD_IEEE80211_T_VHT_160,
  1520. 234000, 260000, 0, 0, 0, 234000,
  1521. 0x303},
  1522. /* 368 MCS-04 */ { VHT160_MODE_VALID_MASK,
  1523. DP_CMN_MOD_IEEE80211_T_VHT_160,
  1524. 351000, 390000, 0, 0, 0, 351000,
  1525. 0x304},
  1526. /* 369 MCS-05 */ { VHT160_MODE_VALID_MASK,
  1527. DP_CMN_MOD_IEEE80211_T_VHT_160,
  1528. 468000, 520000, 0, 0, 0, 468000,
  1529. 0x305},
  1530. /* 370 MCS-06 */ { VHT160_MODE_VALID_MASK,
  1531. DP_CMN_MOD_IEEE80211_T_VHT_160,
  1532. 526500, 585000, 0, 0, 0, 526500,
  1533. 0x306},
  1534. /* 371 MCS-07 */ { VHT160_MODE_VALID_MASK,
  1535. DP_CMN_MOD_IEEE80211_T_VHT_160,
  1536. 585000, 650000, 0, 0, 0, 585000,
  1537. 0x307},
  1538. /* 372 MCS-08 */ { VHT160_MODE_VALID_MASK,
  1539. DP_CMN_MOD_IEEE80211_T_VHT_160,
  1540. 702000, 780000, 0, 0, 0, 702000,
  1541. 0x308},
  1542. /* 373 MCS-09 */ { VHT160_MODE_VALID_MASK,
  1543. DP_CMN_MOD_IEEE80211_T_VHT_160,
  1544. 780000, 866700, 0, 0, 0, 780000,
  1545. 0x309},
  1546. /* 374 MCS-10 */ { VHT160_LDPC_ONLY_MASKS,
  1547. DP_CMN_MOD_IEEE80211_T_VHT_160,
  1548. 877500, 975000, 0, 0, 0, 877500,
  1549. 0x30a },
  1550. /* 375 MCS-11 */ { VHT160_LDPC_ONLY_MASKS,
  1551. DP_CMN_MOD_IEEE80211_T_VHT_160,
  1552. 975000, 1083300, 0, 0, 0, 975000,
  1553. 0x30b },
  1554. /* If maximum number of spatial streams supported
  1555. * at 160MHZ > 1 use below rates
  1556. */
  1557. /* 376 MCS-00 */ { VHT160_MODE_VALID_MASK,
  1558. DP_CMN_MOD_IEEE80211_T_VHT_160,
  1559. 117000, 130000, 0, 0, 0, 117000,
  1560. 0x320},
  1561. /* 377 MCS-01 */ { VHT160_MODE_VALID_MASK,
  1562. DP_CMN_MOD_IEEE80211_T_VHT_160,
  1563. 234000, 260000, 0, 0, 0, 234000,
  1564. 0x321},
  1565. /* 378 MCS-02 */ { VHT160_MODE_VALID_MASK,
  1566. DP_CMN_MOD_IEEE80211_T_VHT_160,
  1567. 351000, 390000, 0, 0, 0, 351000,
  1568. 0x322},
  1569. /* 379 MCS-03 */ { VHT160_MODE_VALID_MASK,
  1570. DP_CMN_MOD_IEEE80211_T_VHT_160,
  1571. 468000, 520000, 0, 0, 0, 468000,
  1572. 0x323},
  1573. /* 380 MCS-04 */ { VHT160_MODE_VALID_MASK,
  1574. DP_CMN_MOD_IEEE80211_T_VHT_160,
  1575. 702000, 780000, 0, 0, 0, 702000,
  1576. 0x324},
  1577. /* 381 MCS-05 */ { VHT160_MODE_VALID_MASK,
  1578. DP_CMN_MOD_IEEE80211_T_VHT_160,
  1579. 936000, 1040000, 0, 0, 0, 936000,
  1580. 0x325},
  1581. /* 382 MCS-06 */ { VHT160_MODE_VALID_MASK,
  1582. DP_CMN_MOD_IEEE80211_T_VHT_160,
  1583. 1053000, 1170000, 0, 0, 0, 1053000,
  1584. 0x326},
  1585. /* 383 MCS-07 */ { VHT160_MODE_VALID_MASK,
  1586. DP_CMN_MOD_IEEE80211_T_VHT_160,
  1587. 1170000, 1300000, 0, 0, 0, 1170000,
  1588. 0x327},
  1589. /* 384 MCS-08 */ { VHT160_MODE_VALID_MASK,
  1590. DP_CMN_MOD_IEEE80211_T_VHT_160,
  1591. 1404000, 1560000, 0, 0, 0, 1404000,
  1592. 0x328},
  1593. /* 385 MCS-09 */ { VHT160_MODE_VALID_MASK,
  1594. DP_CMN_MOD_IEEE80211_T_VHT_160,
  1595. 1560000, 1733300, 0, 0, 0, 1560000,
  1596. 0x329},
  1597. /* 386 MCS-10 */ { VHT160_LDPC_ONLY_MASKS,
  1598. DP_CMN_MOD_IEEE80211_T_VHT_160,
  1599. 1755000, 1950000, 0, 0, 0, 1755000,
  1600. 0x32a},
  1601. /* 387 MCS-11 */ { VHT160_LDPC_ONLY_MASKS,
  1602. DP_CMN_MOD_IEEE80211_T_VHT_160,
  1603. 1950000, 2166700, 0, 0, 0, 1950000,
  1604. 0x32b},
  1605. /* If maximum number of spatial streams supported
  1606. * at 160MHZ > 2 use below rates
  1607. */
  1608. /* 388 MCS-00 */ { VHT160_MODE_VALID_MASK,
  1609. DP_CMN_MOD_IEEE80211_T_VHT_160,
  1610. 175500, 195000, 0, 0, 0, 175500,
  1611. 0x340 },
  1612. /* 389 MCS-01 */ { VHT160_MODE_VALID_MASK,
  1613. DP_CMN_MOD_IEEE80211_T_VHT_160,
  1614. 351000, 390000, 0, 0, 0, 351000,
  1615. 0x341 },
  1616. /* 390 MCS-02 */ { VHT160_MODE_VALID_MASK,
  1617. DP_CMN_MOD_IEEE80211_T_VHT_160,
  1618. 526500, 585000, 0, 0, 0, 526500,
  1619. 0x342 },
  1620. /* 391 MCS-03 */ { VHT160_MODE_VALID_MASK,
  1621. DP_CMN_MOD_IEEE80211_T_VHT_160,
  1622. 702000, 780000, 0, 0, 0, 702000,
  1623. 0x343 },
  1624. /* 392 MCS-04 */ { VHT160_MODE_VALID_MASK,
  1625. DP_CMN_MOD_IEEE80211_T_VHT_160,
  1626. 1053000, 1170000, 0, 0, 0, 1053000,
  1627. 0x344 },
  1628. /* 393 MCS-05 */ { VHT160_MODE_VALID_MASK,
  1629. DP_CMN_MOD_IEEE80211_T_VHT_160,
  1630. 1404000, 1560000, 0, 0, 0, 1404000,
  1631. 0x345 },
  1632. /* 394 MCS-06 */ { VHT160_MODE_VALID_MASK,
  1633. DP_CMN_MOD_IEEE80211_T_VHT_160,
  1634. 1579500, 1755000, 0, 0, 0, 1579500,
  1635. 0x346 },
  1636. /* 395 MCS-07 */ { VHT160_MODE_VALID_MASK,
  1637. DP_CMN_MOD_IEEE80211_T_VHT_160,
  1638. 1755000, 1755000, 0, 0, 0, 1755000,
  1639. 0x347 },
  1640. /* 396 MCS-08 */ { VHT160_MODE_VALID_MASK,
  1641. DP_CMN_MOD_IEEE80211_T_VHT_160,
  1642. 2106000, 2340000, 0, 0, 0, 2106000,
  1643. 0x348 },
  1644. /* 397 MCS-09 */ { VHT160_MODE_VALID_MASK,
  1645. DP_CMN_MOD_IEEE80211_T_VHT_160,
  1646. 2340000, 2600000, 0, 0, 0, 2340000,
  1647. 0x349 },
  1648. /* 398 MCS-10 */ { VHT160_LDPC_ONLY_MASKS,
  1649. DP_CMN_MOD_IEEE80211_T_VHT_160,
  1650. 2632500, 2925000, 0, 0, 0, 2632500,
  1651. 0x34a },
  1652. /* 399 MCS-11 */ { VHT160_LDPC_ONLY_MASKS,
  1653. DP_CMN_MOD_IEEE80211_T_VHT_160,
  1654. 2925000, 3250000, 0, 0, 0, 2925000,
  1655. 0x34b },
  1656. /* If maximum number of spatial streams supported
  1657. * at 160MHZ > 3 use below rates
  1658. */
  1659. /* 400 MCS-00 */ { VHT160_MODE_VALID_MASK,
  1660. DP_CMN_MOD_IEEE80211_T_VHT_160,
  1661. 234000, 260000, 0, 0, 0, 234000,
  1662. 0x360 },
  1663. /* 401 MCS-01 */ { VHT160_MODE_VALID_MASK,
  1664. DP_CMN_MOD_IEEE80211_T_VHT_160,
  1665. 468000, 520000, 0, 0, 0, 468000,
  1666. 0x361 },
  1667. /* 402 MCS-02 */ { VHT160_MODE_VALID_MASK,
  1668. DP_CMN_MOD_IEEE80211_T_VHT_160,
  1669. 702000, 780000, 0, 0, 0, 702000,
  1670. 0x362 },
  1671. /* 403 MCS-03 */ { VHT160_MODE_VALID_MASK,
  1672. DP_CMN_MOD_IEEE80211_T_VHT_160,
  1673. 936000, 1040000, 0, 0, 0, 936000,
  1674. 0x363 },
  1675. /* 404 MCS-04 */ { VHT160_MODE_VALID_MASK,
  1676. DP_CMN_MOD_IEEE80211_T_VHT_160,
  1677. 1404000, 1560000, 0, 0, 0, 1404000,
  1678. 0x364 },
  1679. /* 405 MCS-05 */ { VHT160_MODE_VALID_MASK,
  1680. DP_CMN_MOD_IEEE80211_T_VHT_160,
  1681. 1872000, 2080000, 0, 0, 0, 1872000,
  1682. 0x365 },
  1683. /* 406 MCS-06 */ { VHT160_MODE_VALID_MASK,
  1684. DP_CMN_MOD_IEEE80211_T_VHT_160,
  1685. 2106000, 2340000, 0, 0, 0, 2106000,
  1686. 0x366 },
  1687. /* 407 MCS-07 */ { VHT160_MODE_VALID_MASK,
  1688. DP_CMN_MOD_IEEE80211_T_VHT_160,
  1689. 2340000, 2600000, 0, 0, 0, 2340000,
  1690. 0x367 },
  1691. /* 408 MCS-08 */ { VHT160_MODE_VALID_MASK,
  1692. DP_CMN_MOD_IEEE80211_T_VHT_160,
  1693. 2808000, 3120000, 0, 0, 0, 2808000,
  1694. 0x368 },
  1695. /* 409 MCS-09 */ { VHT160_LDPC_ONLY_MASKS,
  1696. DP_CMN_MOD_IEEE80211_T_VHT_160,
  1697. 3120000, 3466700, 0, 0, 0, 3120000,
  1698. 0x369 },
  1699. /* 410 MCS-10 */ { VHT160_LDPC_ONLY_MASKS,
  1700. DP_CMN_MOD_IEEE80211_T_VHT_160,
  1701. 3510000, 3900000, 0, 0, 0, 3510000,
  1702. 0x36a },
  1703. /* 411 MCS-11 */ { VHT160_LDPC_ONLY_MASKS,
  1704. DP_CMN_MOD_IEEE80211_T_VHT_160,
  1705. 3900000, 4333300, 0, 0, 0, 3900000,
  1706. 0x36b },
  1707. /* 11ax RU242 rates
  1708. */
  1709. /* 412 MCS-00 */ { HE20_MODE_VALID_MASK,
  1710. DP_CMN_MOD_IEEE80211_T_HE_20,
  1711. 8600, 8900, 8100, 7300, 4300, 8600, 0x400},
  1712. /* 413 MCS-01 */ { HE20_MODE_VALID_MASK,
  1713. DP_CMN_MOD_IEEE80211_T_HE_20,
  1714. 17200, 17700, 16300, 14600, 8600, 17200,
  1715. 0x401},
  1716. /* 414 MCS-02 */ { HE20_MODE_VALID_MASK,
  1717. DP_CMN_MOD_IEEE80211_T_HE_20,
  1718. 25800, 26600, 24400, 21900, 0, 25800,
  1719. 0x402},
  1720. /* 415 MCS-03 */ { HE20_MODE_VALID_MASK,
  1721. DP_CMN_MOD_IEEE80211_T_HE_20,
  1722. 34400, 35500, 32500, 29300, 17700, 34400,
  1723. 0x403},
  1724. /* 416 MCS-04 */ { HE20_MODE_VALID_MASK,
  1725. DP_CMN_MOD_IEEE80211_T_HE_20,
  1726. 51600, 53200, 48800, 43900, 25800, 51600,
  1727. 0x404},
  1728. /* 417 MCS-05 */ { HE20_MODE_VALID_MASK,
  1729. DP_CMN_MOD_IEEE80211_T_HE_20,
  1730. 68800, 70900, 65000, 58500, 0, 68800,
  1731. 0x405},
  1732. /* 418 MCS-06 */ { HE20_MODE_VALID_MASK,
  1733. DP_CMN_MOD_IEEE80211_T_HE_20,
  1734. 77400, 79800, 73100, 65800, 0, 77400,
  1735. 0x406},
  1736. /* 419 MCS-07 */ { HE20_MODE_VALID_MASK,
  1737. DP_CMN_MOD_IEEE80211_T_HE_20,
  1738. 86000, 88600, 81300, 73100, 0, 86000,
  1739. 0x407},
  1740. /* 420 MCS-08 */ { HE20_MODE_VALID_MASK,
  1741. DP_CMN_MOD_IEEE80211_T_HE_20,
  1742. 103200, 106400, 97500, 87800, 0, 103200,
  1743. 0x408},
  1744. /* 421 MCS-09 */ { HE20_MODE_VALID_MASK,
  1745. DP_CMN_MOD_IEEE80211_T_HE_20,
  1746. 114700, 118200, 108300, 97500, 0, 114700,
  1747. 0x409},
  1748. /* 422 MCS-10 */ { HE20_LDPC_ONLY_MASKS,
  1749. DP_CMN_MOD_IEEE80211_T_HE_20,
  1750. 129000, 133000, 121900, 109700, 0, 129000,
  1751. 0x40a},
  1752. /* 423 MCS-11 */ { HE20_LDPC_ONLY_MASKS,
  1753. DP_CMN_MOD_IEEE80211_T_HE_20,
  1754. 143400, 147700, 135400, 121900, 0, 143400,
  1755. 0x40b},
  1756. /* 424 MCS-12 */ { HE20_LDPC_ONLY_MASKS,
  1757. DP_CMN_MOD_IEEE80211_T_HE_20,
  1758. 154900, 159500, 146300, 131600, 0, 154900,
  1759. 0x40c},
  1760. /* 425 MCS-13 */ { HE20_LDPC_ONLY_MASKS,
  1761. DP_CMN_MOD_IEEE80211_T_HE_20,
  1762. 172100, 177300, 162500, 146300, 0, 172100,
  1763. 0x40d},
  1764. /* When number spatial streams > 1 use below rates */
  1765. /* 426 MCS-00 */ { HE20_MODE_VALID_MASK,
  1766. DP_CMN_MOD_IEEE80211_T_HE_20,
  1767. 17200, 17700, 16300, 14600, 8600, 17200,
  1768. 0x420},
  1769. /* 427 MCS-01 */ { HE20_MODE_VALID_MASK,
  1770. DP_CMN_MOD_IEEE80211_T_HE_20,
  1771. 34400, 35500, 32500, 29300, 17700, 34400,
  1772. 0x421},
  1773. /* 428 MCS-02 */ { HE20_MODE_VALID_MASK,
  1774. DP_CMN_MOD_IEEE80211_T_HE_20,
  1775. 51600, 53200, 48800, 43900, 0, 51600,
  1776. 0x422},
  1777. /* 429 MCS-03 */ { HE20_MODE_VALID_MASK,
  1778. DP_CMN_MOD_IEEE80211_T_HE_20,
  1779. 68800, 70900, 65000, 58500, 34400, 68800,
  1780. 0x423},
  1781. /* 430 MCS-04 */ { HE20_MODE_VALID_MASK,
  1782. DP_CMN_MOD_IEEE80211_T_HE_20,
  1783. 103200, 106400, 97500, 87800, 51600, 103200,
  1784. 0x424},
  1785. /* 431 MCS-05 */ { HE20_MODE_VALID_MASK,
  1786. DP_CMN_MOD_IEEE80211_T_HE_20,
  1787. 137600, 141800, 130000, 117000, 0, 137600,
  1788. 0x425},
  1789. /* 432 MCS-06 */ { HE20_MODE_VALID_MASK,
  1790. DP_CMN_MOD_IEEE80211_T_HE_20,
  1791. 154900, 159500, 146300, 131600, 0, 154900,
  1792. 0x426},
  1793. /* 433 MCS-07 */ { HE20_MODE_VALID_MASK,
  1794. DP_CMN_MOD_IEEE80211_T_HE_20,
  1795. 172100, 177300, 162500, 146300, 0, 172100,
  1796. 0x427},
  1797. /* 434 MCS-08 */ { HE20_MODE_VALID_MASK,
  1798. DP_CMN_MOD_IEEE80211_T_HE_20,
  1799. 206500, 212700, 195000, 175500, 0, 206500,
  1800. 0x428},
  1801. /* 435 MCS-09 */ { HE20_MODE_VALID_MASK,
  1802. DP_CMN_MOD_IEEE80211_T_HE_20,
  1803. 229400, 236400, 216700, 195000, 0, 229400,
  1804. 0x429},
  1805. /* 436 MCS-10 */ { HE20_LDPC_ONLY_MASKS,
  1806. DP_CMN_MOD_IEEE80211_T_HE_20,
  1807. 258100, 265900, 243800, 219400, 0, 258100,
  1808. 0x42a},
  1809. /* 437 MCS-11 */ { HE20_LDPC_ONLY_MASKS,
  1810. DP_CMN_MOD_IEEE80211_T_HE_20,
  1811. 286800, 295500, 270800, 243800, 0, 286800,
  1812. 0x42b},
  1813. /* 438 MCS-12 */ { HE20_LDPC_ONLY_MASKS,
  1814. DP_CMN_MOD_IEEE80211_T_HE_20,
  1815. 309700, 319100, 292500, 263300, 0, 309700,
  1816. 0x42c},
  1817. /* 439 MCS-13 */ { HE20_LDPC_ONLY_MASKS,
  1818. DP_CMN_MOD_IEEE80211_T_HE_20,
  1819. 344100, 354500, 325000, 292500, 0, 344100,
  1820. 0x42d},
  1821. /* When number of spatial streams > 2
  1822. * use below rates
  1823. */
  1824. /* 440 MCS-00 */ { HE20_MODE_VALID_MASK,
  1825. DP_CMN_MOD_IEEE80211_T_HE_20,
  1826. 25800, 26600, 24400, 21900, 12900, 25800,
  1827. 0x440},
  1828. /* 441 MCS-01 */ { HE20_MODE_VALID_MASK,
  1829. DP_CMN_MOD_IEEE80211_T_HE_20,
  1830. 51600, 53200, 48800, 43900, 25800, 51600,
  1831. 0x441},
  1832. /* 442 MCS-02 */ { HE20_MODE_VALID_MASK,
  1833. DP_CMN_MOD_IEEE80211_T_HE_20,
  1834. 77400, 79800, 73100, 65800, 0, 77400,
  1835. 0x442},
  1836. /* 443 MCS-03 */ { HE20_MODE_VALID_MASK,
  1837. DP_CMN_MOD_IEEE80211_T_HE_20,
  1838. 103200, 106400, 97500, 87800, 51600, 103200,
  1839. 0x443},
  1840. /* 444 MCS-04 */ { HE20_MODE_VALID_MASK,
  1841. DP_CMN_MOD_IEEE80211_T_HE_20,
  1842. 154900, 159500, 146300, 131600, 77400, 154900,
  1843. 0x444},
  1844. /* 445 MCS-05 */ { HE20_MODE_VALID_MASK,
  1845. DP_CMN_MOD_IEEE80211_T_HE_20,
  1846. 206500, 212700, 195000, 175500, 0, 206500,
  1847. 0x445},
  1848. /* 446 MCS-06 */ { HE20_MODE_VALID_MASK,
  1849. DP_CMN_MOD_IEEE80211_T_HE_20,
  1850. 232300, 239300, 219400, 197400, 0, 232300,
  1851. 0x446},
  1852. /* 447 MCS-07 */ { HE20_MODE_VALID_MASK,
  1853. DP_CMN_MOD_IEEE80211_T_HE_20,
  1854. 258100, 265900, 243800, 219400, 0, 258100,
  1855. 0x447},
  1856. /* 448 MCS-08 */ { HE20_MODE_VALID_MASK,
  1857. DP_CMN_MOD_IEEE80211_T_HE_20,
  1858. 309700, 319100, 292500, 263300, 0, 309700,
  1859. 0x448},
  1860. /* 449 MCS-09 */ { HE20_MODE_VALID_MASK,
  1861. DP_CMN_MOD_IEEE80211_T_HE_20,
  1862. 344100, 354500, 325000, 292500, 0, 344100,
  1863. 0x449},
  1864. /* 450 MCS-10 */ { HE20_LDPC_ONLY_MASKS,
  1865. DP_CMN_MOD_IEEE80211_T_HE_20,
  1866. 387100, 398900, 365600, 329100, 0, 387100,
  1867. 0x44a},
  1868. /* 451 MCS-11 */ { HE20_LDPC_ONLY_MASKS,
  1869. DP_CMN_MOD_IEEE80211_T_HE_20,
  1870. 430100, 443200, 406300, 365600, 0, 430100,
  1871. 0x44b},
  1872. /* 452 MCS-12 */ { HE20_LDPC_ONLY_MASKS,
  1873. DP_CMN_MOD_IEEE80211_T_HE_20,
  1874. 464600, 478600, 438800, 394900, 0, 464600,
  1875. 0x44c},
  1876. /* 453 MCS-13 */ { HE20_LDPC_ONLY_MASKS,
  1877. DP_CMN_MOD_IEEE80211_T_HE_20,
  1878. 516200, 531800, 487500, 438800, 0, 516200,
  1879. 0x44d},
  1880. /* When number of spatial streams > 3
  1881. * use below rates
  1882. */
  1883. /* 454 MCS-00 */ { HE20_MODE_VALID_MASK,
  1884. DP_CMN_MOD_IEEE80211_T_HE_20,
  1885. 34400, 35500, 32500, 29300, 17700, 34400,
  1886. 0x460},
  1887. /* 455 MCS-01 */ { HE20_MODE_VALID_MASK,
  1888. DP_CMN_MOD_IEEE80211_T_HE_20,
  1889. 68800, 70900, 65000, 58500, 34400, 68800,
  1890. 0x461},
  1891. /* 456 MCS-02 */ { HE20_MODE_VALID_MASK,
  1892. DP_CMN_MOD_IEEE80211_T_HE_20,
  1893. 103200, 106400, 97500, 87800, 0, 103200,
  1894. 0x462},
  1895. /* 457 MCS-03 */ { HE20_MODE_VALID_MASK,
  1896. DP_CMN_MOD_IEEE80211_T_HE_20,
  1897. 137600, 141800, 130000, 117000, 68800, 137600,
  1898. 0x463},
  1899. /* 458 MCS-04 */ { HE20_MODE_VALID_MASK,
  1900. DP_CMN_MOD_IEEE80211_T_HE_20,
  1901. 206500, 212700, 195000, 175500, 103200, 206500,
  1902. 0x464},
  1903. /* 459 MCS-05 */ { HE20_MODE_VALID_MASK,
  1904. DP_CMN_MOD_IEEE80211_T_HE_20,
  1905. 275300, 283600, 260000, 234000, 0, 275300,
  1906. 0x465},
  1907. /* 460 MCS-06 */ { HE20_MODE_VALID_MASK,
  1908. DP_CMN_MOD_IEEE80211_T_HE_20,
  1909. 309700, 319100, 292500, 263300, 0, 309700,
  1910. 0x466},
  1911. /* 461 MCS-07 */ { HE20_MODE_VALID_MASK,
  1912. DP_CMN_MOD_IEEE80211_T_HE_20,
  1913. 344100, 354500, 325000, 292500, 0, 344100,
  1914. 0x467},
  1915. /* 462 MCS-08 */ { HE20_MODE_VALID_MASK,
  1916. DP_CMN_MOD_IEEE80211_T_HE_20,
  1917. 412900, 425500, 390000, 351000, 0, 412900,
  1918. 0x468},
  1919. /* 463 MCS-09 */ { HE20_MODE_VALID_MASK,
  1920. DP_CMN_MOD_IEEE80211_T_HE_20,
  1921. 455800, 472700, 433300, 390000, 0, 455800,
  1922. 0x469},
  1923. /* 464 MCS-10 */ { HE20_LDPC_ONLY_MASKS,
  1924. DP_CMN_MOD_IEEE80211_T_HE_20,
  1925. 516200, 531800, 487500, 438800, 0, 516200,
  1926. 0x46a},
  1927. /* 465 MCS-11 */ { HE20_LDPC_ONLY_MASKS,
  1928. DP_CMN_MOD_IEEE80211_T_HE_20,
  1929. 573500, 590900, 541700, 487500, 0, 573500,
  1930. 0x46b},
  1931. /* 466 MCS-12 */ { HE20_LDPC_ONLY_MASKS,
  1932. DP_CMN_MOD_IEEE80211_T_HE_20,
  1933. 619400, 638200, 585000, 526500, 0, 619400,
  1934. 0x46c},
  1935. /* 467 MCS-13 */ { HE20_LDPC_ONLY_MASKS,
  1936. DP_CMN_MOD_IEEE80211_T_HE_20,
  1937. 688200, 709100, 650000, 585000, 0, 688200,
  1938. 0x46d},
  1939. /* When number of spatial streams > 4
  1940. * use below rates
  1941. */
  1942. /* 468 MCS-00 */ { HE20_LDPC_ONLY_MASKS,
  1943. DP_CMN_MOD_IEEE80211_T_HE_20,
  1944. 43000, 43300, 40600, 36600, 21500, 43000,
  1945. 0x480},
  1946. /* 469 MCS-01 */ { HE20_LDPC_ONLY_MASKS,
  1947. DP_CMN_MOD_IEEE80211_T_HE_20,
  1948. 86000, 88600, 81300, 73100, 43000, 86000,
  1949. 0x481},
  1950. /* 470 MCS-02 */ { HE20_LDPC_ONLY_MASKS,
  1951. DP_CMN_MOD_IEEE80211_T_HE_20,
  1952. 129000, 133000, 121900, 109700, 0, 129000,
  1953. 0x482},
  1954. /* 471 MCS-03 */ { HE20_LDPC_ONLY_MASKS,
  1955. DP_CMN_MOD_IEEE80211_T_HE_20,
  1956. 172100, 177300, 162500, 146300, 86000, 172100,
  1957. 0x483},
  1958. /* 472 MCS-04 */ { HE20_LDPC_ONLY_MASKS,
  1959. DP_CMN_MOD_IEEE80211_T_HE_20,
  1960. 258100, 265900, 243800, 219400, 129000, 258100,
  1961. 0x484},
  1962. /* 473 MCS-05 */ { HE20_LDPC_ONLY_MASKS,
  1963. DP_CMN_MOD_IEEE80211_T_HE_20,
  1964. 344100, 354500, 325000, 292500, 0, 344100,
  1965. 0x485},
  1966. /* 474 MCS-06 */ { HE20_LDPC_ONLY_MASKS,
  1967. DP_CMN_MOD_IEEE80211_T_HE_20,
  1968. 387100, 398900, 365600, 329100, 0, 387100,
  1969. 0x486},
  1970. /* 475 MCS-07 */ { HE20_LDPC_ONLY_MASKS,
  1971. DP_CMN_MOD_IEEE80211_T_HE_20,
  1972. 430100, 443200, 406300, 365600, 0, 430100,
  1973. 0x487},
  1974. /* 476 MCS-08 */ { HE20_LDPC_ONLY_MASKS,
  1975. DP_CMN_MOD_IEEE80211_T_HE_20,
  1976. 516200, 531800, 487500, 438800, 0, 516200,
  1977. 0x488},
  1978. /* 477 MCS-09 */ { HE20_LDPC_ONLY_MASKS,
  1979. DP_CMN_MOD_IEEE80211_T_HE_20,
  1980. 573500, 590900, 541700, 487500, 0, 573500,
  1981. 0x489},
  1982. /* 478 MCS-10 */ { HE20_LDPC_ONLY_MASKS,
  1983. DP_CMN_MOD_IEEE80211_T_HE_20,
  1984. 645200, 664800, 609400, 548400, 0, 645200,
  1985. 0x48a},
  1986. /* 479 MCS-11 */ { HE20_LDPC_ONLY_MASKS,
  1987. DP_CMN_MOD_IEEE80211_T_HE_20,
  1988. 716900, 738600, 677100, 609400, 0, 716900,
  1989. 0x48b},
  1990. /* 480 MCS-12 */ { HE20_LDPC_ONLY_MASKS,
  1991. DP_CMN_MOD_IEEE80211_T_HE_20,
  1992. 774300, 797700, 731300, 658100, 0, 774300,
  1993. 0x48c},
  1994. /* 481 MCS-13 */ { HE20_LDPC_ONLY_MASKS,
  1995. DP_CMN_MOD_IEEE80211_T_HE_20,
  1996. 860300, 886400, 812500, 731300, 0, 860300,
  1997. 0x48d},
  1998. /* When number of spatial streams > 5
  1999. * use below rates
  2000. */
  2001. /* 482 MCS-00 */ { HE20_LDPC_ONLY_MASKS,
  2002. DP_CMN_MOD_IEEE80211_T_HE_20,
  2003. 51600, 53200, 48800, 43900, 25800, 51600,
  2004. 0x4a0},
  2005. /* 483 MCS-01 */ { HE20_LDPC_ONLY_MASKS,
  2006. DP_CMN_MOD_IEEE80211_T_HE_20,
  2007. 103200, 106400, 97500, 87800, 51600, 103200,
  2008. 0x4a1},
  2009. /* 484 MCS-02 */ { HE20_LDPC_ONLY_MASKS,
  2010. DP_CMN_MOD_IEEE80211_T_HE_20,
  2011. 154900, 159500, 146300, 131600, 0, 154900,
  2012. 0x4a2},
  2013. /* 485 MCS-03 */ { HE20_LDPC_ONLY_MASKS,
  2014. DP_CMN_MOD_IEEE80211_T_HE_20,
  2015. 206500, 212700, 195000, 175500, 103200, 206500,
  2016. 0x4a3},
  2017. /* 486 MCS-04 */ { HE20_LDPC_ONLY_MASKS,
  2018. DP_CMN_MOD_IEEE80211_T_HE_20,
  2019. 309700, 319100, 292500, 263300, 154900, 309700,
  2020. 0x4a4},
  2021. /* 487 MCS-05 */ { HE20_LDPC_ONLY_MASKS,
  2022. DP_CMN_MOD_IEEE80211_T_HE_20,
  2023. 412900, 425500, 390000, 351000, 0, 412900,
  2024. 0x4a5},
  2025. /* 488 MCS-06 */ { HE20_LDPC_ONLY_MASKS,
  2026. DP_CMN_MOD_IEEE80211_T_HE_20,
  2027. 464600, 478600, 438000, 394900, 0, 464600,
  2028. 0x4a6},
  2029. /* 489 MCS-07 */ { HE20_LDPC_ONLY_MASKS,
  2030. DP_CMN_MOD_IEEE80211_T_HE_20,
  2031. 516200, 531800, 487500, 438800, 0, 516200,
  2032. 0x4a7},
  2033. /* 490 MCS-08 */ { HE20_LDPC_ONLY_MASKS,
  2034. DP_CMN_MOD_IEEE80211_T_HE_20,
  2035. 619400, 638200, 585000, 526500, 0, 619400,
  2036. 0x4a8},
  2037. /* 491 MCS-09 */ { HE20_LDPC_ONLY_MASKS,
  2038. DP_CMN_MOD_IEEE80211_T_HE_20,
  2039. 688200, 709100, 650000, 585000, 0, 688200,
  2040. 0x4a9},
  2041. /* 492 MCS-10 */ { HE20_LDPC_ONLY_MASKS,
  2042. DP_CMN_MOD_IEEE80211_T_HE_20,
  2043. 774300, 797700, 731300, 658100, 0, 774300,
  2044. 0x4aa},
  2045. /* 493 MCS-11 */ { HE20_LDPC_ONLY_MASKS,
  2046. DP_CMN_MOD_IEEE80211_T_HE_20,
  2047. 860300, 886400, 812500, 731300, 0, 860300,
  2048. 0x4ab},
  2049. /* 494 MCS-12 */ { HE20_LDPC_ONLY_MASKS,
  2050. DP_CMN_MOD_IEEE80211_T_HE_20,
  2051. 929100, 957300, 877500, 789800, 0, 929100,
  2052. 0x4ac},
  2053. /* 495 MCS-13 */ { HE20_LDPC_ONLY_MASKS,
  2054. DP_CMN_MOD_IEEE80211_T_HE_20,
  2055. 1032400, 1063600, 975000, 877500, 0, 1032400,
  2056. 0x4ad},
  2057. /* When number of spatial streams > 6
  2058. * use below rates
  2059. */
  2060. /* 496 MCS-00 */ { HE20_LDPC_ONLY_MASKS,
  2061. DP_CMN_MOD_IEEE80211_T_HE_20,
  2062. 60200, 62000, 56900, 51200, 30100, 60200,
  2063. 0x4c0},
  2064. /* 497 MCS-01 */ { HE20_LDPC_ONLY_MASKS,
  2065. DP_CMN_MOD_IEEE80211_T_HE_20,
  2066. 120400, 124100, 113800, 102400, 60200, 120400,
  2067. 0x4c1},
  2068. /* 498 MCS-02 */ { HE20_LDPC_ONLY_MASKS,
  2069. DP_CMN_MOD_IEEE80211_T_HE_20,
  2070. 180700, 186100, 170600, 153600, 0, 180700,
  2071. 0x4c2},
  2072. /* 499 MCS-03 */ { HE20_LDPC_ONLY_MASKS,
  2073. DP_CMN_MOD_IEEE80211_T_HE_20,
  2074. 240900, 248200, 227500, 204800, 120400, 240900,
  2075. 0x4c3},
  2076. /* 500 MCS-04 */ { HE20_LDPC_ONLY_MASKS,
  2077. DP_CMN_MOD_IEEE80211_T_HE_20,
  2078. 361300, 372300, 341300, 307100, 180700, 361300,
  2079. 0x4c4},
  2080. /* 501 MCS-05 */ { HE20_LDPC_ONLY_MASKS,
  2081. DP_CMN_MOD_IEEE80211_T_HE_20,
  2082. 481800, 496400, 455000, 409500, 0, 481800,
  2083. 0x4c5},
  2084. /* 502 MCS-06 */ { HE20_LDPC_ONLY_MASKS,
  2085. DP_CMN_MOD_IEEE80211_T_HE_20,
  2086. 542000, 558400, 511900, 460700, 0, 542000,
  2087. 0x4c6},
  2088. /* 503 MCS-07 */ { HE20_LDPC_ONLY_MASKS,
  2089. DP_CMN_MOD_IEEE80211_T_HE_20,
  2090. 602200, 620500, 568800, 511900, 0, 602200,
  2091. 0x4c7},
  2092. /* 504 MCS-08 */ { HE20_LDPC_ONLY_MASKS,
  2093. DP_CMN_MOD_IEEE80211_T_HE_20,
  2094. 722600, 744500, 682500, 614300, 0, 722600,
  2095. 0x4c8},
  2096. /* 505 MCS-09 */ { HE20_LDPC_ONLY_MASKS,
  2097. DP_CMN_MOD_IEEE80211_T_HE_20,
  2098. 802900, 827300, 758300, 682500, 0, 802900,
  2099. 0x4c9},
  2100. /* 506 MCS-10 */ { HE20_LDPC_ONLY_MASKS,
  2101. DP_CMN_MOD_IEEE80211_T_HE_20,
  2102. 903300, 930700, 853100, 767800, 0, 903300,
  2103. 0x4ca},
  2104. /* 507 MCS-11 */ { HE20_LDPC_ONLY_MASKS,
  2105. DP_CMN_MOD_IEEE80211_T_HE_20,
  2106. 1003700, 1034100, 947900, 853100, 0, 1003700,
  2107. 0x4cb},
  2108. /* 508 MCS-12 */ { HE20_LDPC_ONLY_MASKS,
  2109. DP_CMN_MOD_IEEE80211_T_HE_20,
  2110. 1084000, 1116800, 1023800, 921400, 0, 1084000,
  2111. 0x4cc},
  2112. /* 509 MCS-13 */ { HE20_LDPC_ONLY_MASKS,
  2113. DP_CMN_MOD_IEEE80211_T_HE_20,
  2114. 1204400, 1240900, 1137500, 1023800, 0, 1204400,
  2115. 0x4cd},
  2116. /* When number of spatial streams > 7
  2117. * use below rates
  2118. */
  2119. /* 510 MCS-00 */ { HE20_LDPC_ONLY_MASKS,
  2120. DP_CMN_MOD_IEEE80211_T_HE_20,
  2121. 68800, 70900, 65000, 58500, 34400, 68800,
  2122. 0x4e0},
  2123. /* 511 MCS-01 */ { HE20_LDPC_ONLY_MASKS,
  2124. DP_CMN_MOD_IEEE80211_T_HE_20,
  2125. 137600, 141800, 130000, 117000, 68800, 137600,
  2126. 0x4e1},
  2127. /* 512 MCS-02 */ { HE20_LDPC_ONLY_MASKS,
  2128. DP_CMN_MOD_IEEE80211_T_HE_20,
  2129. 206500, 212700, 195000, 175500, 0, 206500,
  2130. 0x4e2},
  2131. /* 513 MCS-03 */ { HE20_LDPC_ONLY_MASKS,
  2132. DP_CMN_MOD_IEEE80211_T_HE_20,
  2133. 275300, 283600, 260000, 234000, 137600, 275300,
  2134. 0x4e3},
  2135. /* 514 MCS-04 */ { HE20_LDPC_ONLY_MASKS,
  2136. DP_CMN_MOD_IEEE80211_T_HE_20,
  2137. 412900, 425500, 390000, 351000, 206500, 412900,
  2138. 0x4e4},
  2139. /* 515 MCS-05 */ { HE20_LDPC_ONLY_MASKS,
  2140. DP_CMN_MOD_IEEE80211_T_HE_20,
  2141. 550600, 567300, 520000, 468000, 0, 550600,
  2142. 0x4e5},
  2143. /* 516 MCS-06 */ { HE20_LDPC_ONLY_MASKS,
  2144. DP_CMN_MOD_IEEE80211_T_HE_20,
  2145. 619400, 638200, 585000, 526500, 0, 619400,
  2146. 0x4e6},
  2147. /* 517 MCS-07 */ { HE20_LDPC_ONLY_MASKS,
  2148. DP_CMN_MOD_IEEE80211_T_HE_20,
  2149. 688200, 709100, 650000, 585000, 0, 688200,
  2150. 0x4e7},
  2151. /* 518 MCS-08 */ { HE20_LDPC_ONLY_MASKS,
  2152. DP_CMN_MOD_IEEE80211_T_HE_20,
  2153. 825900, 850900, 780000, 702000, 0, 825900,
  2154. 0x4e8},
  2155. /* 519 MCS-09 */ { HE20_LDPC_ONLY_MASKS,
  2156. DP_CMN_MOD_IEEE80211_T_HE_20,
  2157. 917600, 945500, 866700, 780000, 0, 917600,
  2158. 0x4e9},
  2159. /* 520 MCS-10 */ { HE20_LDPC_ONLY_MASKS,
  2160. DP_CMN_MOD_IEEE80211_T_HE_20,
  2161. 1032400, 1063600, 975000, 877500, 0, 1032400,
  2162. 0x4ea},
  2163. /* 521 MCS-11 */ { HE20_LDPC_ONLY_MASKS,
  2164. DP_CMN_MOD_IEEE80211_T_HE_20,
  2165. 1147100, 1181800, 1083300, 975000, 0, 1147100,
  2166. 0x4eb},
  2167. /* 522 MCS-12 */ { HE20_LDPC_ONLY_MASKS,
  2168. DP_CMN_MOD_IEEE80211_T_HE_20,
  2169. 1238800, 1276400, 1170000, 1053000, 0, 1238800,
  2170. 0x4ec},
  2171. /* 523 MCS-13 */ { HE20_LDPC_ONLY_MASKS,
  2172. DP_CMN_MOD_IEEE80211_T_HE_20,
  2173. 1376500, 1418200, 1300000, 1170000, 0, 1376500,
  2174. 0x4ed},
  2175. /* 11ax RU484 rates
  2176. */
  2177. /* 524 MCS-00 */ { HE40_LDPC_ONLY_MASKS,
  2178. DP_CMN_MOD_IEEE80211_T_HE_40,
  2179. 17200, 17700, 16300, 14600, 8600, 17200, 0x400
  2180. },
  2181. /* 525 MCS-01 */ { HE40_LDPC_ONLY_MASKS,
  2182. DP_CMN_MOD_IEEE80211_T_HE_40,
  2183. 34400, 35500, 32500, 29300, 17700, 34400, 0x401
  2184. },
  2185. /* 526 MCS-02 */ { HE40_LDPC_ONLY_MASKS,
  2186. DP_CMN_MOD_IEEE80211_T_HE_40,
  2187. 51600, 53200, 48800, 43900, 25800, 51600, 0x402
  2188. },
  2189. /* 527 MCS-03 */ { HE40_LDPC_ONLY_MASKS,
  2190. DP_CMN_MOD_IEEE80211_T_HE_40,
  2191. 68800, 70900, 65000, 58500, 0, 68800, 0x403
  2192. },
  2193. /* 528 MCS-04 */ { HE40_LDPC_ONLY_MASKS,
  2194. DP_CMN_MOD_IEEE80211_T_HE_40,
  2195. 103200, 106400, 97500, 87800, 0, 103200,
  2196. 0x404 },
  2197. /* 529 MCS-05 */ { HE40_LDPC_ONLY_MASKS,
  2198. DP_CMN_MOD_IEEE80211_T_HE_40,
  2199. 137600, 141800, 130000, 117000, 0, 137600,
  2200. 0x405 },
  2201. /* 530 MCS-06 */ { HE40_LDPC_ONLY_MASKS,
  2202. DP_CMN_MOD_IEEE80211_T_HE_40,
  2203. 154900, 159500, 146300, 131600, 0, 154900,
  2204. 0x406 },
  2205. /* 531 MCS-07 */ { HE40_LDPC_ONLY_MASKS,
  2206. DP_CMN_MOD_IEEE80211_T_HE_40,
  2207. 172100, 177300, 162500, 146300, 0, 172100,
  2208. 0x407 },
  2209. /* 532 MCS-08 */ { HE40_LDPC_ONLY_MASKS,
  2210. DP_CMN_MOD_IEEE80211_T_HE_40,
  2211. 206500, 212700, 195000, 175500, 0, 206500,
  2212. 0x408 },
  2213. /* 533 MCS-09 */ { HE40_LDPC_ONLY_MASKS,
  2214. DP_CMN_MOD_IEEE80211_T_HE_40,
  2215. 229400, 236400, 216700, 195000, 0, 229400,
  2216. 0x409 },
  2217. /* 534 MCS-10 */ { HE40_LDPC_ONLY_MASKS,
  2218. DP_CMN_MOD_IEEE80211_T_HE_40,
  2219. 258100, 265900, 243800, 219400, 0, 258100,
  2220. 0x40a },
  2221. /* 535 MCS-11 */ { HE40_LDPC_ONLY_MASKS,
  2222. DP_CMN_MOD_IEEE80211_T_HE_40,
  2223. 286800, 295500, 270800, 243800, 0, 286800,
  2224. 0x40b },
  2225. /* 536 MCS-12 */ { HE40_LDPC_ONLY_MASKS,
  2226. DP_CMN_MOD_IEEE80211_T_HE_40,
  2227. 309700, 319100, 292500, 263300, 0, 309700,
  2228. 0x40c },
  2229. /* 537 MCS-13 */ { HE40_LDPC_ONLY_MASKS,
  2230. DP_CMN_MOD_IEEE80211_T_HE_40,
  2231. 344100, 354500, 325000, 292500, 0, 344100,
  2232. 0x40d },
  2233. /* When number of spatial streams > 1
  2234. * use below rates
  2235. */
  2236. /* 538 MCS-00 */ { HE40_LDPC_ONLY_MASKS,
  2237. DP_CMN_MOD_IEEE80211_T_HE_40,
  2238. 34400, 35500, 32500, 29300, 17700, 34400, 0x420
  2239. },
  2240. /* 539 MCS-01 */ { HE40_LDPC_ONLY_MASKS,
  2241. DP_CMN_MOD_IEEE80211_T_HE_40,
  2242. 68800, 70900, 65000, 58500, 34400, 68800, 0x421
  2243. },
  2244. /* 540 MCS-02 */ { HE40_LDPC_ONLY_MASKS,
  2245. DP_CMN_MOD_IEEE80211_T_HE_40,
  2246. 103200, 106400, 97500, 87800, 0, 103200,
  2247. 0x422 },
  2248. /* 541 MCS-03 */ { HE40_LDPC_ONLY_MASKS,
  2249. DP_CMN_MOD_IEEE80211_T_HE_40,
  2250. 137600, 141800, 130000, 117000, 68800, 137600,
  2251. 0x423 },
  2252. /* 542 MCS-04 */ { HE40_LDPC_ONLY_MASKS,
  2253. DP_CMN_MOD_IEEE80211_T_HE_40,
  2254. 206500, 212700, 195000, 175500, 103200, 206500,
  2255. 0x424 },
  2256. /* 543 MCS-05 */ { HE40_LDPC_ONLY_MASKS,
  2257. DP_CMN_MOD_IEEE80211_T_HE_40,
  2258. 275300, 283600, 260000, 234000, 0, 275300,
  2259. 0x425 },
  2260. /* 544 MCS-06 */ { HE40_LDPC_ONLY_MASKS,
  2261. DP_CMN_MOD_IEEE80211_T_HE_40,
  2262. 309700, 319100, 292500, 263300, 0, 309700,
  2263. 0x426 },
  2264. /* 545 MCS-07 */ { HE40_LDPC_ONLY_MASKS,
  2265. DP_CMN_MOD_IEEE80211_T_HE_40,
  2266. 344100, 354500, 325000, 292500, 0, 344100,
  2267. 0x427 },
  2268. /* 546 MCS-08 */ { HE40_LDPC_ONLY_MASKS,
  2269. DP_CMN_MOD_IEEE80211_T_HE_40,
  2270. 412900, 425500, 390000, 351000, 0, 412900,
  2271. 0x428 },
  2272. /* 547 MCS-09 */ { HE40_LDPC_ONLY_MASKS,
  2273. DP_CMN_MOD_IEEE80211_T_HE_40,
  2274. 455800, 472700, 433300, 390000, 0, 455800,
  2275. 0x429 },
  2276. /* 548 MCS-10 */ { HE40_LDPC_ONLY_MASKS,
  2277. DP_CMN_MOD_IEEE80211_T_HE_40,
  2278. 516200, 531800, 487500, 438800, 0, 516200,
  2279. 0x42a },
  2280. /* 549 MCS-11 */ { HE40_LDPC_ONLY_MASKS,
  2281. DP_CMN_MOD_IEEE80211_T_HE_40,
  2282. 573500, 590900, 541700, 487500, 0, 573500,
  2283. 0x42b },
  2284. /* 550 MCS-12 */ { HE40_LDPC_ONLY_MASKS,
  2285. DP_CMN_MOD_IEEE80211_T_HE_40,
  2286. 619400, 638200, 585000, 526500, 0, 619400,
  2287. 0x42c },
  2288. /* 551 MCS-13 */ { HE40_LDPC_ONLY_MASKS,
  2289. DP_CMN_MOD_IEEE80211_T_HE_40,
  2290. 688200, 709100, 650000, 585000, 0, 688200,
  2291. 0x42d },
  2292. /* When number of spatial streams > 2
  2293. * use below rates
  2294. */
  2295. /* 552 MCS-00 */ { HE40_LDPC_ONLY_MASKS,
  2296. DP_CMN_MOD_IEEE80211_T_HE_40,
  2297. 51600, 53200, 48800, 43900, 25800, 51600, 0x440
  2298. },
  2299. /* 553 MCS-01 */ { HE40_LDPC_ONLY_MASKS,
  2300. DP_CMN_MOD_IEEE80211_T_HE_40,
  2301. 103200, 106400, 97500, 87800, 51600, 103200,
  2302. 0x441 },
  2303. /* 554 MCS-02 */ { HE40_LDPC_ONLY_MASKS,
  2304. DP_CMN_MOD_IEEE80211_T_HE_40,
  2305. 154900, 159500, 146300, 131600, 0, 154900,
  2306. 0x442 },
  2307. /* 555 MCS-03 */ { HE40_LDPC_ONLY_MASKS,
  2308. DP_CMN_MOD_IEEE80211_T_HE_40,
  2309. 206500, 212700, 195000, 175500, 103200, 206500,
  2310. 0x443 },
  2311. /* 556 MCS-04 */ { HE40_LDPC_ONLY_MASKS,
  2312. DP_CMN_MOD_IEEE80211_T_HE_40,
  2313. 309700, 319100, 292500, 263300, 154900, 309700,
  2314. 0x444 },
  2315. /* 557 MCS-05 */ { HE40_LDPC_ONLY_MASKS,
  2316. DP_CMN_MOD_IEEE80211_T_HE_40,
  2317. 412900, 425500, 390000, 351000, 0, 412900,
  2318. 0x445 },
  2319. /* 558 MCS-06 */ { HE40_LDPC_ONLY_MASKS,
  2320. DP_CMN_MOD_IEEE80211_T_HE_40,
  2321. 464600, 478600, 438000, 394900, 0, 464600,
  2322. 0x446 },
  2323. /* 559 MCS-07 */ { HE40_LDPC_ONLY_MASKS,
  2324. DP_CMN_MOD_IEEE80211_T_HE_40,
  2325. 516200, 531800, 487500, 438800, 0, 516200,
  2326. 0x447 },
  2327. /* 560 MCS-08 */ { HE40_LDPC_ONLY_MASKS,
  2328. DP_CMN_MOD_IEEE80211_T_HE_40,
  2329. 619400, 638200, 585000, 526500, 0, 619400,
  2330. 0x448 },
  2331. /* 561 MCS-09 */ { HE40_LDPC_ONLY_MASKS,
  2332. DP_CMN_MOD_IEEE80211_T_HE_40,
  2333. 688200, 709100, 650000, 585000, 0, 688200,
  2334. 0x449 },
  2335. /* 562 MCS-10 */ { HE40_LDPC_ONLY_MASKS,
  2336. DP_CMN_MOD_IEEE80211_T_HE_40,
  2337. 774300, 797700, 731300, 658100, 0, 774300,
  2338. 0x44a },
  2339. /* 563 MCS-11 */ { HE40_LDPC_ONLY_MASKS,
  2340. DP_CMN_MOD_IEEE80211_T_HE_40,
  2341. 860300, 886400, 812500, 731300, 0, 860300,
  2342. 0x44b },
  2343. /* 564 MCS-12 */ { HE40_LDPC_ONLY_MASKS,
  2344. DP_CMN_MOD_IEEE80211_T_HE_40,
  2345. 929100, 957300, 877500, 789800, 0, 929100,
  2346. 0x44c },
  2347. /* 565 MCS-13 */ { HE40_LDPC_ONLY_MASKS,
  2348. DP_CMN_MOD_IEEE80211_T_HE_40,
  2349. 1032400, 1063600, 975000, 877500, 0, 1032400,
  2350. 0x44d },
  2351. /* When number of spatial streams > 3
  2352. * use below rates
  2353. */
  2354. /* 566 MCS-00 */ { HE40_LDPC_ONLY_MASKS,
  2355. DP_CMN_MOD_IEEE80211_T_HE_40,
  2356. 68800, 70900, 65000, 58500, 34400, 68800, 0x460
  2357. },
  2358. /* 567 MCS-01 */ { HE40_LDPC_ONLY_MASKS,
  2359. DP_CMN_MOD_IEEE80211_T_HE_40,
  2360. 137600, 141800, 130000, 117000, 68800, 137600,
  2361. 0x461 },
  2362. /* 568 MCS-02 */ { HE40_LDPC_ONLY_MASKS,
  2363. DP_CMN_MOD_IEEE80211_T_HE_40,
  2364. 206500, 212700, 195000, 175500, 0, 206500,
  2365. 0x462 },
  2366. /* 569 MCS-03 */ { HE40_LDPC_ONLY_MASKS,
  2367. DP_CMN_MOD_IEEE80211_T_HE_40,
  2368. 275300, 283600, 260000, 234000, 137600, 275300,
  2369. 0x463 },
  2370. /* 570 MCS-04 */ { HE40_LDPC_ONLY_MASKS,
  2371. DP_CMN_MOD_IEEE80211_T_HE_40,
  2372. 412900, 425500, 390000, 351000, 206500, 412900,
  2373. 0x464 },
  2374. /* 571 MCS-05 */ { HE40_LDPC_ONLY_MASKS,
  2375. DP_CMN_MOD_IEEE80211_T_HE_40,
  2376. 550600, 567300, 520000, 468000, 0, 550600,
  2377. 0x465 },
  2378. /* 572 MCS-06 */ { HE40_LDPC_ONLY_MASKS,
  2379. DP_CMN_MOD_IEEE80211_T_HE_40,
  2380. 619400, 638200, 585000, 526500, 0, 619400,
  2381. 0x466 },
  2382. /* 573 MCS-07 */ { HE40_LDPC_ONLY_MASKS,
  2383. DP_CMN_MOD_IEEE80211_T_HE_40,
  2384. 688200, 709100, 650000, 585000, 0, 688200,
  2385. 0x467 },
  2386. /* 574 MCS-08 */ { HE40_LDPC_ONLY_MASKS,
  2387. DP_CMN_MOD_IEEE80211_T_HE_40,
  2388. 825900, 850900, 780000, 702000, 0, 825900,
  2389. 0x468 },
  2390. /* 575 MCS-09 */ { HE40_LDPC_ONLY_MASKS,
  2391. DP_CMN_MOD_IEEE80211_T_HE_40,
  2392. 917600, 945500, 866700, 780000, 0, 917600,
  2393. 0x469 },
  2394. /* 576 MCS-10 */ { HE40_LDPC_ONLY_MASKS,
  2395. DP_CMN_MOD_IEEE80211_T_HE_40,
  2396. 1032400, 1063600, 975000, 877500, 0, 1032400,
  2397. 0x46a },
  2398. /* 577 MCS-11 */ { HE40_LDPC_ONLY_MASKS,
  2399. DP_CMN_MOD_IEEE80211_T_HE_40,
  2400. 1147100, 1181800, 1083300, 975000, 0, 1147100,
  2401. 0x46b },
  2402. /* 578 MCS-12 */ { HE40_LDPC_ONLY_MASKS,
  2403. DP_CMN_MOD_IEEE80211_T_HE_40,
  2404. 1238800, 1276400, 1170000, 1053000, 0, 1238800,
  2405. 0x46c },
  2406. /* 579 MCS-13 */ { HE40_LDPC_ONLY_MASKS,
  2407. DP_CMN_MOD_IEEE80211_T_HE_40,
  2408. 1376500, 1418200, 1300000, 1170000, 0, 1376500,
  2409. 0x46d },
  2410. /* When number of spatial streams > 4
  2411. * use below rates
  2412. */
  2413. /* 580 MCS-00 */ { HE40_LDPC_ONLY_MASKS,
  2414. DP_CMN_MOD_IEEE80211_T_HE_40,
  2415. 86000, 88600, 81300, 73100, 43000, 86000, 0x480
  2416. },
  2417. /* 581 MCS-01 */ { HE40_LDPC_ONLY_MASKS,
  2418. DP_CMN_MOD_IEEE80211_T_HE_40,
  2419. 172100, 177300, 162500, 146300, 86000, 172100,
  2420. 0x481 },
  2421. /* 582 MCS-02 */ { HE40_LDPC_ONLY_MASKS,
  2422. DP_CMN_MOD_IEEE80211_T_HE_40,
  2423. 258100, 265900, 243800, 219400, 0, 258100,
  2424. 0x482 },
  2425. /* 583 MCS-03 */ { HE40_LDPC_ONLY_MASKS,
  2426. DP_CMN_MOD_IEEE80211_T_HE_40,
  2427. 344100, 354500, 325000, 292500, 172100, 344100,
  2428. 0x483 },
  2429. /* 584 MCS-04 */ { HE40_LDPC_ONLY_MASKS,
  2430. DP_CMN_MOD_IEEE80211_T_HE_40,
  2431. 516200, 531800, 487500, 438800, 258100, 516200,
  2432. 0x484 },
  2433. /* 585 MCS-05 */ { HE40_LDPC_ONLY_MASKS,
  2434. DP_CMN_MOD_IEEE80211_T_HE_40,
  2435. 688200, 709100, 650000, 585000, 0, 688200,
  2436. 0x485 },
  2437. /* 586 MCS-06 */ { HE40_LDPC_ONLY_MASKS,
  2438. DP_CMN_MOD_IEEE80211_T_HE_40,
  2439. 774300, 797700, 731300, 658100, 0, 774300,
  2440. 0x486 },
  2441. /* 587 MCS-07 */ { HE40_LDPC_ONLY_MASKS,
  2442. DP_CMN_MOD_IEEE80211_T_HE_40,
  2443. 860300, 886400, 812500, 731300, 0, 860300,
  2444. 0x487 },
  2445. /* 588 MCS-08 */ { HE40_LDPC_ONLY_MASKS,
  2446. DP_CMN_MOD_IEEE80211_T_HE_40,
  2447. 1032400, 1063600, 975000, 877500, 0, 1032400,
  2448. 0x488 },
  2449. /* 589 MCS-09 */ { HE40_LDPC_ONLY_MASKS,
  2450. DP_CMN_MOD_IEEE80211_T_HE_40,
  2451. 1147100, 1181800, 1083300, 975000, 0, 1147100,
  2452. 0x489 },
  2453. /* 590 MCS-10 */ { HE40_LDPC_ONLY_MASKS,
  2454. DP_CMN_MOD_IEEE80211_T_HE_40,
  2455. 1290400, 1329500, 1218800, 1096900, 0, 1290400,
  2456. 0x48a },
  2457. /* 591 MCS-11 */ { HE40_LDPC_ONLY_MASKS,
  2458. DP_CMN_MOD_IEEE80211_T_HE_40,
  2459. 1433800, 1477300, 1354200, 1218800, 0, 1433800,
  2460. 0x48b },
  2461. /* 592 MCS-12 */ { HE40_LDPC_ONLY_MASKS,
  2462. DP_CMN_MOD_IEEE80211_T_HE_40,
  2463. 1548500, 1595500, 1462500, 1316300, 0, 1548500,
  2464. 0x48c },
  2465. /* 593 MCS-13 */ { HE40_LDPC_ONLY_MASKS,
  2466. DP_CMN_MOD_IEEE80211_T_HE_40,
  2467. 1720600, 1772700, 1625000, 1462500, 0, 1720600,
  2468. 0x48d },
  2469. /* When number of spatial streams > 5
  2470. * use below rates
  2471. */
  2472. /* 594 MCS-00 */ { HE40_LDPC_ONLY_MASKS,
  2473. DP_CMN_MOD_IEEE80211_T_HE_40,
  2474. 103200, 106400, 97500, 87800, 51600, 103200,
  2475. 0x4a0 },
  2476. /* 595 MCS-01 */ { HE40_LDPC_ONLY_MASKS,
  2477. DP_CMN_MOD_IEEE80211_T_HE_40,
  2478. 206500, 212700, 195000, 175500, 103200, 206500,
  2479. 0x4a1 },
  2480. /* 596 MCS-02 */ { HE40_LDPC_ONLY_MASKS,
  2481. DP_CMN_MOD_IEEE80211_T_HE_40,
  2482. 309700, 319100, 292500, 263300, 0, 309700,
  2483. 0x4a2 },
  2484. /* 597 MCS-03 */ { HE40_LDPC_ONLY_MASKS,
  2485. DP_CMN_MOD_IEEE80211_T_HE_40,
  2486. 412900, 425500, 390000, 351000, 206500, 412900,
  2487. 0x4a3 },
  2488. /* 598 MCS-04 */ { HE40_LDPC_ONLY_MASKS,
  2489. DP_CMN_MOD_IEEE80211_T_HE_40,
  2490. 619400, 638200, 585000, 526500, 309700, 619400,
  2491. 0x4a4 },
  2492. /* 599 MCS-05 */ { HE40_LDPC_ONLY_MASKS,
  2493. DP_CMN_MOD_IEEE80211_T_HE_40,
  2494. 825900, 850900, 780000, 702000, 0, 825900,
  2495. 0x4a5 },
  2496. /* 600 MCS-06 */ { HE40_LDPC_ONLY_MASKS,
  2497. DP_CMN_MOD_IEEE80211_T_HE_40,
  2498. 929100, 957300, 877500, 789800, 0, 929100,
  2499. 0x4a6 },
  2500. /* 601 MCS-07 */ { HE40_LDPC_ONLY_MASKS,
  2501. DP_CMN_MOD_IEEE80211_T_HE_40,
  2502. 1032400, 1063600, 975000, 877500, 0, 1032400,
  2503. 0x4a7 },
  2504. /* 602 MCS-08 */ { HE40_LDPC_ONLY_MASKS,
  2505. DP_CMN_MOD_IEEE80211_T_HE_40,
  2506. 1238800, 1276400, 1170000, 1053000, 0, 1238800,
  2507. 0x4a8 },
  2508. /* 603 MCS-09 */ { HE40_LDPC_ONLY_MASKS,
  2509. DP_CMN_MOD_IEEE80211_T_HE_40,
  2510. 1376500, 1418200, 1300000, 1170000, 0, 1376500,
  2511. 0x4a9 },
  2512. /* 604 MCS-10 */ { HE40_LDPC_ONLY_MASKS,
  2513. DP_CMN_MOD_IEEE80211_T_HE_40,
  2514. 1548500, 1595500, 1462500, 1316300, 0, 1548500,
  2515. 0x4aa },
  2516. /* 605 MCS-11 */ { HE40_LDPC_ONLY_MASKS,
  2517. DP_CMN_MOD_IEEE80211_T_HE_40,
  2518. 1720600, 1772700, 1625000, 1462500, 0, 1720600,
  2519. 0x4ab },
  2520. /* 606 MCS-12 */ { HE40_LDPC_ONLY_MASKS,
  2521. DP_CMN_MOD_IEEE80211_T_HE_40,
  2522. 1858200, 1914500, 1755000, 1579500, 0, 1858200,
  2523. 0x4ac },
  2524. /* 607 MCS-13 */ { HE40_LDPC_ONLY_MASKS,
  2525. DP_CMN_MOD_IEEE80211_T_HE_40,
  2526. 2064700, 2127300, 1950000, 1755000, 0, 2064700,
  2527. 0x4ad },
  2528. /* When number spatial streams > 6
  2529. * use below rates
  2530. */
  2531. /* 608 MCS-00 */ { HE40_LDPC_ONLY_MASKS,
  2532. DP_CMN_MOD_IEEE80211_T_HE_40,
  2533. 120400, 124100, 113800, 102400, 60200, 120400,
  2534. 0x4c0 },
  2535. /* 609 MCS-01 */ { HE40_LDPC_ONLY_MASKS,
  2536. DP_CMN_MOD_IEEE80211_T_HE_40,
  2537. 240900, 248200, 227500, 204800, 120400, 240900,
  2538. 0x4c1 },
  2539. /* 610 MCS-02 */ { HE40_LDPC_ONLY_MASKS,
  2540. DP_CMN_MOD_IEEE80211_T_HE_40,
  2541. 361300, 372300, 341300, 307100, 180600, 361300,
  2542. 0x4c2 },
  2543. /* 611 MCS-03 */ { HE40_LDPC_ONLY_MASKS,
  2544. DP_CMN_MOD_IEEE80211_T_HE_40,
  2545. 481800, 496400, 455000, 409500, 0, 481800,
  2546. 0x4c3 },
  2547. /* 612 MCS-04 */ { HE40_LDPC_ONLY_MASKS,
  2548. DP_CMN_MOD_IEEE80211_T_HE_40,
  2549. 722600, 744500, 682500, 614300, 0, 722600,
  2550. 0x4c4 },
  2551. /* 613 MCS-05 */ { HE40_LDPC_ONLY_MASKS,
  2552. DP_CMN_MOD_IEEE80211_T_HE_40,
  2553. 963500, 992700, 910000, 819000, 0, 963500,
  2554. 0x4c5 },
  2555. /* 614 MCS-06 */ { HE40_LDPC_ONLY_MASKS,
  2556. DP_CMN_MOD_IEEE80211_T_HE_40,
  2557. 1084000, 1116800, 1023800, 921400, 0, 1084000,
  2558. 0x4c6 },
  2559. /* 615 MCS-07 */ { HE40_LDPC_ONLY_MASKS,
  2560. DP_CMN_MOD_IEEE80211_T_HE_40,
  2561. 1204400, 1240900, 1137500, 1023800, 0, 1204400,
  2562. 0x4c7 },
  2563. /* 616 MCS-08 */ { HE40_LDPC_ONLY_MASKS,
  2564. DP_CMN_MOD_IEEE80211_T_HE_40,
  2565. 1445300, 1489100, 1365000, 1228500, 0, 1445300,
  2566. 0x4c8 },
  2567. /* 617 MCS-09 */ { HE40_LDPC_ONLY_MASKS,
  2568. DP_CMN_MOD_IEEE80211_T_HE_40,
  2569. 1605900, 1654500, 1516700, 1365000, 0, 1605900,
  2570. 0x4c9 },
  2571. /* 618 MCS-10 */ { HE40_LDPC_ONLY_MASKS,
  2572. DP_CMN_MOD_IEEE80211_T_HE_40,
  2573. 1806600, 1861400, 1706300, 1535600, 0, 1806600,
  2574. 0x4ca },
  2575. /* 619 MCS-11 */ { HE40_LDPC_ONLY_MASKS,
  2576. DP_CMN_MOD_IEEE80211_T_HE_40,
  2577. 2007400, 2068200, 1895800, 1706300, 0, 2007400,
  2578. 0x4cb },
  2579. /* 620 MCS-12 */ { HE40_LDPC_ONLY_MASKS,
  2580. DP_CMN_MOD_IEEE80211_T_HE_40,
  2581. 2167900, 2233600, 2047500, 1842800, 0, 2167900,
  2582. 0x4cc },
  2583. /* 621 MCS-13 */ { HE40_LDPC_ONLY_MASKS,
  2584. DP_CMN_MOD_IEEE80211_T_HE_40,
  2585. 2408800, 2481800, 2275000, 2047500, 0, 2408800,
  2586. 0x4cd },
  2587. /* When number of spatial streams > 7
  2588. * use below rates
  2589. */
  2590. /* 622 MCS-00 */ { HE40_LDPC_ONLY_MASKS,
  2591. DP_CMN_MOD_IEEE80211_T_HE_40,
  2592. 137600, 141800, 130000, 117000, 68800, 137600,
  2593. 0x4e0 },
  2594. /* 623 MCS-01 */ { HE40_LDPC_ONLY_MASKS,
  2595. DP_CMN_MOD_IEEE80211_T_HE_40,
  2596. 275300, 283600, 260000, 234000, 137600, 275300,
  2597. 0x4e1 },
  2598. /* 624 MCS-02 */ { HE40_LDPC_ONLY_MASKS,
  2599. DP_CMN_MOD_IEEE80211_T_HE_40,
  2600. 412900, 425500, 390000, 351000, 206500, 412900,
  2601. 0x4e2 },
  2602. /* 625 MCS-03 */ { HE40_LDPC_ONLY_MASKS,
  2603. DP_CMN_MOD_IEEE80211_T_HE_40,
  2604. 550600, 567300, 520000, 468000, 0, 550600,
  2605. 0x4e3 },
  2606. /* 626 MCS-04 */ { HE40_LDPC_ONLY_MASKS,
  2607. DP_CMN_MOD_IEEE80211_T_HE_40,
  2608. 825900, 850900, 780000, 702000, 0, 825900,
  2609. 0x4e4 },
  2610. /* 627 MCS-05 */ { HE40_LDPC_ONLY_MASKS,
  2611. DP_CMN_MOD_IEEE80211_T_HE_40,
  2612. 1101200, 1134500, 1040000, 936000, 0, 1101200,
  2613. 0x4e5 },
  2614. /* 628 MCS-06 */ { HE40_LDPC_ONLY_MASKS,
  2615. DP_CMN_MOD_IEEE80211_T_HE_40,
  2616. 1238800, 1276400, 1170000, 1053000, 0, 1238800,
  2617. 0x4e6 },
  2618. /* 629 MCS-07 */ { HE40_LDPC_ONLY_MASKS,
  2619. DP_CMN_MOD_IEEE80211_T_HE_40,
  2620. 1376500, 1418200, 1300000, 1170000, 0, 1376500,
  2621. 0x4e7 },
  2622. /* 630 MCS-08 */ { HE40_LDPC_ONLY_MASKS,
  2623. DP_CMN_MOD_IEEE80211_T_HE_40,
  2624. 1651800, 1701800, 1560000, 1404000, 0, 1651800,
  2625. 0x4e8 },
  2626. /* 631 MCS-09 */ { HE40_LDPC_ONLY_MASKS,
  2627. DP_CMN_MOD_IEEE80211_T_HE_40,
  2628. 1835300, 1890900, 1733300, 1560000, 0, 1835300,
  2629. 0x4e9 },
  2630. /* 632 MCS-10 */ { HE40_LDPC_ONLY_MASKS,
  2631. DP_CMN_MOD_IEEE80211_T_HE_40,
  2632. 2064700, 2127300, 1950000, 1755000, 0, 2064700,
  2633. 0x4ea },
  2634. /* 633 MCS-11 */ { HE40_LDPC_ONLY_MASKS,
  2635. DP_CMN_MOD_IEEE80211_T_HE_40,
  2636. 2294100, 2363600, 2166700, 1950000, 0, 2294100,
  2637. 0x4eb },
  2638. /* 634 MCS-12 */ { HE40_LDPC_ONLY_MASKS,
  2639. DP_CMN_MOD_IEEE80211_T_HE_40,
  2640. 2477600, 2552700, 2340000, 2106000, 0, 2477600,
  2641. 0x4ec },
  2642. /* 635 MCS-13 */ { HE40_LDPC_ONLY_MASKS,
  2643. DP_CMN_MOD_IEEE80211_T_HE_40,
  2644. 2752900, 2836400, 2600000, 2340000, 0, 2752900,
  2645. 0x4ed },
  2646. /* 11ax RU996 rates
  2647. */
  2648. /* 636 MCS-00 */ { HE80_LDPC_ONLY_MASKS,
  2649. DP_CMN_MOD_IEEE80211_T_HE_80,
  2650. 36000, 37100, 34000, 30600, 18000, 36000, 0x400
  2651. },
  2652. /* 637 MCS-01 */ { HE80_LDPC_ONLY_MASKS,
  2653. DP_CMN_MOD_IEEE80211_T_HE_80,
  2654. 72100, 74200, 68100, 61300, 36000, 72100, 0x401
  2655. },
  2656. /* 638 MCS-02 */ { HE80_LDPC_ONLY_MASKS,
  2657. DP_CMN_MOD_IEEE80211_T_HE_80,
  2658. 108100, 111400, 102100, 91900, 0, 108100,
  2659. 0x402 },
  2660. /* 639 MCS-03 */ { HE80_LDPC_ONLY_MASKS,
  2661. DP_CMN_MOD_IEEE80211_T_HE_80,
  2662. 144100, 148500, 136100, 122500, 72100, 144100,
  2663. 0x403 },
  2664. /* 640 MCS-04 */ { HE80_LDPC_ONLY_MASKS,
  2665. DP_CMN_MOD_IEEE80211_T_HE_80,
  2666. 216200, 222700, 204200, 183800, 108100, 216200,
  2667. 0x404 },
  2668. /* 641 MCS-05 */ { HE80_LDPC_ONLY_MASKS,
  2669. DP_CMN_MOD_IEEE80211_T_HE_80,
  2670. 288200, 297000, 272200, 245000, 0, 288200,
  2671. 0x405 },
  2672. /* 642 MCS-06 */ { HE80_LDPC_ONLY_MASKS,
  2673. DP_CMN_MOD_IEEE80211_T_HE_80,
  2674. 324300, 334100, 306300, 275600, 0, 324300,
  2675. 0x406 },
  2676. /* 643 MCS-07 */ { HE80_LDPC_ONLY_MASKS,
  2677. DP_CMN_MOD_IEEE80211_T_HE_80,
  2678. 360300, 371200, 340300, 306300, 0, 360300,
  2679. 0x407 },
  2680. /* 644 MCS-08 */ { HE80_LDPC_ONLY_MASKS,
  2681. DP_CMN_MOD_IEEE80211_T_HE_80,
  2682. 432400, 445500, 408300, 367500, 0, 432400,
  2683. 0x408 },
  2684. /* 645 MCS-09 */ { HE80_LDPC_ONLY_MASKS,
  2685. DP_CMN_MOD_IEEE80211_T_HE_80,
  2686. 480400, 494900, 453700, 408300, 0, 480400,
  2687. 0x409 },
  2688. /* 646 MCS-10 */ { HE80_LDPC_ONLY_MASKS,
  2689. DP_CMN_MOD_IEEE80211_T_HE_80,
  2690. 540400, 556800, 510400, 459400, 0, 540400,
  2691. 0x40a },
  2692. /* 647 MCS-11 */ { HE80_LDPC_ONLY_MASKS,
  2693. DP_CMN_MOD_IEEE80211_T_HE_80,
  2694. 600500, 618700, 567100, 510400, 0, 600500,
  2695. 0x40b },
  2696. /* 648 MCS-12 */ { HE80_LDPC_ONLY_MASKS,
  2697. DP_CMN_MOD_IEEE80211_T_HE_80,
  2698. 648500, 668200, 612500, 551300, 0, 648500,
  2699. 0x40c },
  2700. /* 649 MCS-13 */ { HE80_LDPC_ONLY_MASKS,
  2701. DP_CMN_MOD_IEEE80211_T_HE_80,
  2702. 720600, 742400, 680600, 612500, 0, 720600,
  2703. 0x40d },
  2704. /* When number spatial streams > 1
  2705. * use below rates
  2706. */
  2707. /* 650 MCS-00 */ { HE80_LDPC_ONLY_MASKS,
  2708. DP_CMN_MOD_IEEE80211_T_HE_80,
  2709. 72100, 74200, 68100, 61300, 36000, 72100, 0x420
  2710. },
  2711. /* 651 MCS-01 */ { HE80_LDPC_ONLY_MASKS,
  2712. DP_CMN_MOD_IEEE80211_T_HE_80,
  2713. 144100, 148500, 136100, 122500, 72100, 144100,
  2714. 0x421 },
  2715. /* 652 MCS-02 */ { HE80_LDPC_ONLY_MASKS,
  2716. DP_CMN_MOD_IEEE80211_T_HE_80,
  2717. 216200, 222700, 204200, 183800, 0, 216200,
  2718. 0x422 },
  2719. /* 653 MCS-03 */ { HE80_LDPC_ONLY_MASKS,
  2720. DP_CMN_MOD_IEEE80211_T_HE_80,
  2721. 288200, 297000, 272200, 245000, 144100, 288200,
  2722. 0x423 },
  2723. /* 654 MCS-04 */ { HE80_LDPC_ONLY_MASKS,
  2724. DP_CMN_MOD_IEEE80211_T_HE_80,
  2725. 432400, 445500, 408300, 367500, 216200, 432400,
  2726. 0x424 },
  2727. /* 655 MCS-05 */ { HE80_LDPC_ONLY_MASKS,
  2728. DP_CMN_MOD_IEEE80211_T_HE_80,
  2729. 576500, 593900, 544400, 490000, 0, 576500,
  2730. 0x425 },
  2731. /* 656 MCS-06 */ { HE80_LDPC_ONLY_MASKS,
  2732. DP_CMN_MOD_IEEE80211_T_HE_80,
  2733. 648500, 668200, 612500, 551300, 0, 648500,
  2734. 0x426 },
  2735. /* 657 MCS-07 */ { HE80_LDPC_ONLY_MASKS,
  2736. DP_CMN_MOD_IEEE80211_T_HE_80,
  2737. 720600, 742400, 680600, 612500, 0, 720600,
  2738. 0x427 },
  2739. /* 658 MCS-08 */ { HE80_LDPC_ONLY_MASKS,
  2740. DP_CMN_MOD_IEEE80211_T_HE_80,
  2741. 864700, 890900, 816700, 735000, 0, 864700,
  2742. 0x428 },
  2743. /* 659 MCS-09 */ { HE80_LDPC_ONLY_MASKS,
  2744. DP_CMN_MOD_IEEE80211_T_HE_80,
  2745. 960800, 989900, 907400, 816700, 0, 960800,
  2746. 0x429 },
  2747. /* 660 MCS-10 */ { HE80_LDPC_ONLY_MASKS,
  2748. DP_CMN_MOD_IEEE80211_T_HE_80,
  2749. 1080900, 1113600, 1020800, 918800, 0, 1080900,
  2750. 0x42a },
  2751. /* 661 MCS-11 */ { HE80_LDPC_ONLY_MASKS,
  2752. DP_CMN_MOD_IEEE80211_T_HE_80,
  2753. 1201000, 1237400, 1134300, 1020800, 0, 1201000,
  2754. 0x42b },
  2755. /* 662 MCS-12 */ { HE80_LDPC_ONLY_MASKS,
  2756. DP_CMN_MOD_IEEE80211_T_HE_80,
  2757. 1297100, 1336400, 1225000, 1102500, 0, 1297100,
  2758. 0x42c },
  2759. /* 663 MCS-13 */ { HE80_LDPC_ONLY_MASKS,
  2760. DP_CMN_MOD_IEEE80211_T_HE_80,
  2761. 1441200, 1484800, 1361100, 1225000, 0, 1441200,
  2762. 0x42d },
  2763. /* When number of spatial streams > 2
  2764. * use below rates
  2765. */
  2766. /* 664 MCS-00 */ { HE80_LDPC_ONLY_MASKS,
  2767. DP_CMN_MOD_IEEE80211_T_HE_80,
  2768. 108100, 111400, 102100, 91900, 54000, 108100,
  2769. 0x440 },
  2770. /* 665 MCS-01 */ { HE80_LDPC_ONLY_MASKS,
  2771. DP_CMN_MOD_IEEE80211_T_HE_80,
  2772. 216200, 222700, 204200, 183800, 108100, 216200,
  2773. 0x441 },
  2774. /* 666 MCS-02 */ { HE80_LDPC_ONLY_MASKS,
  2775. DP_CMN_MOD_IEEE80211_T_HE_80,
  2776. 324300, 334100, 306300, 275600, 0, 324300,
  2777. 0x442 },
  2778. /* 667 MCS-03 */ { HE80_LDPC_ONLY_MASKS,
  2779. DP_CMN_MOD_IEEE80211_T_HE_80,
  2780. 432400, 445500, 408300, 367500, 0, 432400,
  2781. 0x443 },
  2782. /* 668 MCS-04 */ { HE80_LDPC_ONLY_MASKS,
  2783. DP_CMN_MOD_IEEE80211_T_HE_80,
  2784. 648500, 668200, 612500, 551300, 0, 648500,
  2785. 0x444 },
  2786. /* 669 MCS-05 */ { HE80_LDPC_ONLY_MASKS,
  2787. DP_CMN_MOD_IEEE80211_T_HE_80,
  2788. 864700, 890900, 816700, 735000, 0, 864700,
  2789. 0x445 },
  2790. /* 670 MCS-06 */ { HE80_LDPC_ONLY_MASKS,
  2791. DP_CMN_MOD_IEEE80211_T_HE_80,
  2792. 972800, 1002300, 918800, 826900, 0, 972800,
  2793. 0x446 },
  2794. /* 671 MCS-07 */ { HE80_LDPC_ONLY_MASKS,
  2795. DP_CMN_MOD_IEEE80211_T_HE_80,
  2796. 1080900, 1113600, 1020800, 918800, 0, 1080900,
  2797. 0x447 },
  2798. /* 672 MCS-08 */ { HE80_LDPC_ONLY_MASKS,
  2799. DP_CMN_MOD_IEEE80211_T_HE_80,
  2800. 1297100, 1336400, 1225000, 1102500, 0, 1297100,
  2801. 0x448 },
  2802. /* 673 MCS-09 */ { HE80_LDPC_ONLY_MASKS,
  2803. DP_CMN_MOD_IEEE80211_T_HE_80,
  2804. 1441200, 1484800, 1361100, 1225000, 0, 1441200,
  2805. 0x449 },
  2806. /* 674 MCS-10 */ { HE80_LDPC_ONLY_MASKS,
  2807. DP_CMN_MOD_IEEE80211_T_HE_80,
  2808. 1621300, 1670500, 1531300, 1378100, 0, 1621300,
  2809. 0x44a },
  2810. /* 675 MCS-11 */ { HE80_LDPC_ONLY_MASKS,
  2811. DP_CMN_MOD_IEEE80211_T_HE_80,
  2812. 1801500, 1856100, 1701400, 1531300, 0, 1801500,
  2813. 0x44b },
  2814. /* 676 MCS-12 */ { HE80_LDPC_ONLY_MASKS,
  2815. DP_CMN_MOD_IEEE80211_T_HE_80,
  2816. 1945600, 2004500, 1837500, 1653800, 0, 1945600,
  2817. 0x44c },
  2818. /* 677 MCS-13 */ { HE80_LDPC_ONLY_MASKS,
  2819. DP_CMN_MOD_IEEE80211_T_HE_80,
  2820. 2161800, 2227300, 2041700, 1837500, 0, 2161800,
  2821. 0x44d },
  2822. /* When number of spatial streams > 3
  2823. * use below rates
  2824. */
  2825. /* 678 MCS-00 */ { HE80_LDPC_ONLY_MASKS,
  2826. DP_CMN_MOD_IEEE80211_T_HE_80,
  2827. 144100, 148500, 136100, 122500, 72100, 144100,
  2828. 0x460 },
  2829. /* 679 MCS-01 */ { HE80_LDPC_ONLY_MASKS,
  2830. DP_CMN_MOD_IEEE80211_T_HE_80,
  2831. 288200, 297000, 272200, 245000, 144100, 288200,
  2832. 0x461 },
  2833. /* 680 MCS-02 */ { HE80_LDPC_ONLY_MASKS,
  2834. DP_CMN_MOD_IEEE80211_T_HE_80,
  2835. 432400, 445500, 408300, 367500, 0, 432400,
  2836. 0x462 },
  2837. /* 681 MCS-03 */ { HE80_LDPC_ONLY_MASKS,
  2838. DP_CMN_MOD_IEEE80211_T_HE_80,
  2839. 576500, 593900, 544400, 490000, 288200, 576500,
  2840. 0x463 },
  2841. /* 682 MCS-04 */ { HE80_LDPC_ONLY_MASKS,
  2842. DP_CMN_MOD_IEEE80211_T_HE_80,
  2843. 864700, 890900, 816700, 735000, 432400, 864700,
  2844. 0x464 },
  2845. /* 683 MCS-05 */ { HE80_LDPC_ONLY_MASKS,
  2846. DP_CMN_MOD_IEEE80211_T_HE_80,
  2847. 1152900, 1187900, 1088900, 980000, 0, 1152900,
  2848. 0x465 },
  2849. /* 684 MCS-06 */ { HE80_LDPC_ONLY_MASKS,
  2850. DP_CMN_MOD_IEEE80211_T_HE_80,
  2851. 1297100, 1336400, 1225000, 1102500, 0, 1297100,
  2852. 0x466 },
  2853. /* 685 MCS-07 */ { HE80_LDPC_ONLY_MASKS,
  2854. DP_CMN_MOD_IEEE80211_T_HE_80,
  2855. 1441200, 1484800, 1361100, 1225000, 0, 1441200,
  2856. 0x467 },
  2857. /* 686 MCS-08 */ { HE80_LDPC_ONLY_MASKS,
  2858. DP_CMN_MOD_IEEE80211_T_HE_80,
  2859. 1729400, 1781800, 1633300, 1470000, 0, 1729400,
  2860. 0x468 },
  2861. /* 687 MCS-09 */ { HE80_LDPC_ONLY_MASKS,
  2862. DP_CMN_MOD_IEEE80211_T_HE_80,
  2863. 1921600, 1979800, 1814800, 1633300, 0, 1921600,
  2864. 0x469 },
  2865. /* 688 MCS-10 */ { HE80_LDPC_ONLY_MASKS,
  2866. DP_CMN_MOD_IEEE80211_T_HE_80,
  2867. 2161800, 2227300, 2041700, 1837500, 0, 2161800,
  2868. 0x46a },
  2869. /* 689 MCS-11 */ { HE80_LDPC_ONLY_MASKS,
  2870. DP_CMN_MOD_IEEE80211_T_HE_80,
  2871. 2401900, 2474700, 2268500, 2041700, 0, 2401900,
  2872. 0x46b },
  2873. /* 690 MCS-12 */ { HE80_LDPC_ONLY_MASKS,
  2874. DP_CMN_MOD_IEEE80211_T_HE_80,
  2875. 2594100, 2672700, 2450000, 2205000, 0, 2594100,
  2876. 0x46c },
  2877. /* 691 MCS-13 */ { HE80_LDPC_ONLY_MASKS,
  2878. DP_CMN_MOD_IEEE80211_T_HE_80,
  2879. 2882400, 2969700, 2722200, 2450000, 0, 2882400,
  2880. 0x46d },
  2881. /* When number spatial streams > 4
  2882. * use below rates
  2883. */
  2884. /* 692 MCS-00 */ { HE80_LDPC_ONLY_MASKS,
  2885. DP_CMN_MOD_IEEE80211_T_HE_80,
  2886. 180100, 185600, 170100, 153100, 90100, 180100,
  2887. 0x480 },
  2888. /* 693 MCS-01 */ { HE80_LDPC_ONLY_MASKS,
  2889. DP_CMN_MOD_IEEE80211_T_HE_80,
  2890. 360300, 371200, 340300, 306300, 180100, 360300,
  2891. 0x481 },
  2892. /* 694 MCS-02 */ { HE80_LDPC_ONLY_MASKS,
  2893. DP_CMN_MOD_IEEE80211_T_HE_80,
  2894. 540400, 556800, 510400, 459400, 0, 540400,
  2895. 0x482 },
  2896. /* 695 MCS-03 */ { HE80_LDPC_ONLY_MASKS,
  2897. DP_CMN_MOD_IEEE80211_T_HE_80,
  2898. 720600, 742400, 680600, 612500, 0, 720600,
  2899. 0x483 },
  2900. /* 696 MCS-04 */ { HE80_LDPC_ONLY_MASKS,
  2901. DP_CMN_MOD_IEEE80211_T_HE_80,
  2902. 1080900, 1113600, 1020800, 918800, 0, 1080900,
  2903. 0x484 },
  2904. /* 697 MCS-05 */ { HE80_LDPC_ONLY_MASKS,
  2905. DP_CMN_MOD_IEEE80211_T_HE_80,
  2906. 1441200, 1484800, 1361100, 1225000, 0, 1441200,
  2907. 0x485 },
  2908. /* 698 MCS-06 */ { HE80_LDPC_ONLY_MASKS,
  2909. DP_CMN_MOD_IEEE80211_T_HE_80,
  2910. 1621300, 1670500, 1531300, 1378100, 0, 1621300,
  2911. 0x486 },
  2912. /* 699 MCS-07 */ { HE80_LDPC_ONLY_MASKS,
  2913. DP_CMN_MOD_IEEE80211_T_HE_80,
  2914. 1801500, 1856100, 1701400, 1531300, 0, 1801500,
  2915. 0x487 },
  2916. /* 700 MCS-08 */ { HE80_LDPC_ONLY_MASKS,
  2917. DP_CMN_MOD_IEEE80211_T_HE_80,
  2918. 2161800, 2227300, 2041700, 1837500, 0, 2161800,
  2919. 0x488 },
  2920. /* 701 MCS-09 */ { HE80_LDPC_ONLY_MASKS,
  2921. DP_CMN_MOD_IEEE80211_T_HE_80,
  2922. 2402000, 2474700, 2268500, 2041700, 0, 2402000,
  2923. 0x489 },
  2924. /* 702 MCS-10 */ { HE80_LDPC_ONLY_MASKS,
  2925. DP_CMN_MOD_IEEE80211_T_HE_80,
  2926. 2702200, 2784100, 2552100, 2296900, 0, 2702200,
  2927. 0x48a },
  2928. /* 703 MCS-11 */ { HE80_LDPC_ONLY_MASKS,
  2929. DP_CMN_MOD_IEEE80211_T_HE_80,
  2930. 3002500, 3093400, 2835600, 2552100, 0, 3002500,
  2931. 0x48b },
  2932. /* 704 MCS-12 */ { HE80_LDPC_ONLY_MASKS,
  2933. DP_CMN_MOD_IEEE80211_T_HE_80,
  2934. 3242600, 3340900, 3062500, 2756300, 0, 3242600,
  2935. 0x48c },
  2936. /* 705 MCS-13 */ { HE80_LDPC_ONLY_MASKS,
  2937. DP_CMN_MOD_IEEE80211_T_HE_80,
  2938. 3602900, 3712100, 3402800, 3062500, 0, 3602900,
  2939. 0x48d },
  2940. /* When number of spatial streams > 5
  2941. * use below rates
  2942. */
  2943. /* 706 MCS-00 */ { HE80_LDPC_ONLY_MASKS,
  2944. DP_CMN_MOD_IEEE80211_T_HE_80,
  2945. 216200, 222700, 204200, 183800, 108100, 216200,
  2946. 0x4a0 },
  2947. /* 707 MCS-01 */ { HE80_LDPC_ONLY_MASKS,
  2948. DP_CMN_MOD_IEEE80211_T_HE_80,
  2949. 432400, 445500, 408300, 367500, 216200, 432400,
  2950. 0x4a1 },
  2951. /* 708 MCS-02 */ { HE80_LDPC_ONLY_MASKS,
  2952. DP_CMN_MOD_IEEE80211_T_HE_80,
  2953. 648500, 668200, 612500, 551300, 0, 648500,
  2954. 0x4a2 },
  2955. /* 709 MCS-03 */ { HE80_LDPC_ONLY_MASKS,
  2956. DP_CMN_MOD_IEEE80211_T_HE_80,
  2957. 864700, 890900, 816700, 735000, 432400, 864700,
  2958. 0x4a3 },
  2959. /* 710 MCS-04 */ { HE80_LDPC_ONLY_MASKS,
  2960. DP_CMN_MOD_IEEE80211_T_HE_80,
  2961. 1297100, 1336400, 1225000, 1102500, 648500, 1297100,
  2962. 0x4a4 },
  2963. /* 711 MCS-05 */ { HE80_LDPC_ONLY_MASKS,
  2964. DP_CMN_MOD_IEEE80211_T_HE_80,
  2965. 1729400, 1781800, 1633300, 1470000, 0, 1729400,
  2966. 0x4a5 },
  2967. /* 712 MCS-06 */ { HE80_LDPC_ONLY_MASKS,
  2968. DP_CMN_MOD_IEEE80211_T_HE_80,
  2969. 1945600, 2004500, 1837500, 1653800, 0, 1945600,
  2970. 0x4a6 },
  2971. /* 713 MCS-07 */ { HE80_LDPC_ONLY_MASKS,
  2972. DP_CMN_MOD_IEEE80211_T_HE_80,
  2973. 2161800, 2227300, 2041700, 1837500, 0, 2161800,
  2974. 0x4a7 },
  2975. /* 714 MCS-08 */ { HE80_LDPC_ONLY_MASKS,
  2976. DP_CMN_MOD_IEEE80211_T_HE_80,
  2977. 2594100, 2672700, 2450000, 2205000, 0, 2594100,
  2978. 0x4a8 },
  2979. /* 715 MCS-09 */ { HE80_LDPC_ONLY_MASKS,
  2980. DP_CMN_MOD_IEEE80211_T_HE_80,
  2981. 2882400, 2969700, 2722200, 2450000, 0, 2882400,
  2982. 0x4a9 },
  2983. /* 716 MCS-10 */ { HE80_LDPC_ONLY_MASKS,
  2984. DP_CMN_MOD_IEEE80211_T_HE_80,
  2985. 3242600, 3340900, 3062500, 2756300, 0, 3242600,
  2986. 0x4aa },
  2987. /* 717 MCS-11 */ { HE80_LDPC_ONLY_MASKS,
  2988. DP_CMN_MOD_IEEE80211_T_HE_80,
  2989. 3602900, 3712100, 3402800, 3062500, 0, 3602900,
  2990. 0x4ab },
  2991. /* 718 MCS-12 */ { HE80_LDPC_ONLY_MASKS,
  2992. DP_CMN_MOD_IEEE80211_T_HE_80,
  2993. 3891200, 4009100, 3675000, 3307500, 0, 3891200,
  2994. 0x4ac },
  2995. /* 719 MCS-13 */ { HE80_LDPC_ONLY_MASKS,
  2996. DP_CMN_MOD_IEEE80211_T_HE_80,
  2997. 4323500, 4454500, 4083300, 3675000, 0, 4323500,
  2998. 0x4ad },
  2999. /* When number of spatial streams > 6
  3000. * use below rates
  3001. */
  3002. /* 720 MCS-00 */ { HE80_LDPC_ONLY_MASKS,
  3003. DP_CMN_MOD_IEEE80211_T_HE_80,
  3004. 252200, 259800, 238200, 214400, 129900, 252200,
  3005. 0x4c0 },
  3006. /* 721 MCS-01 */ { HE80_LDPC_ONLY_MASKS,
  3007. DP_CMN_MOD_IEEE80211_T_HE_80,
  3008. 504400, 519700, 476400, 428800, 252200, 504400,
  3009. 0x4c1 },
  3010. /* 722 MCS-02 */ { HE80_LDPC_ONLY_MASKS,
  3011. DP_CMN_MOD_IEEE80211_T_HE_80,
  3012. 756600, 779500, 714600, 643100, 0, 756600,
  3013. 0x4c2 },
  3014. /* 723 MCS-03 */ { HE80_LDPC_ONLY_MASKS,
  3015. DP_CMN_MOD_IEEE80211_T_HE_80,
  3016. 1008800, 1039400, 952800, 857500, 504400, 1008800,
  3017. 0x4c3 },
  3018. /* 724 MCS-04 */ { HE80_LDPC_ONLY_MASKS,
  3019. DP_CMN_MOD_IEEE80211_T_HE_80,
  3020. 1513200, 1559100, 1429200, 1286300, 756600, 1513200,
  3021. 0x4c4 },
  3022. /* 725 MCS-05 */ { HE80_LDPC_ONLY_MASKS,
  3023. DP_CMN_MOD_IEEE80211_T_HE_80,
  3024. 2017600, 2078800, 1905600, 1715000, 0, 2017600,
  3025. 0x4c5 },
  3026. /* 726 MCS-06 */ { HE80_LDPC_ONLY_MASKS,
  3027. DP_CMN_MOD_IEEE80211_T_HE_80,
  3028. 2269900, 2338600, 2143800, 1929400, 0, 2269900,
  3029. 0x4c6 },
  3030. /* 727 MCS-07 */ { HE80_LDPC_ONLY_MASKS,
  3031. DP_CMN_MOD_IEEE80211_T_HE_80,
  3032. 2522100, 2598500, 2381900, 2143800, 0, 2522100,
  3033. 0x4c7 },
  3034. /* 728 MCS-08 */ { HE80_LDPC_ONLY_MASKS,
  3035. DP_CMN_MOD_IEEE80211_T_HE_80,
  3036. 3026500, 3118200, 2858300, 2572500, 0, 3026500,
  3037. 0x4c8 },
  3038. /* 729 MCS-09 */ { HE80_LDPC_ONLY_MASKS,
  3039. DP_CMN_MOD_IEEE80211_T_HE_80,
  3040. 3362700, 3464600, 3175900, 2858300, 0, 3362700,
  3041. 0x4c9 },
  3042. /* 730 MCS-10 */ { HE80_LDPC_ONLY_MASKS,
  3043. DP_CMN_MOD_IEEE80211_T_HE_80,
  3044. 3783100, 3897700, 3572900, 3215600, 0, 3783100,
  3045. 0x4ca },
  3046. /* 731 MCS-11 */ { HE80_LDPC_ONLY_MASKS,
  3047. DP_CMN_MOD_IEEE80211_T_HE_80,
  3048. 4203400, 4330800, 3969900, 3572900, 0, 4203400,
  3049. 0x4cb },
  3050. /* 732 MCS-12 */ { HE80_LDPC_ONLY_MASKS,
  3051. DP_CMN_MOD_IEEE80211_T_HE_80,
  3052. 4539700, 4677300, 4287500, 3858800, 0, 4539700,
  3053. 0x4cc },
  3054. /* 733 MCS-13 */ { HE80_LDPC_ONLY_MASKS,
  3055. DP_CMN_MOD_IEEE80211_T_HE_80,
  3056. 5044100, 5197000, 4763900, 4287500, 0, 5044100,
  3057. 0x4cd },
  3058. /* When number of spatial streams > 7
  3059. * use below rates
  3060. */
  3061. /* 734 MCS-00 */ { HE80_LDPC_ONLY_MASKS,
  3062. DP_CMN_MOD_IEEE80211_T_HE_80,
  3063. 288200, 297000, 272200, 245000, 144100, 288200,
  3064. 0x4e0 },
  3065. /* 735 MCS-01 */ { HE80_LDPC_ONLY_MASKS,
  3066. DP_CMN_MOD_IEEE80211_T_HE_80,
  3067. 576500, 593900, 544400, 490000, 288200, 576500,
  3068. 0x4e1 },
  3069. /* 736 MCS-02 */ { HE80_LDPC_ONLY_MASKS,
  3070. DP_CMN_MOD_IEEE80211_T_HE_80,
  3071. 864700, 890900, 816700, 735000, 0, 864700,
  3072. 0x4e2 },
  3073. /* 737 MCS-03 */ { HE80_LDPC_ONLY_MASKS,
  3074. DP_CMN_MOD_IEEE80211_T_HE_80,
  3075. 1152900, 1187900, 1088900, 980000, 576500, 1152900,
  3076. 0x4e3 },
  3077. /* 738 MCS-04 */ { HE80_LDPC_ONLY_MASKS,
  3078. DP_CMN_MOD_IEEE80211_T_HE_80,
  3079. 1729400, 1781800, 1633300, 1470000, 864700, 1729400,
  3080. 0x4e4 },
  3081. /* 739 MCS-05 */ { HE80_LDPC_ONLY_MASKS,
  3082. DP_CMN_MOD_IEEE80211_T_HE_80,
  3083. 2305900, 2375800, 2177800, 1960000, 0, 2305900,
  3084. 0x4e5 },
  3085. /* 740 MCS-06 */ { HE80_LDPC_ONLY_MASKS,
  3086. DP_CMN_MOD_IEEE80211_T_HE_80,
  3087. 2594100, 2672700, 2450000, 2205000, 0, 2594100,
  3088. 0x4e6 },
  3089. /* 741 MCS-07 */ { HE80_LDPC_ONLY_MASKS,
  3090. DP_CMN_MOD_IEEE80211_T_HE_80,
  3091. 2882400, 2969700, 2722200, 2450000, 0, 2882400,
  3092. 0x4e7 },
  3093. /* 742 MCS-08 */ { HE80_LDPC_ONLY_MASKS,
  3094. DP_CMN_MOD_IEEE80211_T_HE_80,
  3095. 3458800, 3563600, 3266700, 2940000, 0, 3458800,
  3096. 0x4e8 },
  3097. /* 743 MCS-09 */ { HE80_LDPC_ONLY_MASKS,
  3098. DP_CMN_MOD_IEEE80211_T_HE_80,
  3099. 3843100, 3959600, 3629600, 3266700, 0, 3843100,
  3100. 0x4e9 },
  3101. /* 744 MCS-10 */ { HE80_LDPC_ONLY_MASKS,
  3102. DP_CMN_MOD_IEEE80211_T_HE_80,
  3103. 4323500, 4454500, 4083300, 3675000, 0, 4323500,
  3104. 0x4ea },
  3105. /* 745 MCS-11 */ { HE80_LDPC_ONLY_MASKS,
  3106. DP_CMN_MOD_IEEE80211_T_HE_80,
  3107. 4803900, 4949500, 4537000, 4083300, 0, 4803900,
  3108. 0x4eb },
  3109. /* 746 MCS-12 */ { HE80_LDPC_ONLY_MASKS,
  3110. DP_CMN_MOD_IEEE80211_T_HE_80,
  3111. 5188200, 5345500, 4900000, 4410000, 0, 5188200,
  3112. 0x4ec },
  3113. /* 747 MCS-13 */ { HE80_LDPC_ONLY_MASKS,
  3114. DP_CMN_MOD_IEEE80211_T_HE_80,
  3115. 5764700, 5939400, 5444400, 4900000, 0, 5764700,
  3116. 0x4ed },
  3117. /* 11ax RU996x2 rates
  3118. */
  3119. /* 748 MCS-00 */ { HE160_LDPC_ONLY_MASKS,
  3120. DP_CMN_MOD_IEEE80211_T_HE_160,
  3121. 72100, 74200, 68100, 61300, 36000, 72100,
  3122. 0x400},
  3123. /* 749 MCS-01 */ { HE160_LDPC_ONLY_MASKS,
  3124. DP_CMN_MOD_IEEE80211_T_HE_160,
  3125. 144100, 148500, 136100, 122500, 72100, 144100,
  3126. 0x401},
  3127. /* 750 MCS-02 */ { HE160_LDPC_ONLY_MASKS,
  3128. DP_CMN_MOD_IEEE80211_T_HE_160,
  3129. 216200, 222700, 204200, 183800, 0, 216200,
  3130. 0x402},
  3131. /* 751 MCS-03 */ { HE160_LDPC_ONLY_MASKS,
  3132. DP_CMN_MOD_IEEE80211_T_HE_160,
  3133. 288200, 297000, 272200, 245000, 144100, 288200,
  3134. 0x403},
  3135. /* 752 MCS-04 */ { HE160_LDPC_ONLY_MASKS,
  3136. DP_CMN_MOD_IEEE80211_T_HE_160,
  3137. 432400, 445500, 408300, 367500, 216200, 432400,
  3138. 0x404},
  3139. /* 753 MCS-05 */ { HE160_LDPC_ONLY_MASKS,
  3140. DP_CMN_MOD_IEEE80211_T_HE_160,
  3141. 576500, 593900, 544400, 490000, 0, 576500,
  3142. 0x405},
  3143. /* 754 MCS-06 */ { HE160_LDPC_ONLY_MASKS,
  3144. DP_CMN_MOD_IEEE80211_T_HE_160,
  3145. 648500, 668200, 612500, 551300, 0, 648500,
  3146. 0x406},
  3147. /* 755 MCS-07 */ { HE160_LDPC_ONLY_MASKS,
  3148. DP_CMN_MOD_IEEE80211_T_HE_160,
  3149. 720600, 742400, 680600, 612500, 0, 720600,
  3150. 0x407},
  3151. /* 756 MCS-08 */ { HE160_LDPC_ONLY_MASKS,
  3152. DP_CMN_MOD_IEEE80211_T_HE_160,
  3153. 864700, 890900, 816700, 735000, 0, 864700,
  3154. 0x408},
  3155. /* 757 MCS-09 */ { HE160_LDPC_ONLY_MASKS,
  3156. DP_CMN_MOD_IEEE80211_T_HE_160,
  3157. 960800, 989900, 907400, 816700, 0, 960800,
  3158. 0x409},
  3159. /* 758 MCS-10 */ { HE160_LDPC_ONLY_MASKS,
  3160. DP_CMN_MOD_IEEE80211_T_HE_160,
  3161. 1080900, 1113600, 1020800, 918800, 0, 1080900,
  3162. 0x40a},
  3163. /* 759 MCS-11 */ { HE160_LDPC_ONLY_MASKS,
  3164. DP_CMN_MOD_IEEE80211_T_HE_160,
  3165. 1201000, 1237400, 1134300, 1020800, 0, 1201000,
  3166. 0x40b},
  3167. /* 760 MCS-12 */ { HE160_LDPC_ONLY_MASKS,
  3168. DP_CMN_MOD_IEEE80211_T_HE_160,
  3169. 1297100, 1336400, 1225000, 1102500, 0, 1297100,
  3170. 0x40c},
  3171. /* 761 MCS-13 */ { HE160_LDPC_ONLY_MASKS,
  3172. DP_CMN_MOD_IEEE80211_T_HE_160,
  3173. 1441200, 1484800, 1361100, 1225000, 0, 1441200,
  3174. 0x40d},
  3175. /* When maximum spatial streams supported at 160MHZ > 1
  3176. * use below rates
  3177. */
  3178. /* 762 MCS-00 */ { HE160_LDPC_ONLY_MASKS,
  3179. DP_CMN_MOD_IEEE80211_T_HE_160,
  3180. 144100, 148500, 136100, 122500, 72100, 144100,
  3181. 0x420},
  3182. /* 763 MCS-01 */ { HE160_LDPC_ONLY_MASKS,
  3183. DP_CMN_MOD_IEEE80211_T_HE_160,
  3184. 288200, 297000, 272200, 245000, 144100, 288200,
  3185. 0x421},
  3186. /* 764 MCS-02 */ { HE160_LDPC_ONLY_MASKS,
  3187. DP_CMN_MOD_IEEE80211_T_HE_160,
  3188. 432400, 445500, 408300, 367500, 0, 432400,
  3189. 0x422},
  3190. /* 765 MCS-03 */ { HE160_LDPC_ONLY_MASKS,
  3191. DP_CMN_MOD_IEEE80211_T_HE_160,
  3192. 576500, 593900, 544400, 490000, 288200, 576500,
  3193. 0x423},
  3194. /* 766 MCS-04 */ { HE160_LDPC_ONLY_MASKS,
  3195. DP_CMN_MOD_IEEE80211_T_HE_160,
  3196. 864700, 890900, 816700, 735000, 432400, 864700,
  3197. 0x424},
  3198. /* 767 MCS-05 */ { HE160_LDPC_ONLY_MASKS,
  3199. DP_CMN_MOD_IEEE80211_T_HE_160,
  3200. 1152900, 1187900, 1088900, 980000, 0, 1152900,
  3201. 0x425},
  3202. /* 768 MCS-06 */ { HE160_LDPC_ONLY_MASKS,
  3203. DP_CMN_MOD_IEEE80211_T_HE_160,
  3204. 1297100, 1336400, 1225000, 1102500, 0, 1297100,
  3205. 0x426},
  3206. /* 779 MCS-07 */ { HE160_LDPC_ONLY_MASKS,
  3207. DP_CMN_MOD_IEEE80211_T_HE_160,
  3208. 1441200, 1484800, 1361100, 1225000, 0, 1441200,
  3209. 0x427},
  3210. /* 780 MCS-08 */ { HE160_LDPC_ONLY_MASKS,
  3211. DP_CMN_MOD_IEEE80211_T_HE_160,
  3212. 1729400, 1781800, 1633300, 1470000, 0, 1729400,
  3213. 0x428},
  3214. /* 781 MCS-09 */ { HE160_LDPC_ONLY_MASKS,
  3215. DP_CMN_MOD_IEEE80211_T_HE_160,
  3216. 1921600, 1979800, 1814800, 1633300, 0, 1921600,
  3217. 0x429},
  3218. /* 782 MCS-10 */ { HE160_LDPC_ONLY_MASKS,
  3219. DP_CMN_MOD_IEEE80211_T_HE_160,
  3220. 2161800, 2227300, 2041700, 1837500, 0, 2161800,
  3221. 0x42a},
  3222. /* 783 MCS-11 */ { HE160_LDPC_ONLY_MASKS,
  3223. DP_CMN_MOD_IEEE80211_T_HE_160,
  3224. 2401900, 2474700, 2268500, 2041700, 0, 2401900,
  3225. 0x42b},
  3226. /* 784 MCS-12 */ { HE160_LDPC_ONLY_MASKS,
  3227. DP_CMN_MOD_IEEE80211_T_HE_160,
  3228. 2594100, 2672700, 2450000, 2205000, 0, 2594100,
  3229. 0x42c},
  3230. /* 785 MCS-13 */ { HE160_LDPC_ONLY_MASKS,
  3231. DP_CMN_MOD_IEEE80211_T_HE_160,
  3232. 2882400, 2969700, 2722200, 2450000, 0, 2882400,
  3233. 0x42d},
  3234. /* When maximum spatial streams supported at 160MHZ > 2
  3235. * use below rates
  3236. */
  3237. /* 786 MCS-00 */ { HE160_LDPC_ONLY_MASKS,
  3238. DP_CMN_MOD_IEEE80211_T_HE_160,
  3239. 216200, 222700, 204200, 183800, 108100, 216200,
  3240. 0x440},
  3241. /* 787 MCS-01 */ { HE160_LDPC_ONLY_MASKS,
  3242. DP_CMN_MOD_IEEE80211_T_HE_160,
  3243. 432400, 445500, 408300, 367500, 216200, 432400,
  3244. 0x441},
  3245. /* 788 MCS-02 */ { HE160_LDPC_ONLY_MASKS,
  3246. DP_CMN_MOD_IEEE80211_T_HE_160,
  3247. 648500, 668200, 612500, 551300, 0, 648500,
  3248. 0x442},
  3249. /* 789 MCS-03 */ { HE160_LDPC_ONLY_MASKS,
  3250. DP_CMN_MOD_IEEE80211_T_HE_160,
  3251. 864700, 890900, 816700, 735000, 432400, 864700,
  3252. 0x443},
  3253. /* 790 MCS-04 */ { HE160_LDPC_ONLY_MASKS,
  3254. DP_CMN_MOD_IEEE80211_T_HE_160,
  3255. 1297100, 1336400, 1225000, 1102500, 648500, 1297100,
  3256. 0x444},
  3257. /* 791 MCS-05 */ { HE160_LDPC_ONLY_MASKS,
  3258. DP_CMN_MOD_IEEE80211_T_HE_160,
  3259. 1729400, 1781800, 1633300, 1470000, 0, 1729400,
  3260. 0x445},
  3261. /* 792 MCS-06 */ { HE160_LDPC_ONLY_MASKS,
  3262. DP_CMN_MOD_IEEE80211_T_HE_160,
  3263. 1945600, 2004500, 1837500, 1653800, 0, 1945600,
  3264. 0x446},
  3265. /* 793 MCS-07 */ { HE160_LDPC_ONLY_MASKS,
  3266. DP_CMN_MOD_IEEE80211_T_HE_160,
  3267. 2161800, 2227300, 2041700, 1837500, 0, 2161800,
  3268. 0x447},
  3269. /* 794 MCS-08 */ { HE160_LDPC_ONLY_MASKS,
  3270. DP_CMN_MOD_IEEE80211_T_HE_160,
  3271. 2594100, 2672700, 2450000, 2205000, 0, 2594100,
  3272. 0x448},
  3273. /* 795 MCS-09 */ { HE160_LDPC_ONLY_MASKS,
  3274. DP_CMN_MOD_IEEE80211_T_HE_160,
  3275. 2882400, 2969700, 2722200, 2450000, 0, 2882400,
  3276. 0x449},
  3277. /* 796 MCS-10 */ { HE160_LDPC_ONLY_MASKS,
  3278. DP_CMN_MOD_IEEE80211_T_HE_160,
  3279. 3242600, 3340900, 3062500, 2756300, 0, 3242600,
  3280. 0x44a},
  3281. /* 797 MCS-11 */ { HE160_LDPC_ONLY_MASKS,
  3282. DP_CMN_MOD_IEEE80211_T_HE_160,
  3283. 3602900, 3712100, 3402800, 3062500, 0, 3602900,
  3284. 0x44b},
  3285. /* 798 MCS-12 */ { HE160_LDPC_ONLY_MASKS,
  3286. DP_CMN_MOD_IEEE80211_T_HE_160,
  3287. 3891200, 4009100, 3675000, 3307500, 0, 3891200,
  3288. 0x44c},
  3289. /* 799 MCS-13 */ { HE160_LDPC_ONLY_MASKS,
  3290. DP_CMN_MOD_IEEE80211_T_HE_160,
  3291. 4323500, 4454500, 4083300, 3675000, 0, 4323500,
  3292. 0x44d},
  3293. /* When maximum spatial streams supported at 160MHZ > 3
  3294. * use below rates
  3295. */
  3296. /* 800 MCS-00 */ { HE160_LDPC_ONLY_MASKS,
  3297. DP_CMN_MOD_IEEE80211_T_HE_160,
  3298. 288200, 297000, 272200, 245000, 144100, 288200,
  3299. 0x460},
  3300. /* 801 MCS-01 */ { HE160_LDPC_ONLY_MASKS,
  3301. DP_CMN_MOD_IEEE80211_T_HE_160,
  3302. 576500, 593900, 544400, 490000, 288200, 576500,
  3303. 0x461},
  3304. /* 802 MCS-02 */ { HE160_LDPC_ONLY_MASKS,
  3305. DP_CMN_MOD_IEEE80211_T_HE_160,
  3306. 864700, 890900, 816700, 735000, 0, 864700,
  3307. 0x462},
  3308. /* 803 MCS-03 */ { HE160_LDPC_ONLY_MASKS,
  3309. DP_CMN_MOD_IEEE80211_T_HE_160,
  3310. 1152900, 1187900, 1088900, 980000, 576500, 1152900,
  3311. 0x463},
  3312. /* 804 MCS-04 */ { HE160_LDPC_ONLY_MASKS,
  3313. DP_CMN_MOD_IEEE80211_T_HE_160,
  3314. 1729400, 1781800, 1633300, 1470000, 864700, 1729400,
  3315. 0x464},
  3316. /* 805 MCS-05 */ { HE160_LDPC_ONLY_MASKS,
  3317. DP_CMN_MOD_IEEE80211_T_HE_160,
  3318. 2305900, 2375800, 2177800, 1960000, 0, 2305900,
  3319. 0x465},
  3320. /* 806 MCS-06 */ { HE160_LDPC_ONLY_MASKS,
  3321. DP_CMN_MOD_IEEE80211_T_HE_160,
  3322. 2594100, 2672700, 2450000, 2205000, 0, 2594100,
  3323. 0x466},
  3324. /* 807 MCS-07 */ { HE160_LDPC_ONLY_MASKS,
  3325. DP_CMN_MOD_IEEE80211_T_HE_160,
  3326. 2882400, 2969700, 2722200, 2450000, 0, 2882400,
  3327. 0x467},
  3328. /* 808 MCS-08 */ { HE160_LDPC_ONLY_MASKS,
  3329. DP_CMN_MOD_IEEE80211_T_HE_160,
  3330. 3458800, 3563600, 3266700, 2940000, 0, 3458800,
  3331. 0x468},
  3332. /* 809 MCS-09 */ { HE160_LDPC_ONLY_MASKS,
  3333. DP_CMN_MOD_IEEE80211_T_HE_160,
  3334. 3843100, 3959600, 3629600, 3266700, 0, 3843100,
  3335. 0x469},
  3336. /* 810 MCS-10 */ { HE160_LDPC_ONLY_MASKS,
  3337. DP_CMN_MOD_IEEE80211_T_HE_160,
  3338. 4323500, 4454500, 4083300, 3675000, 0, 4323500,
  3339. 0x46a},
  3340. /* 811 MCS-11 */ { HE160_LDPC_ONLY_MASKS,
  3341. DP_CMN_MOD_IEEE80211_T_HE_160,
  3342. 4803900, 4949500, 4537000, 4083300, 0, 4803900,
  3343. 0x46b},
  3344. /* 812 MCS-12 */ { HE160_LDPC_ONLY_MASKS,
  3345. DP_CMN_MOD_IEEE80211_T_HE_160,
  3346. 5188200, 5345500, 4900000, 4410000, 0, 5188200,
  3347. 0x46c},
  3348. /* 813 MCS-13 */ { HE160_LDPC_ONLY_MASKS,
  3349. DP_CMN_MOD_IEEE80211_T_HE_160,
  3350. 5764700, 5939400, 5444400, 4900000, 0, 5764700,
  3351. 0x46d},
  3352. #ifdef WLAN_FEATURE_11BE
  3353. /* 814 MCS-14 */ { EHT20_LDPC_ONLY_MASKS,
  3354. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3355. 2100, 0, 2000, 1800, 0, 2100,
  3356. 0x50e},
  3357. /* 815 MCS-15 */ { EHT20_LDPC_ONLY_MASKS,
  3358. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3359. 4300, 0, 4100, 3700, 4300, 4300,
  3360. 0x50f},
  3361. /* 816 MCS-00 */ { EHT20_LDPC_ONLY_MASKS,
  3362. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3363. 8600, 0, 8100, 7300, 0, 8600,
  3364. 0x500},
  3365. /* 817 MCS-01 */ { EHT20_LDPC_ONLY_MASKS,
  3366. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3367. 17200, 0, 16300, 14600, 0, 17200,
  3368. 0x501},
  3369. /* 818 MCS-02 */ { EHT20_LDPC_ONLY_MASKS,
  3370. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3371. 25800, 0, 24400, 21900, 0, 25800,
  3372. 0x502},
  3373. /* 819 MCS-03 */ { EHT20_LDPC_ONLY_MASKS,
  3374. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3375. 34400, 0, 32500, 29300, 0, 34400,
  3376. 0x503},
  3377. /* 820 MCS-04 */ { EHT20_LDPC_ONLY_MASKS,
  3378. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3379. 51600, 0, 48800, 43900, 0, 51600,
  3380. 0x504},
  3381. /* 821 MCS-05 */ { EHT20_LDPC_ONLY_MASKS,
  3382. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3383. 68800, 0, 65000, 58500, 0, 68800,
  3384. 0x505},
  3385. /* 822 MCS-06 */ { EHT20_LDPC_ONLY_MASKS,
  3386. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3387. 77400, 0, 73100, 65800, 0, 77400,
  3388. 0x506},
  3389. /* 823 MCS-07 */ { EHT20_LDPC_ONLY_MASKS,
  3390. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3391. 86000, 0, 81300, 73100, 0, 86000,
  3392. 0x507},
  3393. /* 824 MCS-08 */ { EHT20_LDPC_ONLY_MASKS,
  3394. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3395. 103200, 0, 97500, 87800, 0, 103200,
  3396. 0x508},
  3397. /* 825 MCS-09 */ { EHT20_LDPC_ONLY_MASKS,
  3398. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3399. 114700, 0, 108300, 97500, 0, 114700,
  3400. 0x509},
  3401. /* 826 MCS-10 */ { EHT20_LDPC_ONLY_MASKS,
  3402. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3403. 129000, 0, 121900, 109700, 0, 129000,
  3404. 0x50a},
  3405. /* 827 MCS-11 */ { EHT20_LDPC_ONLY_MASKS,
  3406. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3407. 143400, 0, 135400, 121900, 0, 143400,
  3408. 0x50b},
  3409. /* 828 MCS-12 */ { EHT20_LDPC_ONLY_MASKS,
  3410. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3411. 154900, 0, 146300, 131600, 0, 154900,
  3412. 0x50c},
  3413. /* 829 MCS-13 */ { EHT20_LDPC_ONLY_MASKS,
  3414. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3415. 172100, 0, 162500, 146300, 0, 172100,
  3416. 0x50d},
  3417. /* when number of spatial streams > 1 */
  3418. /* 830 MCS-14 */ { EHT20_LDPC_ONLY_MASKS,
  3419. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3420. 4200, 0, 4000, 3600, 0, 4200,
  3421. 0x52e},
  3422. /* 831 MCS-15 */ { EHT20_LDPC_ONLY_MASKS,
  3423. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3424. 8600, 0, 8200, 7400, 8600, 8600,
  3425. 0x52f},
  3426. /* 832 MCS-00 */ { EHT20_LDPC_ONLY_MASKS,
  3427. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3428. 17200, 0, 16200, 14600, 0, 17200,
  3429. 0x520},
  3430. /* 833 MCS-01 */ { EHT20_LDPC_ONLY_MASKS,
  3431. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3432. 34400, 0, 32600, 29200, 0, 34400,
  3433. 0x521},
  3434. /* 834 MCS-02 */ { EHT20_LDPC_ONLY_MASKS,
  3435. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3436. 51600, 0, 48800, 43800, 0, 51600,
  3437. 0x522},
  3438. /* 835 MCS-03 */ { EHT20_LDPC_ONLY_MASKS,
  3439. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3440. 68800, 0, 65000, 58600, 0, 68800,
  3441. 0x523},
  3442. /* 836 MCS-04 */ { EHT20_LDPC_ONLY_MASKS,
  3443. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3444. 103200, 0, 97600, 87800, 0, 103200,
  3445. 0x524},
  3446. /* 837 MCS-05 */ { EHT20_LDPC_ONLY_MASKS,
  3447. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3448. 137600, 0, 130000, 117000, 0, 137600,
  3449. 0x525},
  3450. /* 838 MCS-06 */ { EHT20_LDPC_ONLY_MASKS,
  3451. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3452. 154800, 0, 146200, 131600, 0, 154800,
  3453. 0x526},
  3454. /* 839 MCS-07 */ { EHT20_LDPC_ONLY_MASKS,
  3455. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3456. 172000, 0, 162600, 146200, 0, 172000,
  3457. 0x527},
  3458. /* 840 MCS-08 */ { EHT20_LDPC_ONLY_MASKS,
  3459. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3460. 206400, 0, 195000, 175600, 0, 206400,
  3461. 0x528},
  3462. /* 841 MCS-09 */ { EHT20_LDPC_ONLY_MASKS,
  3463. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3464. 229400, 0, 216600, 195000, 0, 229400,
  3465. 0x529},
  3466. /* 842 MCS-10 */ { EHT20_LDPC_ONLY_MASKS,
  3467. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3468. 258000, 0, 243800, 219400, 0, 258000,
  3469. 0x52a},
  3470. /* 843 MCS-11 */ { EHT20_LDPC_ONLY_MASKS,
  3471. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3472. 286800, 0, 270800, 243800, 0, 286800,
  3473. 0x52b},
  3474. /* 844 MCS-12 */ { EHT20_LDPC_ONLY_MASKS,
  3475. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3476. 309800, 0, 292600, 263200, 0, 309800,
  3477. 0x52c},
  3478. /* 845 MCS-13 */ { EHT20_LDPC_ONLY_MASKS,
  3479. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3480. 344200, 0, 325000, 292600, 0, 344200,
  3481. 0x52d},
  3482. /* when number of spatial streams > 2 */
  3483. /* 846 MCS-14 */ { EHT20_LDPC_ONLY_MASKS,
  3484. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3485. 6300, 0, 6000, 5400, 0, 6300,
  3486. 0x54e},
  3487. /* 847 MCS-15 */ { EHT20_LDPC_ONLY_MASKS,
  3488. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3489. 12900, 0, 12299, 11100, 12900, 12900,
  3490. 0x54f},
  3491. /* 848 MCS-00 */ { EHT20_LDPC_ONLY_MASKS,
  3492. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3493. 25800, 0, 24300, 21900, 0, 25800,
  3494. 0x540},
  3495. /* 849 MCS-01 */ { EHT20_LDPC_ONLY_MASKS,
  3496. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3497. 51600, 0, 48900, 43800, 0, 51600,
  3498. 0x541},
  3499. /* 850 MCS-02 */ { EHT20_LDPC_ONLY_MASKS,
  3500. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3501. 77400, 0, 73200, 65700, 0, 77400,
  3502. 0x542},
  3503. /* 851 MCS-03 */ { EHT20_LDPC_ONLY_MASKS,
  3504. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3505. 103200, 0, 97500, 87900, 0, 103200,
  3506. 0x543},
  3507. /* 852 MCS-04 */ { EHT20_LDPC_ONLY_MASKS,
  3508. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3509. 154800, 0, 146400, 131700, 0, 154800,
  3510. 0x544},
  3511. /* 853 MCS-05 */ { EHT20_LDPC_ONLY_MASKS,
  3512. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3513. 206400, 0, 195000, 175500, 0, 206400,
  3514. 0x545},
  3515. /* 854 MCS-06 */ { EHT20_LDPC_ONLY_MASKS,
  3516. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3517. 232200, 0, 219299, 197400, 0, 232200,
  3518. 0x546},
  3519. /* 855 MCS-07 */ { EHT20_LDPC_ONLY_MASKS,
  3520. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3521. 258000, 0, 243900, 219299, 0, 258000,
  3522. 0x547},
  3523. /* 856 MCS-08 */ { EHT20_LDPC_ONLY_MASKS,
  3524. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3525. 309600, 0, 292500, 263400, 0, 309600,
  3526. 0x548},
  3527. /* 857 MCS-09 */ { EHT20_LDPC_ONLY_MASKS,
  3528. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3529. 344100, 0, 324900, 292500, 0, 344100,
  3530. 0x549},
  3531. /* 858 MCS-10 */ { EHT20_LDPC_ONLY_MASKS,
  3532. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3533. 387000, 0, 365700, 329100, 0, 387000,
  3534. 0x54a},
  3535. /* 859 MCS-11 */ { EHT20_LDPC_ONLY_MASKS,
  3536. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3537. 430200, 0, 406200, 365700, 0, 430200,
  3538. 0x54b},
  3539. /* 860 MCS-12 */ { EHT20_LDPC_ONLY_MASKS,
  3540. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3541. 464700, 0, 438900, 394800, 0, 464700,
  3542. 0x54c},
  3543. /* 861 MCS-13 */ { EHT20_LDPC_ONLY_MASKS,
  3544. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3545. 516300, 0, 487500, 438900, 0, 516300,
  3546. 0x54d},
  3547. /* when number of spatial streams > 3 */
  3548. /* 862 MCS-14 */ { EHT20_LDPC_ONLY_MASKS,
  3549. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3550. 8400, 0, 8000, 7200, 0, 8400,
  3551. 0x56e},
  3552. /* 863 MCS-15 */ { EHT20_LDPC_ONLY_MASKS,
  3553. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3554. 17200, 0, 16400, 14800, 17200, 17200,
  3555. 0x56f},
  3556. /* 864 MCS-00 */ { EHT20_LDPC_ONLY_MASKS,
  3557. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3558. 34400, 0, 32400, 29200, 0, 34400,
  3559. 0x560},
  3560. /* 865 MCS-01 */ { EHT20_LDPC_ONLY_MASKS,
  3561. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3562. 68800, 0, 65200, 58400, 0, 68800,
  3563. 0x561},
  3564. /* 866 MCS-02 */ { EHT20_LDPC_ONLY_MASKS,
  3565. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3566. 103200, 0, 97600, 87600, 0, 103200,
  3567. 0x562},
  3568. /* 867 MCS-03 */ { EHT20_LDPC_ONLY_MASKS,
  3569. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3570. 137600, 0, 130000, 117200, 0, 137600,
  3571. 0x563},
  3572. /* 868 MCS-04 */ { EHT20_LDPC_ONLY_MASKS,
  3573. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3574. 206400, 0, 195200, 175600, 0, 206400,
  3575. 0x564},
  3576. /* 869 MCS-05 */ { EHT20_LDPC_ONLY_MASKS,
  3577. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3578. 275200, 0, 260000, 234000, 0, 275200,
  3579. 0x565},
  3580. /* 870 MCS-06 */ { EHT20_LDPC_ONLY_MASKS,
  3581. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3582. 309600, 0, 292400, 263200, 0, 309600,
  3583. 0x566},
  3584. /* 871 MCS-07 */ { EHT20_LDPC_ONLY_MASKS,
  3585. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3586. 344000, 0, 325200, 292400, 0, 344000,
  3587. 0x567},
  3588. /* 872 MCS-08 */ { EHT20_LDPC_ONLY_MASKS,
  3589. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3590. 412800, 0, 390000, 351200, 0, 412800,
  3591. 0x568},
  3592. /* 873 MCS-09 */ { EHT20_LDPC_ONLY_MASKS,
  3593. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3594. 458800, 0, 433200, 390000, 0, 458800,
  3595. 0x569},
  3596. /* 874 MCS-10 */ { EHT20_LDPC_ONLY_MASKS,
  3597. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3598. 516000, 0, 487600, 438800, 0, 516000,
  3599. 0x56a},
  3600. /* 875 MCS-11 */ { EHT20_LDPC_ONLY_MASKS,
  3601. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3602. 573600, 0, 541600, 487600, 0, 573600,
  3603. 0x56b},
  3604. /* 876 MCS-12 */ { EHT20_LDPC_ONLY_MASKS,
  3605. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3606. 619600, 0, 585200, 526400, 0, 619600,
  3607. 0x56c},
  3608. /* 877 MCS-13 */ { EHT20_LDPC_ONLY_MASKS,
  3609. DP_CMN_MOD_IEEE80211_T_EHT_20,
  3610. 688400, 0, 650000, 585200, 0, 688400,
  3611. 0x56d},
  3612. /* 878 MCS-14 */ { EHT40_LDPC_ONLY_MASKS,
  3613. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3614. 4300, 0, 4100, 3700, 0, 4300,
  3615. 0x50e},
  3616. /* 879 MCS-15 */ { EHT40_LDPC_ONLY_MASKS,
  3617. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3618. 8600, 0, 8100, 7300, 8600, 8600,
  3619. 0x50f},
  3620. /* 880 MCS-00 */ { EHT40_LDPC_ONLY_MASKS,
  3621. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3622. 17200, 0, 16300, 14600, 0, 17200,
  3623. 0x500},
  3624. /* 881 MCS-01 */ { EHT40_LDPC_ONLY_MASKS,
  3625. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3626. 34400, 0, 32500, 29300, 0, 34400,
  3627. 0x501},
  3628. /* 882 MCS-02 */ { EHT40_LDPC_ONLY_MASKS,
  3629. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3630. 51600, 0, 48800, 43900, 0, 51600,
  3631. 0x502},
  3632. /* 883 MCS-03 */ { EHT40_LDPC_ONLY_MASKS,
  3633. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3634. 68800, 0, 65000, 58500, 0, 68800,
  3635. 0x503},
  3636. /* 884 MCS-04 */ { EHT40_LDPC_ONLY_MASKS,
  3637. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3638. 103200, 0, 97500, 87800, 0, 103200,
  3639. 0x504},
  3640. /* 885 MCS-05 */ { EHT40_LDPC_ONLY_MASKS,
  3641. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3642. 137600, 0, 130000, 117000, 0, 137600,
  3643. 0x505},
  3644. /* 886 MCS-06 */ { EHT40_LDPC_ONLY_MASKS,
  3645. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3646. 154900, 0, 146300, 131600, 0, 154900,
  3647. 0x506},
  3648. /* 887 MCS-07 */ { EHT40_LDPC_ONLY_MASKS,
  3649. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3650. 172100, 0, 162500, 146300, 0, 172100,
  3651. 0x507},
  3652. /* 888 MCS-08 */ { EHT40_LDPC_ONLY_MASKS,
  3653. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3654. 206500, 0, 195000, 175500, 0, 206500,
  3655. 0x508},
  3656. /* 889 MCS-09 */ { EHT40_LDPC_ONLY_MASKS,
  3657. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3658. 229400, 0, 216700, 195000, 0, 229400,
  3659. 0x509},
  3660. /* 890 MCS-10 */ { EHT40_LDPC_ONLY_MASKS,
  3661. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3662. 258100, 0, 243800, 219400, 0, 258100,
  3663. 0x50a},
  3664. /* 891 MCS-11 */ { EHT40_LDPC_ONLY_MASKS,
  3665. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3666. 286800, 0, 270800, 243800, 0, 286800,
  3667. 0x50b},
  3668. /* 892 MCS-12 */ { EHT40_LDPC_ONLY_MASKS,
  3669. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3670. 309700, 0, 292500, 263300, 0, 309700,
  3671. 0x50c},
  3672. /* 893 MCS-13 */ { EHT40_LDPC_ONLY_MASKS,
  3673. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3674. 344100, 0, 325000, 292500, 0, 344100,
  3675. 0x50d},
  3676. /* when number of spatial streams > 1 */
  3677. /* 894 MCS-14 */ { EHT40_LDPC_ONLY_MASKS,
  3678. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3679. 8600, 0, 8200, 7400, 0, 8600,
  3680. 0x52e},
  3681. /* 895 MCS-15 */ { EHT40_LDPC_ONLY_MASKS,
  3682. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3683. 17200, 0, 16200, 14600, 17200, 17200,
  3684. 0x52f},
  3685. /* 896 MCS-00 */ { EHT40_LDPC_ONLY_MASKS,
  3686. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3687. 34400, 0, 32600, 29200, 0, 34400,
  3688. 0x520},
  3689. /* 897 MCS-01 */ { EHT40_LDPC_ONLY_MASKS,
  3690. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3691. 68800, 0, 65000, 58600, 0, 68800,
  3692. 0x521},
  3693. /* 898 MCS-02 */ { EHT40_LDPC_ONLY_MASKS,
  3694. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3695. 103200, 0, 97600, 87800, 0, 103200,
  3696. 0x522},
  3697. /* 899 MCS-03 */ { EHT40_LDPC_ONLY_MASKS,
  3698. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3699. 137600, 0, 130000, 117000, 0, 137600,
  3700. 0x523},
  3701. /* 900 MCS-04 */ { EHT40_LDPC_ONLY_MASKS,
  3702. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3703. 206400, 0, 195000, 175600, 0, 206400,
  3704. 0x524},
  3705. /* 901 MCS-05 */ { EHT40_LDPC_ONLY_MASKS,
  3706. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3707. 275200, 0, 260000, 234000, 0, 275200,
  3708. 0x525},
  3709. /* 902 MCS-06 */ { EHT40_LDPC_ONLY_MASKS,
  3710. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3711. 309800, 0, 292600, 263200, 0, 309800,
  3712. 0x526},
  3713. /* 903 MCS-07 */ { EHT40_LDPC_ONLY_MASKS,
  3714. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3715. 344200, 0, 325000, 292600, 0, 344200,
  3716. 0x527},
  3717. /* 904 MCS-08 */ { EHT40_LDPC_ONLY_MASKS,
  3718. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3719. 413000, 0, 390000, 351000, 0, 413000,
  3720. 0x528},
  3721. /* 905 MCS-09 */ { EHT40_LDPC_ONLY_MASKS,
  3722. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3723. 458800, 0, 433400, 390000, 0, 458800,
  3724. 0x529},
  3725. /* 906 MCS-10 */ { EHT40_LDPC_ONLY_MASKS,
  3726. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3727. 516200, 0, 487600, 438800, 0, 516200,
  3728. 0x52a},
  3729. /* 907 MCS-11 */ { EHT40_LDPC_ONLY_MASKS,
  3730. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3731. 573600, 0, 541600, 487600, 0, 573600,
  3732. 0x52b},
  3733. /* 908 MCS-12 */ { EHT40_LDPC_ONLY_MASKS,
  3734. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3735. 619400, 0, 585000, 526600, 0, 619400,
  3736. 0x52c},
  3737. /* 909 MCS-13 */ { EHT40_LDPC_ONLY_MASKS,
  3738. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3739. 688200, 0, 650000, 585000, 0, 688200,
  3740. 0x52d},
  3741. /* when number of spatial streams > 2 */
  3742. /* 910 MCS-14 */ { EHT40_LDPC_ONLY_MASKS,
  3743. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3744. 12900, 0, 12299, 11100, 0, 12900,
  3745. 0x54e},
  3746. /* 911 MCS-15 */ { EHT40_LDPC_ONLY_MASKS,
  3747. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3748. 25800, 0, 24300, 21900, 25800, 25800,
  3749. 0x54f},
  3750. /* 912 MCS-00 */ { EHT40_LDPC_ONLY_MASKS,
  3751. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3752. 51600, 0, 48900, 43800, 0, 51600,
  3753. 0x540},
  3754. /* 913 MCS-01 */ { EHT40_LDPC_ONLY_MASKS,
  3755. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3756. 103200, 0, 97500, 87900, 0, 103200,
  3757. 0x541},
  3758. /* 914 MCS-02 */ { EHT40_LDPC_ONLY_MASKS,
  3759. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3760. 154800, 0, 146400, 131700, 0, 154800,
  3761. 0x542},
  3762. /* 915 MCS-03 */ { EHT40_LDPC_ONLY_MASKS,
  3763. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3764. 206400, 0, 195000, 175500, 0, 206400,
  3765. 0x543},
  3766. /* 916 MCS-04 */ { EHT40_LDPC_ONLY_MASKS,
  3767. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3768. 309600, 0, 292500, 263400, 0, 309600,
  3769. 0x544},
  3770. /* 917 MCS-05 */ { EHT40_LDPC_ONLY_MASKS,
  3771. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3772. 412800, 0, 390000, 351000, 0, 412800,
  3773. 0x545},
  3774. /* 918 MCS-06 */ { EHT40_LDPC_ONLY_MASKS,
  3775. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3776. 464700, 0, 438900, 394800, 0, 464700,
  3777. 0x546},
  3778. /* 919 MCS-07 */ { EHT40_LDPC_ONLY_MASKS,
  3779. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3780. 516300, 0, 487500, 438900, 0, 516300,
  3781. 0x547},
  3782. /* 920 MCS-08 */ { EHT40_LDPC_ONLY_MASKS,
  3783. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3784. 619500, 0, 585000, 526500, 0, 619500,
  3785. 0x548},
  3786. /* 921 MCS-09 */ { EHT40_LDPC_ONLY_MASKS,
  3787. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3788. 688200, 0, 650100, 585000, 0, 688200,
  3789. 0x549},
  3790. /* 922 MCS-10 */ { EHT40_LDPC_ONLY_MASKS,
  3791. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3792. 774300, 0, 731400, 658200, 0, 774300,
  3793. 0x54a},
  3794. /* 923 MCS-11 */ { EHT40_LDPC_ONLY_MASKS,
  3795. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3796. 860400, 0, 812400, 731400, 0, 860400,
  3797. 0x54b},
  3798. /* 924 MCS-12 */ { EHT40_LDPC_ONLY_MASKS,
  3799. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3800. 929100, 0, 877500, 789900, 0, 929100,
  3801. 0x54c},
  3802. /* 925 MCS-13 */ { EHT40_LDPC_ONLY_MASKS,
  3803. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3804. 1032300, 0, 975000, 877500, 0, 1032300,
  3805. 0x54d},
  3806. /* when number of spatial streams > 3 */
  3807. /* 926 MCS-14 */ { EHT40_LDPC_ONLY_MASKS,
  3808. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3809. 17200, 0, 16400, 14800, 0, 17200,
  3810. 0x56e},
  3811. /* 927 MCS-15 */ { EHT40_LDPC_ONLY_MASKS,
  3812. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3813. 34400, 0, 32400, 29200, 34400, 34400,
  3814. 0x56f},
  3815. /* 928 MCS-00 */ { EHT40_LDPC_ONLY_MASKS,
  3816. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3817. 68800, 0, 65200, 58400, 0, 68800,
  3818. 0x560},
  3819. /* 929 MCS-01 */ { EHT40_LDPC_ONLY_MASKS,
  3820. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3821. 137600, 0, 130000, 117200, 0, 137600,
  3822. 0x561},
  3823. /* 930 MCS-02 */ { EHT40_LDPC_ONLY_MASKS,
  3824. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3825. 206400, 0, 195200, 175600, 0, 206400,
  3826. 0x562},
  3827. /* 931 MCS-03 */ { EHT40_LDPC_ONLY_MASKS,
  3828. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3829. 275200, 0, 260000, 234000, 0, 275200,
  3830. 0x563},
  3831. /* 932 MCS-04 */ { EHT40_LDPC_ONLY_MASKS,
  3832. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3833. 412800, 0, 390000, 351200, 0, 412800,
  3834. 0x564},
  3835. /* 933 MCS-05 */ { EHT40_LDPC_ONLY_MASKS,
  3836. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3837. 550400, 0, 520000, 468000, 0, 550400,
  3838. 0x565},
  3839. /* 934 MCS-06 */ { EHT40_LDPC_ONLY_MASKS,
  3840. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3841. 619600, 0, 585200, 526400, 0, 619600,
  3842. 0x566},
  3843. /* 935 MCS-07 */ { EHT40_LDPC_ONLY_MASKS,
  3844. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3845. 688400, 0, 650000, 585200, 0, 688400,
  3846. 0x567},
  3847. /* 936 MCS-08 */ { EHT40_LDPC_ONLY_MASKS,
  3848. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3849. 826000, 0, 780000, 702000, 0, 826000,
  3850. 0x568},
  3851. /* 937 MCS-09 */ { EHT40_LDPC_ONLY_MASKS,
  3852. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3853. 917600, 0, 866800, 780000, 0, 917600,
  3854. 0x569},
  3855. /* 938 MCS-10 */ { EHT40_LDPC_ONLY_MASKS,
  3856. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3857. 1032400, 0, 975200, 877600, 0, 1032400,
  3858. 0x56a},
  3859. /* 939 MCS-11 */ { EHT40_LDPC_ONLY_MASKS,
  3860. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3861. 1147200, 0, 1083200, 975200, 0, 1147200,
  3862. 0x56b},
  3863. /* 940 MCS-12 */ { EHT40_LDPC_ONLY_MASKS,
  3864. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3865. 1238800, 0, 1170000, 1053200, 0, 1238800,
  3866. 0x56c},
  3867. /* 941 MCS-13 */ { EHT40_LDPC_ONLY_MASKS,
  3868. DP_CMN_MOD_IEEE80211_T_EHT_40,
  3869. 1376400, 0, 1300000, 1170000, 0, 1376400,
  3870. 0x56d},
  3871. /* 942 MCS-14 */ { EHT80_LDPC_ONLY_MASKS,
  3872. DP_CMN_MOD_IEEE80211_T_EHT_60,
  3873. 6400, 0, 6100, 5500, 0, 6400,
  3874. 0x50e},
  3875. /* 943 MCS-15 */ { EHT80_LDPC_ONLY_MASKS,
  3876. DP_CMN_MOD_IEEE80211_T_EHT_60,
  3877. 12900, 0, 12200, 11000, 12900, 12900,
  3878. 0x50f},
  3879. /* 944 MCS-00 */ { EHT80_LDPC_ONLY_MASKS,
  3880. DP_CMN_MOD_IEEE80211_T_EHT_60,
  3881. 25800, 0, 24400, 21900, 0, 25800,
  3882. 0x500},
  3883. /* 945 MCS-01 */ { EHT80_LDPC_ONLY_MASKS,
  3884. DP_CMN_MOD_IEEE80211_T_EHT_60,
  3885. 51600, 0, 48800, 43900, 0, 51600,
  3886. 0x501},
  3887. /* 946 MCS-02 */ { EHT80_LDPC_ONLY_MASKS,
  3888. DP_CMN_MOD_IEEE80211_T_EHT_60,
  3889. 77400, 0, 73100, 65800, 0, 77400,
  3890. 0x502},
  3891. /* 947 MCS-03 */ { EHT80_LDPC_ONLY_MASKS,
  3892. DP_CMN_MOD_IEEE80211_T_EHT_60,
  3893. 103200, 0, 97500, 87800, 0, 103200,
  3894. 0x503},
  3895. /* 948 MCS-04 */ { EHT80_LDPC_ONLY_MASKS,
  3896. DP_CMN_MOD_IEEE80211_T_EHT_60,
  3897. 154900, 0, 146300, 131600, 0, 154900,
  3898. 0x504},
  3899. /* 949 MCS-05 */ { EHT80_LDPC_ONLY_MASKS,
  3900. DP_CMN_MOD_IEEE80211_T_EHT_60,
  3901. 206500, 0, 195000, 175500, 0, 206500,
  3902. 0x505},
  3903. /* 950 MCS-06 */ { EHT80_LDPC_ONLY_MASKS,
  3904. DP_CMN_MOD_IEEE80211_T_EHT_60,
  3905. 232300, 0, 219400, 197400, 0, 232300,
  3906. 0x506},
  3907. /* 951 MCS-07 */ { EHT80_LDPC_ONLY_MASKS,
  3908. DP_CMN_MOD_IEEE80211_T_EHT_60,
  3909. 258100, 0, 243800, 219400, 0, 258100,
  3910. 0x507},
  3911. /* 952 MCS-08 */ { EHT80_LDPC_ONLY_MASKS,
  3912. DP_CMN_MOD_IEEE80211_T_EHT_60,
  3913. 309700, 0, 292500, 263300, 0, 309700,
  3914. 0x508},
  3915. /* 953 MCS-09 */ { EHT80_LDPC_ONLY_MASKS,
  3916. DP_CMN_MOD_IEEE80211_T_EHT_60,
  3917. 344100, 0, 325000, 292500, 0, 344100,
  3918. 0x509},
  3919. /* 954 MCS-10 */ { EHT80_LDPC_ONLY_MASKS,
  3920. DP_CMN_MOD_IEEE80211_T_EHT_60,
  3921. 387100, 0, 365600, 329100, 0, 387100,
  3922. 0x50a},
  3923. /* 955 MCS-11 */ { EHT80_LDPC_ONLY_MASKS,
  3924. DP_CMN_MOD_IEEE80211_T_EHT_60,
  3925. 430100, 0, 406300, 365600, 0, 430100,
  3926. 0x50b},
  3927. /* 956 MCS-12 */ { EHT80_LDPC_ONLY_MASKS,
  3928. DP_CMN_MOD_IEEE80211_T_EHT_60,
  3929. 464600, 0, 438800, 394900, 0, 464600,
  3930. 0x50c},
  3931. /* 957 MCS-13 */ { EHT80_LDPC_ONLY_MASKS,
  3932. DP_CMN_MOD_IEEE80211_T_EHT_60,
  3933. 516200, 0, 487500, 438800, 0, 516200,
  3934. 0x50d},
  3935. /* when number of spatial streams > 1 */
  3936. /* 958 MCS-14 */ { EHT80_LDPC_ONLY_MASKS,
  3937. DP_CMN_MOD_IEEE80211_T_EHT_60,
  3938. 12800, 0, 12200, 11000, 0, 12800,
  3939. 0x52e},
  3940. /* 959 MCS-15 */ { EHT80_LDPC_ONLY_MASKS,
  3941. DP_CMN_MOD_IEEE80211_T_EHT_60,
  3942. 25800, 0, 24400, 22000, 25800, 25800,
  3943. 0x52f},
  3944. /* 960 MCS-00 */ { EHT80_LDPC_ONLY_MASKS,
  3945. DP_CMN_MOD_IEEE80211_T_EHT_60,
  3946. 51600, 0, 48800, 43800, 0, 51600,
  3947. 0x520},
  3948. /* 961 MCS-01 */ { EHT80_LDPC_ONLY_MASKS,
  3949. DP_CMN_MOD_IEEE80211_T_EHT_60,
  3950. 103200, 0, 97600, 87800, 0, 103200,
  3951. 0x521},
  3952. /* 962 MCS-02 */ { EHT80_LDPC_ONLY_MASKS,
  3953. DP_CMN_MOD_IEEE80211_T_EHT_60,
  3954. 154800, 0, 146200, 131600, 0, 154800,
  3955. 0x522},
  3956. /* 963 MCS-03 */ { EHT80_LDPC_ONLY_MASKS,
  3957. DP_CMN_MOD_IEEE80211_T_EHT_60,
  3958. 206400, 0, 195000, 175600, 0, 206400,
  3959. 0x523},
  3960. /* 964 MCS-04 */ { EHT80_LDPC_ONLY_MASKS,
  3961. DP_CMN_MOD_IEEE80211_T_EHT_60,
  3962. 309800, 0, 292600, 263200, 0, 309800,
  3963. 0x524},
  3964. /* 965 MCS-05 */ { EHT80_LDPC_ONLY_MASKS,
  3965. DP_CMN_MOD_IEEE80211_T_EHT_60,
  3966. 413000, 0, 390000, 351000, 0, 413000,
  3967. 0x525},
  3968. /* 966 MCS-06 */ { EHT80_LDPC_ONLY_MASKS,
  3969. DP_CMN_MOD_IEEE80211_T_EHT_60,
  3970. 464600, 0, 438800, 394800, 0, 464600,
  3971. 0x526},
  3972. /* 967 MCS-07 */ { EHT80_LDPC_ONLY_MASKS,
  3973. DP_CMN_MOD_IEEE80211_T_EHT_60,
  3974. 516200, 0, 487600, 438800, 0, 516200,
  3975. 0x527},
  3976. /* 968 MCS-08 */ { EHT80_LDPC_ONLY_MASKS,
  3977. DP_CMN_MOD_IEEE80211_T_EHT_60,
  3978. 619400, 0, 585000, 526600, 0, 619400,
  3979. 0x528},
  3980. /* 969 MCS-09 */ { EHT80_LDPC_ONLY_MASKS,
  3981. DP_CMN_MOD_IEEE80211_T_EHT_60,
  3982. 688200, 0, 650000, 585000, 0, 688200,
  3983. 0x529},
  3984. /* 970 MCS-10 */ { EHT80_LDPC_ONLY_MASKS,
  3985. DP_CMN_MOD_IEEE80211_T_EHT_60,
  3986. 774200, 0, 731200, 658200, 0, 774200,
  3987. 0x52a},
  3988. /* 971 MCS-11 */ { EHT80_LDPC_ONLY_MASKS,
  3989. DP_CMN_MOD_IEEE80211_T_EHT_60,
  3990. 860200, 0, 812600, 731200, 0, 860200,
  3991. 0x52b},
  3992. /* 972 MCS-12 */ { EHT80_LDPC_ONLY_MASKS,
  3993. DP_CMN_MOD_IEEE80211_T_EHT_60,
  3994. 929200, 0, 877600, 789800, 0, 929200,
  3995. 0x52c},
  3996. /* 973 MCS-13 */ { EHT80_LDPC_ONLY_MASKS,
  3997. DP_CMN_MOD_IEEE80211_T_EHT_60,
  3998. 1032400, 0, 975000, 877600, 0, 1032400,
  3999. 0x52d},
  4000. /* when number of spatial streams > 2 */
  4001. /* 974 MCS-14 */ { EHT80_LDPC_ONLY_MASKS,
  4002. DP_CMN_MOD_IEEE80211_T_EHT_60,
  4003. 19200, 0, 18300, 16500, 0, 19200,
  4004. 0x54e},
  4005. /* 975 MCS-15 */ { EHT80_LDPC_ONLY_MASKS,
  4006. DP_CMN_MOD_IEEE80211_T_EHT_60,
  4007. 38700, 0, 36600, 33000, 38700, 38700,
  4008. 0x54f},
  4009. /* 976 MCS-00 */ { EHT80_LDPC_ONLY_MASKS,
  4010. DP_CMN_MOD_IEEE80211_T_EHT_60,
  4011. 77400, 0, 73200, 65700, 0, 77400,
  4012. 0x540},
  4013. /* 977 MCS-01 */ { EHT80_LDPC_ONLY_MASKS,
  4014. DP_CMN_MOD_IEEE80211_T_EHT_60,
  4015. 154800, 0, 146400, 131700, 0, 154800,
  4016. 0x541},
  4017. /* 978 MCS-02 */ { EHT80_LDPC_ONLY_MASKS,
  4018. DP_CMN_MOD_IEEE80211_T_EHT_60,
  4019. 232200, 0, 219299, 197400, 0, 232200,
  4020. 0x542},
  4021. /* 979 MCS-03 */ { EHT80_LDPC_ONLY_MASKS,
  4022. DP_CMN_MOD_IEEE80211_T_EHT_60,
  4023. 309600, 0, 292500, 263400, 0, 309600,
  4024. 0x543},
  4025. /* 980 MCS-04 */ { EHT80_LDPC_ONLY_MASKS,
  4026. DP_CMN_MOD_IEEE80211_T_EHT_60,
  4027. 464700, 0, 438900, 394800, 0, 464700,
  4028. 0x544},
  4029. /* 981 MCS-05 */ { EHT80_LDPC_ONLY_MASKS,
  4030. DP_CMN_MOD_IEEE80211_T_EHT_60,
  4031. 619500, 0, 585000, 526500, 0, 619500,
  4032. 0x545},
  4033. /* 982 MCS-06 */ { EHT80_LDPC_ONLY_MASKS,
  4034. DP_CMN_MOD_IEEE80211_T_EHT_60,
  4035. 696900, 0, 658200, 592200, 0, 696900,
  4036. 0x546},
  4037. /* 983 MCS-07 */ { EHT80_LDPC_ONLY_MASKS,
  4038. DP_CMN_MOD_IEEE80211_T_EHT_60,
  4039. 774300, 0, 731400, 658200, 0, 774300,
  4040. 0x547},
  4041. /* 984 MCS-08 */ { EHT80_LDPC_ONLY_MASKS,
  4042. DP_CMN_MOD_IEEE80211_T_EHT_60,
  4043. 929100, 0, 877500, 789900, 0, 929100,
  4044. 0x548},
  4045. /* 985 MCS-09 */ { EHT80_LDPC_ONLY_MASKS,
  4046. DP_CMN_MOD_IEEE80211_T_EHT_60,
  4047. 1032300, 0, 975000, 877500, 0, 1032300,
  4048. 0x549},
  4049. /* 986 MCS-10 */ { EHT80_LDPC_ONLY_MASKS,
  4050. DP_CMN_MOD_IEEE80211_T_EHT_60,
  4051. 1161300, 0, 1096800, 987300, 0, 1161300,
  4052. 0x54a},
  4053. /* 987 MCS-11 */ { EHT80_LDPC_ONLY_MASKS,
  4054. DP_CMN_MOD_IEEE80211_T_EHT_60,
  4055. 1290300, 0, 1218900, 1096800, 0, 1290300,
  4056. 0x54b},
  4057. /* 988 MCS-12 */ { EHT80_LDPC_ONLY_MASKS,
  4058. DP_CMN_MOD_IEEE80211_T_EHT_60,
  4059. 1393800, 0, 1316400, 1184700, 0, 1393800,
  4060. 0x54c},
  4061. /* 989 MCS-13 */ { EHT80_LDPC_ONLY_MASKS,
  4062. DP_CMN_MOD_IEEE80211_T_EHT_60,
  4063. 1548600, 0, 1462500, 1316400, 0, 1548600,
  4064. 0x54d},
  4065. /* when number of spatial streams > 3 */
  4066. /* 990 MCS-14 */ { EHT80_LDPC_ONLY_MASKS,
  4067. DP_CMN_MOD_IEEE80211_T_EHT_60,
  4068. 25600, 0, 24400, 22000, 0, 25600,
  4069. 0x56e},
  4070. /* 991 MCS-15 */ { EHT80_LDPC_ONLY_MASKS,
  4071. DP_CMN_MOD_IEEE80211_T_EHT_60,
  4072. 51600, 0, 48800, 44000, 51600, 51600,
  4073. 0x56f},
  4074. /* 992 MCS-00 */ { EHT80_LDPC_ONLY_MASKS,
  4075. DP_CMN_MOD_IEEE80211_T_EHT_60,
  4076. 103200, 0, 97600, 87600, 0, 103200,
  4077. 0x560},
  4078. /* 993 MCS-01 */ { EHT80_LDPC_ONLY_MASKS,
  4079. DP_CMN_MOD_IEEE80211_T_EHT_60,
  4080. 206400, 0, 195200, 175600, 0, 206400,
  4081. 0x561},
  4082. /* 994 MCS-02 */ { EHT80_LDPC_ONLY_MASKS,
  4083. DP_CMN_MOD_IEEE80211_T_EHT_60,
  4084. 309600, 0, 292400, 263200, 0, 309600,
  4085. 0x562},
  4086. /* 995 MCS-03 */ { EHT80_LDPC_ONLY_MASKS,
  4087. DP_CMN_MOD_IEEE80211_T_EHT_60,
  4088. 412800, 0, 390000, 351200, 0, 412800,
  4089. 0x563},
  4090. /* 996 MCS-04 */ { EHT80_LDPC_ONLY_MASKS,
  4091. DP_CMN_MOD_IEEE80211_T_EHT_60,
  4092. 619600, 0, 585200, 526400, 0, 619600,
  4093. 0x564},
  4094. /* 997 MCS-05 */ { EHT80_LDPC_ONLY_MASKS,
  4095. DP_CMN_MOD_IEEE80211_T_EHT_60,
  4096. 826000, 0, 780000, 702000, 0, 826000,
  4097. 0x565},
  4098. /* 998 MCS-06 */ { EHT80_LDPC_ONLY_MASKS,
  4099. DP_CMN_MOD_IEEE80211_T_EHT_60,
  4100. 929200, 0, 877600, 789600, 0, 929200,
  4101. 0x566},
  4102. /* 999 MCS-07 */ { EHT80_LDPC_ONLY_MASKS,
  4103. DP_CMN_MOD_IEEE80211_T_EHT_60,
  4104. 1032400, 0, 975200, 877600, 0, 1032400,
  4105. 0x567},
  4106. /* 1000 MCS-08 */ { EHT80_LDPC_ONLY_MASKS,
  4107. DP_CMN_MOD_IEEE80211_T_EHT_60,
  4108. 1238800, 0, 1170000, 1053200, 0, 1238800,
  4109. 0x568},
  4110. /* 1001 MCS-09 */ { EHT80_LDPC_ONLY_MASKS,
  4111. DP_CMN_MOD_IEEE80211_T_EHT_60,
  4112. 1376400, 0, 1300000, 1170000, 0, 1376400,
  4113. 0x569},
  4114. /* 1002 MCS-10 */ { EHT80_LDPC_ONLY_MASKS,
  4115. DP_CMN_MOD_IEEE80211_T_EHT_60,
  4116. 1548400, 0, 1462400, 1316400, 0, 1548400,
  4117. 0x56a},
  4118. /* 1003 MCS-11 */ { EHT80_LDPC_ONLY_MASKS,
  4119. DP_CMN_MOD_IEEE80211_T_EHT_60,
  4120. 1720400, 0, 1625200, 1462400, 0, 1720400,
  4121. 0x56b},
  4122. /* 1004 MCS-12 */ { EHT80_LDPC_ONLY_MASKS,
  4123. DP_CMN_MOD_IEEE80211_T_EHT_60,
  4124. 1858400, 0, 1755200, 1579600, 0, 1858400,
  4125. 0x56c},
  4126. /* 1005 MCS-13 */ { EHT80_LDPC_ONLY_MASKS,
  4127. DP_CMN_MOD_IEEE80211_T_EHT_60,
  4128. 2064800, 0, 1950000, 1755200, 0, 2064800,
  4129. 0x56d},
  4130. /* 1006 MCS-14 */ { EHT80_LDPC_ONLY_MASKS,
  4131. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4132. 9000, 0, 8500, 7700, 0, 9000,
  4133. 0x50e},
  4134. /* 1007 MCS-15 */ { EHT80_LDPC_ONLY_MASKS,
  4135. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4136. 18000, 0, 17000, 15300, 18000, 18000,
  4137. 0x50f},
  4138. /* 1008 MCS-00 */ { EHT80_LDPC_ONLY_MASKS,
  4139. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4140. 36000, 0, 34000, 30600, 0, 36000,
  4141. 0x500},
  4142. /* 1009 MCS-01 */ { EHT80_LDPC_ONLY_MASKS,
  4143. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4144. 72100, 0, 68100, 61300, 0, 72100,
  4145. 0x501},
  4146. /* 1010 MCS-02 */ { EHT80_LDPC_ONLY_MASKS,
  4147. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4148. 108100, 0, 102100, 91900, 0, 108100,
  4149. 0x502},
  4150. /* 1011 MCS-03 */ { EHT80_LDPC_ONLY_MASKS,
  4151. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4152. 144100, 0, 136100, 122500, 0, 144100,
  4153. 0x503},
  4154. /* 1012 MCS-04 */ { EHT80_LDPC_ONLY_MASKS,
  4155. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4156. 216200, 0, 204200, 183800, 0, 216200,
  4157. 0x504},
  4158. /* 1013 MCS-05 */ { EHT80_LDPC_ONLY_MASKS,
  4159. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4160. 288200, 0, 272200, 245000, 0, 288200,
  4161. 0x505},
  4162. /* 1014 MCS-06 */ { EHT80_LDPC_ONLY_MASKS,
  4163. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4164. 324300, 0, 306300, 275600, 0, 324300,
  4165. 0x506},
  4166. /* 1015 MCS-07 */ { EHT80_LDPC_ONLY_MASKS,
  4167. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4168. 360300, 0, 340300, 306300, 0, 360300,
  4169. 0x507},
  4170. /* 1016 MCS-08 */ { EHT80_LDPC_ONLY_MASKS,
  4171. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4172. 432400, 0, 408300, 367500, 0, 432400,
  4173. 0x508},
  4174. /* 1017 MCS-09 */ { EHT80_LDPC_ONLY_MASKS,
  4175. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4176. 480400, 0, 453700, 408300, 0, 480400,
  4177. 0x509},
  4178. /* 1018 MCS-10 */ { EHT80_LDPC_ONLY_MASKS,
  4179. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4180. 540400, 0, 510400, 459400, 0, 540400,
  4181. 0x50a},
  4182. /* 1019 MCS-11 */ { EHT80_LDPC_ONLY_MASKS,
  4183. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4184. 600500, 0, 567100, 510400, 0, 600500,
  4185. 0x50b},
  4186. /* 1020 MCS-12 */ { EHT80_LDPC_ONLY_MASKS,
  4187. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4188. 648500, 0, 612500, 551300, 0, 648500,
  4189. 0x50c},
  4190. /* 1021 MCS-13 */ { EHT80_LDPC_ONLY_MASKS,
  4191. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4192. 720600, 0, 680600, 612500, 0, 720600,
  4193. 0x50d},
  4194. /* when number of spatial streams > 1 */
  4195. /* 1022 MCS-14 */ { EHT80_LDPC_ONLY_MASKS,
  4196. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4197. 18000, 0, 17000, 15400, 0, 18000,
  4198. 0x52e},
  4199. /* 1023 MCS-15 */ { EHT80_LDPC_ONLY_MASKS,
  4200. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4201. 36000, 0, 34000, 30600, 36000, 36000,
  4202. 0x52f},
  4203. /* 1024 MCS-00 */ { EHT80_LDPC_ONLY_MASKS,
  4204. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4205. 72000, 0, 68000, 61200, 0, 72000,
  4206. 0x520},
  4207. /* 1025 MCS-01 */ { EHT80_LDPC_ONLY_MASKS,
  4208. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4209. 144200, 0, 136200, 122600, 0, 144200,
  4210. 0x521},
  4211. /* 1026 MCS-02 */ { EHT80_LDPC_ONLY_MASKS,
  4212. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4213. 216200, 0, 204200, 183800, 0, 216200,
  4214. 0x522},
  4215. /* 1027 MCS-03 */ { EHT80_LDPC_ONLY_MASKS,
  4216. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4217. 288200, 0, 272200, 245000, 0, 288200,
  4218. 0x523},
  4219. /* 1028 MCS-04 */ { EHT80_LDPC_ONLY_MASKS,
  4220. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4221. 432400, 0, 408400, 367600, 0, 432400,
  4222. 0x524},
  4223. /* 1029 MCS-05 */ { EHT80_LDPC_ONLY_MASKS,
  4224. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4225. 576400, 0, 544400, 490000, 0, 576400,
  4226. 0x525},
  4227. /* 1030 MCS-06 */ { EHT80_LDPC_ONLY_MASKS,
  4228. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4229. 648600, 0, 612600, 551200, 0, 648600,
  4230. 0x526},
  4231. /* 1031 MCS-07 */ { EHT80_LDPC_ONLY_MASKS,
  4232. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4233. 720600, 0, 680600, 612600, 0, 720600,
  4234. 0x527},
  4235. /* 1032 MCS-08 */ { EHT80_LDPC_ONLY_MASKS,
  4236. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4237. 864800, 0, 816600, 735000, 0, 864800,
  4238. 0x528},
  4239. /* 1033 MCS-09 */ { EHT80_LDPC_ONLY_MASKS,
  4240. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4241. 960800, 0, 907400, 816600, 0, 960800,
  4242. 0x529},
  4243. /* 1034 MCS-10 */ { EHT80_LDPC_ONLY_MASKS,
  4244. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4245. 1080800, 0, 1020800, 918800, 0, 1080800,
  4246. 0x52a},
  4247. /* 1035 MCS-11 */ { EHT80_LDPC_ONLY_MASKS,
  4248. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4249. 1201000, 0, 1134200, 1020800, 0, 1201000,
  4250. 0x52b},
  4251. /* 1036 MCS-12 */ { EHT80_LDPC_ONLY_MASKS,
  4252. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4253. 1297000, 0, 1225000, 1102600, 0, 1297000,
  4254. 0x52c},
  4255. /* 1037 MCS-13 */ { EHT80_LDPC_ONLY_MASKS,
  4256. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4257. 1441200, 0, 1361200, 1225000, 0, 1441200,
  4258. 0x52d},
  4259. /* when number of spatial streams > 2 */
  4260. /* 1028 MCS-14 */ { EHT80_LDPC_ONLY_MASKS,
  4261. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4262. 27000, 0, 25500, 23100, 0, 27000,
  4263. 0x54e},
  4264. /* 1029 MCS-15 */ { EHT80_LDPC_ONLY_MASKS,
  4265. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4266. 54000, 0, 51000, 45900, 54000, 54000,
  4267. 0x54f},
  4268. /* 1030 MCS-00 */ { EHT80_LDPC_ONLY_MASKS,
  4269. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4270. 108000, 0, 102000, 91800, 0, 108000,
  4271. 0x540},
  4272. /* 1031 MCS-01 */ { EHT80_LDPC_ONLY_MASKS,
  4273. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4274. 216299, 0, 204299, 183900, 0, 216299,
  4275. 0x541},
  4276. /* 1032 MCS-02 */ { EHT80_LDPC_ONLY_MASKS,
  4277. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4278. 324300, 0, 306300, 275700, 0, 324300,
  4279. 0x542},
  4280. /* 1033 MCS-03 */ { EHT80_LDPC_ONLY_MASKS,
  4281. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4282. 432300, 0, 408300, 367500, 0, 432300,
  4283. 0x543},
  4284. /* 1034 MCS-04 */ { EHT80_LDPC_ONLY_MASKS,
  4285. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4286. 648600, 0, 612600, 551400, 0, 648600,
  4287. 0x544},
  4288. /* 1035 MCS-05 */ { EHT80_LDPC_ONLY_MASKS,
  4289. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4290. 864600, 0, 816600, 735000, 0, 864600,
  4291. 0x545},
  4292. /* 1036 MCS-06 */ { EHT80_LDPC_ONLY_MASKS,
  4293. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4294. 972900, 0, 918900, 826800, 0, 972900,
  4295. 0x546},
  4296. /* 1037 MCS-07 */ { EHT80_LDPC_ONLY_MASKS,
  4297. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4298. 1080900, 0, 1020900, 918900, 0, 1080900,
  4299. 0x547},
  4300. /* 1038 MCS-08 */ { EHT80_LDPC_ONLY_MASKS,
  4301. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4302. 1297200, 0, 1224900, 1102500, 0, 1297200,
  4303. 0x548},
  4304. /* 1039 MCS-09 */ { EHT80_LDPC_ONLY_MASKS,
  4305. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4306. 1441200, 0, 1361100, 1224900, 0, 1441200,
  4307. 0x549},
  4308. /* 1040 MCS-10 */ { EHT80_LDPC_ONLY_MASKS,
  4309. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4310. 1621200, 0, 1531200, 1378200, 0, 1621200,
  4311. 0x54a},
  4312. /* 1041 MCS-11 */ { EHT80_LDPC_ONLY_MASKS,
  4313. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4314. 1801500, 0, 1701300, 1531200, 0, 1801500,
  4315. 0x54b},
  4316. /* 1042 MCS-12 */ { EHT80_LDPC_ONLY_MASKS,
  4317. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4318. 1945500, 0, 1837500, 1653899, 0, 1945500,
  4319. 0x54c},
  4320. /* 1043 MCS-13 */ { EHT80_LDPC_ONLY_MASKS,
  4321. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4322. 2161800, 0, 2041800, 1837500, 0, 2161800,
  4323. 0x54d},
  4324. /* when number of spatial streams > 3 */
  4325. /* 1044 MCS-14 */ { EHT80_LDPC_ONLY_MASKS,
  4326. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4327. 36000, 0, 34000, 30800, 0, 36000,
  4328. 0x56e},
  4329. /* 1045 MCS-15 */ { EHT80_LDPC_ONLY_MASKS,
  4330. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4331. 72000, 0, 68000, 61200, 72000, 72000,
  4332. 0x56f},
  4333. /* 1046 MCS-00 */ { EHT80_LDPC_ONLY_MASKS,
  4334. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4335. 144000, 0, 136000, 122400, 0, 144000,
  4336. 0x560},
  4337. /* 1047 MCS-01 */ { EHT80_LDPC_ONLY_MASKS,
  4338. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4339. 288400, 0, 272400, 245200, 0, 288400,
  4340. 0x561},
  4341. /* 1048 MCS-02 */ { EHT80_LDPC_ONLY_MASKS,
  4342. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4343. 432400, 0, 408400, 367600, 0, 432400,
  4344. 0x562},
  4345. /* 1049 MCS-03 */ { EHT80_LDPC_ONLY_MASKS,
  4346. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4347. 576400, 0, 544400, 490000, 0, 576400,
  4348. 0x563},
  4349. /* 1050 MCS-04 */ { EHT80_LDPC_ONLY_MASKS,
  4350. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4351. 864800, 0, 816800, 735200, 0, 864800,
  4352. 0x564},
  4353. /* 1051 MCS-05 */ { EHT80_LDPC_ONLY_MASKS,
  4354. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4355. 1152800, 0, 1088800, 980000, 0, 1152800,
  4356. 0x565},
  4357. /* 1052 MCS-06 */ { EHT80_LDPC_ONLY_MASKS,
  4358. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4359. 1297200, 0, 1225200, 1102400, 0, 1297200,
  4360. 0x566},
  4361. /* 1053 MCS-07 */ { EHT80_LDPC_ONLY_MASKS,
  4362. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4363. 1441200, 0, 1361200, 1225200, 0, 1441200,
  4364. 0x567},
  4365. /* 1054 MCS-08 */ { EHT80_LDPC_ONLY_MASKS,
  4366. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4367. 1729600, 0, 1633200, 1470000, 0, 1729600,
  4368. 0x568},
  4369. /* 1055 MCS-09 */ { EHT80_LDPC_ONLY_MASKS,
  4370. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4371. 1921600, 0, 1814800, 1633200, 0, 1921600,
  4372. 0x569},
  4373. /* 1056 MCS-10 */ { EHT80_LDPC_ONLY_MASKS,
  4374. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4375. 2161600, 0, 2041600, 1837600, 0, 2161600,
  4376. 0x56a},
  4377. /* 1057 MCS-11 */ { EHT80_LDPC_ONLY_MASKS,
  4378. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4379. 2402000, 0, 2268400, 2041600, 0, 2402000,
  4380. 0x56b},
  4381. /* 1058 MCS-12 */ { EHT80_LDPC_ONLY_MASKS,
  4382. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4383. 2594000, 0, 2450000, 2205200, 0, 2594000,
  4384. 0x56c},
  4385. /* 1059 MCS-13 */ { EHT80_LDPC_ONLY_MASKS,
  4386. DP_CMN_MOD_IEEE80211_T_EHT_80,
  4387. 2882400, 0, 2722400, 2450000, 0, 2882400,
  4388. 0x56d},
  4389. /* 1060 MCS-14 */ { EHT160_LDPC_ONLY_MASKS,
  4390. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4391. 13300, 0, 12600, 11300, 0, 13300,
  4392. 0x50e},
  4393. /* 1061 MCS-15 */ { EHT160_LDPC_ONLY_MASKS,
  4394. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4395. 26600, 0, 25100, 22600, 26600, 26600,
  4396. 0x50f},
  4397. /* 1062 MCS-00 */ { EHT160_LDPC_ONLY_MASKS,
  4398. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4399. 53200, 0, 50300, 45300, 0, 53200,
  4400. 0x500},
  4401. /* 1063 MCS-01 */ { EHT160_LDPC_ONLY_MASKS,
  4402. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4403. 106500, 0, 100600, 90500, 0, 106500,
  4404. 0x501},
  4405. /* 1064 MCS-02 */ { EHT160_LDPC_ONLY_MASKS,
  4406. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4407. 159700, 0, 150800, 135800, 0, 159700,
  4408. 0x502},
  4409. /* 1065 MCS-03 */ { EHT160_LDPC_ONLY_MASKS,
  4410. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4411. 212900, 0, 201100, 181000, 0, 212900,
  4412. 0x503},
  4413. /* 1066 MCS-04 */ { EHT160_LDPC_ONLY_MASKS,
  4414. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4415. 319400, 0, 301700, 271500, 0, 319400,
  4416. 0x504},
  4417. /* 1067 MCS-05 */ { EHT160_LDPC_ONLY_MASKS,
  4418. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4419. 425900, 0, 402200, 362000, 0, 425900,
  4420. 0x505},
  4421. /* 1068 MCS-06 */ { EHT160_LDPC_ONLY_MASKS,
  4422. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4423. 479100, 0, 452500, 407300, 0, 479100,
  4424. 0x506},
  4425. /* 1069 MCS-07 */ { EHT160_LDPC_ONLY_MASKS,
  4426. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4427. 532400, 0, 502800, 452500, 0, 532400,
  4428. 0x507},
  4429. /* 1070 MCS-08 */ { EHT160_LDPC_ONLY_MASKS,
  4430. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4431. 638800, 0, 603300, 543000, 0, 638800,
  4432. 0x508},
  4433. /* 1071 MCS-09 */ { EHT160_LDPC_ONLY_MASKS,
  4434. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4435. 709800, 0, 670400, 603300, 0, 709800,
  4436. 0x509},
  4437. /* 1072 MCS-10 */ { EHT160_LDPC_ONLY_MASKS,
  4438. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4439. 798500, 0, 754200, 678800, 0, 798500,
  4440. 0x50a},
  4441. /* 1073 MCS-11 */ { EHT160_LDPC_ONLY_MASKS,
  4442. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4443. 887300, 0, 838000, 754200, 0, 887300,
  4444. 0x50b},
  4445. /* 1074 MCS-12 */ { EHT160_LDPC_ONLY_MASKS,
  4446. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4447. 958200, 0, 905000, 814500, 0, 958200,
  4448. 0x50c},
  4449. /* 1075 MCS-13 */ { EHT160_LDPC_ONLY_MASKS,
  4450. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4451. 1064700, 0, 1005600, 905000, 0, 1064700,
  4452. 0x50d},
  4453. /* when number of spatial streams > 1 */
  4454. /* 1076 MCS-14 */ { EHT160_LDPC_ONLY_MASKS,
  4455. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4456. 26600, 0, 25200, 22600, 0, 26600,
  4457. 0x52e},
  4458. /* 1077 MCS-15 */ { EHT160_LDPC_ONLY_MASKS,
  4459. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4460. 53200, 0, 50200, 45200, 53200, 53200,
  4461. 0x52f},
  4462. /* 1078 MCS-00 */ { EHT160_LDPC_ONLY_MASKS,
  4463. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4464. 106400, 0, 100600, 90600, 0, 106400,
  4465. 0x520},
  4466. /* 1079 MCS-01 */ { EHT160_LDPC_ONLY_MASKS,
  4467. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4468. 213000, 0, 201200, 181000, 0, 213000,
  4469. 0x521},
  4470. /* 1080 MCS-02 */ { EHT160_LDPC_ONLY_MASKS,
  4471. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4472. 319400, 0, 301600, 271600, 0, 319400,
  4473. 0x522},
  4474. /* 1081 MCS-03 */ { EHT160_LDPC_ONLY_MASKS,
  4475. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4476. 425800, 0, 402200, 362000, 0, 425800,
  4477. 0x523},
  4478. /* 1082 MCS-04 */ { EHT160_LDPC_ONLY_MASKS,
  4479. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4480. 638800, 0, 603400, 543000, 0, 638800,
  4481. 0x524},
  4482. /* 1083 MCS-05 */ { EHT160_LDPC_ONLY_MASKS,
  4483. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4484. 851800, 0, 804400, 724000, 0, 851800,
  4485. 0x525},
  4486. /* 1084 MCS-06 */ { EHT160_LDPC_ONLY_MASKS,
  4487. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4488. 958200, 0, 905000, 814600, 0, 958200,
  4489. 0x526},
  4490. /* 1085 MCS-07 */ { EHT160_LDPC_ONLY_MASKS,
  4491. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4492. 1064800, 0, 1005600, 905000, 0, 1064800,
  4493. 0x527},
  4494. /* 1086 MCS-08 */ { EHT160_LDPC_ONLY_MASKS,
  4495. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4496. 1277600, 0, 1206600, 1086000, 0, 1277600,
  4497. 0x528},
  4498. /* 1087 MCS-09 */ { EHT160_LDPC_ONLY_MASKS,
  4499. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4500. 1419600, 0, 1340800, 1206600, 0, 1419600,
  4501. 0x529},
  4502. /* 1088 MCS-10 */ { EHT160_LDPC_ONLY_MASKS,
  4503. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4504. 1597000, 0, 1508400, 1357600, 0, 1597000,
  4505. 0x52a},
  4506. /* 1089 MCS-11 */ { EHT160_LDPC_ONLY_MASKS,
  4507. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4508. 1774600, 0, 1676000, 1508400, 0, 1774600,
  4509. 0x52b},
  4510. /* 1090 MCS-12 */ { EHT160_LDPC_ONLY_MASKS,
  4511. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4512. 1916400, 0, 1810000, 1629000, 0, 1916400,
  4513. 0x52c},
  4514. /* 1091 MCS-13 */ { EHT160_LDPC_ONLY_MASKS,
  4515. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4516. 2129400, 0, 2011200, 1810000, 0, 2129400,
  4517. 0x52d},
  4518. /* when number of spatial streams > 2 */
  4519. /* 1092 MCS-14 */ { EHT160_LDPC_ONLY_MASKS,
  4520. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4521. 39900, 0, 37800, 33900, 0, 39900,
  4522. 0x54e},
  4523. /* 1093 MCS-15 */ { EHT160_LDPC_ONLY_MASKS,
  4524. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4525. 79800, 0, 75300, 67800, 79800, 79800,
  4526. 0x54f},
  4527. /* 1094 MCS-00 */ { EHT160_LDPC_ONLY_MASKS,
  4528. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4529. 159600, 0, 150900, 135900, 0, 159600,
  4530. 0x540},
  4531. /* 1095 MCS-01 */ { EHT160_LDPC_ONLY_MASKS,
  4532. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4533. 319500, 0, 301800, 271500, 0, 319500,
  4534. 0x541},
  4535. /* 1096 MCS-02 */ { EHT160_LDPC_ONLY_MASKS,
  4536. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4537. 479099, 0, 452400, 407400, 0, 479099,
  4538. 0x542},
  4539. /* 1097 MCS-03 */ { EHT160_LDPC_ONLY_MASKS,
  4540. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4541. 638700, 0, 603300, 543000, 0, 638700,
  4542. 0x543},
  4543. /* 1098 MCS-04 */ { EHT160_LDPC_ONLY_MASKS,
  4544. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4545. 958199, 0, 905100, 814500, 0, 958199,
  4546. 0x544},
  4547. /* 1099 MCS-05 */ { EHT160_LDPC_ONLY_MASKS,
  4548. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4549. 1277700, 0, 1206600, 1086000, 0, 1277700,
  4550. 0x545},
  4551. /* 1100 MCS-06 */ { EHT160_LDPC_ONLY_MASKS,
  4552. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4553. 1437300, 0, 1357500, 1221900, 0, 1437300,
  4554. 0x546},
  4555. /* 1101 MCS-07 */ { EHT160_LDPC_ONLY_MASKS,
  4556. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4557. 1597200, 0, 1508400, 1357500, 0, 1597200,
  4558. 0x547},
  4559. /* 1102 MCS-08 */ { EHT160_LDPC_ONLY_MASKS,
  4560. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4561. 1916399, 0, 1809899, 1629000, 0, 1916399,
  4562. 0x548},
  4563. /* 1103 MCS-09 */ { EHT160_LDPC_ONLY_MASKS,
  4564. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4565. 2129400, 0, 2011200, 1809899, 0, 2129400,
  4566. 0x549},
  4567. /* 1104 MCS-10 */ { EHT160_LDPC_ONLY_MASKS,
  4568. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4569. 2395500, 0, 2262600, 2036399, 0, 2395500,
  4570. 0x54a},
  4571. /* 1105 MCS-11 */ { EHT160_LDPC_ONLY_MASKS,
  4572. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4573. 2661900, 0, 2514000, 2262600, 0, 2661900,
  4574. 0x54b},
  4575. /* 1106 MCS-12 */ { EHT160_LDPC_ONLY_MASKS,
  4576. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4577. 2874600, 0, 2715000, 2443500, 0, 2874600,
  4578. 0x54c},
  4579. /* 1107 MCS-13 */ { EHT160_LDPC_ONLY_MASKS,
  4580. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4581. 3194100, 0, 3016800, 2715000, 0, 3194100,
  4582. 0x54d},
  4583. /* when number of spatial streams > 3 */
  4584. /* 1108 MCS-14 */ { EHT160_LDPC_ONLY_MASKS,
  4585. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4586. 53200, 0, 50400, 45200, 0, 53200,
  4587. 0x56e},
  4588. /* 1109 MCS-15 */ { EHT160_LDPC_ONLY_MASKS,
  4589. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4590. 106400, 0, 100400, 90400, 106400, 106400,
  4591. 0x56f},
  4592. /* 1110 MCS-00 */ { EHT160_LDPC_ONLY_MASKS,
  4593. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4594. 212800, 0, 201200, 181200, 0, 212800,
  4595. 0x560},
  4596. /* 1111 MCS-01 */ { EHT160_LDPC_ONLY_MASKS,
  4597. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4598. 426000, 0, 402400, 362000, 0, 426000,
  4599. 0x561},
  4600. /* 1112 MCS-02 */ { EHT160_LDPC_ONLY_MASKS,
  4601. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4602. 638800, 0, 603200, 543200, 0, 638800,
  4603. 0x562},
  4604. /* 1113 MCS-03 */ { EHT160_LDPC_ONLY_MASKS,
  4605. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4606. 851600, 0, 804400, 724000, 0, 851600,
  4607. 0x563},
  4608. /* 1114 MCS-04 */ { EHT160_LDPC_ONLY_MASKS,
  4609. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4610. 1277600, 0, 1206800, 1086000, 0, 1277600,
  4611. 0x564},
  4612. /* 1115 MCS-05 */ { EHT160_LDPC_ONLY_MASKS,
  4613. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4614. 1703600, 0, 1608800, 1448000, 0, 1703600,
  4615. 0x565},
  4616. /* 1116 MCS-06 */ { EHT160_LDPC_ONLY_MASKS,
  4617. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4618. 1916400, 0, 1810000, 1629200, 0, 1916400,
  4619. 0x566},
  4620. /* 1117 MCS-07 */ { EHT160_LDPC_ONLY_MASKS,
  4621. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4622. 2129600, 0, 2011200, 1810000, 0, 2129600,
  4623. 0x567},
  4624. /* 1118 MCS-08 */ { EHT160_LDPC_ONLY_MASKS,
  4625. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4626. 2555200, 0, 2413200, 2172000, 0, 2555200,
  4627. 0x568},
  4628. /* 1119 MCS-09 */ { EHT160_LDPC_ONLY_MASKS,
  4629. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4630. 2839200, 0, 2681600, 2413200, 0, 2839200,
  4631. 0x569},
  4632. /* 1120 MCS-10 */ { EHT160_LDPC_ONLY_MASKS,
  4633. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4634. 3194000, 0, 3016800, 2715200, 0, 3194000,
  4635. 0x56a},
  4636. /* 1121 MCS-11 */ { EHT160_LDPC_ONLY_MASKS,
  4637. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4638. 3549200, 0, 3352000, 3016800, 0, 3549200,
  4639. 0x56b},
  4640. /* 1122 MCS-12 */ { EHT160_LDPC_ONLY_MASKS,
  4641. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4642. 3832800, 0, 3620000, 3258000, 0, 3832800,
  4643. 0x56c},
  4644. /* 1123 MCS-13 */ { EHT160_LDPC_ONLY_MASKS,
  4645. DP_CMN_MOD_IEEE80211_T_EHT_120,
  4646. 4258800, 0, 4022400, 3620000, 0, 4258800,
  4647. 0x56d},
  4648. /* 1124 MCS-14 */ { EHT160_LDPC_ONLY_MASKS,
  4649. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4650. 15400, 0, 14600, 13100, 0, 15400,
  4651. 0x50e},
  4652. /* 1125 MCS-15 */ { EHT160_LDPC_ONLY_MASKS,
  4653. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4654. 30900, 0, 29200, 26300, 30900, 30900,
  4655. 0x50f},
  4656. /* 1126 MCS-00 */ { EHT160_LDPC_ONLY_MASKS,
  4657. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4658. 61800, 0, 58400, 52600, 0, 61800,
  4659. 0x500},
  4660. /* 1127 MCS-01 */ { EHT160_LDPC_ONLY_MASKS,
  4661. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4662. 123700, 0, 116800, 105100, 0, 123700,
  4663. 0x501},
  4664. /* 1128 MCS-02 */ { EHT160_LDPC_ONLY_MASKS,
  4665. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4666. 185500, 0, 175200, 157700, 0, 185500,
  4667. 0x502},
  4668. /* 1129 MCS-03 */ { EHT160_LDPC_ONLY_MASKS,
  4669. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4670. 247400, 0, 233600, 210300, 0, 247400,
  4671. 0x503},
  4672. /* 1130 MCS-04 */ { EHT160_LDPC_ONLY_MASKS,
  4673. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4674. 371000, 0, 350400, 315400, 0, 371000,
  4675. 0x504},
  4676. /* 1131 MCS-05 */ { EHT160_LDPC_ONLY_MASKS,
  4677. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4678. 494700, 0, 467200, 420500, 0, 494700,
  4679. 0x505},
  4680. /* 1132 MCS-06 */ { EHT160_LDPC_ONLY_MASKS,
  4681. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4682. 556500, 0, 525600, 473100, 0, 556500,
  4683. 0x506},
  4684. /* 1133 MCS-07 */ { EHT160_LDPC_ONLY_MASKS,
  4685. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4686. 618400, 0, 584000, 525600, 0, 618400,
  4687. 0x507},
  4688. /* 1134 MCS-08 */ { EHT160_LDPC_ONLY_MASKS,
  4689. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4690. 742100, 0, 700800, 630800, 0, 742100,
  4691. 0x508},
  4692. /* 1135 MCS-09 */ { EHT160_LDPC_ONLY_MASKS,
  4693. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4694. 824500, 0, 778700, 700800, 0, 824500,
  4695. 0x509},
  4696. /* 1136 MCS-10 */ { EHT160_LDPC_ONLY_MASKS,
  4697. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4698. 927600, 0, 876000, 788400, 0, 927600,
  4699. 0x50a},
  4700. /* 1137 MCS-11 */ { EHT160_LDPC_ONLY_MASKS,
  4701. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4702. 1030599, 0, 973400, 876000, 0, 1030599,
  4703. 0x50b},
  4704. /* 1138 MCS-12 */ { EHT160_LDPC_ONLY_MASKS,
  4705. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4706. 1113100, 0, 1051300, 946100, 0, 1113100,
  4707. 0x50c},
  4708. /* 1139 MCS-13 */ { EHT160_LDPC_ONLY_MASKS,
  4709. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4710. 1236800, 0, 1168100, 1051300, 0, 1236800,
  4711. 0x50d},
  4712. /* when number of spatial streams > 1 */
  4713. /* 1140 MCS-14 */ { EHT160_LDPC_ONLY_MASKS,
  4714. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4715. 30800, 0, 29200, 26200, 0, 30800,
  4716. 0x52e},
  4717. /* 1141 MCS-15 */ { EHT160_LDPC_ONLY_MASKS,
  4718. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4719. 61800, 0, 58400, 52600, 61800, 61800,
  4720. 0x52f},
  4721. /* 1142 MCS-00 */ { EHT160_LDPC_ONLY_MASKS,
  4722. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4723. 123600, 0, 116800, 105200, 0, 123600,
  4724. 0x520},
  4725. /* 1143 MCS-01 */ { EHT160_LDPC_ONLY_MASKS,
  4726. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4727. 247400, 0, 233600, 210200, 0, 247400,
  4728. 0x521},
  4729. /* 1144 MCS-02 */ { EHT160_LDPC_ONLY_MASKS,
  4730. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4731. 371000, 0, 350400, 315400, 0, 371000,
  4732. 0x522},
  4733. /* 1145 MCS-03 */ { EHT160_LDPC_ONLY_MASKS,
  4734. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4735. 494800, 0, 467200, 420600, 0, 494800,
  4736. 0x523},
  4737. /* 1146 MCS-04 */ { EHT160_LDPC_ONLY_MASKS,
  4738. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4739. 742000, 0, 700800, 630800, 0, 742000,
  4740. 0x524},
  4741. /* 1147 MCS-05 */ { EHT160_LDPC_ONLY_MASKS,
  4742. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4743. 989400, 0, 934400, 841000, 0, 989400,
  4744. 0x525},
  4745. /* 1148 MCS-06 */ { EHT160_LDPC_ONLY_MASKS,
  4746. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4747. 1113000, 0, 1051200, 946200, 0, 1113000,
  4748. 0x526},
  4749. /* 1149 MCS-07 */ { EHT160_LDPC_ONLY_MASKS,
  4750. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4751. 1236800, 0, 1168000, 1051200, 0, 1236800,
  4752. 0x527},
  4753. /* 1150 MCS-08 */ { EHT160_LDPC_ONLY_MASKS,
  4754. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4755. 1484200, 0, 1401600, 1261600, 0, 1484200,
  4756. 0x528},
  4757. /* 1151 MCS-09 */ { EHT160_LDPC_ONLY_MASKS,
  4758. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4759. 1649000, 0, 1557400, 1401600, 0, 1649000,
  4760. 0x529},
  4761. /* 1152 MCS-10 */ { EHT160_LDPC_ONLY_MASKS,
  4762. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4763. 1855200, 0, 1752000, 1576800, 0, 1855200,
  4764. 0x52a},
  4765. /* 1153 MCS-11 */ { EHT160_LDPC_ONLY_MASKS,
  4766. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4767. 2061199, 0, 1946800, 1752000, 0, 2061199,
  4768. 0x52b},
  4769. /* 1154 MCS-12 */ { EHT160_LDPC_ONLY_MASKS,
  4770. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4771. 2226200, 0, 2102600, 1892200, 0, 2226200,
  4772. 0x52c},
  4773. /* 1155 MCS-13 */ { EHT160_LDPC_ONLY_MASKS,
  4774. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4775. 2473600, 0, 2336200, 2102600, 0, 2473600,
  4776. 0x52d},
  4777. /* when number of spatial streams > 2 */
  4778. /* 1156 MCS-14 */ { EHT160_LDPC_ONLY_MASKS,
  4779. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4780. 46200, 0, 43800, 39300, 0, 46200,
  4781. 0x54e},
  4782. /* 1157 MCS-15 */ { EHT160_LDPC_ONLY_MASKS,
  4783. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4784. 92700, 0, 87600, 78900, 92700, 92700,
  4785. 0x54f},
  4786. /* 1158 MCS-00 */ { EHT160_LDPC_ONLY_MASKS,
  4787. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4788. 185400, 0, 175200, 157800, 0, 185400,
  4789. 0x540},
  4790. /* 1159 MCS-01 */ { EHT160_LDPC_ONLY_MASKS,
  4791. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4792. 371100, 0, 350400, 315300, 0, 371100,
  4793. 0x541},
  4794. /* 1160 MCS-02 */ { EHT160_LDPC_ONLY_MASKS,
  4795. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4796. 556500, 0, 525600, 473099, 0, 556500,
  4797. 0x542},
  4798. /* 1161 MCS-03 */ { EHT160_LDPC_ONLY_MASKS,
  4799. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4800. 742200, 0, 700800, 630900, 0, 742200,
  4801. 0x543},
  4802. /* 1162 MCS-04 */ { EHT160_LDPC_ONLY_MASKS,
  4803. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4804. 1113000, 0, 1051200, 946199, 0, 1113000,
  4805. 0x544},
  4806. /* 1163 MCS-05 */ { EHT160_LDPC_ONLY_MASKS,
  4807. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4808. 1484100, 0, 1401600, 1261500, 0, 1484100,
  4809. 0x545},
  4810. /* 1164 MCS-06 */ { EHT160_LDPC_ONLY_MASKS,
  4811. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4812. 1669500, 0, 1576800, 1419300, 0, 1669500,
  4813. 0x546},
  4814. /* 1165 MCS-07 */ { EHT160_LDPC_ONLY_MASKS,
  4815. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4816. 1855200, 0, 1752000, 1576800, 0, 1855200,
  4817. 0x547},
  4818. /* 1166 MCS-08 */ { EHT160_LDPC_ONLY_MASKS,
  4819. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4820. 2226300, 0, 2102400, 1892399, 0, 2226300,
  4821. 0x548},
  4822. /* 1167 MCS-09 */ { EHT160_LDPC_ONLY_MASKS,
  4823. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4824. 2473500, 0, 2336100, 2102400, 0, 2473500,
  4825. 0x549},
  4826. /* 1168 MCS-10 */ { EHT160_LDPC_ONLY_MASKS,
  4827. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4828. 2782800, 0, 2628000, 2365200, 0, 2782800,
  4829. 0x54a},
  4830. /* 1169 MCS-11 */ { EHT160_LDPC_ONLY_MASKS,
  4831. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4832. 3091799, 0, 2920200, 2628000, 0, 3091799,
  4833. 0x54b},
  4834. /* 1170 MCS-12 */ { EHT160_LDPC_ONLY_MASKS,
  4835. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4836. 3339299, 0, 3153900, 2838300, 0, 3339299,
  4837. 0x54c},
  4838. /* 1171 MCS-13 */ { EHT160_LDPC_ONLY_MASKS,
  4839. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4840. 3710400, 0, 3504299, 3153900, 0, 3710400,
  4841. 0x54d},
  4842. /* when number of spatial streams > 3 */
  4843. /* 1172 MCS-14 */ { EHT160_LDPC_ONLY_MASKS,
  4844. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4845. 61600, 0, 58400, 52400, 0, 61600,
  4846. 0x56e},
  4847. /* 1173 MCS-15 */ { EHT160_LDPC_ONLY_MASKS,
  4848. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4849. 123600, 0, 116800, 105200, 123600, 123600,
  4850. 0x56f},
  4851. /* 1174 MCS-00 */ { EHT160_LDPC_ONLY_MASKS,
  4852. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4853. 247200, 0, 233600, 210400, 0, 247200,
  4854. 0x560},
  4855. /* 1175 MCS-01 */ { EHT160_LDPC_ONLY_MASKS,
  4856. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4857. 494800, 0, 467200, 420400, 0, 494800,
  4858. 0x561},
  4859. /* 1176 MCS-02 */ { EHT160_LDPC_ONLY_MASKS,
  4860. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4861. 742000, 0, 700800, 630800, 0, 742000,
  4862. 0x562},
  4863. /* 1177 MCS-03 */ { EHT160_LDPC_ONLY_MASKS,
  4864. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4865. 989600, 0, 934400, 841200, 0, 989600,
  4866. 0x563},
  4867. /* 1178 MCS-04 */ { EHT160_LDPC_ONLY_MASKS,
  4868. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4869. 1484000, 0, 1401600, 1261600, 0, 1484000,
  4870. 0x564},
  4871. /* 1179 MCS-05 */ { EHT160_LDPC_ONLY_MASKS,
  4872. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4873. 1978800, 0, 1868800, 1682000, 0, 1978800,
  4874. 0x565},
  4875. /* 1180 MCS-06 */ { EHT160_LDPC_ONLY_MASKS,
  4876. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4877. 2226000, 0, 2102400, 1892400, 0, 2226000,
  4878. 0x566},
  4879. /* 1181 MCS-07 */ { EHT160_LDPC_ONLY_MASKS,
  4880. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4881. 2473600, 0, 2336000, 2102400, 0, 2473600,
  4882. 0x567},
  4883. /* 1182 MCS-08 */ { EHT160_LDPC_ONLY_MASKS,
  4884. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4885. 2968400, 0, 2803200, 2523200, 0, 2968400,
  4886. 0x568},
  4887. /* 1183 MCS-09 */ { EHT160_LDPC_ONLY_MASKS,
  4888. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4889. 3298000, 0, 3114800, 2803200, 0, 3298000,
  4890. 0x569},
  4891. /* 1184 MCS-10 */ { EHT160_LDPC_ONLY_MASKS,
  4892. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4893. 3710400, 0, 3504000, 3153600, 0, 3710400,
  4894. 0x56a},
  4895. /* 1185 MCS-11 */ { EHT160_LDPC_ONLY_MASKS,
  4896. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4897. 4122399, 0, 3893600, 3504000, 0, 4122399,
  4898. 0x56b},
  4899. /* 1186 MCS-12 */ { EHT160_LDPC_ONLY_MASKS,
  4900. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4901. 4452400, 0, 4205200, 3784400, 0, 4452400,
  4902. 0x56c},
  4903. /* 1187 MCS-13 */ { EHT160_LDPC_ONLY_MASKS,
  4904. DP_CMN_MOD_IEEE80211_T_EHT_140,
  4905. 4947200, 0, 4672400, 4205200, 0, 4947200,
  4906. 0x56d},
  4907. /* 1188 MCS-14 */ { EHT160_LDPC_ONLY_MASKS,
  4908. DP_CMN_MOD_IEEE80211_T_EHT_160,
  4909. 18000, 0, 17000, 15300, 0, 18000,
  4910. 0x50e},
  4911. /* 1189 MCS-15 */ { EHT160_LDPC_ONLY_MASKS,
  4912. DP_CMN_MOD_IEEE80211_T_EHT_160,
  4913. 36000, 0, 34000, 30600, 36000, 36000,
  4914. 0x50f},
  4915. /* 1190 MCS-00 */ { EHT160_LDPC_ONLY_MASKS,
  4916. DP_CMN_MOD_IEEE80211_T_EHT_160,
  4917. 72100, 0, 68100, 61300, 0, 72100,
  4918. 0x500},
  4919. /* 1191 MCS-01 */ { EHT160_LDPC_ONLY_MASKS,
  4920. DP_CMN_MOD_IEEE80211_T_EHT_160,
  4921. 144100, 0, 136100, 122500, 0, 144100,
  4922. 0x501},
  4923. /* 1192 MCS-02 */ { EHT160_LDPC_ONLY_MASKS,
  4924. DP_CMN_MOD_IEEE80211_T_EHT_160,
  4925. 216200, 0, 204200, 183800, 0, 216200,
  4926. 0x502},
  4927. /* 1193 MCS-03 */ { EHT160_LDPC_ONLY_MASKS,
  4928. DP_CMN_MOD_IEEE80211_T_EHT_160,
  4929. 288200, 0, 272200, 245000, 0, 288200,
  4930. 0x503},
  4931. /* 1194 MCS-04 */ { EHT160_LDPC_ONLY_MASKS,
  4932. DP_CMN_MOD_IEEE80211_T_EHT_160,
  4933. 432400, 0, 408300, 367500, 0, 432400,
  4934. 0x504},
  4935. /* 1195 MCS-05 */ { EHT160_LDPC_ONLY_MASKS,
  4936. DP_CMN_MOD_IEEE80211_T_EHT_160,
  4937. 576500, 0, 544400, 490000, 0, 576500,
  4938. 0x505},
  4939. /* 1196 MCS-06 */ { EHT160_LDPC_ONLY_MASKS,
  4940. DP_CMN_MOD_IEEE80211_T_EHT_160,
  4941. 648500, 0, 612500, 551300, 0, 648500,
  4942. 0x506},
  4943. /* 1197 MCS-07 */ { EHT160_LDPC_ONLY_MASKS,
  4944. DP_CMN_MOD_IEEE80211_T_EHT_160,
  4945. 720600, 0, 680600, 612500, 0, 720600,
  4946. 0x507},
  4947. /* 1198 MCS-08 */ { EHT160_LDPC_ONLY_MASKS,
  4948. DP_CMN_MOD_IEEE80211_T_EHT_160,
  4949. 864700, 0, 816700, 735000, 0, 864700,
  4950. 0x508},
  4951. /* 1199 MCS-09 */ { EHT160_LDPC_ONLY_MASKS,
  4952. DP_CMN_MOD_IEEE80211_T_EHT_160,
  4953. 960800, 0, 907400, 816700, 0, 960800,
  4954. 0x509},
  4955. /* 1200 MCS-10 */ { EHT160_LDPC_ONLY_MASKS,
  4956. DP_CMN_MOD_IEEE80211_T_EHT_160,
  4957. 1080900, 0, 1020800, 918800, 0, 1080900,
  4958. 0x50a},
  4959. /* 1201 MCS-11 */ { EHT160_LDPC_ONLY_MASKS,
  4960. DP_CMN_MOD_IEEE80211_T_EHT_160,
  4961. 1201000, 0, 1134300, 1020800, 0, 1201000,
  4962. 0x50b},
  4963. /* 1202 MCS-12 */ { EHT160_LDPC_ONLY_MASKS,
  4964. DP_CMN_MOD_IEEE80211_T_EHT_160,
  4965. 1297100, 0, 1225000, 1102500, 0, 1297100,
  4966. 0x50c},
  4967. /* 1203 MCS-13 */ { EHT160_LDPC_ONLY_MASKS,
  4968. DP_CMN_MOD_IEEE80211_T_EHT_160,
  4969. 1441200, 0, 1361100, 1225000, 0, 1441200,
  4970. 0x50d},
  4971. /* when number of spatial streams > 1 */
  4972. /* 1204 MCS-14 */ { EHT160_LDPC_ONLY_MASKS,
  4973. DP_CMN_MOD_IEEE80211_T_EHT_160,
  4974. 36000, 0, 34000, 30600, 0, 36000,
  4975. 0x52e},
  4976. /* 1205 MCS-15 */ { EHT160_LDPC_ONLY_MASKS,
  4977. DP_CMN_MOD_IEEE80211_T_EHT_160,
  4978. 72000, 0, 68000, 61200, 72000, 72000,
  4979. 0x52f},
  4980. /* 1206 MCS-00 */ { EHT160_LDPC_ONLY_MASKS,
  4981. DP_CMN_MOD_IEEE80211_T_EHT_160,
  4982. 144200, 0, 136200, 122600, 0, 144200,
  4983. 0x520},
  4984. /* 1207 MCS-01 */ { EHT160_LDPC_ONLY_MASKS,
  4985. DP_CMN_MOD_IEEE80211_T_EHT_160,
  4986. 288200, 0, 272200, 245000, 0, 288200,
  4987. 0x521},
  4988. /* 1208 MCS-02 */ { EHT160_LDPC_ONLY_MASKS,
  4989. DP_CMN_MOD_IEEE80211_T_EHT_160,
  4990. 432400, 0, 408400, 367600, 0, 432400,
  4991. 0x522},
  4992. /* 1209 MCS-03 */ { EHT160_LDPC_ONLY_MASKS,
  4993. DP_CMN_MOD_IEEE80211_T_EHT_160,
  4994. 576400, 0, 544400, 490000, 0, 576400,
  4995. 0x523},
  4996. /* 1210 MCS-04 */ { EHT160_LDPC_ONLY_MASKS,
  4997. DP_CMN_MOD_IEEE80211_T_EHT_160,
  4998. 864800, 0, 816600, 735000, 0, 864800,
  4999. 0x524},
  5000. /* 1211 MCS-05 */ { EHT160_LDPC_ONLY_MASKS,
  5001. DP_CMN_MOD_IEEE80211_T_EHT_160,
  5002. 1153000, 0, 1088800, 980000, 0, 1153000,
  5003. 0x525},
  5004. /* 1212 MCS-06 */ { EHT160_LDPC_ONLY_MASKS,
  5005. DP_CMN_MOD_IEEE80211_T_EHT_160,
  5006. 1297000, 0, 1225000, 1102600, 0, 1297000,
  5007. 0x526},
  5008. /* 1213 MCS-07 */ { EHT160_LDPC_ONLY_MASKS,
  5009. DP_CMN_MOD_IEEE80211_T_EHT_160,
  5010. 1441200, 0, 1361200, 1225000, 0, 1441200,
  5011. 0x527},
  5012. /* 1214 MCS-08 */ { EHT160_LDPC_ONLY_MASKS,
  5013. DP_CMN_MOD_IEEE80211_T_EHT_160,
  5014. 1729400, 0, 1633400, 1470000, 0, 1729400,
  5015. 0x528},
  5016. /* 1215 MCS-09 */ { EHT160_LDPC_ONLY_MASKS,
  5017. DP_CMN_MOD_IEEE80211_T_EHT_160,
  5018. 1921600, 0, 1814800, 1633400, 0, 1921600,
  5019. 0x529},
  5020. /* 1216 MCS-10 */ { EHT160_LDPC_ONLY_MASKS,
  5021. DP_CMN_MOD_IEEE80211_T_EHT_160,
  5022. 2161800, 0, 2041600, 1837600, 0, 2161800,
  5023. 0x52a},
  5024. /* 1217 MCS-11 */ { EHT160_LDPC_ONLY_MASKS,
  5025. DP_CMN_MOD_IEEE80211_T_EHT_160,
  5026. 2402000, 0, 2268600, 2041600, 0, 2402000,
  5027. 0x52b},
  5028. /* 1218 MCS-12 */ { EHT160_LDPC_ONLY_MASKS,
  5029. DP_CMN_MOD_IEEE80211_T_EHT_160,
  5030. 2594200, 0, 2450000, 2205000, 0, 2594200,
  5031. 0x52c},
  5032. /* 1219 MCS-13 */ { EHT160_LDPC_ONLY_MASKS,
  5033. DP_CMN_MOD_IEEE80211_T_EHT_160,
  5034. 2882400, 0, 2722200, 2450000, 0, 2882400,
  5035. 0x52d},
  5036. /* when number of spatial streams > 2 */
  5037. /* 1220 MCS-14 */ { EHT160_LDPC_ONLY_MASKS,
  5038. DP_CMN_MOD_IEEE80211_T_EHT_160,
  5039. 54000, 0, 51000, 45900, 0, 54000,
  5040. 0x54e},
  5041. /* 1221 MCS-15 */ { EHT160_LDPC_ONLY_MASKS,
  5042. DP_CMN_MOD_IEEE80211_T_EHT_160,
  5043. 108000, 0, 102000, 91800, 108000, 108000,
  5044. 0x54f},
  5045. /* 1222 MCS-00 */ { EHT160_LDPC_ONLY_MASKS,
  5046. DP_CMN_MOD_IEEE80211_T_EHT_160,
  5047. 216299, 0, 204299, 183900, 0, 216299,
  5048. 0x540},
  5049. /* 1223 MCS-01 */ { EHT160_LDPC_ONLY_MASKS,
  5050. DP_CMN_MOD_IEEE80211_T_EHT_160,
  5051. 432300, 0, 408300, 367500, 0, 432300,
  5052. 0x541},
  5053. /* 1224 MCS-02 */ { EHT160_LDPC_ONLY_MASKS,
  5054. DP_CMN_MOD_IEEE80211_T_EHT_160,
  5055. 648600, 0, 612600, 551400, 0, 648600,
  5056. 0x542},
  5057. /* 1225 MCS-03 */ { EHT160_LDPC_ONLY_MASKS,
  5058. DP_CMN_MOD_IEEE80211_T_EHT_160,
  5059. 864600, 0, 816600, 735000, 0, 864600,
  5060. 0x543},
  5061. /* 1226 MCS-04 */ { EHT160_LDPC_ONLY_MASKS,
  5062. DP_CMN_MOD_IEEE80211_T_EHT_160,
  5063. 1297200, 0, 1224900, 1102500, 0, 1297200,
  5064. 0x544},
  5065. /* 1227 MCS-05 */ { EHT160_LDPC_ONLY_MASKS,
  5066. DP_CMN_MOD_IEEE80211_T_EHT_160,
  5067. 1729500, 0, 1633200, 1470000, 0, 1729500,
  5068. 0x545},
  5069. /* 1228 MCS-06 */ { EHT160_LDPC_ONLY_MASKS,
  5070. DP_CMN_MOD_IEEE80211_T_EHT_160,
  5071. 1945500, 0, 1837500, 1653899, 0, 1945500,
  5072. 0x546},
  5073. /* 1229 MCS-07 */ { EHT160_LDPC_ONLY_MASKS,
  5074. DP_CMN_MOD_IEEE80211_T_EHT_160,
  5075. 2161800, 0, 2041800, 1837500, 0, 2161800,
  5076. 0x547},
  5077. /* 1230 MCS-08 */ { EHT160_LDPC_ONLY_MASKS,
  5078. DP_CMN_MOD_IEEE80211_T_EHT_160,
  5079. 2594100, 0, 2450100, 2205000, 0, 2594100,
  5080. 0x548},
  5081. /* 1231 MCS-09 */ { EHT160_LDPC_ONLY_MASKS,
  5082. DP_CMN_MOD_IEEE80211_T_EHT_160,
  5083. 2882400, 0, 2722200, 2450100, 0, 2882400,
  5084. 0x549},
  5085. /* 1232 MCS-10 */ { EHT160_LDPC_ONLY_MASKS,
  5086. DP_CMN_MOD_IEEE80211_T_EHT_160,
  5087. 3242700, 0, 3062400, 2756400, 0, 3242700,
  5088. 0x54a},
  5089. /* 1233 MCS-11 */ { EHT160_LDPC_ONLY_MASKS,
  5090. DP_CMN_MOD_IEEE80211_T_EHT_160,
  5091. 3603000, 0, 3402900, 3062400, 0, 3603000,
  5092. 0x54b},
  5093. /* 1234 MCS-12 */ { EHT160_LDPC_ONLY_MASKS,
  5094. DP_CMN_MOD_IEEE80211_T_EHT_160,
  5095. 3891299, 0, 3675000, 3307500, 0, 3891299,
  5096. 0x54c},
  5097. /* 1235 MCS-13 */ { EHT160_LDPC_ONLY_MASKS,
  5098. DP_CMN_MOD_IEEE80211_T_EHT_160,
  5099. 4323600, 0, 4083299, 3675000, 0, 4323600,
  5100. 0x54d},
  5101. /* when number of spatial streams > 3 */
  5102. /* 1236 MCS-14 */ { EHT160_LDPC_ONLY_MASKS,
  5103. DP_CMN_MOD_IEEE80211_T_EHT_160,
  5104. 72000, 0, 68000, 61200, 0, 72000,
  5105. 0x56e},
  5106. /* 1237 MCS-15 */ { EHT160_LDPC_ONLY_MASKS,
  5107. DP_CMN_MOD_IEEE80211_T_EHT_160,
  5108. 144000, 0, 136000, 122400, 144000, 144000,
  5109. 0x56f},
  5110. /* 1238 MCS-00 */ { EHT160_LDPC_ONLY_MASKS,
  5111. DP_CMN_MOD_IEEE80211_T_EHT_160,
  5112. 288400, 0, 272400, 245200, 0, 288400,
  5113. 0x560},
  5114. /* 1239 MCS-01 */ { EHT160_LDPC_ONLY_MASKS,
  5115. DP_CMN_MOD_IEEE80211_T_EHT_160,
  5116. 576400, 0, 544400, 490000, 0, 576400,
  5117. 0x561},
  5118. /* 1240 MCS-02 */ { EHT160_LDPC_ONLY_MASKS,
  5119. DP_CMN_MOD_IEEE80211_T_EHT_160,
  5120. 864800, 0, 816800, 735200, 0, 864800,
  5121. 0x562},
  5122. /* 1241 MCS-03 */ { EHT160_LDPC_ONLY_MASKS,
  5123. DP_CMN_MOD_IEEE80211_T_EHT_160,
  5124. 1152800, 0, 1088800, 980000, 0, 1152800,
  5125. 0x563},
  5126. /* 1242 MCS-04 */ { EHT160_LDPC_ONLY_MASKS,
  5127. DP_CMN_MOD_IEEE80211_T_EHT_160,
  5128. 1729600, 0, 1633200, 1470000, 0, 1729600,
  5129. 0x564},
  5130. /* 1243 MCS-05 */ { EHT160_LDPC_ONLY_MASKS,
  5131. DP_CMN_MOD_IEEE80211_T_EHT_160,
  5132. 2306000, 0, 2177600, 1960000, 0, 2306000,
  5133. 0x565},
  5134. /* 1244 MCS-06 */ { EHT160_LDPC_ONLY_MASKS,
  5135. DP_CMN_MOD_IEEE80211_T_EHT_160,
  5136. 2594000, 0, 2450000, 2205200, 0, 2594000,
  5137. 0x566},
  5138. /* 1245 MCS-07 */ { EHT160_LDPC_ONLY_MASKS,
  5139. DP_CMN_MOD_IEEE80211_T_EHT_160,
  5140. 2882400, 0, 2722400, 2450000, 0, 2882400,
  5141. 0x567},
  5142. /* 1246 MCS-08 */ { EHT160_LDPC_ONLY_MASKS,
  5143. DP_CMN_MOD_IEEE80211_T_EHT_160,
  5144. 3458800, 0, 3266800, 2940000, 0, 3458800,
  5145. 0x568},
  5146. /* 1247 MCS-09 */ { EHT160_LDPC_ONLY_MASKS,
  5147. DP_CMN_MOD_IEEE80211_T_EHT_160,
  5148. 3843200, 0, 3629600, 3266800, 0, 3843200,
  5149. 0x569},
  5150. /* 1248 MCS-10 */ { EHT160_LDPC_ONLY_MASKS,
  5151. DP_CMN_MOD_IEEE80211_T_EHT_160,
  5152. 4323600, 0, 4083200, 3675200, 0, 4323600,
  5153. 0x56a},
  5154. /* 1249 MCS-11 */ { EHT160_LDPC_ONLY_MASKS,
  5155. DP_CMN_MOD_IEEE80211_T_EHT_160,
  5156. 4804000, 0, 4537200, 4083200, 0, 4804000,
  5157. 0x56b},
  5158. /* 1250 MCS-12 */ { EHT160_LDPC_ONLY_MASKS,
  5159. DP_CMN_MOD_IEEE80211_T_EHT_160,
  5160. 5188400, 0, 4900000, 4410000, 0, 5188400,
  5161. 0x56c},
  5162. /* 1251 MCS-13 */ { EHT160_LDPC_ONLY_MASKS,
  5163. DP_CMN_MOD_IEEE80211_T_EHT_160,
  5164. 5764800, 0, 5444400, 4900000, 0, 5764800,
  5165. 0x56d},
  5166. /* 1252 MCS-14 */ { EHT320_LDPC_ONLY_MASKS,
  5167. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5168. 22300, 0, 21100, 19000, 0, 22300,
  5169. 0x50e},
  5170. /* 1253 MCS-15 */ { EHT320_LDPC_ONLY_MASKS,
  5171. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5172. 44600, 0, 42200, 37900, 44600, 44600,
  5173. 0x50f},
  5174. /* 1254 MCS-00 */ { EHT320_LDPC_ONLY_MASKS,
  5175. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5176. 89300, 0, 84300, 75900, 0, 89300,
  5177. 0x500},
  5178. /* 1255 MCS-01 */ { EHT320_LDPC_ONLY_MASKS,
  5179. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5180. 178500, 0, 168600, 151800, 0, 178500,
  5181. 0x501},
  5182. /* 1256 MCS-02 */ { EHT320_LDPC_ONLY_MASKS,
  5183. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5184. 267800, 0, 252900, 227600, 0, 267800,
  5185. 0x502},
  5186. /* 1257 MCS-03 */ { EHT320_LDPC_ONLY_MASKS,
  5187. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5188. 357100, 0, 337200, 303500, 0, 357100,
  5189. 0x503},
  5190. /* 1258 MCS-04 */ { EHT320_LDPC_ONLY_MASKS,
  5191. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5192. 535600, 0, 505800, 455300, 0, 535600,
  5193. 0x504},
  5194. /* 1259 MCS-05 */ { EHT320_LDPC_ONLY_MASKS,
  5195. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5196. 714100, 0, 674400, 607000, 0, 714100,
  5197. 0x505},
  5198. /* 1260 MCS-06 */ { EHT320_LDPC_ONLY_MASKS,
  5199. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5200. 803400, 0, 758800, 682900, 0, 803400,
  5201. 0x506},
  5202. /* 1261 MCS-07 */ { EHT320_LDPC_ONLY_MASKS,
  5203. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5204. 892600, 0, 843100, 758800, 0, 892600,
  5205. 0x507},
  5206. /* 1262 MCS-08 */ { EHT320_LDPC_ONLY_MASKS,
  5207. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5208. 1071200, 0, 1011700, 910500, 0, 1071200,
  5209. 0x508},
  5210. /* 1263 MCS-09 */ { EHT320_LDPC_ONLY_MASKS,
  5211. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5212. 1190200, 0, 1124100, 1011700, 0, 1190200,
  5213. 0x509},
  5214. /* 1264 MCS-10 */ { EHT320_LDPC_ONLY_MASKS,
  5215. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5216. 1339000, 0, 1264600, 1138100, 0, 1339000,
  5217. 0x50a},
  5218. /* 1265 MCS-11 */ { EHT320_LDPC_ONLY_MASKS,
  5219. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5220. 1487700, 0, 1405100, 1264600, 0, 1487700,
  5221. 0x50b},
  5222. /* 1266 MCS-12 */ { EHT320_LDPC_ONLY_MASKS,
  5223. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5224. 1606800, 0, 1517500, 1365800, 0, 1606800,
  5225. 0x50c},
  5226. /* 1267 MCS-13 */ { EHT320_LDPC_ONLY_MASKS,
  5227. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5228. 1785300, 0, 1686100, 1517500, 0, 1785300,
  5229. 0x50d},
  5230. /* when number of spatial streams > 1 */
  5231. /* 1268 MCS-14 */ { EHT320_LDPC_ONLY_MASKS,
  5232. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5233. 44600, 0, 42200, 38000, 0, 44600,
  5234. 0x52e},
  5235. /* 1269 MCS-15 */ { EHT320_LDPC_ONLY_MASKS,
  5236. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5237. 89200, 0, 84400, 75800, 89200, 89200,
  5238. 0x52f},
  5239. /* 1270 MCS-00 */ { EHT320_LDPC_ONLY_MASKS,
  5240. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5241. 178600, 0, 168600, 151800, 0, 178600,
  5242. 0x520},
  5243. /* 1271 MCS-01 */ { EHT320_LDPC_ONLY_MASKS,
  5244. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5245. 357000, 0, 337200, 303600, 0, 357000,
  5246. 0x521},
  5247. /* 1272 MCS-02 */ { EHT320_LDPC_ONLY_MASKS,
  5248. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5249. 535600, 0, 505800, 455200, 0, 535600,
  5250. 0x522},
  5251. /* 1273 MCS-03 */ { EHT320_LDPC_ONLY_MASKS,
  5252. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5253. 714200, 0, 674400, 607000, 0, 714200,
  5254. 0x523},
  5255. /* 1274 MCS-04 */ { EHT320_LDPC_ONLY_MASKS,
  5256. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5257. 1071200, 0, 1011600, 910600, 0, 1071200,
  5258. 0x524},
  5259. /* 1275 MCS-05 */ { EHT320_LDPC_ONLY_MASKS,
  5260. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5261. 1428200, 0, 1348800, 1214000, 0, 1428200,
  5262. 0x525},
  5263. /* 1276 MCS-06 */ { EHT320_LDPC_ONLY_MASKS,
  5264. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5265. 1606800, 0, 1517600, 1365800, 0, 1606800,
  5266. 0x526},
  5267. /* 1277 MCS-07 */ { EHT320_LDPC_ONLY_MASKS,
  5268. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5269. 1785200, 0, 1686200, 1517600, 0, 1785200,
  5270. 0x527},
  5271. /* 1278 MCS-08 */ { EHT320_LDPC_ONLY_MASKS,
  5272. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5273. 2142400, 0, 2023400, 1821000, 0, 2142400,
  5274. 0x528},
  5275. /* 1279 MCS-09 */ { EHT320_LDPC_ONLY_MASKS,
  5276. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5277. 2380400, 0, 2248200, 2023400, 0, 2380400,
  5278. 0x529},
  5279. /* 1280 MCS-10 */ { EHT320_LDPC_ONLY_MASKS,
  5280. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5281. 2678000, 0, 2529200, 2276200, 0, 2678000,
  5282. 0x52a},
  5283. /* 1281 MCS-11 */ { EHT320_LDPC_ONLY_MASKS,
  5284. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5285. 2975400, 0, 2810200, 2529200, 0, 2975400,
  5286. 0x52b},
  5287. /* 1282 MCS-12 */ { EHT320_LDPC_ONLY_MASKS,
  5288. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5289. 3213600, 0, 3035000, 2731600, 0, 3213600,
  5290. 0x52c},
  5291. /* 1283 MCS-13 */ { EHT320_LDPC_ONLY_MASKS,
  5292. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5293. 3570600, 0, 3372200, 3035000, 0, 3570600,
  5294. 0x52d},
  5295. /* when number of spatial streams > 2 */
  5296. /* 1284 MCS-14 */ { EHT320_LDPC_ONLY_MASKS,
  5297. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5298. 66900, 0, 63300, 57000, 0, 66900,
  5299. 0x54e},
  5300. /* 1285 MCS-15 */ { EHT320_LDPC_ONLY_MASKS,
  5301. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5302. 133800, 0, 126600, 113700, 133800, 133800,
  5303. 0x54f},
  5304. /* 1286 MCS-00 */ { EHT320_LDPC_ONLY_MASKS,
  5305. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5306. 267900, 0, 252900, 227700, 0, 267900,
  5307. 0x540},
  5308. /* 1287 MCS-01 */ { EHT320_LDPC_ONLY_MASKS,
  5309. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5310. 535500, 0, 505800, 455400, 0, 535500,
  5311. 0x541},
  5312. /* 1288 MCS-02 */ { EHT320_LDPC_ONLY_MASKS,
  5313. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5314. 803400, 0, 758700, 682800, 0, 803400,
  5315. 0x542},
  5316. /* 1289 MCS-03 */ { EHT320_LDPC_ONLY_MASKS,
  5317. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5318. 1071300, 0, 1011600, 910500, 0, 1071300,
  5319. 0x543},
  5320. /* 1290 MCS-04 */ { EHT320_LDPC_ONLY_MASKS,
  5321. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5322. 1606800, 0, 1517400, 1365900, 0, 1606800,
  5323. 0x544},
  5324. /* 1291 MCS-05 */ { EHT320_LDPC_ONLY_MASKS,
  5325. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5326. 2142300, 0, 2023200, 1821000, 0, 2142300,
  5327. 0x545},
  5328. /* 1292 MCS-06 */ { EHT320_LDPC_ONLY_MASKS,
  5329. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5330. 2410200, 0, 2276400, 2048700, 0, 2410200,
  5331. 0x546},
  5332. /* 1293 MCS-07 */ { EHT320_LDPC_ONLY_MASKS,
  5333. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5334. 2677800, 0, 2529300, 2276400, 0, 2677800,
  5335. 0x547},
  5336. /* 1294 MCS-08 */ { EHT320_LDPC_ONLY_MASKS,
  5337. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5338. 3213600, 0, 3035100, 2731500, 0, 3213600,
  5339. 0x548},
  5340. /* 1295 MCS-09 */ { EHT320_LDPC_ONLY_MASKS,
  5341. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5342. 3570600, 0, 3372299, 3035100, 0, 3570600,
  5343. 0x549},
  5344. /* 1296 MCS-10 */ { EHT320_LDPC_ONLY_MASKS,
  5345. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5346. 4017000, 0, 3793799, 3414299, 0, 4017000,
  5347. 0x54a},
  5348. /* 1297 MCS-11 */ { EHT320_LDPC_ONLY_MASKS,
  5349. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5350. 4463100, 0, 4215300, 3793799, 0, 4463100,
  5351. 0x54b},
  5352. /* 1298 MCS-12 */ { EHT320_LDPC_ONLY_MASKS,
  5353. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5354. 4820400, 0, 4552500, 4097400, 0, 4820400,
  5355. 0x54c},
  5356. /* 1299 MCS-13 */ { EHT320_LDPC_ONLY_MASKS,
  5357. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5358. 5355900, 0, 5058300, 4552500, 0, 5355900,
  5359. 0x54d},
  5360. /* when number of spatial streams > 3 */
  5361. /* 1300 MCS-14 */ { EHT320_LDPC_ONLY_MASKS,
  5362. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5363. 89200, 0, 84400, 76000, 0, 89200,
  5364. 0x56e},
  5365. /* 1301 MCS-15 */ { EHT320_LDPC_ONLY_MASKS,
  5366. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5367. 178400, 0, 168800, 151600, 178400, 178400,
  5368. 0x56f},
  5369. /* 1302 MCS-00 */ { EHT320_LDPC_ONLY_MASKS,
  5370. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5371. 357200, 0, 337200, 303600, 0, 357200,
  5372. 0x560},
  5373. /* 1303 MCS-01 */ { EHT320_LDPC_ONLY_MASKS,
  5374. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5375. 714000, 0, 674400, 607200, 0, 714000,
  5376. 0x561},
  5377. /* 1304 MCS-02 */ { EHT320_LDPC_ONLY_MASKS,
  5378. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5379. 1071200, 0, 1011600, 910400, 0, 1071200,
  5380. 0x562},
  5381. /* 1305 MCS-03 */ { EHT320_LDPC_ONLY_MASKS,
  5382. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5383. 1428400, 0, 1348800, 1214000, 0, 1428400,
  5384. 0x563},
  5385. /* 1306 MCS-04 */ { EHT320_LDPC_ONLY_MASKS,
  5386. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5387. 2142400, 0, 2023200, 1821200, 0, 2142400,
  5388. 0x564},
  5389. /* 1307 MCS-05 */ { EHT320_LDPC_ONLY_MASKS,
  5390. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5391. 2856400, 0, 2697600, 2428000, 0, 2856400,
  5392. 0x565},
  5393. /* 1308 MCS-06 */ { EHT320_LDPC_ONLY_MASKS,
  5394. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5395. 3213600, 0, 3035200, 2731600, 0, 3213600,
  5396. 0x566},
  5397. /* 1309 MCS-07 */ { EHT320_LDPC_ONLY_MASKS,
  5398. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5399. 3570400, 0, 3372400, 3035200, 0, 3570400,
  5400. 0x567},
  5401. /* 1310 MCS-08 */ { EHT320_LDPC_ONLY_MASKS,
  5402. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5403. 4284800, 0, 4046800, 3642000, 0, 4284800,
  5404. 0x568},
  5405. /* 1311 MCS-09 */ { EHT320_LDPC_ONLY_MASKS,
  5406. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5407. 4760800, 0, 4496400, 4046800, 0, 4760800,
  5408. 0x569},
  5409. /* 1312 MCS-10 */ { EHT320_LDPC_ONLY_MASKS,
  5410. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5411. 5356000, 0, 5058400, 4552400, 0, 5356000,
  5412. 0x56a},
  5413. /* 1313 MCS-11 */ { EHT320_LDPC_ONLY_MASKS,
  5414. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5415. 5950800, 0, 5620400, 5058400, 0, 5950800,
  5416. 0x56b},
  5417. /* 1314 MCS-12 */ { EHT320_LDPC_ONLY_MASKS,
  5418. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5419. 6427200, 0, 6070000, 5463200, 0, 6427200,
  5420. 0x56c},
  5421. /* 1315 MCS-13 */ { EHT320_LDPC_ONLY_MASKS,
  5422. DP_CMN_MOD_IEEE80211_T_EHT_200,
  5423. 7141200, 0, 6744400, 6070000, 0, 7141200,
  5424. 0x56d},
  5425. /* 1316 MCS-14 */ { EHT320_LDPC_ONLY_MASKS,
  5426. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5427. 27000, 0, 25500, 23000, 0, 27000,
  5428. 0x50e},
  5429. /* 1317 MCS-15 */ { EHT320_LDPC_ONLY_MASKS,
  5430. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5431. 54000, 0, 51000, 45900, 54000, 54000,
  5432. 0x50f},
  5433. /* 1318 MCS-00 */ { EHT320_LDPC_ONLY_MASKS,
  5434. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5435. 108100, 0, 102100, 91900, 0, 108100,
  5436. 0x500},
  5437. /* 1319 MCS-01 */ { EHT320_LDPC_ONLY_MASKS,
  5438. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5439. 216200, 0, 204200, 183800, 0, 216200,
  5440. 0x501},
  5441. /* 1320 MCS-02 */ { EHT320_LDPC_ONLY_MASKS,
  5442. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5443. 324300, 0, 306300, 275600, 0, 324300,
  5444. 0x502},
  5445. /* 1321 MCS-03 */ { EHT320_LDPC_ONLY_MASKS,
  5446. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5447. 432400, 0, 408300, 367500, 0, 432400,
  5448. 0x503},
  5449. /* 1322 MCS-04 */ { EHT320_LDPC_ONLY_MASKS,
  5450. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5451. 648500, 0, 612500, 551300, 0, 648500,
  5452. 0x504},
  5453. /* 1323 MCS-05 */ { EHT320_LDPC_ONLY_MASKS,
  5454. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5455. 864700, 0, 816700, 735000, 0, 864700,
  5456. 0x505},
  5457. /* 1324 MCS-06 */ { EHT320_LDPC_ONLY_MASKS,
  5458. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5459. 972800, 0, 918800, 826900, 0, 972800,
  5460. 0x506},
  5461. /* 1325 MCS-07 */ { EHT320_LDPC_ONLY_MASKS,
  5462. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5463. 1080900, 0, 1020800, 918800, 0, 1080900,
  5464. 0x507},
  5465. /* 1326 MCS-08 */ { EHT320_LDPC_ONLY_MASKS,
  5466. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5467. 1297100, 0, 1225000, 1102500, 0, 1297100,
  5468. 0x508},
  5469. /* 1327 MCS-09 */ { EHT320_LDPC_ONLY_MASKS,
  5470. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5471. 1441200, 0, 1361100, 1225000, 0, 1441200,
  5472. 0x509},
  5473. /* 1328 MCS-10 */ { EHT320_LDPC_ONLY_MASKS,
  5474. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5475. 1621300, 0, 1531300, 1378100, 0, 1621300,
  5476. 0x50a},
  5477. /* 1329 MCS-11 */ { EHT320_LDPC_ONLY_MASKS,
  5478. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5479. 1801500, 0, 1701400, 1531300, 0, 1801500,
  5480. 0x50b},
  5481. /* 1330 MCS-12 */ { EHT320_LDPC_ONLY_MASKS,
  5482. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5483. 1945600, 0, 1837500, 1653800, 0, 1945600,
  5484. 0x50c},
  5485. /* 1331 MCS-13 */ { EHT320_LDPC_ONLY_MASKS,
  5486. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5487. 2161800, 0, 2041700, 1837500, 0, 2161800,
  5488. 0x50d},
  5489. /* when number of spatial streams > 1 */
  5490. /* 1332 MCS-14 */ { EHT320_LDPC_ONLY_MASKS,
  5491. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5492. 54000, 0, 51000, 46000, 0, 54000,
  5493. 0x52e},
  5494. /* 1333 MCS-15 */ { EHT320_LDPC_ONLY_MASKS,
  5495. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5496. 108000, 0, 102000, 91800, 108000, 108000,
  5497. 0x52f},
  5498. /* 1334 MCS-00 */ { EHT320_LDPC_ONLY_MASKS,
  5499. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5500. 216200, 0, 204200, 183800, 0, 216200,
  5501. 0x520},
  5502. /* 1335 MCS-01 */ { EHT320_LDPC_ONLY_MASKS,
  5503. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5504. 432400, 0, 408400, 367600, 0, 432400,
  5505. 0x521},
  5506. /* 1336 MCS-02 */ { EHT320_LDPC_ONLY_MASKS,
  5507. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5508. 648600, 0, 612600, 551200, 0, 648600,
  5509. 0x522},
  5510. /* 1337 MCS-03 */ { EHT320_LDPC_ONLY_MASKS,
  5511. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5512. 864800, 0, 816600, 735000, 0, 864800,
  5513. 0x523},
  5514. /* 1338 MCS-04 */ { EHT320_LDPC_ONLY_MASKS,
  5515. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5516. 1297000, 0, 1225000, 1102600, 0, 1297000,
  5517. 0x524},
  5518. /* 1339 MCS-05 */ { EHT320_LDPC_ONLY_MASKS,
  5519. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5520. 1729400, 0, 1633400, 1470000, 0, 1729400,
  5521. 0x525},
  5522. /* 1340 MCS-06 */ { EHT320_LDPC_ONLY_MASKS,
  5523. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5524. 1945600, 0, 1837600, 1653800, 0, 1945600,
  5525. 0x526},
  5526. /* 1341 MCS-07 */ { EHT320_LDPC_ONLY_MASKS,
  5527. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5528. 2161800, 0, 2041600, 1837600, 0, 2161800,
  5529. 0x527},
  5530. /* 1342 MCS-08 */ { EHT320_LDPC_ONLY_MASKS,
  5531. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5532. 2594200, 0, 2450000, 2205000, 0, 2594200,
  5533. 0x528},
  5534. /* 1343 MCS-09 */ { EHT320_LDPC_ONLY_MASKS,
  5535. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5536. 2882400, 0, 2722200, 2450000, 0, 2882400,
  5537. 0x529},
  5538. /* 1344 MCS-10 */ { EHT320_LDPC_ONLY_MASKS,
  5539. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5540. 3242600, 0, 3062600, 2756200, 0, 3242600,
  5541. 0x52a},
  5542. /* 1345 MCS-11 */ { EHT320_LDPC_ONLY_MASKS,
  5543. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5544. 3603000, 0, 3402800, 3062600, 0, 3603000,
  5545. 0x52b},
  5546. /* 1346 MCS-12 */ { EHT320_LDPC_ONLY_MASKS,
  5547. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5548. 3891200, 0, 3675000, 3307600, 0, 3891200,
  5549. 0x52c},
  5550. /* 1347 MCS-13 */ { EHT320_LDPC_ONLY_MASKS,
  5551. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5552. 4323600, 0, 4083400, 3675000, 0, 4323600,
  5553. 0x52d},
  5554. /* when number of spatial streams > 2 */
  5555. /* 1348 MCS-14 */ { EHT320_LDPC_ONLY_MASKS,
  5556. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5557. 81000, 0, 76500, 69000, 0, 81000,
  5558. 0x54e},
  5559. /* 1349 MCS-15 */ { EHT320_LDPC_ONLY_MASKS,
  5560. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5561. 162000, 0, 153000, 137700, 162000, 162000,
  5562. 0x54f},
  5563. /* 1350 MCS-00 */ { EHT320_LDPC_ONLY_MASKS,
  5564. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5565. 324300, 0, 306300, 275700, 0, 324300,
  5566. 0x540},
  5567. /* 1351 MCS-01 */ { EHT320_LDPC_ONLY_MASKS,
  5568. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5569. 648600, 0, 612600, 551400, 0, 648600,
  5570. 0x541},
  5571. /* 1352 MCS-02 */ { EHT320_LDPC_ONLY_MASKS,
  5572. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5573. 972900, 0, 918900, 826800, 0, 972900,
  5574. 0x542},
  5575. /* 1353 MCS-03 */ { EHT320_LDPC_ONLY_MASKS,
  5576. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5577. 1297200, 0, 1224900, 1102500, 0, 1297200,
  5578. 0x543},
  5579. /* 1354 MCS-04 */ { EHT320_LDPC_ONLY_MASKS,
  5580. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5581. 1945500, 0, 1837500, 1653899, 0, 1945500,
  5582. 0x544},
  5583. /* 1355 MCS-05 */ { EHT320_LDPC_ONLY_MASKS,
  5584. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5585. 2594100, 0, 2450100, 2205000, 0, 2594100,
  5586. 0x545},
  5587. /* 1356 MCS-06 */ { EHT320_LDPC_ONLY_MASKS,
  5588. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5589. 2918400, 0, 2756400, 2480700, 0, 2918400,
  5590. 0x546},
  5591. /* 1357 MCS-07 */ { EHT320_LDPC_ONLY_MASKS,
  5592. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5593. 3242700, 0, 3062400, 2756400, 0, 3242700,
  5594. 0x547},
  5595. /* 1358 MCS-08 */ { EHT320_LDPC_ONLY_MASKS,
  5596. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5597. 3891299, 0, 3675000, 3307500, 0, 3891299,
  5598. 0x548},
  5599. /* 1359 MCS-09 */ { EHT320_LDPC_ONLY_MASKS,
  5600. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5601. 4323600, 0, 4083299, 3675000, 0, 4323600,
  5602. 0x549},
  5603. /* 1360 MCS-10 */ { EHT320_LDPC_ONLY_MASKS,
  5604. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5605. 4863900, 0, 4593900, 4134299, 0, 4863900,
  5606. 0x54a},
  5607. /* 1361 MCS-11 */ { EHT320_LDPC_ONLY_MASKS,
  5608. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5609. 5404500, 0, 5104200, 4593900, 0, 5404500,
  5610. 0x54b},
  5611. /* 1362 MCS-12 */ { EHT320_LDPC_ONLY_MASKS,
  5612. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5613. 5836800, 0, 5512500, 4961400, 0, 5836800,
  5614. 0x54c},
  5615. /* 1363 MCS-13 */ { EHT320_LDPC_ONLY_MASKS,
  5616. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5617. 6485400, 0, 6125100, 5512500, 0, 6485400,
  5618. 0x54d},
  5619. /* when number of spatial streams > 3 */
  5620. /* 1364 MCS-14 */ { EHT320_LDPC_ONLY_MASKS,
  5621. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5622. 108000, 0, 102000, 92000, 0, 108000,
  5623. 0x56e},
  5624. /* 1365 MCS-15 */ { EHT320_LDPC_ONLY_MASKS,
  5625. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5626. 216000, 0, 204000, 183600, 216000, 216000,
  5627. 0x56f},
  5628. /* 1366 MCS-00 */ { EHT320_LDPC_ONLY_MASKS,
  5629. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5630. 432400, 0, 408400, 367600, 0, 432400,
  5631. 0x560},
  5632. /* 1367 MCS-01 */ { EHT320_LDPC_ONLY_MASKS,
  5633. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5634. 864800, 0, 816800, 735200, 0, 864800,
  5635. 0x561},
  5636. /* 1368 MCS-02 */ { EHT320_LDPC_ONLY_MASKS,
  5637. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5638. 1297200, 0, 1225200, 1102400, 0, 1297200,
  5639. 0x562},
  5640. /* 1369 MCS-03 */ { EHT320_LDPC_ONLY_MASKS,
  5641. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5642. 1729600, 0, 1633200, 1470000, 0, 1729600,
  5643. 0x563},
  5644. /* 1370 MCS-04 */ { EHT320_LDPC_ONLY_MASKS,
  5645. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5646. 2594000, 0, 2450000, 2205200, 0, 2594000,
  5647. 0x564},
  5648. /* 1371 MCS-05 */ { EHT320_LDPC_ONLY_MASKS,
  5649. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5650. 3458800, 0, 3266800, 2940000, 0, 3458800,
  5651. 0x565},
  5652. /* 1372 MCS-06 */ { EHT320_LDPC_ONLY_MASKS,
  5653. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5654. 3891200, 0, 3675200, 3307600, 0, 3891200,
  5655. 0x566},
  5656. /* 1373 MCS-07 */ { EHT320_LDPC_ONLY_MASKS,
  5657. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5658. 4323600, 0, 4083200, 3675200, 0, 4323600,
  5659. 0x567},
  5660. /* 1374 MCS-08 */ { EHT320_LDPC_ONLY_MASKS,
  5661. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5662. 5188400, 0, 4900000, 4410000, 0, 5188400,
  5663. 0x568},
  5664. /* 1375 MCS-09 */ { EHT320_LDPC_ONLY_MASKS,
  5665. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5666. 5764800, 0, 5444400, 4900000, 0, 5764800,
  5667. 0x569},
  5668. /* 1376 MCS-10 */ { EHT320_LDPC_ONLY_MASKS,
  5669. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5670. 6485200, 0, 6125200, 5512400, 0, 6485200,
  5671. 0x56a},
  5672. /* 1377 MCS-11 */ { EHT320_LDPC_ONLY_MASKS,
  5673. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5674. 7206000, 0, 6805600, 6125200, 0, 7206000,
  5675. 0x56b},
  5676. /* 1378 MCS-12 */ { EHT320_LDPC_ONLY_MASKS,
  5677. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5678. 7782400, 0, 7350000, 6615200, 0, 7782400,
  5679. 0x56c},
  5680. /* 1379 MCS-13 */ { EHT320_LDPC_ONLY_MASKS,
  5681. DP_CMN_MOD_IEEE80211_T_EHT_240,
  5682. 8647200, 0, 8166800, 7350000, 0, 8647200,
  5683. 0x56d},
  5684. /* 1380 MCS-14 */ { EHT320_LDPC_ONLY_MASKS,
  5685. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5686. 31300, 0, 29600, 26600, 0, 31300,
  5687. 0x50e},
  5688. /* 1381 MCS-15 */ { EHT320_LDPC_ONLY_MASKS,
  5689. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5690. 62600, 0, 59200, 53300, 62600, 62600,
  5691. 0x50f},
  5692. /* 1382 MCS-00 */ { EHT320_LDPC_ONLY_MASKS,
  5693. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5694. 125300, 0, 118300, 106500, 0, 125300,
  5695. 0x500},
  5696. /* 1383 MCS-01 */ { EHT320_LDPC_ONLY_MASKS,
  5697. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5698. 250600, 0, 236700, 213000, 0, 250600,
  5699. 0x501},
  5700. /* 1384 MCS-02 */ { EHT320_LDPC_ONLY_MASKS,
  5701. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5702. 375900, 0, 355000, 319500, 0, 375900,
  5703. 0x502},
  5704. /* 1385 MCS-03 */ { EHT320_LDPC_ONLY_MASKS,
  5705. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5706. 501200, 0, 473300, 426000, 0, 501200,
  5707. 0x503},
  5708. /* 1386 MCS-04 */ { EHT320_LDPC_ONLY_MASKS,
  5709. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5710. 751800, 0, 710000, 639000, 0, 751800,
  5711. 0x504},
  5712. /* 1387 MCS-05 */ { EHT320_LDPC_ONLY_MASKS,
  5713. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5714. 1002400, 0, 946700, 852000, 0, 1002400,
  5715. 0x505},
  5716. /* 1388 MCS-06 */ { EHT320_LDPC_ONLY_MASKS,
  5717. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5718. 1127600, 0, 1065000, 958500, 0, 1127600,
  5719. 0x506},
  5720. /* 1389 MCS-07 */ { EHT320_LDPC_ONLY_MASKS,
  5721. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5722. 1252900, 0, 1183300, 1065000, 0, 1252900,
  5723. 0x507},
  5724. /* 1390 MCS-08 */ { EHT320_LDPC_ONLY_MASKS,
  5725. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5726. 1503500, 0, 1420000, 1278000, 0, 1503500,
  5727. 0x508},
  5728. /* 1391 MCS-09 */ { EHT320_LDPC_ONLY_MASKS,
  5729. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5730. 1670600, 0, 1577800, 1420000, 0, 1670600,
  5731. 0x509},
  5732. /* 1392 MCS-10 */ { EHT320_LDPC_ONLY_MASKS,
  5733. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5734. 1879400, 0, 1775000, 1597500, 0, 1879400,
  5735. 0x50a},
  5736. /* 1393 MCS-11 */ { EHT320_LDPC_ONLY_MASKS,
  5737. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5738. 2088199, 0, 1972200, 1775000, 0, 2088199,
  5739. 0x50b},
  5740. /* 1394 MCS-12 */ { EHT320_LDPC_ONLY_MASKS,
  5741. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5742. 2255300, 0, 2130000, 1917000, 0, 2255300,
  5743. 0x50c},
  5744. /* 1395 MCS-13 */ { EHT320_LDPC_ONLY_MASKS,
  5745. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5746. 2505900, 0, 2366700, 2130000, 0, 2505900,
  5747. 0x50d},
  5748. /* when number of spatial streams > 1 */
  5749. /* 1396 MCS-14 */ { EHT320_LDPC_ONLY_MASKS,
  5750. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5751. 62600, 0, 59200, 53200, 0, 62600,
  5752. 0x52e},
  5753. /* 1397 MCS-15 */ { EHT320_LDPC_ONLY_MASKS,
  5754. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5755. 125200, 0, 118400, 106600, 125200, 125200,
  5756. 0x52f},
  5757. /* 1398 MCS-00 */ { EHT320_LDPC_ONLY_MASKS,
  5758. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5759. 250600, 0, 236600, 213000, 0, 250600,
  5760. 0x520},
  5761. /* 1399 MCS-01 */ { EHT320_LDPC_ONLY_MASKS,
  5762. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5763. 501200, 0, 473400, 426000, 0, 501200,
  5764. 0x521},
  5765. /* 1400 MCS-02 */ { EHT320_LDPC_ONLY_MASKS,
  5766. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5767. 751800, 0, 710000, 639000, 0, 751800,
  5768. 0x522},
  5769. /* 1401 MCS-03 */ { EHT320_LDPC_ONLY_MASKS,
  5770. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5771. 1002400, 0, 946600, 852000, 0, 1002400,
  5772. 0x523},
  5773. /* 1402 MCS-04 */ { EHT320_LDPC_ONLY_MASKS,
  5774. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5775. 1503600, 0, 1420000, 1278000, 0, 1503600,
  5776. 0x524},
  5777. /* 1403 MCS-05 */ { EHT320_LDPC_ONLY_MASKS,
  5778. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5779. 2004800, 0, 1893400, 1704000, 0, 2004800,
  5780. 0x525},
  5781. /* 1404 MCS-06 */ { EHT320_LDPC_ONLY_MASKS,
  5782. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5783. 2255200, 0, 2130000, 1917000, 0, 2255200,
  5784. 0x526},
  5785. /* 1405 MCS-07 */ { EHT320_LDPC_ONLY_MASKS,
  5786. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5787. 2505800, 0, 2366600, 2130000, 0, 2505800,
  5788. 0x527},
  5789. /* 1406 MCS-08 */ { EHT320_LDPC_ONLY_MASKS,
  5790. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5791. 3007000, 0, 2840000, 2556000, 0, 3007000,
  5792. 0x528},
  5793. /* 1407 MCS-09 */ { EHT320_LDPC_ONLY_MASKS,
  5794. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5795. 3341200, 0, 3155600, 2840000, 0, 3341200,
  5796. 0x529},
  5797. /* 1408 MCS-10 */ { EHT320_LDPC_ONLY_MASKS,
  5798. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5799. 3758800, 0, 3550000, 3195000, 0, 3758800,
  5800. 0x52a},
  5801. /* 1409 MCS-11 */ { EHT320_LDPC_ONLY_MASKS,
  5802. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5803. 4176399, 0, 3944400, 3550000, 0, 4176399,
  5804. 0x52b},
  5805. /* 1410 MCS-12 */ { EHT320_LDPC_ONLY_MASKS,
  5806. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5807. 4510600, 0, 4260000, 3834000, 0, 4510600,
  5808. 0x52c},
  5809. /* 1411 MCS-13 */ { EHT320_LDPC_ONLY_MASKS,
  5810. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5811. 5011800, 0, 4733400, 4260000, 0, 5011800,
  5812. 0x52d},
  5813. /* when number of spatial streams > 2 */
  5814. /* 1412 MCS-14 */ { EHT320_LDPC_ONLY_MASKS,
  5815. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5816. 93900, 0, 88800, 79800, 0, 93900,
  5817. 0x54e},
  5818. /* 1413 MCS-15 */ { EHT320_LDPC_ONLY_MASKS,
  5819. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5820. 187800, 0, 177600, 159900, 187800, 187800,
  5821. 0x54f},
  5822. /* 1414 MCS-00 */ { EHT320_LDPC_ONLY_MASKS,
  5823. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5824. 375900, 0, 354900, 319500, 0, 375900,
  5825. 0x540},
  5826. /* 1415 MCS-01 */ { EHT320_LDPC_ONLY_MASKS,
  5827. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5828. 751800, 0, 710100, 639000, 0, 751800,
  5829. 0x541},
  5830. /* 1416 MCS-02 */ { EHT320_LDPC_ONLY_MASKS,
  5831. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5832. 1127700, 0, 1065000, 958500, 0, 1127700,
  5833. 0x542},
  5834. /* 1417 MCS-03 */ { EHT320_LDPC_ONLY_MASKS,
  5835. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5836. 1503600, 0, 1419900, 1278000, 0, 1503600,
  5837. 0x543},
  5838. /* 1418 MCS-04 */ { EHT320_LDPC_ONLY_MASKS,
  5839. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5840. 2255400, 0, 2130000, 1917000, 0, 2255400,
  5841. 0x544},
  5842. /* 1419 MCS-05 */ { EHT320_LDPC_ONLY_MASKS,
  5843. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5844. 3007200, 0, 2840100, 2556000, 0, 3007200,
  5845. 0x545},
  5846. /* 1420 MCS-06 */ { EHT320_LDPC_ONLY_MASKS,
  5847. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5848. 3382799, 0, 3195000, 2875500, 0, 3382799,
  5849. 0x546},
  5850. /* 1421 MCS-07 */ { EHT320_LDPC_ONLY_MASKS,
  5851. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5852. 3758700, 0, 3549900, 3195000, 0, 3758700,
  5853. 0x547},
  5854. /* 1422 MCS-08 */ { EHT320_LDPC_ONLY_MASKS,
  5855. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5856. 4510500, 0, 4260000, 3834000, 0, 4510500,
  5857. 0x548},
  5858. /* 1423 MCS-09 */ { EHT320_LDPC_ONLY_MASKS,
  5859. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5860. 5011800, 0, 4733400, 4260000, 0, 5011800,
  5861. 0x549},
  5862. /* 1424 MCS-10 */ { EHT320_LDPC_ONLY_MASKS,
  5863. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5864. 5638200, 0, 5325000, 4792500, 0, 5638200,
  5865. 0x54a},
  5866. /* 1425 MCS-11 */ { EHT320_LDPC_ONLY_MASKS,
  5867. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5868. 6264599, 0, 5916600, 5325000, 0, 6264599,
  5869. 0x54b},
  5870. /* 1426 MCS-12 */ { EHT320_LDPC_ONLY_MASKS,
  5871. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5872. 6765900, 0, 6390000, 5751000, 0, 6765900,
  5873. 0x54c},
  5874. /* 1427 MCS-13 */ { EHT320_LDPC_ONLY_MASKS,
  5875. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5876. 7517700, 0, 7100099, 6390000, 0, 7517700,
  5877. 0x54d},
  5878. /* when number of spatial streams > 3 */
  5879. /* 1428 MCS-14 */ { EHT320_LDPC_ONLY_MASKS,
  5880. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5881. 125200, 0, 118400, 106400, 0, 125200,
  5882. 0x56e},
  5883. /* 1429 MCS-15 */ { EHT320_LDPC_ONLY_MASKS,
  5884. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5885. 250400, 0, 236800, 213200, 250400, 250400,
  5886. 0x56f},
  5887. /* 1430 MCS-00 */ { EHT320_LDPC_ONLY_MASKS,
  5888. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5889. 501200, 0, 473200, 426000, 0, 501200,
  5890. 0x560},
  5891. /* 1431 MCS-01 */ { EHT320_LDPC_ONLY_MASKS,
  5892. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5893. 1002400, 0, 946800, 852000, 0, 1002400,
  5894. 0x561},
  5895. /* 1432 MCS-02 */ { EHT320_LDPC_ONLY_MASKS,
  5896. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5897. 1503600, 0, 1420000, 1278000, 0, 1503600,
  5898. 0x562},
  5899. /* 1433 MCS-03 */ { EHT320_LDPC_ONLY_MASKS,
  5900. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5901. 2004800, 0, 1893200, 1704000, 0, 2004800,
  5902. 0x563},
  5903. /* 1434 MCS-04 */ { EHT320_LDPC_ONLY_MASKS,
  5904. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5905. 3007200, 0, 2840000, 2556000, 0, 3007200,
  5906. 0x564},
  5907. /* 1435 MCS-05 */ { EHT320_LDPC_ONLY_MASKS,
  5908. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5909. 4009600, 0, 3786800, 3408000, 0, 4009600,
  5910. 0x565},
  5911. /* 1436 MCS-06 */ { EHT320_LDPC_ONLY_MASKS,
  5912. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5913. 4510400, 0, 4260000, 3834000, 0, 4510400,
  5914. 0x566},
  5915. /* 1437 MCS-07 */ { EHT320_LDPC_ONLY_MASKS,
  5916. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5917. 5011600, 0, 4733200, 4260000, 0, 5011600,
  5918. 0x567},
  5919. /* 1438 MCS-08 */ { EHT320_LDPC_ONLY_MASKS,
  5920. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5921. 6014000, 0, 5680000, 5112000, 0, 6014000,
  5922. 0x568},
  5923. /* 1439 MCS-09 */ { EHT320_LDPC_ONLY_MASKS,
  5924. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5925. 6682400, 0, 6311200, 5680000, 0, 6682400,
  5926. 0x569},
  5927. /* 1440 MCS-10 */ { EHT320_LDPC_ONLY_MASKS,
  5928. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5929. 7517600, 0, 7100000, 6390000, 0, 7517600,
  5930. 0x56a},
  5931. /* 1441 MCS-11 */ { EHT320_LDPC_ONLY_MASKS,
  5932. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5933. 8352799, 0, 7888800, 7100000, 0, 8352799,
  5934. 0x56b},
  5935. /* 1442 MCS-12 */ { EHT320_LDPC_ONLY_MASKS,
  5936. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5937. 9021200, 0, 8520000, 7668000, 0, 9021200,
  5938. 0x56c},
  5939. /* 1443 MCS-13 */ { EHT320_LDPC_ONLY_MASKS,
  5940. DP_CMN_MOD_IEEE80211_T_EHT_280,
  5941. 10023600, 0, 9466800, 8520000, 0, 10023600,
  5942. 0x56d},
  5943. /* 1444 MCS-14 */ { EHT320_LDPC_ONLY_MASKS,
  5944. DP_CMN_MOD_IEEE80211_T_EHT_320,
  5945. 36000, 0, 34000, 30600, 0, 36000,
  5946. 0x50e},
  5947. /* 1445 MCS-15 */ { EHT320_LDPC_ONLY_MASKS,
  5948. DP_CMN_MOD_IEEE80211_T_EHT_320,
  5949. 72100, 0, 68100, 61300, 72100, 72100,
  5950. 0x50f},
  5951. /* 1446 MCS-00 */ { EHT320_LDPC_ONLY_MASKS,
  5952. DP_CMN_MOD_IEEE80211_T_EHT_320,
  5953. 144100, 0, 136100, 122500, 0, 144100,
  5954. 0x500},
  5955. /* 1447 MCS-01 */ { EHT320_LDPC_ONLY_MASKS,
  5956. DP_CMN_MOD_IEEE80211_T_EHT_320,
  5957. 288200, 0, 272200, 245000, 0, 288200,
  5958. 0x501},
  5959. /* 1448 MCS-02 */ { EHT320_LDPC_ONLY_MASKS,
  5960. DP_CMN_MOD_IEEE80211_T_EHT_320,
  5961. 432400, 0, 408300, 367500, 0, 432400,
  5962. 0x502},
  5963. /* 1449 MCS-03 */ { EHT320_LDPC_ONLY_MASKS,
  5964. DP_CMN_MOD_IEEE80211_T_EHT_320,
  5965. 576500, 0, 544400, 490000, 0, 576500,
  5966. 0x503},
  5967. /* 1450 MCS-04 */ { EHT320_LDPC_ONLY_MASKS,
  5968. DP_CMN_MOD_IEEE80211_T_EHT_320,
  5969. 864700, 0, 816700, 735000, 0, 864700,
  5970. 0x504},
  5971. /* 1451 MCS-05 */ { EHT320_LDPC_ONLY_MASKS,
  5972. DP_CMN_MOD_IEEE80211_T_EHT_320,
  5973. 1152900, 0, 1088900, 980000, 0, 1152900,
  5974. 0x505},
  5975. /* 1452 MCS-06 */ { EHT320_LDPC_ONLY_MASKS,
  5976. DP_CMN_MOD_IEEE80211_T_EHT_320,
  5977. 1297100, 0, 1225000, 1102500, 0, 1297100,
  5978. 0x506},
  5979. /* 1453 MCS-07 */ { EHT320_LDPC_ONLY_MASKS,
  5980. DP_CMN_MOD_IEEE80211_T_EHT_320,
  5981. 1441200, 0, 1361100, 1225000, 0, 1441200,
  5982. 0x507},
  5983. /* 1454 MCS-08 */ { EHT320_LDPC_ONLY_MASKS,
  5984. DP_CMN_MOD_IEEE80211_T_EHT_320,
  5985. 1729400, 0, 1633300, 1470000, 0, 1729400,
  5986. 0x508},
  5987. /* 1455 MCS-09 */ { EHT320_LDPC_ONLY_MASKS,
  5988. DP_CMN_MOD_IEEE80211_T_EHT_320,
  5989. 1921600, 0, 1814800, 1633300, 0, 1921600,
  5990. 0x509},
  5991. /* 1456 MCS-10 */ { EHT320_LDPC_ONLY_MASKS,
  5992. DP_CMN_MOD_IEEE80211_T_EHT_320,
  5993. 2161800, 0, 2041700, 1837500, 0, 2161800,
  5994. 0x50a},
  5995. /* 1457 MCS-11 */ { EHT320_LDPC_ONLY_MASKS,
  5996. DP_CMN_MOD_IEEE80211_T_EHT_320,
  5997. 2402000, 0, 2268500, 2041700, 0, 2402000,
  5998. 0x50b},
  5999. /* 1458 MCS-12 */ { EHT320_LDPC_ONLY_MASKS,
  6000. DP_CMN_MOD_IEEE80211_T_EHT_320,
  6001. 2594100, 0, 2450000, 2205000, 0, 2594100,
  6002. 0x50c},
  6003. /* 1459 MCS-13 */ { EHT320_LDPC_ONLY_MASKS,
  6004. DP_CMN_MOD_IEEE80211_T_EHT_320,
  6005. 2882400, 0, 2722200, 2450000, 0, 2882400,
  6006. 0x50d},
  6007. /* when number of spatial streams > 1 */
  6008. /* 1460 MCS-14 */ { EHT320_LDPC_ONLY_MASKS,
  6009. DP_CMN_MOD_IEEE80211_T_EHT_320,
  6010. 72000, 0, 68000, 61200, 0, 72000,
  6011. 0x52e},
  6012. /* 1461 MCS-15 */ { EHT320_LDPC_ONLY_MASKS,
  6013. DP_CMN_MOD_IEEE80211_T_EHT_320,
  6014. 144200, 0, 136200, 122600, 144200, 144200,
  6015. 0x52f},
  6016. /* 1462 MCS-00 */ { EHT320_LDPC_ONLY_MASKS,
  6017. DP_CMN_MOD_IEEE80211_T_EHT_320,
  6018. 288200, 0, 272200, 245000, 0, 288200,
  6019. 0x520},
  6020. /* 1463 MCS-01 */ { EHT320_LDPC_ONLY_MASKS,
  6021. DP_CMN_MOD_IEEE80211_T_EHT_320,
  6022. 576400, 0, 544400, 490000, 0, 576400,
  6023. 0x521},
  6024. /* 1464 MCS-02 */ { EHT320_LDPC_ONLY_MASKS,
  6025. DP_CMN_MOD_IEEE80211_T_EHT_320,
  6026. 864800, 0, 816600, 735000, 0, 864800,
  6027. 0x522},
  6028. /* 1465 MCS-03 */ { EHT320_LDPC_ONLY_MASKS,
  6029. DP_CMN_MOD_IEEE80211_T_EHT_320,
  6030. 1153000, 0, 1088800, 980000, 0, 1153000,
  6031. 0x523},
  6032. /* 1466 MCS-04 */ { EHT320_LDPC_ONLY_MASKS,
  6033. DP_CMN_MOD_IEEE80211_T_EHT_320,
  6034. 1729400, 0, 1633400, 1470000, 0, 1729400,
  6035. 0x524},
  6036. /* 1467 MCS-05 */ { EHT320_LDPC_ONLY_MASKS,
  6037. DP_CMN_MOD_IEEE80211_T_EHT_320,
  6038. 2305800, 0, 2177800, 1960000, 0, 2305800,
  6039. 0x525},
  6040. /* 1468 MCS-06 */ { EHT320_LDPC_ONLY_MASKS,
  6041. DP_CMN_MOD_IEEE80211_T_EHT_320,
  6042. 2594200, 0, 2450000, 2205000, 0, 2594200,
  6043. 0x526},
  6044. /* 1469 MCS-07 */ { EHT320_LDPC_ONLY_MASKS,
  6045. DP_CMN_MOD_IEEE80211_T_EHT_320,
  6046. 2882400, 0, 2722200, 2450000, 0, 2882400,
  6047. 0x527},
  6048. /* 1470 MCS-08 */ { EHT320_LDPC_ONLY_MASKS,
  6049. DP_CMN_MOD_IEEE80211_T_EHT_320,
  6050. 3458800, 0, 3266600, 2940000, 0, 3458800,
  6051. 0x528},
  6052. /* 1471 MCS-09 */ { EHT320_LDPC_ONLY_MASKS,
  6053. DP_CMN_MOD_IEEE80211_T_EHT_320,
  6054. 3843200, 0, 3629600, 3266600, 0, 3843200,
  6055. 0x529},
  6056. /* 1472 MCS-10 */ { EHT320_LDPC_ONLY_MASKS,
  6057. DP_CMN_MOD_IEEE80211_T_EHT_320,
  6058. 4323600, 0, 4083400, 3675000, 0, 4323600,
  6059. 0x52a},
  6060. /* 1473 MCS-11 */ { EHT320_LDPC_ONLY_MASKS,
  6061. DP_CMN_MOD_IEEE80211_T_EHT_320,
  6062. 4804000, 0, 4537000, 4083400, 0, 4804000,
  6063. 0x52b},
  6064. /* 1474 MCS-12 */ { EHT320_LDPC_ONLY_MASKS,
  6065. DP_CMN_MOD_IEEE80211_T_EHT_320,
  6066. 5188200, 0, 4900000, 4410000, 0, 5188200,
  6067. 0x52c},
  6068. /* 1475 MCS-13 */ { EHT320_LDPC_ONLY_MASKS,
  6069. DP_CMN_MOD_IEEE80211_T_EHT_320,
  6070. 5764800, 0, 5444400, 4900000, 0, 5764800,
  6071. 0x52d},
  6072. /* when number of spatial streams > 2 */
  6073. /* 1476 MCS-14 */ { EHT320_LDPC_ONLY_MASKS,
  6074. DP_CMN_MOD_IEEE80211_T_EHT_320,
  6075. 108000, 0, 102000, 91800, 0, 108000,
  6076. 0x54e},
  6077. /* 1477 MCS-15 */ { EHT320_LDPC_ONLY_MASKS,
  6078. DP_CMN_MOD_IEEE80211_T_EHT_320,
  6079. 216299, 0, 204299, 183900, 216299, 216299,
  6080. 0x54f},
  6081. /* 1478 MCS-00 */ { EHT320_LDPC_ONLY_MASKS,
  6082. DP_CMN_MOD_IEEE80211_T_EHT_320,
  6083. 432300, 0, 408300, 367500, 0, 432300,
  6084. 0x540},
  6085. /* 1479 MCS-01 */ { EHT320_LDPC_ONLY_MASKS,
  6086. DP_CMN_MOD_IEEE80211_T_EHT_320,
  6087. 864600, 0, 816600, 735000, 0, 864600,
  6088. 0x541},
  6089. /* 1480 MCS-02 */ { EHT320_LDPC_ONLY_MASKS,
  6090. DP_CMN_MOD_IEEE80211_T_EHT_320,
  6091. 1297200, 0, 1224900, 1102500, 0, 1297200,
  6092. 0x542},
  6093. /* 1481 MCS-03 */ { EHT320_LDPC_ONLY_MASKS,
  6094. DP_CMN_MOD_IEEE80211_T_EHT_320,
  6095. 1729500, 0, 1633200, 1470000, 0, 1729500,
  6096. 0x543},
  6097. /* 1482 MCS-04 */ { EHT320_LDPC_ONLY_MASKS,
  6098. DP_CMN_MOD_IEEE80211_T_EHT_320,
  6099. 2594100, 0, 2450100, 2205000, 0, 2594100,
  6100. 0x544},
  6101. /* 1483 MCS-05 */ { EHT320_LDPC_ONLY_MASKS,
  6102. DP_CMN_MOD_IEEE80211_T_EHT_320,
  6103. 3458700, 0, 3266700, 2940000, 0, 3458700,
  6104. 0x545},
  6105. /* 1484 MCS-06 */ { EHT320_LDPC_ONLY_MASKS,
  6106. DP_CMN_MOD_IEEE80211_T_EHT_320,
  6107. 3891299, 0, 3675000, 3307500, 0, 3891299,
  6108. 0x546},
  6109. /* 1485 MCS-07 */ { EHT320_LDPC_ONLY_MASKS,
  6110. DP_CMN_MOD_IEEE80211_T_EHT_320,
  6111. 4323600, 0, 4083299, 3675000, 0, 4323600,
  6112. 0x547},
  6113. /* 1486 MCS-08 */ { EHT320_LDPC_ONLY_MASKS,
  6114. DP_CMN_MOD_IEEE80211_T_EHT_320,
  6115. 5188200, 0, 4899900, 4410000, 0, 5188200,
  6116. 0x548},
  6117. /* 1487 MCS-09 */ { EHT320_LDPC_ONLY_MASKS,
  6118. DP_CMN_MOD_IEEE80211_T_EHT_320,
  6119. 5764800, 0, 5444400, 4899900, 0, 5764800,
  6120. 0x549},
  6121. /* 1488 MCS-10 */ { EHT320_LDPC_ONLY_MASKS,
  6122. DP_CMN_MOD_IEEE80211_T_EHT_320,
  6123. 6485400, 0, 6125100, 5512500, 0, 6485400,
  6124. 0x54a},
  6125. /* 1489 MCS-11 */ { EHT320_LDPC_ONLY_MASKS,
  6126. DP_CMN_MOD_IEEE80211_T_EHT_320,
  6127. 7206000, 0, 6805500, 6125100, 0, 7206000,
  6128. 0x54b},
  6129. /* 1490 MCS-12 */ { EHT320_LDPC_ONLY_MASKS,
  6130. DP_CMN_MOD_IEEE80211_T_EHT_320,
  6131. 7782300, 0, 7350000, 6615000, 0, 7782300,
  6132. 0x54c},
  6133. /* 1491 MCS-13 */ { EHT320_LDPC_ONLY_MASKS,
  6134. DP_CMN_MOD_IEEE80211_T_EHT_320,
  6135. 8647200, 0, 8166599, 7350000, 0, 8647200,
  6136. 0x54d},
  6137. /* when number of spatial streams > 3 */
  6138. /* 1492 MCS-14 */ { EHT320_LDPC_ONLY_MASKS,
  6139. DP_CMN_MOD_IEEE80211_T_EHT_320,
  6140. 144000, 0, 136000, 122400, 0, 144000,
  6141. 0x56e},
  6142. /* 1493 MCS-15 */ { EHT320_LDPC_ONLY_MASKS,
  6143. DP_CMN_MOD_IEEE80211_T_EHT_320,
  6144. 288400, 0, 272400, 245200, 288400, 288400,
  6145. 0x56f},
  6146. /* 1494 MCS-00 */ { EHT320_LDPC_ONLY_MASKS,
  6147. DP_CMN_MOD_IEEE80211_T_EHT_320,
  6148. 576400, 0, 544400, 490000, 0, 576400,
  6149. 0x560},
  6150. /* 1495 MCS-01 */ { EHT320_LDPC_ONLY_MASKS,
  6151. DP_CMN_MOD_IEEE80211_T_EHT_320,
  6152. 1152800, 0, 1088800, 980000, 0, 1152800,
  6153. 0x561},
  6154. /* 1496 MCS-02 */ { EHT320_LDPC_ONLY_MASKS,
  6155. DP_CMN_MOD_IEEE80211_T_EHT_320,
  6156. 1729600, 0, 1633200, 1470000, 0, 1729600,
  6157. 0x562},
  6158. /* 1497 MCS-03 */ { EHT320_LDPC_ONLY_MASKS,
  6159. DP_CMN_MOD_IEEE80211_T_EHT_320,
  6160. 2306000, 0, 2177600, 1960000, 0, 2306000,
  6161. 0x563},
  6162. /* 1498 MCS-04 */ { EHT320_LDPC_ONLY_MASKS,
  6163. DP_CMN_MOD_IEEE80211_T_EHT_320,
  6164. 3458800, 0, 3266800, 2940000, 0, 3458800,
  6165. 0x564},
  6166. /* 1499 MCS-05 */ { EHT320_LDPC_ONLY_MASKS,
  6167. DP_CMN_MOD_IEEE80211_T_EHT_320,
  6168. 4611600, 0, 4355600, 3920000, 0, 4611600,
  6169. 0x565},
  6170. /* 1500 MCS-06 */ { EHT320_LDPC_ONLY_MASKS,
  6171. DP_CMN_MOD_IEEE80211_T_EHT_320,
  6172. 5188400, 0, 4900000, 4410000, 0, 5188400,
  6173. 0x566},
  6174. /* 1501 MCS-07 */ { EHT320_LDPC_ONLY_MASKS,
  6175. DP_CMN_MOD_IEEE80211_T_EHT_320,
  6176. 5764800, 0, 5444400, 4900000, 0, 5764800,
  6177. 0x567},
  6178. /* 1502 MCS-08 */ { EHT320_LDPC_ONLY_MASKS,
  6179. DP_CMN_MOD_IEEE80211_T_EHT_320,
  6180. 6917600, 0, 6533200, 5880000, 0, 6917600,
  6181. 0x568},
  6182. /* 1503 MCS-09 */ { EHT320_LDPC_ONLY_MASKS,
  6183. DP_CMN_MOD_IEEE80211_T_EHT_320,
  6184. 7686400, 0, 7259200, 6533200, 0, 7686400,
  6185. 0x569},
  6186. /* 1504 MCS-10 */ { EHT320_LDPC_ONLY_MASKS,
  6187. DP_CMN_MOD_IEEE80211_T_EHT_320,
  6188. 8647200, 0, 8166800, 7350000, 0, 8647200,
  6189. 0x56a},
  6190. /* 1505 MCS-11 */ { EHT320_LDPC_ONLY_MASKS,
  6191. DP_CMN_MOD_IEEE80211_T_EHT_320,
  6192. 9608000, 0, 9074000, 8166800, 0, 9608000,
  6193. 0x56b},
  6194. /* 1506 MCS-12 */ { EHT320_LDPC_ONLY_MASKS,
  6195. DP_CMN_MOD_IEEE80211_T_EHT_320,
  6196. 10376400, 0, 9800000, 8820000, 0, 10376400,
  6197. 0x56c},
  6198. /* 1507 MCS-13 */ { EHT320_LDPC_ONLY_MASKS,
  6199. DP_CMN_MOD_IEEE80211_T_EHT_320,
  6200. 11529600, 0, 10888800, 9800000, 0, 11529600,
  6201. 0x56d}
  6202. #endif /* WLAN_FEATURE_11BE */
  6203. },
  6204. };
  6205. static const uint16_t _rc_idx[DP_CMN_MOD_IEEE80211_T_MAX_PHY] = {
  6206. CCK_RATE_TABLE_INDEX,
  6207. OFDM_RATE_TABLE_INDEX,
  6208. HT_20_RATE_TABLE_INDEX,
  6209. HT_40_RATE_TABLE_INDEX,
  6210. VHT_20_RATE_TABLE_INDEX,
  6211. VHT_40_RATE_TABLE_INDEX,
  6212. VHT_80_RATE_TABLE_INDEX,
  6213. VHT_160_RATE_TABLE_INDEX,
  6214. HE_20_RATE_TABLE_INDEX,
  6215. HE_40_RATE_TABLE_INDEX,
  6216. HE_80_RATE_TABLE_INDEX,
  6217. HE_160_RATE_TABLE_INDEX,
  6218. #ifdef WLAN_FEATURE_11BE
  6219. EHT_20_RATE_TABLE_INDEX,
  6220. EHT_40_RATE_TABLE_INDEX,
  6221. EHT_60_RATE_TABLE_INDEX,
  6222. EHT_80_RATE_TABLE_INDEX,
  6223. EHT_120_RATE_TABLE_INDEX,
  6224. EHT_140_RATE_TABLE_INDEX,
  6225. EHT_160_RATE_TABLE_INDEX,
  6226. EHT_200_RATE_TABLE_INDEX,
  6227. EHT_240_RATE_TABLE_INDEX,
  6228. EHT_280_RATE_TABLE_INDEX,
  6229. EHT_320_RATE_TABLE_INDEX,
  6230. #endif
  6231. };
  6232. #ifdef WLAN_FEATURE_11BE
  6233. static inline
  6234. enum BW_TYPES_FP dp_get_bw_fp_from_full_bw_pmode(uint8_t bw,
  6235. uint8_t punc_mode)
  6236. {
  6237. CMN_DP_ASSERT(punc_mode < PUNCTURED_MODE_CNT);
  6238. switch (bw) {
  6239. case CMN_BW_80MHZ:
  6240. if (punc_mode == PUNCTURED_20MHZ)
  6241. return BW_60MHZ_P;
  6242. else
  6243. return BW_80MHZ_F;
  6244. case CMN_BW_160MHZ:
  6245. if (punc_mode == PUNCTURED_40MHZ)
  6246. return BW_120MHZ_P;
  6247. else if (punc_mode == PUNCTURED_20MHZ)
  6248. return BW_140MHZ_P;
  6249. else
  6250. return BW_160MHZ_F;
  6251. case CMN_BW_320MHZ:
  6252. if (punc_mode == PUNCTURED_120MHZ)
  6253. return BW_200MHZ_P;
  6254. else if (punc_mode == PUNCTURED_80MHZ)
  6255. return BW_240MHZ_P;
  6256. else if (punc_mode == PUNCTURED_40MHZ)
  6257. return BW_280MHZ_P;
  6258. else
  6259. return BW_320MHZ_F;
  6260. default:
  6261. return (enum BW_TYPES_FP)bw;
  6262. }
  6263. }
  6264. #endif
  6265. /*
  6266. * dp_getmodulation - return rate modulation given code spatial width
  6267. * @pream_type - preamble type
  6268. * @width - bandwidth
  6269. * @punc_mode - punctered bandwidth
  6270. *
  6271. * return - modulation type
  6272. */
  6273. #ifdef WLAN_FEATURE_11BE
  6274. enum DP_CMN_MODULATION_TYPE dp_getmodulation(uint16_t pream_type,
  6275. uint8_t width,
  6276. uint8_t punc_mode)
  6277. {
  6278. static const enum DP_CMN_MODULATION_TYPE _vht_bw_mod[] = {
  6279. DP_CMN_MOD_IEEE80211_T_VHT_20,
  6280. DP_CMN_MOD_IEEE80211_T_VHT_40,
  6281. DP_CMN_MOD_IEEE80211_T_VHT_80,
  6282. DP_CMN_MOD_IEEE80211_T_VHT_160
  6283. };
  6284. static const enum DP_CMN_MODULATION_TYPE _he_bw_mod[] = {
  6285. DP_CMN_MOD_IEEE80211_T_HE_20,
  6286. DP_CMN_MOD_IEEE80211_T_HE_40,
  6287. DP_CMN_MOD_IEEE80211_T_HE_80,
  6288. DP_CMN_MOD_IEEE80211_T_HE_160
  6289. };
  6290. static const enum DP_CMN_MODULATION_TYPE _eht_bw_mod[] = {
  6291. DP_CMN_MOD_IEEE80211_T_EHT_20,
  6292. DP_CMN_MOD_IEEE80211_T_EHT_40,
  6293. DP_CMN_MOD_IEEE80211_T_EHT_60,
  6294. DP_CMN_MOD_IEEE80211_T_EHT_80,
  6295. DP_CMN_MOD_IEEE80211_T_EHT_120,
  6296. DP_CMN_MOD_IEEE80211_T_EHT_140,
  6297. DP_CMN_MOD_IEEE80211_T_EHT_160,
  6298. DP_CMN_MOD_IEEE80211_T_EHT_200,
  6299. DP_CMN_MOD_IEEE80211_T_EHT_240,
  6300. DP_CMN_MOD_IEEE80211_T_EHT_280,
  6301. DP_CMN_MOD_IEEE80211_T_EHT_320,
  6302. };
  6303. enum DP_CMN_MODULATION_TYPE modulation;
  6304. CMN_DP_ASSERT(width < CMN_BW_CNT);
  6305. switch (pream_type) {
  6306. case DP_CMN_RATECODE_PREAM_HT:
  6307. if (width)
  6308. modulation = DP_CMN_MOD_IEEE80211_T_HT_40;
  6309. else
  6310. modulation = DP_CMN_MOD_IEEE80211_T_HT_20;
  6311. break;
  6312. case DP_CMN_RATECODE_PREAM_CCK:
  6313. modulation = DP_CMN_MOD_IEEE80211_T_CCK;
  6314. break;
  6315. case DP_CMN_RATECODE_PREAM_VHT:
  6316. modulation = _vht_bw_mod[width];
  6317. break;
  6318. case DP_CMN_RATECODE_PREAM_HE:
  6319. modulation = _he_bw_mod[width];
  6320. break;
  6321. case DP_CMN_RATECODE_PREAM_EHT:
  6322. {
  6323. enum BW_TYPES_FP bw_fp =
  6324. dp_get_bw_fp_from_full_bw_pmode(width,
  6325. punc_mode);
  6326. modulation = _eht_bw_mod[bw_fp];
  6327. break;
  6328. }
  6329. default:
  6330. modulation = DP_CMN_MOD_IEEE80211_T_OFDM;
  6331. }
  6332. return modulation;
  6333. }
  6334. #else
  6335. enum DP_CMN_MODULATION_TYPE dp_getmodulation(uint16_t pream_type,
  6336. uint8_t width,
  6337. uint8_t punc_mode)
  6338. {
  6339. static const enum DP_CMN_MODULATION_TYPE _vht_bw_mod[] = {
  6340. DP_CMN_MOD_IEEE80211_T_VHT_20,
  6341. DP_CMN_MOD_IEEE80211_T_VHT_40,
  6342. DP_CMN_MOD_IEEE80211_T_VHT_80,
  6343. DP_CMN_MOD_IEEE80211_T_VHT_160
  6344. };
  6345. static const enum DP_CMN_MODULATION_TYPE _he_bw_mod[] = {
  6346. DP_CMN_MOD_IEEE80211_T_HE_20,
  6347. DP_CMN_MOD_IEEE80211_T_HE_40,
  6348. DP_CMN_MOD_IEEE80211_T_HE_80,
  6349. DP_CMN_MOD_IEEE80211_T_HE_160
  6350. };
  6351. enum DP_CMN_MODULATION_TYPE modulation;
  6352. CMN_DP_ASSERT(width < CMN_BW_CNT);
  6353. switch (pream_type) {
  6354. case DP_CMN_RATECODE_PREAM_HT:
  6355. if (width)
  6356. modulation = DP_CMN_MOD_IEEE80211_T_HT_40;
  6357. else
  6358. modulation = DP_CMN_MOD_IEEE80211_T_HT_20;
  6359. break;
  6360. case DP_CMN_RATECODE_PREAM_CCK:
  6361. modulation = DP_CMN_MOD_IEEE80211_T_CCK;
  6362. break;
  6363. case DP_CMN_RATECODE_PREAM_VHT:
  6364. modulation = _vht_bw_mod[width];
  6365. break;
  6366. case DP_CMN_RATECODE_PREAM_HE:
  6367. modulation = _he_bw_mod[width];
  6368. break;
  6369. default:
  6370. modulation = DP_CMN_MOD_IEEE80211_T_OFDM;
  6371. }
  6372. return modulation;
  6373. }
  6374. #endif /* WLAN_FEATURE_11BE */
  6375. /* dp_getrateindex - calculate ratekbps
  6376. * @mcs - MCS index
  6377. * @nss - NSS 1...8
  6378. * preamble - preamble
  6379. * @bw - Transmission Bandwidth
  6380. * @rix: rate index to be populated
  6381. * @ratecode: ratecode
  6382. *
  6383. * return - rate in kbps
  6384. */
  6385. #ifdef WLAN_FEATURE_11BE
  6386. uint32_t
  6387. dp_getrateindex(uint32_t gi, uint16_t mcs, uint8_t nss, uint8_t preamble,
  6388. uint8_t bw, uint8_t punc_bw, uint32_t *rix, uint16_t *ratecode)
  6389. {
  6390. uint32_t ratekbps = 0, res = RT_INVALID_INDEX; /* represents failure */
  6391. uint16_t rc;
  6392. enum DP_CMN_MODULATION_TYPE mod;
  6393. /* For error case, where idx exceeds boundary limit */
  6394. *ratecode = 0;
  6395. mod = dp_getmodulation(preamble, bw, punc_bw);
  6396. rc = mcs;
  6397. /* get the base of corresponding rate table entry */
  6398. res = _rc_idx[mod];
  6399. switch (preamble) {
  6400. case DP_CMN_RATECODE_PREAM_EHT:
  6401. res += ((rc + 2) % NUM_EHT_MCS) + nss * NUM_EHT_MCS;
  6402. break;
  6403. case DP_CMN_RATECODE_PREAM_HE:
  6404. res += rc + nss * NUM_HE_MCS;
  6405. break;
  6406. case DP_CMN_RATECODE_PREAM_VHT:
  6407. res += rc + nss * NUM_VHT_MCS;
  6408. break;
  6409. case DP_CMN_RATECODE_PREAM_HT:
  6410. res += rc + nss * NUM_HT_MCS;
  6411. break;
  6412. case DP_CMN_RATECODE_PREAM_CCK:
  6413. rc &= ~HW_RATECODE_CCK_SHORT_PREAM_MASK;
  6414. res += rc;
  6415. break;
  6416. case DP_CMN_RATECODE_PREAM_OFDM:
  6417. res += rc;
  6418. break;
  6419. default:
  6420. break;
  6421. }
  6422. if (res >= DP_RATE_TABLE_SIZE)
  6423. goto done;
  6424. if (!gi) {
  6425. ratekbps = dp_11abgnratetable.info[res].userratekbps;
  6426. } else {
  6427. switch (gi) {
  6428. case CDP_SGI_0_4_US:
  6429. ratekbps = dp_11abgnratetable.info[res].ratekbpssgi;
  6430. break;
  6431. case CDP_SGI_1_6_US:
  6432. ratekbps = dp_11abgnratetable.info[res].ratekbpsdgi;
  6433. break;
  6434. case CDP_SGI_3_2_US:
  6435. ratekbps = dp_11abgnratetable.info[res].ratekbpsqgi;
  6436. break;
  6437. }
  6438. }
  6439. *ratecode = dp_11abgnratetable.info[res].ratecode;
  6440. done:
  6441. *rix = res;
  6442. return ratekbps;
  6443. }
  6444. #else
  6445. uint32_t
  6446. dp_getrateindex(uint32_t gi, uint16_t mcs, uint8_t nss, uint8_t preamble,
  6447. uint8_t bw, uint8_t punc_bw, uint32_t *rix, uint16_t *ratecode)
  6448. {
  6449. uint32_t ratekbps = 0, res = RT_INVALID_INDEX; /* represents failure */
  6450. uint16_t rc;
  6451. enum DP_CMN_MODULATION_TYPE mod;
  6452. /* For error case, where idx exceeds boundary limit */
  6453. *ratecode = 0;
  6454. mod = dp_getmodulation(preamble, bw, punc_bw);
  6455. rc = mcs;
  6456. /* get the base of corresponding rate table entry */
  6457. res = _rc_idx[mod];
  6458. switch (preamble) {
  6459. case DP_CMN_RATECODE_PREAM_HE:
  6460. res += rc + nss * NUM_HE_MCS;
  6461. break;
  6462. case DP_CMN_RATECODE_PREAM_VHT:
  6463. res += rc + nss * NUM_VHT_MCS;
  6464. break;
  6465. case DP_CMN_RATECODE_PREAM_HT:
  6466. res += rc + nss * NUM_HT_MCS;
  6467. break;
  6468. case DP_CMN_RATECODE_PREAM_CCK:
  6469. rc &= ~HW_RATECODE_CCK_SHORT_PREAM_MASK;
  6470. res += rc;
  6471. break;
  6472. case DP_CMN_RATECODE_PREAM_OFDM:
  6473. res += rc;
  6474. break;
  6475. default:
  6476. break;
  6477. }
  6478. if (res >= DP_RATE_TABLE_SIZE)
  6479. goto done;
  6480. if (!gi) {
  6481. ratekbps = dp_11abgnratetable.info[res].userratekbps;
  6482. } else {
  6483. switch (gi) {
  6484. case CDP_SGI_0_4_US:
  6485. ratekbps = dp_11abgnratetable.info[res].ratekbpssgi;
  6486. break;
  6487. case CDP_SGI_1_6_US:
  6488. ratekbps = dp_11abgnratetable.info[res].ratekbpsdgi;
  6489. break;
  6490. case CDP_SGI_3_2_US:
  6491. ratekbps = dp_11abgnratetable.info[res].ratekbpsqgi;
  6492. break;
  6493. }
  6494. }
  6495. *ratecode = dp_11abgnratetable.info[res].ratecode;
  6496. done:
  6497. *rix = res;
  6498. return ratekbps;
  6499. }
  6500. #endif
  6501. qdf_export_symbol(dp_getrateindex);
  6502. /* dp_rate_idx_to_kbps - get rate kbps from index
  6503. * @rate_idx - rate index
  6504. * @gintval - guard interval
  6505. *
  6506. * return - rate index in kbps with help of ratetable
  6507. */
  6508. int dp_rate_idx_to_kbps(uint8_t rate_idx, uint8_t gintval)
  6509. {
  6510. if (rate_idx >= DP_RATE_TABLE_SIZE)
  6511. return 0;
  6512. if (!gintval)
  6513. return RT_GET_RAW_KBPS(&dp_11abgnratetable, rate_idx);
  6514. else
  6515. return RT_GET_SGI_KBPS(&dp_11abgnratetable, rate_idx);
  6516. return 0;
  6517. }
  6518. qdf_export_symbol(dp_rate_idx_to_kbps);
  6519. /* dp_get_start_index - get start index as per bw, mode and nss
  6520. * @ch_width - channel bandwidth
  6521. * @mode - operating mode
  6522. * @nss - no. of spatial streams
  6523. *
  6524. * return - start index
  6525. */
  6526. static int dp_get_start_index(int ch_width, int mode, int nss)
  6527. {
  6528. if (mode == HW_RATECODE_PREAM_HT) {
  6529. if (nss >= NUM_HT_SPATIAL_STREAM)
  6530. nss = NUM_HT_SPATIAL_STREAM;
  6531. if (ch_width == CMN_BW_20MHZ)
  6532. return HT_20_RATE_TABLE_INDEX + (nss - 1) * NUM_HT_MCS;
  6533. else if (ch_width == CMN_BW_40MHZ)
  6534. return HT_40_RATE_TABLE_INDEX + (nss - 1) * NUM_HT_MCS;
  6535. } else if (mode == HW_RATECODE_PREAM_VHT) {
  6536. if (nss >= NUM_SPATIAL_STREAMS)
  6537. nss = NUM_SPATIAL_STREAMS;
  6538. if (ch_width == CMN_BW_20MHZ) {
  6539. return VHT_20_RATE_TABLE_INDEX + (nss - 1) * NUM_VHT_MCS;
  6540. } else if (ch_width == CMN_BW_40MHZ) {
  6541. return VHT_40_RATE_TABLE_INDEX + (nss - 1) * NUM_VHT_MCS;
  6542. } else if (ch_width == CMN_BW_80MHZ) {
  6543. return VHT_80_RATE_TABLE_INDEX + (nss - 1) * NUM_VHT_MCS;
  6544. } else if ((ch_width == CMN_BW_160MHZ) ||
  6545. (ch_width == CMN_BW_80_80MHZ)) {
  6546. if (nss >= MAX_SPATIAL_STREAMS_SUPPORTED_AT_160MHZ)
  6547. nss = MAX_SPATIAL_STREAMS_SUPPORTED_AT_160MHZ;
  6548. return VHT_160_RATE_TABLE_INDEX + (nss - 1) * NUM_VHT_MCS;
  6549. }
  6550. } else if (mode == HW_RATECODE_PREAM_HE) {
  6551. if (nss >= NUM_SPATIAL_STREAMS)
  6552. nss = NUM_SPATIAL_STREAMS;
  6553. if (ch_width == CMN_BW_20MHZ) {
  6554. return HE_20_RATE_TABLE_INDEX + (nss - 1) * NUM_HE_MCS;
  6555. } else if (ch_width == CMN_BW_40MHZ) {
  6556. return HE_40_RATE_TABLE_INDEX + (nss - 1) * NUM_HE_MCS;
  6557. } else if (ch_width == CMN_BW_80MHZ) {
  6558. return HE_80_RATE_TABLE_INDEX + (nss - 1) * NUM_HE_MCS;
  6559. } else if ((ch_width == CMN_BW_160MHZ) ||
  6560. (ch_width == CMN_BW_80_80MHZ)) {
  6561. if (nss >= MAX_SPATIAL_STREAMS_SUPPORTED_AT_160MHZ)
  6562. nss = MAX_SPATIAL_STREAMS_SUPPORTED_AT_160MHZ;
  6563. return HE_160_RATE_TABLE_INDEX + (nss - 1) * NUM_HE_MCS;
  6564. }
  6565. }
  6566. return -1;
  6567. }
  6568. /* dp_get_end_index - get end index as per bw, mode and nss
  6569. * @ch_width - channel bandwidth
  6570. * @mode - operating mode
  6571. * @nss - no. of spatial streams
  6572. *
  6573. * return - end index
  6574. */
  6575. static int dp_get_end_index(int ch_width, int mode, int nss)
  6576. {
  6577. if (mode == HW_RATECODE_PREAM_HT) {
  6578. if (nss >= NUM_HT_SPATIAL_STREAM)
  6579. nss = NUM_HT_SPATIAL_STREAM;
  6580. if (ch_width == CMN_BW_20MHZ)
  6581. return HT_20_RATE_TABLE_INDEX + nss * NUM_HT_MCS - 1;
  6582. else if (ch_width == CMN_BW_40MHZ)
  6583. return HT_40_RATE_TABLE_INDEX + nss * NUM_HT_MCS - 1;
  6584. } else if (mode == HW_RATECODE_PREAM_VHT) {
  6585. if (nss >= NUM_SPATIAL_STREAMS)
  6586. nss = NUM_SPATIAL_STREAMS;
  6587. if (ch_width == CMN_BW_20MHZ) {
  6588. return VHT_20_RATE_TABLE_INDEX + nss * NUM_VHT_MCS - 1;
  6589. } else if (ch_width == CMN_BW_40MHZ) {
  6590. return VHT_40_RATE_TABLE_INDEX + nss * NUM_VHT_MCS - 1;
  6591. } else if (ch_width == CMN_BW_80MHZ) {
  6592. return VHT_80_RATE_TABLE_INDEX + nss * NUM_VHT_MCS - 1;
  6593. } else if ((ch_width == CMN_BW_160MHZ) ||
  6594. (ch_width == CMN_BW_80_80MHZ)) {
  6595. if (nss >= MAX_SPATIAL_STREAMS_SUPPORTED_AT_160MHZ)
  6596. nss = MAX_SPATIAL_STREAMS_SUPPORTED_AT_160MHZ;
  6597. return VHT_160_RATE_TABLE_INDEX + nss * NUM_VHT_MCS - 1;
  6598. }
  6599. } else if (mode == HW_RATECODE_PREAM_HE) {
  6600. if (nss >= NUM_SPATIAL_STREAMS)
  6601. nss = NUM_SPATIAL_STREAMS;
  6602. if (ch_width == CMN_BW_20MHZ) {
  6603. return HE_20_RATE_TABLE_INDEX + nss * NUM_HE_MCS - 1;
  6604. } else if (ch_width == CMN_BW_40MHZ) {
  6605. return HE_40_RATE_TABLE_INDEX + nss * NUM_HE_MCS - 1;
  6606. } else if (ch_width == CMN_BW_80MHZ) {
  6607. return HE_80_RATE_TABLE_INDEX + nss * NUM_HE_MCS - 1;
  6608. } else if ((ch_width == CMN_BW_160MHZ) ||
  6609. (ch_width == CMN_BW_80_80MHZ)) {
  6610. if (nss >= MAX_SPATIAL_STREAMS_SUPPORTED_AT_160MHZ)
  6611. nss = MAX_SPATIAL_STREAMS_SUPPORTED_AT_160MHZ;
  6612. return HE_160_RATE_TABLE_INDEX + nss * NUM_HE_MCS - 1;
  6613. }
  6614. }
  6615. return -1;
  6616. }
  6617. /* __dp_get_supported_rates - get supported rates as per start and end index
  6618. * @shortgi - gi setting
  6619. * @start_index - starting index
  6620. * @end_index - ending index
  6621. * @rates - array to copy the rates into
  6622. *
  6623. * return - no. of rate entries copied
  6624. */
  6625. static int __dp_get_supported_rates(int shortgi, int start_index,
  6626. int end_index, int **rates)
  6627. {
  6628. int i, j = 1;
  6629. int *ratelist = *rates;
  6630. /* Check if the index calculation is out of array bounds */
  6631. if (start_index < 0 || start_index >= DP_RATE_TABLE_SIZE ||
  6632. end_index < 0 || end_index >= DP_RATE_TABLE_SIZE)
  6633. return 0;
  6634. if (!shortgi) {
  6635. for (i = start_index; i <= end_index; i++) {
  6636. if (dp_11abgnratetable.info[i].validmodemask) {
  6637. ratelist[j] = dp_11abgnratetable.info[i].
  6638. ratekbps;
  6639. j++;
  6640. }
  6641. }
  6642. } else {
  6643. switch (shortgi) {
  6644. case CDP_SGI_0_4_US:
  6645. for (i = start_index; i <= end_index; i++) {
  6646. if (dp_11abgnratetable.info[i].validmodemask) {
  6647. ratelist[j] = dp_11abgnratetable.
  6648. info[i].ratekbpssgi;
  6649. j++;
  6650. }
  6651. }
  6652. break;
  6653. case CDP_SGI_1_6_US:
  6654. for (i = start_index; i <= end_index; i++) {
  6655. if (dp_11abgnratetable.info[i].validmodemask) {
  6656. ratelist[j] = dp_11abgnratetable.
  6657. info[i].ratekbpsdgi;
  6658. j++;
  6659. }
  6660. }
  6661. break;
  6662. case CDP_SGI_3_2_US:
  6663. for (i = start_index; i <= end_index; i++) {
  6664. if (dp_11abgnratetable.info[i].validmodemask) {
  6665. ratelist[j] = dp_11abgnratetable.
  6666. info[i].ratekbpsqgi;
  6667. j++;
  6668. }
  6669. }
  6670. break;
  6671. }
  6672. }
  6673. ratelist[0] = j;
  6674. return j;
  6675. }
  6676. #if ALL_POSSIBLE_RATES_SUPPORTED
  6677. /* dp_get_supported_rates -get all supported rates as per mode and gi setting
  6678. * @mode - operating mode
  6679. * @shortgi - gi setting
  6680. * @rates - array to copy the rate entries into
  6681. *
  6682. * return - no. of rate entries copied
  6683. */
  6684. int dp_get_supported_rates(int mode, int shortgi, int **rates)
  6685. {
  6686. int start_index = -1, end_index = -1;
  6687. switch (mode) {
  6688. /* 11b CCK Rates */
  6689. case CMN_IEEE80211_MODE_B:
  6690. start_index = CCK_RATE_TABLE_INDEX;
  6691. end_index = CCK_RATE_TABLE_END_INDEX;
  6692. break;
  6693. /* 11a OFDM Rates */
  6694. case CMN_IEEE80211_MODE_A:
  6695. start_index = OFDM_RATE_TABLE_INDEX;
  6696. end_index = OFDMA_RATE_TABLE_END_INDEX;
  6697. break;
  6698. /* 11g CCK/OFDM Rates */
  6699. case CMN_IEEE80211_MODE_G:
  6700. start_index = CCK_RATE_TABLE_INDEX;
  6701. end_index = OFDMA_RATE_TABLE_END_INDEX;
  6702. break;
  6703. /* HT rates only */
  6704. case CMN_IEEE80211_MODE_NA:
  6705. case CMN_IEEE80211_MODE_NG:
  6706. start_index = dp_get_start_index(CMN_BW_20MHZ,
  6707. HW_RATECODE_PREAM_HT, 1);
  6708. end_index = dp_get_end_index(CMN_BW_40MHZ,
  6709. HW_RATECODE_PREAM_HT,
  6710. NUM_HT_SPATIAL_STREAM);
  6711. break;
  6712. /* VHT rates only */
  6713. case CMN_IEEE80211_MODE_AC:
  6714. start_index = dp_get_start_index(CMN_BW_20MHZ,
  6715. HW_RATECODE_PREAM_VHT, 1);
  6716. end_index = dp_get_end_index(CMN_BW_160MHZ,
  6717. HW_RATECODE_PREAM_VHT,
  6718. MAX_SPATIAL_STREAMS_SUPPORTED_AT_160MHZ);
  6719. break;
  6720. /* HE rates only */
  6721. case CMN_IEEE80211_MODE_AXA:
  6722. case CMN_IEEE80211_MODE_AXG:
  6723. start_index = dp_get_start_index(CMN_BW_20MHZ,
  6724. HW_RATECODE_PREAM_HE, 1);
  6725. end_index = dp_get_end_index(CMN_BW_160MHZ,
  6726. HW_RATECODE_PREAM_HE,
  6727. MAX_SPATIAL_STREAMS_SUPPORTED_AT_160MHZ);
  6728. break;
  6729. }
  6730. return __dp_get_supported_rates(shortgi, start_index, end_index, rates);
  6731. }
  6732. #else
  6733. /* dp_get_supported_rates - get all supported rates as per mode, bw, gi and nss
  6734. * @mode - operating mode
  6735. * @shortgi - gi setting
  6736. * @nss - no. of spatial streams
  6737. * @ch_width - channel bandwidth
  6738. * @rates - array to copy the rates into
  6739. *
  6740. * return - no. of rate entries copied
  6741. */
  6742. int dp_get_supported_rates(int mode, int shortgi, int nss,
  6743. int ch_width, int **rates)
  6744. {
  6745. int start_index = -1, end_index = -1;
  6746. switch (mode) {
  6747. /* 11b CCK Rates */
  6748. case CMN_IEEE80211_MODE_B:
  6749. start_index = CCK_RATE_TABLE_INDEX;
  6750. end_index = CCK_RATE_TABLE_END_INDEX;
  6751. break;
  6752. /* 11a OFDM Rates */
  6753. case CMN_IEEE80211_MODE_A:
  6754. start_index = OFDM_RATE_TABLE_INDEX;
  6755. end_index = OFDMA_RATE_TABLE_END_INDEX;
  6756. break;
  6757. /* 11g CCK/OFDM Rates */
  6758. case CMN_IEEE80211_MODE_G:
  6759. start_index = CCK_RATE_TABLE_INDEX;
  6760. end_index = OFDMA_RATE_TABLE_END_INDEX;
  6761. break;
  6762. /* HT rates only */
  6763. case CMN_IEEE80211_MODE_NA:
  6764. case CMN_IEEE80211_MODE_NG:
  6765. start_index = dp_get_start_index(ch_width,
  6766. HW_RATECODE_PREAM_HT, nss);
  6767. end_index = dp_get_end_index(ch_width,
  6768. HW_RATECODE_PREAM_HT, nss);
  6769. break;
  6770. /* VHT rates only */
  6771. case CMN_IEEE80211_MODE_AC:
  6772. start_index = dp_get_start_index(ch_width,
  6773. HW_RATECODE_PREAM_VHT, nss);
  6774. end_index = dp_get_end_index(ch_width,
  6775. HW_RATECODE_PREAM_VHT, nss);
  6776. break;
  6777. /* HE rates only */
  6778. case CMN_IEEE80211_MODE_AXA:
  6779. case CMN_IEEE80211_MODE_AXG:
  6780. start_index = dp_get_start_index(ch_width,
  6781. HW_RATECODE_PREAM_HE, nss);
  6782. end_index = dp_get_end_index(ch_width,
  6783. HW_RATECODE_PREAM_HE, nss);
  6784. break;
  6785. }
  6786. return __dp_get_supported_rates(shortgi, start_index, end_index, rates);
  6787. }
  6788. #endif
  6789. qdf_export_symbol(dp_get_supported_rates);
  6790. #if ALL_POSSIBLE_RATES_SUPPORTED
  6791. /* dp_get_kbps_to_mcs - Identify the mcs value based on the rate
  6792. * @kbps_rate - rate in kbps
  6793. * @shortgi - gi setting
  6794. * @htflag - The type of standard configured
  6795. *
  6796. * return - MCS value identified with help of the rate
  6797. */
  6798. int dp_get_kbps_to_mcs(int kbps_rate, int shortgi, int htflag)
  6799. {
  6800. int i = 0, nss = 0, num_mcs = NUM_LEGACY_MCS;
  6801. int start_index = -1, end_index = -1;
  6802. int ratekbpssgi = 0, ratekbps = 0;
  6803. /* Convert kbps to mbps for comparison */
  6804. kbps_rate *= 1000;
  6805. switch (htflag) {
  6806. /* 11b CCK Rates */
  6807. case DP_11B_CCK_RATE:
  6808. fallthrough;
  6809. /* 11a OFDM Rates */
  6810. case DP_11A_OFDM_RATE:
  6811. fallthrough;
  6812. /* 11g CCK/OFDM Rates */
  6813. case DP_11G_CCK_OFDM_RATE:
  6814. /* These rates dont have corresponding MCS, hence return 0 */
  6815. return 0;
  6816. /* HT rates only */
  6817. case DP_HT_RATE:
  6818. nss = NUM_HT_SPATIAL_STREAM;
  6819. start_index = dp_get_start_index(CMN_BW_20MHZ,
  6820. HW_RATECODE_PREAM_HT, 1);
  6821. end_index = dp_get_end_index(CMN_BW_40MHZ,
  6822. HW_RATECODE_PREAM_HT, nss);
  6823. num_mcs = NUM_HT_MCS;
  6824. break;
  6825. /* VHT rates only */
  6826. case DP_VHT_RATE:
  6827. nss = MAX_SPATIAL_STREAMS_SUPPORTED_AT_160MHZ;
  6828. start_index = dp_get_start_index(CMN_BW_20MHZ,
  6829. HW_RATECODE_PREAM_VHT, 1);
  6830. end_index = dp_get_end_index(CMN_BW_160MHZ,
  6831. HW_RATECODE_PREAM_VHT, nss);
  6832. num_mcs = NUM_VHT_MCS;
  6833. break;
  6834. /* HE rates only */
  6835. case DP_HE_RATE:
  6836. nss = MAX_SPATIAL_STREAMS_SUPPORTED_AT_160MHZ;
  6837. start_index = dp_get_start_index(CMN_BW_20MHZ,
  6838. HW_RATECODE_PREAM_HE, 1);
  6839. end_index = dp_get_end_index(CMN_BW_160MHZ,
  6840. HW_RATECODE_PREAM_HE, nss);
  6841. num_mcs = NUM_HE_MCS;
  6842. break;
  6843. }
  6844. /* Check if the index calculation is out of array bounds */
  6845. if (start_index < 0 ||
  6846. start_index >= DP_RATE_TABLE_SIZE ||
  6847. end_index < 0 ||
  6848. end_index >= DP_RATE_TABLE_SIZE) {
  6849. return 0;
  6850. }
  6851. if (shortgi) {
  6852. i = OFDM_RATE_TABLE_INDEX;
  6853. for ( ; i >= CCK_RATE_TABLE_INDEX; i--) {
  6854. if (dp_11abgnratetable.info[i].validmodemask
  6855. != HE_INVALID_RATES_MASK) {
  6856. ratekbpssgi = RATE_ROUNDOUT(DP_RATEKBPS_SGI(i));
  6857. if (ratekbpssgi == kbps_rate)
  6858. return (i - start_index) % num_mcs;
  6859. }
  6860. }
  6861. /*
  6862. * The below loop is to find the MCS value for the rate
  6863. * passed which will be between:
  6864. * For HT: 7200 and 600000 kbps
  6865. * For VHT: 7200 and 4333300 kbps
  6866. * For HE: 8900 and 5939400 kbps
  6867. */
  6868. for (i = end_index; i >= start_index; i--) {
  6869. if (dp_11abgnratetable.info[i].validmodemask
  6870. != HE_INVALID_RATES_MASK) {
  6871. ratekbpssgi = RATE_ROUNDOUT(DP_RATEKBPS_SGI(i));
  6872. if (ratekbpssgi == kbps_rate)
  6873. return (i - start_index) % num_mcs;
  6874. }
  6875. }
  6876. /*
  6877. * The below loop is to find the MCS value for the rate
  6878. * passed which will be between:
  6879. * For HT: 6500 and 540000 kbps
  6880. * For VHT: 6500 and 3900000 kbps
  6881. * For HE: 8600 and 5764700 kbps
  6882. */
  6883. for (i = end_index; i >= start_index; i--) {
  6884. if (dp_11abgnratetable.info[i].validmodemask
  6885. != HE_INVALID_RATES_MASK) {
  6886. ratekbps = RATE_ROUNDOUT(DP_RATEKBPS(i));
  6887. if (ratekbps == kbps_rate)
  6888. return (i - start_index) % num_mcs;
  6889. }
  6890. }
  6891. } else {
  6892. i = OFDM_RATE_TABLE_INDEX;
  6893. for ( ; i >= CCK_RATE_TABLE_INDEX; i--) {
  6894. if (dp_11abgnratetable.info[i].validmodemask
  6895. != HE_INVALID_RATES_MASK) {
  6896. ratekbps = RATE_ROUNDOUT(DP_RATEKBPS(i));
  6897. if (ratekbps == kbps_rate)
  6898. return (i - start_index) % num_mcs;
  6899. }
  6900. }
  6901. /*
  6902. * The below loop is to find the MCS value for the rate
  6903. * passed which will be between:
  6904. * For HT: 6500 and 540000 kbps
  6905. * For VHT: 6500 and 3900000 kbps
  6906. * For HE: 8600 and 5764700 kbps
  6907. */
  6908. for (i = end_index; i >= start_index; i--) {
  6909. if (dp_11abgnratetable.info[i].validmodemask
  6910. != HE_INVALID_RATES_MASK) {
  6911. ratekbps = RATE_ROUNDOUT(DP_RATEKBPS(i));
  6912. if (ratekbps == kbps_rate)
  6913. return (i - start_index) % num_mcs;
  6914. }
  6915. }
  6916. }
  6917. return INVALID_RATE_ERR;
  6918. }
  6919. #else
  6920. /* dp_get_kbps_to_mcs - Identify the mcs value based on the rate
  6921. * @kbps_rate - rate in kbps
  6922. * @shortgi - gi setting
  6923. * @htflag - The type of standard configured
  6924. * @nss - no. of spatial streams
  6925. * @ch_width - channel bandwidth
  6926. *
  6927. * return - MCS value identified with help of the rate
  6928. */
  6929. int dp_get_kbps_to_mcs(int kbps_rate, int shortgi, int htflag,
  6930. int nss, int ch_width);
  6931. {
  6932. int i = 0, num_mcs = NUM_LEGACY_MCS;
  6933. int start_index = -1, end_index = -1;
  6934. int ratekbpssgi = 0, ratekbps = 0;
  6935. /* Convert kbps to mbps for comparison */
  6936. kbps_rate *= 1000;
  6937. switch (htflag) {
  6938. /* 11b CCK Rates */
  6939. case DP_11B_CCK_RATE:
  6940. start_index = CCK_RATE_TABLE_INDEX;
  6941. end_index = CCK_RATE_TABLE_END_INDEX;
  6942. break;
  6943. /* 11a OFDM Rates */
  6944. case DP_11A_OFDM_RATE:
  6945. start_index = OFDM_RATE_TABLE_INDEX;
  6946. end_index = OFDMA_RATE_TABLE_END_INDEX;
  6947. break;
  6948. /* 11g CCK/OFDM Rates */
  6949. case DP_11G_CCK_OFDM_RATE:
  6950. start_index = CCK_RATE_TABLE_INDEX;
  6951. end_index = OFDMA_RATE_TABLE_END_INDEX;
  6952. break;
  6953. /* HT rates only */
  6954. case DP_HT_RATE:
  6955. start_index = dp_get_start_index(ch_width,
  6956. HW_RATECODE_PREAM_HT, nss);
  6957. end_index = dp_get_end_index(ch_width,
  6958. HW_RATECODE_PREAM_HT, nss);
  6959. num_mcs = NUM_HT_MCS;
  6960. break;
  6961. /* VHT rates only */
  6962. case DP_VHT_RATE:
  6963. start_index = dp_get_start_index(ch_width,
  6964. HW_RATECODE_PREAM_VHT, nss);
  6965. end_index = dp_get_end_index(ch_width,
  6966. HW_RATECODE_PREAM_VHT, nss);
  6967. num_mcs = NUM_VHT_MCS;
  6968. break;
  6969. /* HE rates only */
  6970. case DP_HE_RATE:
  6971. start_index = dp_get_start_index(ch_width,
  6972. HW_RATECODE_PREAM_HE, nss);
  6973. end_index = dp_get_end_index(ch_width,
  6974. HW_RATECODE_PREAM_HE, nss);
  6975. num_mcs = NUM_HE_MCS;
  6976. break;
  6977. }
  6978. /* Check if the index calculation is out of array bounds */
  6979. if (start_index < 0 ||
  6980. start_index >= DP_RATE_TABLE_SIZE ||
  6981. end_index < 0 ||
  6982. end_index >= DP_RATE_TABLE_SIZE) {
  6983. return 0;
  6984. }
  6985. if (shortgi) {
  6986. i = OFDM_RATE_TABLE_INDEX;
  6987. for ( ; i >= CCK_RATE_TABLE_INDEX; i--) {
  6988. if (dp_11abgnratetable.info[i].validmodemask
  6989. != HE_INVALID_RATES_MASK) {
  6990. ratekbpssgi = RATE_ROUNDOUT(DP_RATEKBPS_SGI(i));
  6991. if (ratekbpssgi == kbps_rate)
  6992. return (i - start_index) % num_mcs;
  6993. }
  6994. }
  6995. /*
  6996. * The below loop is to find the MCS value for the rate
  6997. * passed which will be between:
  6998. * For HT: 7200 and 600000 kbps
  6999. * For VHT: 7200 and 4333300 kbps
  7000. * For HE: 8900 and 5939400 kbps
  7001. * and is also based on the channel bandwidth and nss
  7002. * passed.
  7003. */
  7004. for (i = end_index; i >= start_index; i--) {
  7005. if (dp_11abgnratetable.info[i].validmodemask
  7006. != HE_INVALID_RATES_MASK) {
  7007. ratekbpssgi = RATE_ROUNDOUT(DP_RATEKBPS_SGI(i));
  7008. if (ratekbpssgi == kbps_rate)
  7009. return (i - start_index) % num_mcs;
  7010. }
  7011. }
  7012. /*
  7013. * The below loop is to find the MCS value for the rate
  7014. * passed which will be between:
  7015. * For HT: 6500 and 540000 kbps
  7016. * For VHT: 6500 and 3900000 kbps
  7017. * For HE: 8600 and 5764700 kbps
  7018. * and is also based on the channel bandwidth and nss
  7019. * passed.
  7020. */
  7021. for (i = end_index; i >= start_index; i--) {
  7022. if (dp_11abgnratetable.info[i].validmodemask
  7023. != HE_INVALID_RATES_MASK) {
  7024. ratekbps = RATE_ROUNDOUT(DP_RATEKBPS(i));
  7025. if (ratekbps == kbps_rate)
  7026. return (i - start_index) % num_mcs;
  7027. }
  7028. }
  7029. } else {
  7030. i = OFDM_RATE_TABLE_INDEX;
  7031. for ( ; i >= CCK_RATE_TABLE_INDEX; i--) {
  7032. if (dp_11abgnratetable.info[i].validmodemask
  7033. != HE_INVALID_RATES_MASK) {
  7034. ratekbps = RATE_ROUNDOUT(DP_RATEKBPS(i));
  7035. if (ratekbps == kbps_rate)
  7036. return (i - start_index) % num_mcs;
  7037. }
  7038. }
  7039. /*
  7040. * The below loop is to find the MCS value for the rate
  7041. * passed which will be between:
  7042. * For HT: 6500 and 540000 kbps
  7043. * For VHT: 6500 and 3900000 kbps
  7044. * For HE: 8600 and 5764700 kbps
  7045. * and is also based on the channel bandwidth and nss
  7046. * passed.
  7047. */
  7048. for (i = end_index; i >= start_index; i--) {
  7049. if (dp_11abgnratetable.info[i].validmodemask
  7050. != HE_INVALID_RATES_MASK) {
  7051. ratekbps = RATE_ROUNDOUT(DP_RATEKBPS(i));
  7052. if (ratekbps == kbps_rate)
  7053. return (i - start_index) % num_mcs;
  7054. }
  7055. }
  7056. }
  7057. return INVALID_RATE_ERR;
  7058. }
  7059. #endif
  7060. qdf_export_symbol(dp_get_kbps_to_mcs);