qca_vendor.h 146 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364
  1. /*
  2. * Copyright (c) 2012-2017 The Linux Foundation. All rights reserved.
  3. *
  4. * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
  5. *
  6. *
  7. * Permission to use, copy, modify, and/or distribute this software for
  8. * any purpose with or without fee is hereby granted, provided that the
  9. * above copyright notice and this permission notice appear in all
  10. * copies.
  11. *
  12. * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
  13. * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
  14. * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
  15. * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
  16. * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
  17. * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
  18. * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
  19. * PERFORMANCE OF THIS SOFTWARE.
  20. */
  21. /*
  22. * This file was originally distributed by Qualcomm Atheros, Inc.
  23. * under proprietary terms before Copyright ownership was assigned
  24. * to the Linux Foundation.
  25. */
  26. /**
  27. * DOC: declares vendor commands interfacing with linux kernel
  28. */
  29. #ifndef _WLAN_QCA_VENDOR_H_
  30. #define _WLAN_QCA_VENDOR_H_
  31. /* Vendor id to be used in vendor specific command and events
  32. * to user space.
  33. * NOTE: The authoritative place for definition of QCA_NL80211_VENDOR_ID,
  34. * vendor subcmd definitions prefixed with QCA_NL80211_VENDOR_SUBCMD, and
  35. * qca_wlan_vendor_attr is open source file src/common/qca-vendor.h in
  36. * git://w1.fi/srv/git/hostap.git; the values here are just a copy of that
  37. */
  38. #define QCA_NL80211_VENDOR_ID 0x001374
  39. /**
  40. * enum qca_nl80211_vendor_subcmds: NL 80211 vendor sub command
  41. *
  42. * @QCA_NL80211_VENDOR_SUBCMD_UNSPEC: Unspecified
  43. * @QCA_NL80211_VENDOR_SUBCMD_TEST: Test
  44. * Sub commands 2 to 8 are not used
  45. * @QCA_NL80211_VENDOR_SUBCMD_ROAMING: Roaming
  46. * @QCA_NL80211_VENDOR_SUBCMD_AVOID_FREQUENCY: Avoid frequency.
  47. * @QCA_NL80211_VENDOR_SUBCMD_DFS_CAPABILITY: DFS capability
  48. * @QCA_NL80211_VENDOR_SUBCMD_NAN: Nan
  49. * @QCA_NL80211_VENDOR_SUBCMD_STATS_EXT: Ext stats
  50. * @QCA_NL80211_VENDOR_SUBCMD_LL_STATS_SET: Link layer stats set
  51. * @QCA_NL80211_VENDOR_SUBCMD_LL_STATS_GET: Link layer stats get
  52. * @QCA_NL80211_VENDOR_SUBCMD_LL_STATS_CLR: Link layer stats clear
  53. * @QCA_NL80211_VENDOR_SUBCMD_LL_STATS_RADIO_RESULTS: Link layer stats radio
  54. * results
  55. * @QCA_NL80211_VENDOR_SUBCMD_LL_STATS_IFACE_RESULTS: Link layer stats interface
  56. * results
  57. * @QCA_NL80211_VENDOR_SUBCMD_LL_STATS_PEERS_RESULTS: Link layer stats peer
  58. * results
  59. * @QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_START: Ext scan start
  60. * @QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_STOP: Ext scan stop
  61. * @QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_GET_VALID_CHANNELS: Ext scan get valid
  62. * channels
  63. * @QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_GET_CAPABILITIES: Ext scan get capability
  64. * @QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_GET_CACHED_RESULTS: Ext scan get cached
  65. * results
  66. * @QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_SCAN_RESULTS_AVAILABLE: Ext scan results
  67. * available. Used when report_threshold is reached in scan cache.
  68. * @QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_FULL_SCAN_RESULT: Ext scan full scan
  69. * result. Used to report scan results when each probe rsp. is received,
  70. * if report_events enabled in wifi_scan_cmd_params.
  71. * @QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_SCAN_EVENT: Ext scan event from target.
  72. * Indicates progress of scanning state-machine.
  73. * @QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_HOTLIST_AP_FOUND: Ext scan hotlist
  74. * ap found
  75. * @QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_SET_BSSID_HOTLIST: Ext scan set hotlist
  76. * bssid
  77. * @QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_RESET_BSSID_HOTLIST: Ext scan reset
  78. * hotlist bssid
  79. * @QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_SIGNIFICANT_CHANGE: Ext scan significant
  80. * change
  81. * @QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_SET_SIGNIFICANT_CHANGE: Ext scan set
  82. * significant change
  83. * ap found
  84. * @QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_RESET_SIGNIFICANT_CHANGE: Ext scan reset
  85. * significant change
  86. * @QCA_NL80211_VENDOR_SUBCMD_TDLS_ENABLE: Ext tdls enable
  87. * @QCA_NL80211_VENDOR_SUBCMD_TDLS_DISABLE: Ext tdls disable
  88. * @QCA_NL80211_VENDOR_SUBCMD_TDLS_GET_STATUS: Ext tdls get status
  89. * @QCA_NL80211_VENDOR_SUBCMD_TDLS_STATE: Ext tdls state
  90. * @QCA_NL80211_VENDOR_SUBCMD_GET_SUPPORTED_FEATURES: Get supported features
  91. * @QCA_NL80211_VENDOR_SUBCMD_SCANNING_MAC_OUI: Set scanning_mac_oui
  92. * @QCA_NL80211_VENDOR_SUBCMD_NO_DFS_FLAG: No DFS flag
  93. * @QCA_NL80211_VENDOR_SUBCMD_GET_CONCURRENCY_MATRIX: Get Concurrency Matrix
  94. * @QCA_NL80211_VENDOR_SUBCMD_KEY_MGMT_SET_KEY: Get the key mgmt offload keys
  95. * @QCA_NL80211_VENDOR_SUBCMD_KEY_MGMT_ROAM_AUTH: After roaming, send the
  96. * roaming and auth information.
  97. * @QCA_NL80211_VENDOR_SUBCMD_OCB_SET_SCHED: Set OCB schedule
  98. * @QCA_NL80211_VENDOR_SUBCMD_DO_ACS: ACS offload flag
  99. * @QCA_NL80211_VENDOR_SUBCMD_GET_FEATURES: Get the supported features by the
  100. * driver.
  101. * @QCA_NL80211_VENDOR_SUBCMD_DFS_OFFLOAD_CAC_STARTED: Indicate that driver
  102. * started CAC on DFS channel
  103. * @QCA_NL80211_VENDOR_SUBCMD_DFS_OFFLOAD_CAC_FINISHED: Indicate that driver
  104. * completed the CAC check on DFS channel
  105. * @QCA_NL80211_VENDOR_SUBCMD_DFS_OFFLOAD_CAC_ABORTED: Indicate that the CAC
  106. * check was aborted by the driver
  107. * @QCA_NL80211_VENDOR_SUBCMD_DFS_OFFLOAD_CAC_NOP_FINISHED: Indicate that the
  108. * driver completed NOP
  109. * @QCA_NL80211_VENDOR_SUBCMD_DFS_OFFLOAD_RADAR_DETECTED: Indicate that the
  110. * driver detected radar signal on the current operating channel
  111. * @QCA_NL80211_VENDOR_SUBCMD_GET_WIFI_INFO: get wlan driver information
  112. * @QCA_NL80211_VENDOR_SUBCMD_WIFI_LOGGER_START: start wifi logger
  113. * @QCA_NL80211_VENDOR_SUBCMD_WIFI_LOGGER_MEMORY_DUMP: memory dump request
  114. * @QCA_NL80211_VENDOR_SUBCMD_GET_LOGGER_FEATURE_SET: get logger feature set
  115. * @QCA_NL80211_VENDOR_SUBCMD_ROAM: roam
  116. * @QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_SET_SSID_HOTLIST: extscan set ssid hotlist
  117. * @QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_RESET_SSID_HOTLIST:
  118. * extscan reset ssid hotlist
  119. * @QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_HOTLIST_SSID_FOUND: hotlist ssid found
  120. * @QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_HOTLIST_SSID_LOST: hotlist ssid lost
  121. * @QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_PNO_SET_LIST: set pno list
  122. * @QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_PNO_SET_PASSPOINT_LIST: set passpoint list
  123. * @QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_PNO_RESET_PASSPOINT_LIST:
  124. * reset passpoint list
  125. * @QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_PNO_NETWORK_FOUND: pno network found
  126. * @QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_PNO_PASSPOINT_NETWORK_FOUND:
  127. * passpoint network found
  128. * @QCA_NL80211_VENDOR_SUBCMD_SET_WIFI_CONFIGURATION: set wifi config
  129. * @QCA_NL80211_VENDOR_SUBCMD_GET_WIFI_CONFIGURATION: get wifi config
  130. * @QCA_NL80211_VENDOR_SUBCMD_GET_LOGGER_FEATURE_SET: get logging features
  131. * @QCA_NL80211_VENDOR_SUBCMD_LINK_PROPERTIES: get link properties
  132. * @QCA_NL80211_VENDOR_SUBCMD_GW_PARAM_CONFIG: set gateway parameters
  133. * @QCA_NL80211_VENDOR_SUBCMD_GET_PREFERRED_FREQ_LIST: get preferred channel
  134. list
  135. * @QCA_NL80211_VENDOR_SUBCMD_SET_PROBABLE_OPER_CHANNEL: channel hint
  136. * @QCA_NL80211_VENDOR_SUBCMD_SETBAND: vendor setband command
  137. * @QCA_NL80211_VENDOR_SUBCMD_TRIGGER_SCAN: venodr scan command
  138. * @QCA_NL80211_VENDOR_SUBCMD_SCAN_DONE: vendor scan complete
  139. * @QCA_NL80211_VENDOR_SUBCMD_ABORT_SCAN: vendor abort scan
  140. * @QCA_NL80211_VENDOR_SUBCMD_OTA_TEST: enable OTA test
  141. * @QCA_NL80211_VENDOR_SUBCMD_SET_TXPOWER_SCALE: set tx power by percentage
  142. * @QCA_NL80211_VENDOR_SUBCMD_SET_TXPOWER_SCALE_DECR_DB: reduce tx power by DB
  143. * @QCA_NL80211_VENDOR_SUBCMD_SET_SAP_CONFIG: SAP configuration
  144. * @QCA_NL80211_VENDOR_SUBCMD_TSF: TSF operations command
  145. * @QCA_NL80211_VENDOR_SUBCMD_WISA: WISA mode configuration
  146. * @QCA_NL80211_VENDOR_SUBCMD_P2P_LISTEN_OFFLOAD_START: Command used to
  147. * start the P2P Listen Offload function in device and pass the listen
  148. * channel, period, interval, count, number of device types, device
  149. * types and vendor information elements to device driver and firmware.
  150. * @QCA_NL80211_VENDOR_SUBCMD_P2P_LISTEN_OFFLOAD_STOP: Command/event used to
  151. * indicate stop request/response of the P2P Listen Offload function in
  152. * device. As an event, it indicates either the feature stopped after it
  153. * was already running or feature has actually failed to start.
  154. * @QCA_NL80211_VENDOR_SUBCMD_GET_STATION: send BSS Information
  155. * @QCA_NL80211_VENDOR_SUBCMD_SAP_CONDITIONAL_CHAN_SWITCH: After SAP starts
  156. * beaconing, this sub command provides the driver, the frequencies on the
  157. * 5 GHz to check for any radar activity. Driver selects one channel from
  158. * this priority list provided through
  159. * @QCA_WLAN_VENDOR_ATTR_SAP_CONDITIONAL_CHAN_SWITCH_FREQ_LIST and starts
  160. * to check for radar activity on it. If no radar activity is detected
  161. * during the channel availability check period, driver internally switches
  162. * to the selected frequency of operation. If the frequency is zero, driver
  163. * internally selects a channel. The status of this conditional switch is
  164. * indicated through an event using the same sub command through
  165. * @QCA_WLAN_VENDOR_ATTR_SAP_CONDITIONAL_CHAN_SWITCH_STATUS. Attributes are
  166. * listed in qca_wlan_vendor_attr_sap_conditional_chan_switch
  167. * @QCA_NL80211_VENDOR_SUBCMD_CONFIGURE_TDLS: Configure the TDLS behavior
  168. * in the host driver. The different TDLS configurations are defined
  169. * by the attributes in enum qca_wlan_vendor_attr_tdls_configuration.
  170. * @QCA_NL80211_VENDOR_SUBCMD_SET_SAR_LIMITS:Set the Specific Absorption Rate
  171. * (SAR) power limits. A critical regulation for FCC compliance, OEMs
  172. * require methods to set SAR limits on TX power of WLAN/WWAN.
  173. * enum qca_vendor_attr_sar_limits attributes are used with this command.
  174. * @QCA_NL80211_VENDOR_SUBCMD_EXTERNAL_ACS: Vendor command used to get/set
  175. * configuration of vendor ACS.
  176. */
  177. enum qca_nl80211_vendor_subcmds {
  178. QCA_NL80211_VENDOR_SUBCMD_UNSPEC = 0,
  179. QCA_NL80211_VENDOR_SUBCMD_TEST = 1,
  180. QCA_NL80211_VENDOR_SUBCMD_ROAMING = 9,
  181. QCA_NL80211_VENDOR_SUBCMD_AVOID_FREQUENCY = 10,
  182. QCA_NL80211_VENDOR_SUBCMD_DFS_CAPABILITY = 11,
  183. QCA_NL80211_VENDOR_SUBCMD_NAN = 12,
  184. QCA_NL80211_VENDOR_SUBCMD_STATS_EXT = 13,
  185. QCA_NL80211_VENDOR_SUBCMD_LL_STATS_SET = 14,
  186. QCA_NL80211_VENDOR_SUBCMD_LL_STATS_GET = 15,
  187. QCA_NL80211_VENDOR_SUBCMD_LL_STATS_CLR = 16,
  188. QCA_NL80211_VENDOR_SUBCMD_LL_STATS_RADIO_RESULTS = 17,
  189. QCA_NL80211_VENDOR_SUBCMD_LL_STATS_IFACE_RESULTS = 18,
  190. QCA_NL80211_VENDOR_SUBCMD_LL_STATS_PEERS_RESULTS = 19,
  191. QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_START = 20,
  192. QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_STOP = 21,
  193. QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_GET_VALID_CHANNELS = 22,
  194. QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_GET_CAPABILITIES = 23,
  195. QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_GET_CACHED_RESULTS = 24,
  196. QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_SCAN_RESULTS_AVAILABLE = 25,
  197. QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_FULL_SCAN_RESULT = 26,
  198. QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_SCAN_EVENT = 27,
  199. QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_HOTLIST_AP_FOUND = 28,
  200. QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_SET_BSSID_HOTLIST = 29,
  201. QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_RESET_BSSID_HOTLIST = 30,
  202. QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_SIGNIFICANT_CHANGE = 31,
  203. QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_SET_SIGNIFICANT_CHANGE = 32,
  204. QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_RESET_SIGNIFICANT_CHANGE = 33,
  205. QCA_NL80211_VENDOR_SUBCMD_TDLS_ENABLE = 34,
  206. QCA_NL80211_VENDOR_SUBCMD_TDLS_DISABLE = 35,
  207. QCA_NL80211_VENDOR_SUBCMD_TDLS_GET_STATUS = 36,
  208. QCA_NL80211_VENDOR_SUBCMD_TDLS_STATE = 37,
  209. QCA_NL80211_VENDOR_SUBCMD_GET_SUPPORTED_FEATURES = 38,
  210. QCA_NL80211_VENDOR_SUBCMD_SCANNING_MAC_OUI = 39,
  211. QCA_NL80211_VENDOR_SUBCMD_NO_DFS_FLAG = 40,
  212. QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_HOTLIST_AP_LOST = 41,
  213. /* Get Concurrency Matrix */
  214. QCA_NL80211_VENDOR_SUBCMD_GET_CONCURRENCY_MATRIX = 42,
  215. QCA_NL80211_VENDOR_SUBCMD_KEY_MGMT_SET_KEY = 50,
  216. QCA_NL80211_VENDOR_SUBCMD_KEY_MGMT_ROAM_AUTH = 51,
  217. /* Deprecated */
  218. QCA_NL80211_VENDOR_SUBCMD_OCB_SET_SCHED = 53,
  219. QCA_NL80211_VENDOR_SUBCMD_DO_ACS = 54,
  220. QCA_NL80211_VENDOR_SUBCMD_GET_FEATURES = 55,
  221. /* Off loaded DFS events */
  222. QCA_NL80211_VENDOR_SUBCMD_DFS_OFFLOAD_CAC_STARTED = 56,
  223. QCA_NL80211_VENDOR_SUBCMD_DFS_OFFLOAD_CAC_FINISHED = 57,
  224. QCA_NL80211_VENDOR_SUBCMD_DFS_OFFLOAD_CAC_ABORTED = 58,
  225. QCA_NL80211_VENDOR_SUBCMD_DFS_OFFLOAD_CAC_NOP_FINISHED = 59,
  226. QCA_NL80211_VENDOR_SUBCMD_DFS_OFFLOAD_RADAR_DETECTED = 60,
  227. QCA_NL80211_VENDOR_SUBCMD_GET_WIFI_INFO = 61,
  228. QCA_NL80211_VENDOR_SUBCMD_WIFI_LOGGER_START = 62,
  229. QCA_NL80211_VENDOR_SUBCMD_WIFI_LOGGER_MEMORY_DUMP = 63,
  230. QCA_NL80211_VENDOR_SUBCMD_ROAM = 64,
  231. QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_SET_SSID_HOTLIST = 65,
  232. QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_RESET_SSID_HOTLIST = 66,
  233. QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_HOTLIST_SSID_FOUND = 67,
  234. QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_HOTLIST_SSID_LOST = 68,
  235. QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_PNO_SET_LIST = 69,
  236. QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_PNO_SET_PASSPOINT_LIST = 70,
  237. QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_PNO_RESET_PASSPOINT_LIST = 71,
  238. QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_PNO_NETWORK_FOUND = 72,
  239. QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_PNO_PASSPOINT_NETWORK_FOUND = 73,
  240. /* Wi-Fi Configuration subcommands */
  241. QCA_NL80211_VENDOR_SUBCMD_SET_WIFI_CONFIGURATION = 74,
  242. QCA_NL80211_VENDOR_SUBCMD_GET_WIFI_CONFIGURATION = 75,
  243. QCA_NL80211_VENDOR_SUBCMD_GET_LOGGER_FEATURE_SET = 76,
  244. QCA_NL80211_VENDOR_SUBCMD_GET_RING_DATA = 77,
  245. QCA_NL80211_VENDOR_SUBCMD_TDLS_GET_CAPABILITIES = 78,
  246. QCA_NL80211_VENDOR_SUBCMD_OFFLOADED_PACKETS = 79,
  247. QCA_NL80211_VENDOR_SUBCMD_MONITOR_RSSI = 80,
  248. QCA_NL80211_VENDOR_SUBCMD_NDP = 81,
  249. /* NS Offload enable/disable cmd */
  250. QCA_NL80211_VENDOR_SUBCMD_ND_OFFLOAD = 82,
  251. QCA_NL80211_VENDOR_SUBCMD_PACKET_FILTER = 83,
  252. QCA_NL80211_VENDOR_SUBCMD_GET_BUS_SIZE = 84,
  253. QCA_NL80211_VENDOR_SUBCMD_GET_WAKE_REASON_STATS = 85,
  254. /* OCB commands */
  255. QCA_NL80211_VENDOR_SUBCMD_OCB_SET_CONFIG = 92,
  256. QCA_NL80211_VENDOR_SUBCMD_OCB_SET_UTC_TIME = 93,
  257. QCA_NL80211_VENDOR_SUBCMD_OCB_START_TIMING_ADVERT = 94,
  258. QCA_NL80211_VENDOR_SUBCMD_OCB_STOP_TIMING_ADVERT = 95,
  259. QCA_NL80211_VENDOR_SUBCMD_OCB_GET_TSF_TIMER = 96,
  260. QCA_NL80211_VENDOR_SUBCMD_DCC_GET_STATS = 97,
  261. QCA_NL80211_VENDOR_SUBCMD_DCC_CLEAR_STATS = 98,
  262. QCA_NL80211_VENDOR_SUBCMD_DCC_UPDATE_NDL = 99,
  263. QCA_NL80211_VENDOR_SUBCMD_DCC_STATS_EVENT = 100,
  264. /* subcommand to get link properties */
  265. QCA_NL80211_VENDOR_SUBCMD_LINK_PROPERTIES = 101,
  266. /* LFR Subnet Detection */
  267. QCA_NL80211_VENDOR_SUBCMD_GW_PARAM_CONFIG = 102,
  268. /* DBS subcommands */
  269. QCA_NL80211_VENDOR_SUBCMD_GET_PREFERRED_FREQ_LIST = 103,
  270. QCA_NL80211_VENDOR_SUBCMD_SET_PROBABLE_OPER_CHANNEL = 104,
  271. /* Vendor setband command */
  272. QCA_NL80211_VENDOR_SUBCMD_SETBAND = 105,
  273. /* Vendor scan commands */
  274. QCA_NL80211_VENDOR_SUBCMD_TRIGGER_SCAN = 106,
  275. QCA_NL80211_VENDOR_SUBCMD_SCAN_DONE = 107,
  276. /* OTA test subcommand */
  277. QCA_NL80211_VENDOR_SUBCMD_OTA_TEST = 108,
  278. /* Tx power scaling subcommands */
  279. QCA_NL80211_VENDOR_SUBCMD_SET_TXPOWER_SCALE = 109,
  280. /* Tx power scaling in db subcommands */
  281. QCA_NL80211_VENDOR_SUBCMD_SET_TXPOWER_SCALE_DECR_DB = 115,
  282. QCA_NL80211_VENDOR_SUBCMD_ACS_POLICY = 116,
  283. QCA_NL80211_VENDOR_SUBCMD_STA_CONNECT_ROAM_POLICY = 117,
  284. QCA_NL80211_VENDOR_SUBCMD_SET_SAP_CONFIG = 118,
  285. QCA_NL80211_VENDOR_SUBCMD_TSF = 119,
  286. QCA_NL80211_VENDOR_SUBCMD_WISA = 120,
  287. QCA_NL80211_VENDOR_SUBCMD_GET_STATION = 121,
  288. QCA_NL80211_VENDOR_SUBCMD_P2P_LISTEN_OFFLOAD_START = 122,
  289. QCA_NL80211_VENDOR_SUBCMD_P2P_LISTEN_OFFLOAD_STOP = 123,
  290. QCA_NL80211_VENDOR_SUBCMD_SAP_CONDITIONAL_CHAN_SWITCH = 124,
  291. /* Encrypt/Decrypt command */
  292. QCA_NL80211_VENDOR_SUBCMD_ENCRYPTION_TEST = 137,
  293. /* Configure the TDLS mode from user space */
  294. QCA_NL80211_VENDOR_SUBCMD_CONFIGURE_TDLS = 143,
  295. /* Vendor abort scan command */
  296. QCA_NL80211_VENDOR_SUBCMD_ABORT_SCAN = 145,
  297. /* Set Specific Absorption Rate(SAR) Power Limits */
  298. QCA_NL80211_VENDOR_SUBCMD_SET_SAR_LIMITS = 146,
  299. /* External Auto channel configuration setting */
  300. QCA_NL80211_VENDOR_SUBCMD_EXTERNAL_ACS = 147,
  301. /* Set the trace level for QDF */
  302. QCA_NL80211_VENDOR_SUBCMD_SET_TRACE_LEVEL = 152,
  303. };
  304. /**
  305. * enum qca_vendor_attr_set_trace_level - Config params for QDF set trace level
  306. * @QCA_WLAN_VENDOR_ATTR_SET_TRACE_LEVEL_INVALID: Invalid trace level
  307. * @QCA_WLAN_VENDOR_ATTR_SET_TRACE_LEVEL_PARAM : Trace level parameters
  308. * @QCA_WLAN_VENDOR_ATTR_SET_TRACE_LEVEL_MODULE_ID : Module of which trace
  309. level needs to be updated.
  310. * @QCA_WLAN_VENDOR_ATTR_SET_TRACE_LEVEL_TRACE_MASK : verbose mask, which need
  311. * to be set.
  312. * @QCA_WLAN_VENDOR_ATTR_SET_TRACE_LEVEL_AFTER_LAST : after last.
  313. * @QCA_WLAN_VENDOR_ATTR_SET_TRACE_LEVEL_MAX : Max attribute.
  314. */
  315. enum qca_vendor_attr_set_trace_level {
  316. QCA_WLAN_VENDOR_ATTR_SET_TRACE_LEVEL_INVALID = 0,
  317. /*
  318. * Array of QCA_WLAN_VENDOR_ATTR_SET_TRACE_LEVEL_PARAM
  319. * attributes.
  320. */
  321. QCA_WLAN_VENDOR_ATTR_SET_TRACE_LEVEL_PARAM = 1,
  322. QCA_WLAN_VENDOR_ATTR_SET_TRACE_LEVEL_MODULE_ID = 2,
  323. QCA_WLAN_VENDOR_ATTR_SET_TRACE_LEVEL_TRACE_MASK = 3,
  324. QCA_WLAN_VENDOR_ATTR_SET_TRACE_LEVEL_AFTER_LAST,
  325. QCA_WLAN_VENDOR_ATTR_SET_TRACE_LEVEL_MAX =
  326. QCA_WLAN_VENDOR_ATTR_SET_TRACE_LEVEL_AFTER_LAST - 1,
  327. };
  328. /**
  329. * enum qca_wlan_vendor_attr_get_station - Sub commands used by
  330. * QCA_NL80211_VENDOR_SUBCMD_GET_STATION to get the corresponding
  331. * station information. The information obtained through these
  332. * commands signify the current info in connected state and
  333. * latest cached information during the connected state , if queried
  334. * when in disconnected state.
  335. *
  336. * @QCA_WLAN_VENDOR_ATTR_GET_STATION_INVALID: Invalid attribute
  337. * @QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO: bss info
  338. * @QCA_WLAN_VENDOR_ATTR_GET_STATION_ASSOC_FAIL_REASON: assoc fail reason
  339. * @QCA_WLAN_VENDOR_ATTR_GET_STATION_AFTER_LAST: After last
  340. */
  341. enum qca_wlan_vendor_attr_get_station {
  342. QCA_WLAN_VENDOR_ATTR_GET_STATION_INVALID = 0,
  343. QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO,
  344. QCA_WLAN_VENDOR_ATTR_GET_STATION_ASSOC_FAIL_REASON,
  345. /* keep last */
  346. QCA_WLAN_VENDOR_ATTR_GET_STATION_AFTER_LAST,
  347. QCA_WLAN_VENDOR_ATTR_GET_STATION_MAX =
  348. QCA_WLAN_VENDOR_ATTR_GET_STATION_AFTER_LAST - 1,
  349. };
  350. /**
  351. * enum qca_wlan_802_11_mode - dot11 mode
  352. * @QCA_WLAN_802_11_MODE_INVALID: Invalid dot11 mode
  353. * @QCA_WLAN_802_11_MODE_11A: mode A
  354. * @QCA_WLAN_802_11_MODE_11B: mode B
  355. * @QCA_WLAN_802_11_MODE_11G: mode G
  356. * @QCA_WLAN_802_11_MODE_11N: mode N
  357. * @QCA_WLAN_802_11_MODE_11AC: mode AC
  358. */
  359. enum qca_wlan_802_11_mode {
  360. QCA_WLAN_802_11_MODE_INVALID,
  361. QCA_WLAN_802_11_MODE_11A,
  362. QCA_WLAN_802_11_MODE_11B,
  363. QCA_WLAN_802_11_MODE_11G,
  364. QCA_WLAN_802_11_MODE_11N,
  365. QCA_WLAN_802_11_MODE_11AC,
  366. };
  367. /**
  368. * enum qca_wlan_auth_type - Authentication key management type
  369. * @QCA_WLAN_AUTH_TYPE_INVALID: Invalid key management type
  370. * @QCA_WLAN_AUTH_TYPE_OPEN: Open key
  371. * @QCA_WLAN_AUTH_TYPE_SHARED: shared key
  372. * @QCA_WLAN_AUTH_TYPE_WPA: wpa key
  373. * @QCA_WLAN_AUTH_TYPE_WPA_PSK: wpa psk key
  374. * @QCA_WLAN_AUTH_TYPE_WPA_NONE: wpa none key
  375. * @QCA_WLAN_AUTH_TYPE_RSN: rsn key
  376. * @QCA_WLAN_AUTH_TYPE_RSN_PSK: rsn psk key
  377. * @QCA_WLAN_AUTH_TYPE_FT: ft key
  378. * @QCA_WLAN_AUTH_TYPE_FT_PSK: ft psk key
  379. * @QCA_WLAN_AUTH_TYPE_SHA256: shared 256 key
  380. * @QCA_WLAN_AUTH_TYPE_SHA256_PSK: shared 256 psk
  381. * @QCA_WLAN_AUTH_TYPE_WAI: wai key
  382. * @QCA_WLAN_AUTH_TYPE_WAI_PSK wai psk key
  383. * @QCA_WLAN_AUTH_TYPE_CCKM_WPA: cckm wpa key
  384. * @QCA_WLAN_AUTH_TYPE_CCKM_RSN: cckm rsn key
  385. */
  386. enum qca_wlan_auth_type {
  387. QCA_WLAN_AUTH_TYPE_INVALID,
  388. QCA_WLAN_AUTH_TYPE_OPEN,
  389. QCA_WLAN_AUTH_TYPE_SHARED,
  390. QCA_WLAN_AUTH_TYPE_WPA,
  391. QCA_WLAN_AUTH_TYPE_WPA_PSK,
  392. QCA_WLAN_AUTH_TYPE_WPA_NONE,
  393. QCA_WLAN_AUTH_TYPE_RSN,
  394. QCA_WLAN_AUTH_TYPE_RSN_PSK,
  395. QCA_WLAN_AUTH_TYPE_FT,
  396. QCA_WLAN_AUTH_TYPE_FT_PSK,
  397. QCA_WLAN_AUTH_TYPE_SHA256,
  398. QCA_WLAN_AUTH_TYPE_SHA256_PSK,
  399. QCA_WLAN_AUTH_TYPE_WAI,
  400. QCA_WLAN_AUTH_TYPE_WAI_PSK,
  401. QCA_WLAN_AUTH_TYPE_CCKM_WPA,
  402. QCA_WLAN_AUTH_TYPE_CCKM_RSN,
  403. QCA_WLAN_AUTH_TYPE_AUTOSWITCH,
  404. };
  405. /**
  406. * enum qca_wlan_vendor_attr_get_station_info - Station Info queried
  407. * through QCA_NL80211_VENDOR_SUBCMD_GET_STATION.
  408. *
  409. * @QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_INVALID: Invalid Attribute
  410. * @QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_LINK_STANDARD_NL80211_ATTR:
  411. * Get the standard NL attributes Nested with this attribute.
  412. * Ex : Query BW , BITRATE32 , NSS , Signal , Noise of the Link -
  413. * NL80211_ATTR_SSID / NL80211_ATTR_SURVEY_INFO (Connected Channel) /
  414. * NL80211_ATTR_STA_INFO
  415. * @QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_AP_STANDARD_NL80211_ATTR:
  416. * Get the standard NL attributes Nested with this attribute.
  417. * Ex : Query HT/VHT Capability advertized by the AP.
  418. * NL80211_ATTR_VHT_CAPABILITY / NL80211_ATTR_HT_CAPABILITY
  419. * @QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_ROAM_COUNT:
  420. * Number of successful Roam attempts before a
  421. * disconnect, Unsigned 32 bit value
  422. * @QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_AKM:
  423. * Authentication Key Management Type used for the connected session.
  424. * Signified by enum qca_wlan_auth_type
  425. * @QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_802_11_MODE: 802.11 Mode of the
  426. * connected Session, signified by enum qca_wlan_802_11_mode
  427. * @QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_AP_HS20_INDICATION:
  428. * HS20 Indication Element
  429. * @QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_ASSOC_FAIL_REASON:
  430. * Status Code Corresponding to the Association Failure.
  431. * Unsigned 32 bit value.
  432. * @QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_AFTER_LAST: After last
  433. */
  434. enum qca_wlan_vendor_attr_get_station_info {
  435. QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_INVALID = 0,
  436. QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_LINK_STANDARD_NL80211_ATTR,
  437. QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_AP_STANDARD_NL80211_ATTR,
  438. QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_ROAM_COUNT,
  439. QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_AKM,
  440. QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_802_11_MODE,
  441. QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_AP_HS20_INDICATION,
  442. QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_HT_OPERATION,
  443. QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_VHT_OPERATION,
  444. QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_ASSOC_FAIL_REASON,
  445. /* keep last */
  446. QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_AFTER_LAST,
  447. QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_MAX =
  448. QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_AFTER_LAST - 1,
  449. };
  450. /* define short names for get station info attributes */
  451. #define LINK_INFO_STANDARD_NL80211_ATTR \
  452. QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_LINK_STANDARD_NL80211_ATTR
  453. #define AP_INFO_STANDARD_NL80211_ATTR \
  454. QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_AP_STANDARD_NL80211_ATTR
  455. #define INFO_ROAM_COUNT \
  456. QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_ROAM_COUNT
  457. #define INFO_AKM \
  458. QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_AKM
  459. #define WLAN802_11_MODE \
  460. QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_802_11_MODE
  461. #define AP_INFO_HS20_INDICATION \
  462. QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_AP_HS20_INDICATION
  463. #define HT_OPERATION \
  464. QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_HT_OPERATION
  465. #define VHT_OPERATION \
  466. QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_VHT_OPERATION
  467. #define INFO_ASSOC_FAIL_REASON \
  468. QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_ASSOC_FAIL_REASON
  469. /**
  470. * enum qca_nl80211_vendor_subcmds_index - vendor sub commands index
  471. *
  472. * @QCA_NL80211_VENDOR_SUBCMD_AVOID_FREQUENCY_INDEX: Avoid frequency
  473. * @QCA_NL80211_VENDOR_SUBCMD_NAN_INDEX: Nan
  474. * @QCA_NL80211_VENDOR_SUBCMD_STATS_EXT_INDEX: Ext stats
  475. * @QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_START_INDEX: Ext scan start
  476. * @QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_STOP_INDEX: Ext scan stop
  477. * @QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_GET_CAPABILITIES_INDEX: Ext scan get
  478. * capability
  479. * @QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_GET_CACHED_RESULTS_INDEX: Ext scan get
  480. * cached results
  481. * @QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_SCAN_RESULTS_AVAILABLE_INDEX: Ext scan
  482. * results available
  483. * @QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_FULL_SCAN_RESULT_INDEX: Ext scan full
  484. * scan result
  485. * @QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_SCAN_EVENT_INDEX: Ext scan event
  486. * @QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_HOTLIST_AP_FOUND_INDEX: Ext scan hot list
  487. * AP found
  488. * @QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_SET_BSSID_HOTLIST_INDEX: Ext scan set
  489. * bssid hotlist
  490. * @QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_RESET_BSSID_HOTLIST_INDEX: Ext scan reset
  491. * bssid hotlist
  492. * @QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_SIGNIFICANT_CHANGE_INDEX: Ext scan
  493. * significant change
  494. * @QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_SET_SIGNIFICANT_CHANGE_INDEX: Ext scan
  495. * set significant change
  496. * @QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_RESET_SIGNIFICANT_CHANGE_INDEX: Ext scan
  497. * reset significant change
  498. * @QCA_NL80211_VENDOR_SUBCMD_LL_STATS_SET_INDEX: Set stats
  499. * @QCA_NL80211_VENDOR_SUBCMD_LL_STATS_GET_INDEX: Get stats
  500. * @QCA_NL80211_VENDOR_SUBCMD_LL_STATS_CLR_INDEX: Clear stats
  501. * @QCA_NL80211_VENDOR_SUBCMD_LL_RADIO_STATS_INDEX: Radio stats
  502. * @QCA_NL80211_VENDOR_SUBCMD_LL_IFACE_STATS_INDEX: Iface stats
  503. * @QCA_NL80211_VENDOR_SUBCMD_LL_PEER_INFO_STATS_INDEX: Peer info stats
  504. * @QCA_NL80211_VENDOR_SUBCMD_TDLS_STATE_CHANGE_INDEX: Ext tdls state change
  505. * @QCA_NL80211_VENDOR_SUBCMD_DO_ACS_INDEX: ACS command
  506. * @QCA_NL80211_VENDOR_SUBCMD_KEY_MGMT_ROAM_AUTH_INDEX: Pass Roam and Auth info
  507. * @QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_HOTLIST_AP_LOST_INDEX: hotlist ap lost
  508. * @QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_PNO_NETWORK_FOUND_INDEX:
  509. * pno network found index
  510. * @QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_PNO_PASSPOINT_NETWORK_FOUND_INDEX:
  511. * passpoint match found index
  512. * @QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_SET_SSID_HOTLIST_INDEX:
  513. * set ssid hotlist index
  514. * @QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_RESET_SSID_HOTLIST_INDEX:
  515. * reset ssid hotlist index
  516. * @QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_HOTLIST_SSID_FOUND_INDEX:
  517. * hotlist ssid found index
  518. * @QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_HOTLIST_SSID_LOST_INDEX:
  519. * hotlist ssid lost index
  520. * @QCA_NL80211_VENDOR_SUBCMD_DCC_STATS_EVENT_INDEX
  521. * dcc stats event index
  522. * @QCA_NL80211_VENDOR_SUBCMD_SCAN_INDEX: vendor scan index
  523. * @QCA_NL80211_VENDOR_SUBCMD_SCAN_DONE_INDEX:
  524. * vendor scan complete event index
  525. * @QCA_NL80211_VENDOR_SUBCMD_GW_PARAM_CONFIG_INDEX:
  526. * update gateway parameters index
  527. * @QCA_NL80211_VENDOR_SUBCMD_TSF_INDEX: TSF response events index
  528. * @QCA_NL80211_VENDOR_SUBCMD_P2P_LO_EVENT_INDEX:
  529. * P2P listen offload index
  530. * @QCA_NL80211_VENDOR_SUBCMD_SAP_CONDITIONAL_CHAN_SWITCH_INDEX: SAP
  531. * conditional channel switch index
  532. */
  533. enum qca_nl80211_vendor_subcmds_index {
  534. #if defined(FEATURE_WLAN_CH_AVOID) || defined(FEATURE_WLAN_FORCE_SAP_SCC)
  535. QCA_NL80211_VENDOR_SUBCMD_AVOID_FREQUENCY_INDEX = 0,
  536. #endif /* FEATURE_WLAN_CH_AVOID || FEATURE_WLAN_FORCE_SAP_SCC */
  537. #ifdef WLAN_FEATURE_NAN
  538. QCA_NL80211_VENDOR_SUBCMD_NAN_INDEX,
  539. #endif /* WLAN_FEATURE_NAN */
  540. #ifdef WLAN_FEATURE_STATS_EXT
  541. QCA_NL80211_VENDOR_SUBCMD_STATS_EXT_INDEX,
  542. #endif /* WLAN_FEATURE_STATS_EXT */
  543. #ifdef FEATURE_WLAN_EXTSCAN
  544. QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_START_INDEX,
  545. QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_STOP_INDEX,
  546. QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_GET_CAPABILITIES_INDEX,
  547. QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_GET_CACHED_RESULTS_INDEX,
  548. QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_SCAN_RESULTS_AVAILABLE_INDEX,
  549. QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_FULL_SCAN_RESULT_INDEX,
  550. QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_SCAN_EVENT_INDEX,
  551. QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_HOTLIST_AP_FOUND_INDEX,
  552. QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_SET_BSSID_HOTLIST_INDEX,
  553. QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_RESET_BSSID_HOTLIST_INDEX,
  554. QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_SIGNIFICANT_CHANGE_INDEX,
  555. QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_SET_SIGNIFICANT_CHANGE_INDEX,
  556. QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_RESET_SIGNIFICANT_CHANGE_INDEX,
  557. #endif /* FEATURE_WLAN_EXTSCAN */
  558. #ifdef WLAN_FEATURE_LINK_LAYER_STATS
  559. QCA_NL80211_VENDOR_SUBCMD_LL_STATS_SET_INDEX,
  560. QCA_NL80211_VENDOR_SUBCMD_LL_STATS_GET_INDEX,
  561. QCA_NL80211_VENDOR_SUBCMD_LL_STATS_CLR_INDEX,
  562. QCA_NL80211_VENDOR_SUBCMD_LL_RADIO_STATS_INDEX,
  563. QCA_NL80211_VENDOR_SUBCMD_LL_IFACE_STATS_INDEX,
  564. QCA_NL80211_VENDOR_SUBCMD_LL_PEER_INFO_STATS_INDEX,
  565. #endif /* WLAN_FEATURE_LINK_LAYER_STATS */
  566. QCA_NL80211_VENDOR_SUBCMD_TDLS_STATE_CHANGE_INDEX,
  567. QCA_NL80211_VENDOR_SUBCMD_DO_ACS_INDEX,
  568. #ifdef WLAN_FEATURE_ROAM_OFFLOAD
  569. QCA_NL80211_VENDOR_SUBCMD_KEY_MGMT_ROAM_AUTH_INDEX,
  570. #endif
  571. /* DFS */
  572. QCA_NL80211_VENDOR_SUBCMD_DFS_OFFLOAD_CAC_STARTED_INDEX,
  573. QCA_NL80211_VENDOR_SUBCMD_DFS_OFFLOAD_CAC_FINISHED_INDEX,
  574. QCA_NL80211_VENDOR_SUBCMD_DFS_OFFLOAD_CAC_ABORTED_INDEX,
  575. QCA_NL80211_VENDOR_SUBCMD_DFS_OFFLOAD_CAC_NOP_FINISHED_INDEX,
  576. QCA_NL80211_VENDOR_SUBCMD_DFS_OFFLOAD_RADAR_DETECTED_INDEX,
  577. #ifdef FEATURE_WLAN_EXTSCAN
  578. QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_HOTLIST_AP_LOST_INDEX,
  579. QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_PNO_NETWORK_FOUND_INDEX,
  580. QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_PNO_PASSPOINT_NETWORK_FOUND_INDEX,
  581. QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_SET_SSID_HOTLIST_INDEX,
  582. QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_RESET_SSID_HOTLIST_INDEX,
  583. QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_HOTLIST_SSID_FOUND_INDEX,
  584. QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_HOTLIST_SSID_LOST_INDEX,
  585. #endif /* FEATURE_WLAN_EXTSCAN */
  586. QCA_NL80211_VENDOR_SUBCMD_MONITOR_RSSI_INDEX,
  587. #ifdef WLAN_FEATURE_MEMDUMP
  588. QCA_NL80211_VENDOR_SUBCMD_WIFI_LOGGER_MEMORY_DUMP_INDEX,
  589. #endif /* WLAN_FEATURE_MEMDUMP */
  590. /* OCB events */
  591. QCA_NL80211_VENDOR_SUBCMD_DCC_STATS_EVENT_INDEX,
  592. QCA_NL80211_VENDOR_SUBCMD_SCAN_INDEX,
  593. QCA_NL80211_VENDOR_SUBCMD_SCAN_DONE_INDEX,
  594. QCA_NL80211_VENDOR_SUBCMD_GW_PARAM_CONFIG_INDEX,
  595. #ifdef WLAN_FEATURE_TSF
  596. QCA_NL80211_VENDOR_SUBCMD_TSF_INDEX,
  597. #endif
  598. #ifdef WLAN_FEATURE_NAN_DATAPATH
  599. QCA_NL80211_VENDOR_SUBCMD_NDP_INDEX,
  600. #endif /* WLAN_FEATURE_NAN_DATAPATH */
  601. QCA_NL80211_VENDOR_SUBCMD_P2P_LO_EVENT_INDEX,
  602. QCA_NL80211_VENDOR_SUBCMD_SAP_CONDITIONAL_CHAN_SWITCH_INDEX,
  603. QCA_NL80211_VENDOR_SUBCMD_UPDATE_EXTERNAL_ACS_CONFIG,
  604. };
  605. /**
  606. * enum qca_wlan_vendor_attr_tdls_enable - TDLS enable attribute
  607. *
  608. * @QCA_WLAN_VENDOR_ATTR_TDLS_ENABLE_INVALID: Invalid initial value
  609. * @QCA_WLAN_VENDOR_ATTR_TDLS_ENABLE_MAC_ADDR: An array of 6 x Unsigned 8-bit
  610. * value
  611. * @QCA_WLAN_VENDOR_ATTR_TDLS_ENABLE_CHANNEL: Signed 32-bit value, but lets
  612. * keep as unsigned for now
  613. * @QCA_WLAN_VENDOR_ATTR_TDLS_ENABLE_GLOBAL_OPERATING_CLASS: operating class
  614. * @QCA_WLAN_VENDOR_ATTR_TDLS_ENABLE_MAX_LATENCY_MS: Enable max latency in ms
  615. * @QCA_WLAN_VENDOR_ATTR_TDLS_ENABLE_MIN_BANDWIDTH_KBPS: Enable min bandwidth
  616. * in KBPS
  617. * @QCA_WLAN_VENDOR_ATTR_TDLS_ENABLE_AFTER_LAST: After last
  618. * @QCA_WLAN_VENDOR_ATTR_TDLS_ENABLE_MAX: Max value
  619. */
  620. enum qca_wlan_vendor_attr_tdls_enable {
  621. QCA_WLAN_VENDOR_ATTR_TDLS_ENABLE_INVALID = 0,
  622. QCA_WLAN_VENDOR_ATTR_TDLS_ENABLE_MAC_ADDR,
  623. QCA_WLAN_VENDOR_ATTR_TDLS_ENABLE_CHANNEL,
  624. QCA_WLAN_VENDOR_ATTR_TDLS_ENABLE_GLOBAL_OPERATING_CLASS,
  625. QCA_WLAN_VENDOR_ATTR_TDLS_ENABLE_MAX_LATENCY_MS,
  626. QCA_WLAN_VENDOR_ATTR_TDLS_ENABLE_MIN_BANDWIDTH_KBPS,
  627. QCA_WLAN_VENDOR_ATTR_TDLS_ENABLE_AFTER_LAST,
  628. QCA_WLAN_VENDOR_ATTR_TDLS_ENABLE_MAX =
  629. QCA_WLAN_VENDOR_ATTR_TDLS_ENABLE_AFTER_LAST - 1,
  630. };
  631. /**
  632. * enum qca_wlan_vendor_attr_tdls_disable: tdls disable attribute
  633. *
  634. * @QCA_WLAN_VENDOR_ATTR_TDLS_DISABLE_INVALID: Invalid initial value
  635. * @QCA_WLAN_VENDOR_ATTR_TDLS_DISABLE_MAC_ADDR: An array of 6 x Unsigned
  636. * 8-bit value
  637. * @QCA_WLAN_VENDOR_ATTR_TDLS_DISABLE_AFTER_LAST: After last
  638. * @QCA_WLAN_VENDOR_ATTR_TDLS_DISABLE_MAX: Max value
  639. */
  640. enum qca_wlan_vendor_attr_tdls_disable {
  641. QCA_WLAN_VENDOR_ATTR_TDLS_DISABLE_INVALID = 0,
  642. QCA_WLAN_VENDOR_ATTR_TDLS_DISABLE_MAC_ADDR,
  643. QCA_WLAN_VENDOR_ATTR_TDLS_DISABLE_AFTER_LAST,
  644. QCA_WLAN_VENDOR_ATTR_TDLS_DISABLE_MAX =
  645. QCA_WLAN_VENDOR_ATTR_TDLS_DISABLE_AFTER_LAST - 1,
  646. };
  647. /**
  648. * enum qca_wlan_vendor_attr_tdls_get_status - tdls get status attribute
  649. *
  650. * @QCA_WLAN_VENDOR_ATTR_TDLS_GET_STATUS_INVALID: Invalid initial value
  651. * @QCA_WLAN_VENDOR_ATTR_TDLS_GET_STATUS_MAC_ADDR: An array of 6 x Unsigned
  652. * 8-bit value
  653. * @QCA_WLAN_VENDOR_ATTR_TDLS_GET_STATUS_STATE: get status state,
  654. * unsigned 32-bit value
  655. * @QCA_WLAN_VENDOR_ATTR_TDLS_GET_STATUS_REASON: get status reason
  656. * @QCA_WLAN_VENDOR_ATTR_TDLS_GET_STATUS_CHANNEL: get status channel,
  657. * unsigned 32-bit value
  658. * @QCA_WLAN_VENDOR_ATTR_TDLS_GET_STATUS_GLOBAL_OPERATING_CLASS: get operating
  659. * class, unsigned 32-bit value
  660. * @QCA_WLAN_VENDOR_ATTR_TDLS_GET_STATUS_AFTER_LAST: After last
  661. * @QCA_WLAN_VENDOR_ATTR_TDLS_GET_STATUS_MAX: Max value
  662. */
  663. enum qca_wlan_vendor_attr_tdls_get_status {
  664. QCA_WLAN_VENDOR_ATTR_TDLS_GET_STATUS_INVALID = 0,
  665. QCA_WLAN_VENDOR_ATTR_TDLS_GET_STATUS_MAC_ADDR,
  666. QCA_WLAN_VENDOR_ATTR_TDLS_GET_STATUS_STATE,
  667. QCA_WLAN_VENDOR_ATTR_TDLS_GET_STATUS_REASON,
  668. QCA_WLAN_VENDOR_ATTR_TDLS_GET_STATUS_CHANNEL,
  669. QCA_WLAN_VENDOR_ATTR_TDLS_GET_STATUS_GLOBAL_OPERATING_CLASS,
  670. QCA_WLAN_VENDOR_ATTR_TDLS_GET_STATUS_AFTER_LAST,
  671. QCA_WLAN_VENDOR_ATTR_TDLS_GET_STATUS_MAX =
  672. QCA_WLAN_VENDOR_ATTR_TDLS_GET_STATUS_AFTER_LAST - 1,
  673. };
  674. /**
  675. * enum qca_wlan_vendor_attr_tdls_state - tdls state attribute
  676. *
  677. * @QCA_WLAN_VENDOR_ATTR_TDLS_STATE_INVALID: Initial invalid value
  678. * @QCA_WLAN_VENDOR_ATTR_TDLS_STATE_MAC_ADDR: An array of 6 x Unsigned
  679. * 8-bit value
  680. * @QCA_WLAN_VENDOR_ATTR_TDLS_NEW_STATE: TDLS new state,
  681. * unsigned 32-bit value
  682. * @QCA_WLAN_VENDOR_ATTR_TDLS_STATE_REASON: TDLS state reason
  683. * @QCA_WLAN_VENDOR_ATTR_TDLS_STATE_CHANNEL: TDLS state channel,
  684. * unsigned 32-bit value
  685. * @QCA_WLAN_VENDOR_ATTR_TDLS_STATE_GLOBAL_OPERATING_CLASS: TDLS state
  686. * operating class, unsigned 32-bit value
  687. * @QCA_WLAN_VENDOR_ATTR_TDLS_STATE_AFTER_LAST: After last
  688. * @QCA_WLAN_VENDOR_ATTR_TDLS_STATE_MAX: Max value
  689. */
  690. enum qca_wlan_vendor_attr_tdls_state {
  691. QCA_WLAN_VENDOR_ATTR_TDLS_STATE_INVALID = 0,
  692. QCA_WLAN_VENDOR_ATTR_TDLS_STATE_MAC_ADDR,
  693. QCA_WLAN_VENDOR_ATTR_TDLS_NEW_STATE,
  694. QCA_WLAN_VENDOR_ATTR_TDLS_STATE_REASON,
  695. QCA_WLAN_VENDOR_ATTR_TDLS_STATE_CHANNEL,
  696. QCA_WLAN_VENDOR_ATTR_TDLS_STATE_GLOBAL_OPERATING_CLASS,
  697. QCA_WLAN_VENDOR_ATTR_TDLS_STATE_AFTER_LAST,
  698. QCA_WLAN_VENDOR_ATTR_TDLS_STATE_MAX =
  699. QCA_WLAN_VENDOR_ATTR_TDLS_STATE_AFTER_LAST - 1,
  700. };
  701. /* enum's to provide TDLS capabilites */
  702. enum qca_wlan_vendor_attr_get_tdls_capabilities {
  703. QCA_WLAN_VENDOR_ATTR_TDLS_GET_CAPS_INVALID = 0,
  704. QCA_WLAN_VENDOR_ATTR_TDLS_GET_CAPS_MAX_CONC_SESSIONS = 1,
  705. QCA_WLAN_VENDOR_ATTR_TDLS_GET_CAPS_FEATURES_SUPPORTED = 2,
  706. /* keep last */
  707. QCA_WLAN_VENDOR_ATTR_TDLS_GET_CAPS_AFTER_LAST,
  708. QCA_WLAN_VENDOR_ATTR_TDLS_GET_CAPS_MAX =
  709. QCA_WLAN_VENDOR_ATTR_TDLS_GET_CAPS_AFTER_LAST - 1,
  710. };
  711. /**
  712. * enum qca_wlan_vendor_attr - wlan vendor attribute
  713. *
  714. * @QCA_WLAN_VENDOR_ATTR_INVALID: Initial invalid value
  715. * @QCA_WLAN_VENDOR_ATTR_DFS: DFS attribute which is used by
  716. * QCA_NL80211_VENDOR_SUBCMD_DFS_CAPABILITY
  717. * @QCA_WLAN_VENDOR_ATTR_NAN: NAN attribute which is used by
  718. * QCA_NL80211_VENDOR_SUBCMD_NAN
  719. * @QCA_WLAN_VENDOR_ATTR_STATS_EXT: Ext stats attribute which is used by
  720. * QCA_NL80211_VENDOR_SUBCMD_STATS_EXT
  721. * @QCA_WLAN_VENDOR_ATTR_IFINDEX: After IFINDEX
  722. * @QCA_WLAN_VENDOR_ATTR_ROAMING_POLICY: Roaming policy which is used by
  723. * QCA_NL80211_VENDOR_SUBCMD_ROAMING
  724. * @QCA_WLAN_VENDOR_ATTR_MAC_ADDR: MAC Address attribute which is used by
  725. * QCA_NL80211_VENDOR_SUBCMD_LINK_PROPERTIES
  726. * @QCA_WLAN_VENDOR_ATTR_FEATURE_FLAGS: Supported Features
  727. *@QCA_WLAN_VENDOR_ATTR_SETBAND_VALUE: setband attribute which is used by
  728. * QCA_NL80211_VENDOR_SUBCMD_SETBAND
  729. * @QCA_WLAN_VENDOR_ATTR_AFTER_LAST: After last
  730. * @QCA_WLAN_VENDOR_ATTR_MAX: Max value
  731. */
  732. enum qca_wlan_vendor_attr {
  733. QCA_WLAN_VENDOR_ATTR_INVALID = 0,
  734. QCA_WLAN_VENDOR_ATTR_DFS = 1,
  735. QCA_WLAN_VENDOR_ATTR_NAN = 2,
  736. QCA_WLAN_VENDOR_ATTR_STATS_EXT = 3,
  737. QCA_WLAN_VENDOR_ATTR_IFINDEX = 4,
  738. QCA_WLAN_VENDOR_ATTR_ROAMING_POLICY = 5,
  739. QCA_WLAN_VENDOR_ATTR_MAC_ADDR = 6,
  740. QCA_WLAN_VENDOR_ATTR_FEATURE_FLAGS = 7,
  741. QCA_WLAN_VENDOR_ATTR_CONCURRENCY_CAPA = 9,
  742. QCA_WLAN_VENDOR_ATTR_MAX_CONCURRENT_CHANNELS_2_4_BAND = 10,
  743. QCA_WLAN_VENDOR_ATTR_MAX_CONCURRENT_CHANNELS_5_0_BAND = 11,
  744. QCA_WLAN_VENDOR_ATTR_SETBAND_VALUE = 12,
  745. /* keep last */
  746. QCA_WLAN_VENDOR_ATTR_AFTER_LAST,
  747. QCA_WLAN_VENDOR_ATTR_MAX = QCA_WLAN_VENDOR_ATTR_AFTER_LAST - 1
  748. };
  749. #ifdef FEATURE_WLAN_EXTSCAN
  750. /**
  751. * enum qca_wlan_vendor_attr_extscan_config_params - ext scan config params
  752. *
  753. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_SUBCMD_CONFIG_PARAM_INVALID: Invalid initial
  754. * value
  755. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_SUBCMD_CONFIG_PARAM_REQUEST_ID:
  756. * Unsigned 32-bit value; Middleware provides it to the driver. Middle ware
  757. * either gets it from caller, e.g., framework, or generates one if
  758. * framework doesn't provide it.
  759. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_GET_VALID_CHANNELS_CONFIG_PARAM_WIFI_BAND:
  760. * NL attributes for data used by
  761. * QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_GET_VALID_CHANNELS sub command.
  762. * It is unsigned 32-bit value.
  763. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_GET_VALID_CHANNELS_CONFIG_PARAM_MAX_CHANNELS:
  764. * Unsigned 32-bit value
  765. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_CHANNEL_SPEC_CHANNEL:
  766. * NL attributes for input params used by
  767. * QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_START sub command. Unsigned 32-bit
  768. * value; channel frequency
  769. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_CHANNEL_SPEC_DWELL_TIME: Unsigned 32-bit value;
  770. * dwell time in ms
  771. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_CHANNEL_SPEC_PASSIVE: Unsigned 8-bit value:
  772. * 0: active; 1: passive; N/A for DFS
  773. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_CHANNEL_SPEC_CLASS: Unsigned 8-bit value
  774. * channel class
  775. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_BUCKET_SPEC_INDEX: Unsigned 8-bit value
  776. * bucket index, 0 based
  777. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_BUCKET_SPEC_BAND: Unsigned 8-bit value; band
  778. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_BUCKET_SPEC_PERIOD: Unsigned 32-bit value;
  779. * desired period, in ms
  780. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_BUCKET_SPEC_REPORT_EVENTS: Unsigned 8-bit
  781. * value; report events semantics
  782. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_BUCKET_SPEC_NUM_CHANNEL_SPECS: Unsigned 32-bit
  783. * value. Followed by a nested array of EXTSCAN_CHANNEL_SPEC_* attributes.
  784. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_CHANNEL_SPEC:
  785. * Array of QCA_WLAN_VENDOR_ATTR_EXTSCAN_CHANNEL_SPEC_* attributes.
  786. * Array size: QCA_WLAN_VENDOR_ATTR_EXTSCAN_BUCKET_SPEC_NUM_CHANNEL_SPECS
  787. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_SCAN_CMD_PARAMS_BASE_PERIOD: Unsigned 32-bit
  788. * value; base timer period in ms
  789. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_SCAN_CMD_PARAMS_MAX_AP_PER_SCAN: Unsigned
  790. * 32-bit value; number of APs to store in each scan in the
  791. * BSSID/RSSI history buffer (keep the highest RSSI APs)
  792. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_SCAN_CMD_PARAMS_REPORT_THRESHOLD_PERCENT:
  793. * Unsigned 8-bit value; in %, when scan buffer is this much full,
  794. * wake up APPS.
  795. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_SCAN_CMD_PARAMS_NUM_BUCKETS: Unsigned 8-bit
  796. * value; number of scan bucket specs; followed by a nested array
  797. * of_EXTSCAN_BUCKET_SPEC_* attributes and values. The size of the array
  798. * is determined by NUM_BUCKETS
  799. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_BUCKET_SPEC: Array of
  800. * QCA_WLAN_VENDOR_ATTR_EXTSCAN_BUCKET_SPEC_* attributes. Array size:
  801. * QCA_WLAN_VENDOR_ATTR_EXTSCAN_SCAN_CMD_PARAMS_NUM_BUCKETS
  802. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_GET_CACHED_SCAN_RESULTS_CONFIG_PARAM_FLUSH:
  803. * Unsigned 8-bit value
  804. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_GET_CACHED_SCAN_RESULTS_CONFIG_PARAM_MAX:
  805. * Unsigned 32-bit value; maximum number of results to be returned
  806. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_AP_THRESHOLD_PARAM_BSSID: An array of
  807. * 6 x Unsigned 8-bit value
  808. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_AP_THRESHOLD_PARAM_RSSI_LOW: Signed 32-bit
  809. * value
  810. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_AP_THRESHOLD_PARAM_RSSI_HIGH: Signed 32-bit
  811. * value
  812. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_AP_THRESHOLD_PARAM_CHANNEL: Signed 32-bit
  813. * value
  814. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_BSSID_HOTLIST_PARAMS_NUM_AP: Number of hotlist
  815. * APs as unsigned 32-bit value, followed by a nested array of
  816. * AP_THRESHOLD_PARAM attributes and values. The size of the array is
  817. * determined by NUM_AP.
  818. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_AP_THRESHOLD_PARAM: Array of
  819. * QCA_WLAN_VENDOR_ATTR_EXTSCAN_AP_THRESHOLD_PARAM_* attributes.
  820. * Array size: QCA_WLAN_VENDOR_ATTR_EXTSCAN_BUCKET_SPEC_NUM_CHANNEL_SPECS
  821. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_SIGNIFICANT_CHANGE_PARAMS_RSSI_SAMPLE_SIZE:
  822. * Unsigned 32bit value; number of samples for averaging RSSI
  823. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_SIGNIFICANT_CHANGE_PARAMS_LOST_AP_SAMPLE_SIZE:
  824. * Unsigned 32bit value; number of samples to confirm AP loss
  825. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_SIGNIFICANT_CHANGE_PARAMS_MIN_BREACHING:
  826. * Unsigned 32bit value; number of APs breaching threshold.
  827. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_SIGNIFICANT_CHANGE_PARAMS_NUM_AP:
  828. * Unsigned 32bit value; number of APs. Followed by an array of
  829. * AP_THRESHOLD_PARAM attributes. Size of the array is NUM_AP.
  830. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_BSSID_HOTLIST_PARAMS_LOST_AP_SAMPLE_SIZE:
  831. * Unsigned 32bit value; number of samples to confirm AP loss.
  832. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_BUCKET_SPEC_MAX_PERIOD:
  833. * Unsigned 32-bit value. If max_period is non zero or different than
  834. * period, then this bucket is an exponential backoff bucket.
  835. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_BUCKET_SPEC_BASE:
  836. * Unsigned 32-bit value. For exponential back off bucket,
  837. * number of scans to performed for a given period.
  838. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_BUCKET_SPEC_STEP_COUNT:
  839. * Unsigned 8-bit value; in number of scans, wake up AP after these
  840. * many scans.
  841. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_SCAN_CMD_PARAMS_REPORT_THRESHOLD_NUM_SCANS:
  842. * Unsigned 8-bit value; in number of scans, wake up AP after these
  843. * many scans.
  844. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_SSID_HOTLIST_PARAMS_LOST_SSID_SAMPLE_SIZE:
  845. * Unsigned 32bit value; number of samples to confirm SSID loss
  846. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_SSID_HOTLIST_PARAMS_NUM_SSID:
  847. * Number of hotlist SSIDs as unsigned 32-bit value, followed by a nested
  848. * array of SSID_THRESHOLD_PARAM_* attributes and values. The size of the
  849. * array is determined by NUM_SSID
  850. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_SSID_THRESHOLD_PARAM:
  851. * Array of QCA_WLAN_VENDOR_ATTR_EXTSCAN_SSID_THRESHOLD_PARAM_* attributes
  852. * Array size: QCA_WLAN_VENDOR_ATTR_EXTSCAN_SSID_HOTLIST_PARAMS_NUM_SSID
  853. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_SSID_THRESHOLD_PARAM_SSID:
  854. * An array of 33 x Unsigned 8-bit value; NULL terminated SSID
  855. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_SSID_THRESHOLD_PARAM_BAND:
  856. * Signed 32-bit value; band
  857. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_SSID_THRESHOLD_PARAM_RSSI_LOW:
  858. * Signed 32-bit value; low rssi
  859. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_SSID_THRESHOLD_PARAM_RSSI_HIGH:
  860. * Signed 32-bit value; high rssi
  861. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_CONFIGURATION_FLAGS:
  862. * Unsigned 32-bit value; a bitmask w/additional extscan config flag.
  863. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_SUBCMD_CONFIG_PARAM_AFTER_LAST: After last
  864. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_SUBCMD_CONFIG_PARAM_MAX: Max value
  865. */
  866. enum qca_wlan_vendor_attr_extscan_config_params {
  867. QCA_WLAN_VENDOR_ATTR_EXTSCAN_SUBCMD_CONFIG_PARAM_INVALID = 0,
  868. QCA_WLAN_VENDOR_ATTR_EXTSCAN_SUBCMD_CONFIG_PARAM_REQUEST_ID,
  869. QCA_WLAN_VENDOR_ATTR_EXTSCAN_GET_VALID_CHANNELS_CONFIG_PARAM_WIFI_BAND,
  870. QCA_WLAN_VENDOR_ATTR_EXTSCAN_GET_VALID_CHANNELS_CONFIG_PARAM_MAX_CHANNELS,
  871. QCA_WLAN_VENDOR_ATTR_EXTSCAN_CHANNEL_SPEC_CHANNEL,
  872. QCA_WLAN_VENDOR_ATTR_EXTSCAN_CHANNEL_SPEC_DWELL_TIME,
  873. QCA_WLAN_VENDOR_ATTR_EXTSCAN_CHANNEL_SPEC_PASSIVE,
  874. QCA_WLAN_VENDOR_ATTR_EXTSCAN_CHANNEL_SPEC_CLASS,
  875. QCA_WLAN_VENDOR_ATTR_EXTSCAN_BUCKET_SPEC_INDEX,
  876. QCA_WLAN_VENDOR_ATTR_EXTSCAN_BUCKET_SPEC_BAND,
  877. QCA_WLAN_VENDOR_ATTR_EXTSCAN_BUCKET_SPEC_PERIOD,
  878. QCA_WLAN_VENDOR_ATTR_EXTSCAN_BUCKET_SPEC_REPORT_EVENTS,
  879. QCA_WLAN_VENDOR_ATTR_EXTSCAN_BUCKET_SPEC_NUM_CHANNEL_SPECS,
  880. QCA_WLAN_VENDOR_ATTR_EXTSCAN_CHANNEL_SPEC,
  881. QCA_WLAN_VENDOR_ATTR_EXTSCAN_SCAN_CMD_PARAMS_BASE_PERIOD,
  882. QCA_WLAN_VENDOR_ATTR_EXTSCAN_SCAN_CMD_PARAMS_MAX_AP_PER_SCAN,
  883. QCA_WLAN_VENDOR_ATTR_EXTSCAN_SCAN_CMD_PARAMS_REPORT_THRESHOLD_PERCENT,
  884. QCA_WLAN_VENDOR_ATTR_EXTSCAN_SCAN_CMD_PARAMS_NUM_BUCKETS,
  885. QCA_WLAN_VENDOR_ATTR_EXTSCAN_BUCKET_SPEC,
  886. QCA_WLAN_VENDOR_ATTR_EXTSCAN_GET_CACHED_SCAN_RESULTS_CONFIG_PARAM_FLUSH,
  887. QCA_WLAN_VENDOR_ATTR_EXTSCAN_GET_CACHED_SCAN_RESULTS_CONFIG_PARAM_MAX,
  888. QCA_WLAN_VENDOR_ATTR_EXTSCAN_AP_THRESHOLD_PARAM_BSSID,
  889. QCA_WLAN_VENDOR_ATTR_EXTSCAN_AP_THRESHOLD_PARAM_RSSI_LOW,
  890. QCA_WLAN_VENDOR_ATTR_EXTSCAN_AP_THRESHOLD_PARAM_RSSI_HIGH,
  891. QCA_WLAN_VENDOR_ATTR_EXTSCAN_AP_THRESHOLD_PARAM_CHANNEL,
  892. QCA_WLAN_VENDOR_ATTR_EXTSCAN_BSSID_HOTLIST_PARAMS_NUM_AP,
  893. QCA_WLAN_VENDOR_ATTR_EXTSCAN_AP_THRESHOLD_PARAM,
  894. QCA_WLAN_VENDOR_ATTR_EXTSCAN_SIGNIFICANT_CHANGE_PARAMS_RSSI_SAMPLE_SIZE,
  895. QCA_WLAN_VENDOR_ATTR_EXTSCAN_SIGNIFICANT_CHANGE_PARAMS_LOST_AP_SAMPLE_SIZE,
  896. QCA_WLAN_VENDOR_ATTR_EXTSCAN_SIGNIFICANT_CHANGE_PARAMS_MIN_BREACHING,
  897. QCA_WLAN_VENDOR_ATTR_EXTSCAN_SIGNIFICANT_CHANGE_PARAMS_NUM_AP,
  898. QCA_WLAN_VENDOR_ATTR_EXTSCAN_BSSID_HOTLIST_PARAMS_LOST_AP_SAMPLE_SIZE,
  899. QCA_WLAN_VENDOR_ATTR_EXTSCAN_BUCKET_SPEC_MAX_PERIOD,
  900. QCA_WLAN_VENDOR_ATTR_EXTSCAN_BUCKET_SPEC_BASE,
  901. QCA_WLAN_VENDOR_ATTR_EXTSCAN_BUCKET_SPEC_STEP_COUNT,
  902. QCA_WLAN_VENDOR_ATTR_EXTSCAN_SCAN_CMD_PARAMS_REPORT_THRESHOLD_NUM_SCANS,
  903. QCA_WLAN_VENDOR_ATTR_EXTSCAN_SSID_HOTLIST_PARAMS_LOST_SSID_SAMPLE_SIZE,
  904. QCA_WLAN_VENDOR_ATTR_EXTSCAN_SSID_HOTLIST_PARAMS_NUM_SSID,
  905. QCA_WLAN_VENDOR_ATTR_EXTSCAN_SSID_THRESHOLD_PARAM,
  906. QCA_WLAN_VENDOR_ATTR_EXTSCAN_SSID_THRESHOLD_PARAM_SSID,
  907. QCA_WLAN_VENDOR_ATTR_EXTSCAN_SSID_THRESHOLD_PARAM_BAND,
  908. QCA_WLAN_VENDOR_ATTR_EXTSCAN_SSID_THRESHOLD_PARAM_RSSI_LOW,
  909. QCA_WLAN_VENDOR_ATTR_EXTSCAN_SSID_THRESHOLD_PARAM_RSSI_HIGH,
  910. QCA_WLAN_VENDOR_ATTR_EXTSCAN_CONFIGURATION_FLAGS,
  911. QCA_WLAN_VENDOR_ATTR_EXTSCAN_SUBCMD_CONFIG_PARAM_AFTER_LAST,
  912. QCA_WLAN_VENDOR_ATTR_EXTSCAN_SUBCMD_CONFIG_PARAM_MAX =
  913. QCA_WLAN_VENDOR_ATTR_EXTSCAN_SUBCMD_CONFIG_PARAM_AFTER_LAST - 1,
  914. };
  915. /**
  916. * enum qca_wlan_vendor_attr_extscan_results - vendor attribute ext scan results
  917. *
  918. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_INVALID: Invalid initial value
  919. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_REQUEST_ID: Unsigned 32-bit value
  920. * must match the request Id supplied by Wi-Fi HAL in the corresponding
  921. * subcmd NL msg
  922. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_STATUS: Unsigned 32-bit value used to
  923. * indicate the status response from firmware/driver for the vendor
  924. * sub-command
  925. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_NUM_CHANNELS: EXTSCAN Valid Channels
  926. * attributes. Unsigned 32bit value followed by a nested array of CHANNELS
  927. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_CHANNELS: An array of NUM_CHANNELS x
  928. * Unsigned 32bit value integers representing channel numbers.
  929. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_CAPABILITIES_MAX_SCAN_CACHE_SIZE:
  930. * Unsigned 32bit value
  931. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_CAPABILITIES_MAX_SCAN_BUCKETS:
  932. * Unsigned 32bit value
  933. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_CAPABILITIES_MAX_AP_CACHE_PER_SCAN:
  934. * Unsigned 32bit value
  935. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_CAPABILITIES_MAX_RSSI_SAMPLE_SIZE:
  936. * Unsigned 32bit value
  937. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_CAPABILITIES_MAX_SCAN_REPORTING_THRESHOLD:
  938. * Unsigned 32bit value
  939. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_CAPABILITIES_MAX_HOTLIST_APS:
  940. * Unsigned 32bit value
  941. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_CAPABILITIES_MAX_SIGNIFICANT_WIFI_CHANGE_APS:
  942. * Unsigned 32bit value
  943. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_CAPABILITIES_MAX_BSSID_HISTORY_ENTRIES:
  944. * Unsigned 32bit value
  945. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_NUM_RESULTS_AVAILABLE: Unsigned 32-bit
  946. * value
  947. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_LIST: An array of
  948. * NUM_RESULTS_AVAILABLE x QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_SCAN_RESULT_*
  949. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_SCAN_RESULT_TIME_STAMP: Unsigned
  950. * 64-bit value age of sample at the time of retrieval
  951. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_SCAN_RESULT_SSID: 33 x unsigned 8-bit
  952. * value; NULL terminated SSID
  953. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_SCAN_RESULT_BSSID: An array of 6 x
  954. * Unsigned 8-bit value
  955. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_SCAN_RESULT_CHANNEL: Unsigned 32-bit
  956. * value; channel frequency in MHz
  957. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_SCAN_RESULT_RSSI: Signed 32-bit value
  958. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_SCAN_RESULT_RTT: Unsigned 32-bit value
  959. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_SCAN_RESULT_RTT_SD: Unsigned 32-bit
  960. * value
  961. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_SCAN_RESULT_BEACON_PERIOD:
  962. * Unsigned 16-bit value
  963. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_SCAN_RESULT_CAPABILITY:
  964. * Unsigned 16-bit value
  965. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_SCAN_RESULT_IE_LENGTH:
  966. * Unsigned 32-bit value; size of the IE DATA blob
  967. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_SCAN_RESULT_IE_DATA:
  968. * An array of IE_LENGTH x Unsigned 8-bit value; blob of all the
  969. * information elements found in the beacon; this data should be
  970. * a packed list of wifi_information_element objects, one after
  971. * the other.
  972. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_SCAN_RESULT_MORE_DATA:
  973. * Unsigned 8-bit value; set by driver to indicate more scan results are
  974. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_SCAN_EVENT_TYPE: Unsigned 8-bit value
  975. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_SCAN_EVENT_STATUS: Unsigned 32-bit
  976. * value
  977. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_SIGNIFICANT_CHANGE_RESULT_BSSID:
  978. * An array of 6 x Unsigned 8-bit value
  979. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_SIGNIFICANT_CHANGE_RESULT_CHANNEL:
  980. * Unsigned 32-bit value
  981. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_SIGNIFICANT_CHANGE_RESULT_NUM_RSSI:
  982. * Unsigned 32-bit value
  983. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_SIGNIFICANT_CHANGE_RESULT_RSSI_LIST:
  984. * A nested array of signed 32-bit RSSI values. Size of the array is
  985. * determined by (NUM_RSSI of SIGNIFICANT_CHANGE_RESULT_NUM_RSSI.
  986. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_CACHED_RESULTS_LIST:
  987. * An array of NUM_RESULTS_AVAILABLE x
  988. * QCA_NL80211_VENDOR_ATTR_EXTSCAN_CACHED_RESULTS_*
  989. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_CACHED_RESULTS_SCAN_ID:
  990. * Unsigned 32-bit value; a unique identifier for the scan unit
  991. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_CACHED_RESULTS_FLAGS:
  992. * Unsigned 32-bit value; a bitmask w/additional information about scan
  993. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_PNO_RESULTS_PASSPOINT_NETWORK_FOUND_NUM_MATCHES:
  994. * Unsigned 32-bit value; number of found network matches
  995. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_PNO_RESULTS_PASSPOINT_MATCH_RESULT_LIST:
  996. * A nested array of
  997. * QCA_WLAN_VENDOR_ATTR_EXTSCAN_PNO_RESULTS_PASSPOINT_MATCH_*
  998. * attributes. Array size =
  999. * *_ATTR_EXTSCAN_PNO_RESULTS_PASSPOINT_NETWORK_FOUND_NUM_MATCHES.
  1000. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_PNO_RESULTS_PASSPOINT_MATCH_ID:
  1001. * Unsigned 32-bit value; network block id for the matched network
  1002. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_PNO_RESULTS_PASSPOINT_MATCH_ANQP_LEN:
  1003. * Unsigned 32-bit value; ANQP length
  1004. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_PNO_RESULTS_PASSPOINT_MATCH_ANQP:
  1005. * An array size of PASSPOINT_MATCH_ANQP_LEN of unsigned 8-bit values;
  1006. * ANQP data in the information_element format.
  1007. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_CAPABILITIES_MAX_HOTLIST_SSIDS:
  1008. * Unsigned 32bit value; Max hotlist ssids.
  1009. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_CAPABILITIES_MAX_NUM_EPNO_NETS:
  1010. * Unsigned 32bit value; Max number of epno networks
  1011. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_CAPABILITIES_MAX_NUM_EPNO_NETS_BY_SSID:
  1012. * Unsigned 32bit value; Max number of epno networks by ssid
  1013. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_CAPABILITIES_MAX_NUM_WHITELISTED_SSID:
  1014. * Unsigned 32bit value; Max number of whitelisted ssids
  1015. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_BUCKETS_SCANNED:
  1016. * Unsigned 32bit value, Bit mask of all buckets scanned in the
  1017. * current EXTSCAN CYCLE. For e.g. If fw scan is going to scan
  1018. * following buckets 0, 1, 2 in current cycle then it will be (0x111)
  1019. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_MAX_NUM_BLACKLISTED_BSSID:
  1020. * Unsigned 32bit value; a EXTSCAN Capabilities attribute to send
  1021. * maximum umber of blacklist bssid's that firmware can support.
  1022. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_AFTER_LAST: After last
  1023. * @QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_MAX: Max value
  1024. */
  1025. enum qca_wlan_vendor_attr_extscan_results {
  1026. QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_INVALID = 0,
  1027. QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_REQUEST_ID,
  1028. QCA_WLAN_VENDOR_ATTR_EXTSCAN_STATUS,
  1029. QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_NUM_CHANNELS,
  1030. QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_CHANNELS,
  1031. QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_CAPABILITIES_MAX_SCAN_CACHE_SIZE,
  1032. QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_CAPABILITIES_MAX_SCAN_BUCKETS,
  1033. QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_CAPABILITIES_MAX_AP_CACHE_PER_SCAN,
  1034. QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_CAPABILITIES_MAX_RSSI_SAMPLE_SIZE,
  1035. QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_CAPABILITIES_MAX_SCAN_REPORTING_THRESHOLD,
  1036. QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_CAPABILITIES_MAX_HOTLIST_BSSIDS,
  1037. QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_CAPABILITIES_MAX_SIGNIFICANT_WIFI_CHANGE_APS,
  1038. QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_CAPABILITIES_MAX_BSSID_HISTORY_ENTRIES,
  1039. QCA_WLAN_VENDOR_ATTR_EXTSCAN_NUM_RESULTS_AVAILABLE,
  1040. QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_LIST,
  1041. QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_SCAN_RESULT_TIME_STAMP,
  1042. QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_SCAN_RESULT_SSID,
  1043. QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_SCAN_RESULT_BSSID,
  1044. QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_SCAN_RESULT_CHANNEL,
  1045. QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_SCAN_RESULT_RSSI,
  1046. QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_SCAN_RESULT_RTT,
  1047. QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_SCAN_RESULT_RTT_SD,
  1048. QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_SCAN_RESULT_BEACON_PERIOD,
  1049. QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_SCAN_RESULT_CAPABILITY,
  1050. QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_SCAN_RESULT_IE_LENGTH,
  1051. QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_SCAN_RESULT_IE_DATA,
  1052. QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_SCAN_RESULT_MORE_DATA,
  1053. /* Use attr QCA_WLAN_VENDOR_ATTR_EXTSCAN_NUM_RESULTS_AVAILABLE
  1054. * to indicate number of wifi scan results/bssids retrieved by the scan.
  1055. * Also, use QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_LIST to indicate the
  1056. * list of wifi scan results returned for each cached result block.
  1057. */
  1058. /* EXTSCAN attributes for
  1059. * QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_SCAN_EVENT sub-command.
  1060. */
  1061. QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_SCAN_EVENT_TYPE,
  1062. QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_SCAN_EVENT_STATUS,
  1063. /* EXTSCAN attributes for
  1064. * QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_HOTLIST_AP_FOUND sub-command.
  1065. */
  1066. /* Use attr QCA_WLAN_VENDOR_ATTR_EXTSCAN_NUM_RESULTS_AVAILABLE
  1067. * to indicate number of results.
  1068. */
  1069. /* EXTSCAN attributes for
  1070. * QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_SIGNIFICANT_CHANGE sub-command.
  1071. */
  1072. QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_SIGNIFICANT_CHANGE_RESULT_BSSID,
  1073. QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_SIGNIFICANT_CHANGE_RESULT_CHANNEL,
  1074. QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_SIGNIFICANT_CHANGE_RESULT_NUM_RSSI,
  1075. QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_SIGNIFICANT_CHANGE_RESULT_RSSI_LIST,
  1076. /* EXTSCAN attributes used with
  1077. * QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_GET_CACHED_RESULTS sub-command.
  1078. */
  1079. /* Use attr QCA_WLAN_VENDOR_ATTR_EXTSCAN_NUM_RESULTS_AVAILABLE
  1080. * to indicate number of gscan cached results returned.
  1081. * Also, use QCA_WLAN_VENDOR_ATTR_EXTSCAN_CACHED_RESULTS_LIST to
  1082. * indicate the list of gscan cached results.
  1083. */
  1084. QCA_WLAN_VENDOR_ATTR_EXTSCAN_CACHED_RESULTS_LIST,
  1085. QCA_WLAN_VENDOR_ATTR_EXTSCAN_CACHED_RESULTS_SCAN_ID,
  1086. QCA_WLAN_VENDOR_ATTR_EXTSCAN_CACHED_RESULTS_FLAGS,
  1087. /* Use attr QCA_WLAN_VENDOR_ATTR_EXTSCAN_NUM_RESULTS_AVAILABLE
  1088. * to indicate number of wifi scan results/bssids retrieved by the scan.
  1089. * Also, use QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_LIST to indicate the
  1090. * list of wifi scan results returned for each cached result block.
  1091. */
  1092. /* EXTSCAN attributes for
  1093. * QCA_NL80211_VENDOR_SUBCMD_PNO_NETWORK_FOUND sub-command.
  1094. */
  1095. /* Use QCA_WLAN_VENDOR_ATTR_EXTSCAN_NUM_RESULTS_AVAILABLE for number
  1096. * of results.
  1097. * Use QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_LIST to indicate the nested
  1098. * list of wifi scan results returned for each
  1099. * wifi_passpoint_match_result block.
  1100. * Array size: QCA_WLAN_VENDOR_ATTR_EXTSCAN_NUM_RESULTS_AVAILABLE.
  1101. */
  1102. /* EXTSCAN attributes for
  1103. * QCA_NL80211_VENDOR_SUBCMD_PNO_PASSPOINT_NETWORK_FOUND sub-command.
  1104. */
  1105. QCA_WLAN_VENDOR_ATTR_EXTSCAN_PNO_RESULTS_PASSPOINT_NETWORK_FOUND_NUM_MATCHES,
  1106. QCA_WLAN_VENDOR_ATTR_EXTSCAN_PNO_RESULTS_PASSPOINT_MATCH_RESULT_LIST,
  1107. QCA_WLAN_VENDOR_ATTR_EXTSCAN_PNO_RESULTS_PASSPOINT_MATCH_ID,
  1108. /* Use QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_LIST to indicate the nested
  1109. * list of wifi scan results returned for each
  1110. * wifi_passpoint_match_result block.
  1111. */
  1112. QCA_WLAN_VENDOR_ATTR_EXTSCAN_PNO_RESULTS_PASSPOINT_MATCH_ANQP_LEN,
  1113. QCA_WLAN_VENDOR_ATTR_EXTSCAN_PNO_RESULTS_PASSPOINT_MATCH_ANQP,
  1114. QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_CAPABILITIES_MAX_HOTLIST_SSIDS,
  1115. QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_CAPABILITIES_MAX_NUM_EPNO_NETS,
  1116. QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_CAPABILITIES_MAX_NUM_EPNO_NETS_BY_SSID,
  1117. QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_CAPABILITIES_MAX_NUM_WHITELISTED_SSID,
  1118. /* EXTSCAN attributes for
  1119. * QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_HOTLIST_SSID_FOUND sub-command &
  1120. * QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_HOTLIST_SSID_LOST sub-command
  1121. */
  1122. /* Use attr QCA_WLAN_VENDOR_ATTR_EXTSCAN_NUM_RESULTS_AVAILABLE
  1123. * to indicate number of results.
  1124. */
  1125. QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_BUCKETS_SCANNED,
  1126. QCA_WLAN_VENDOR_ATTR_EXTSCAN_MAX_NUM_BLACKLISTED_BSSID,
  1127. /* keep last */
  1128. QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_AFTER_LAST,
  1129. QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_MAX =
  1130. QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_AFTER_LAST - 1,
  1131. };
  1132. #endif
  1133. #ifdef WLAN_FEATURE_LINK_LAYER_STATS
  1134. /**
  1135. * enum qca_wlan_vendor_attr_ll_stats_set - vendor attribute set stats
  1136. *
  1137. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_SET_INVALID: Invalid initial value
  1138. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_SET_CONFIG_MPDU_SIZE_THRESHOLD: Size threshold
  1139. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_SET_CONFIG_AGGRESSIVE_STATS_GATHERING:
  1140. * Aggresive stats gathering
  1141. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_SET_AFTER_LAST: After last
  1142. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_SET_MAX: Max value
  1143. */
  1144. enum qca_wlan_vendor_attr_ll_stats_set {
  1145. QCA_WLAN_VENDOR_ATTR_LL_STATS_SET_INVALID = 0,
  1146. QCA_WLAN_VENDOR_ATTR_LL_STATS_SET_CONFIG_MPDU_SIZE_THRESHOLD = 1,
  1147. QCA_WLAN_VENDOR_ATTR_LL_STATS_SET_CONFIG_AGGRESSIVE_STATS_GATHERING,
  1148. /* keep last */
  1149. QCA_WLAN_VENDOR_ATTR_LL_STATS_SET_AFTER_LAST,
  1150. QCA_WLAN_VENDOR_ATTR_LL_STATS_SET_MAX =
  1151. QCA_WLAN_VENDOR_ATTR_LL_STATS_SET_AFTER_LAST - 1
  1152. };
  1153. /**
  1154. * enum qca_wlan_vendor_attr_ll_stats_get - vendor attribute get stats
  1155. *
  1156. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_GET_INVALID: Invalid initial value
  1157. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_GET_CONFIG_REQ_ID: Unsigned 32bit value
  1158. * provided by the caller issuing the GET stats command. When reporting
  1159. * the stats results, the driver uses the same value to indicate which
  1160. * GET request the results correspond to.
  1161. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_GET_CONFIG_REQ_MASK: Get config request mask
  1162. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_CLR_CONFIG_RSP_MASK: Config response mask
  1163. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_CLR_CONFIG_STOP_RSP: Config stop response
  1164. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_GET_AFTER_LAST: After last
  1165. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_GET_MAX: Max value
  1166. */
  1167. enum qca_wlan_vendor_attr_ll_stats_get {
  1168. QCA_WLAN_VENDOR_ATTR_LL_STATS_GET_INVALID = 0,
  1169. QCA_WLAN_VENDOR_ATTR_LL_STATS_GET_CONFIG_REQ_ID,
  1170. QCA_WLAN_VENDOR_ATTR_LL_STATS_GET_CONFIG_REQ_MASK,
  1171. QCA_WLAN_VENDOR_ATTR_LL_STATS_GET_AFTER_LAST,
  1172. QCA_WLAN_VENDOR_ATTR_LL_STATS_GET_MAX =
  1173. QCA_WLAN_VENDOR_ATTR_LL_STATS_GET_AFTER_LAST - 1
  1174. };
  1175. /**
  1176. * enum qca_wlan_vendor_attr_ll_stats_clr - vendor attribute clear stats
  1177. *
  1178. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_CLR_INVALID: Invalid initial value
  1179. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_CLR_CONFIG_REQ_MASK: Config request mask
  1180. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_CLR_CONFIG_STOP_REQ: Config stop mask
  1181. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_CLR_CONFIG_RSP_MASK: Config response mask
  1182. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_CLR_CONFIG_STOP_RSP: Config stop response
  1183. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_CLR_AFTER_LAST: After last
  1184. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_CLR_MAX: Max value
  1185. */
  1186. enum qca_wlan_vendor_attr_ll_stats_clr {
  1187. QCA_WLAN_VENDOR_ATTR_LL_STATS_CLR_INVALID = 0,
  1188. QCA_WLAN_VENDOR_ATTR_LL_STATS_CLR_CONFIG_REQ_MASK,
  1189. QCA_WLAN_VENDOR_ATTR_LL_STATS_CLR_CONFIG_STOP_REQ,
  1190. QCA_WLAN_VENDOR_ATTR_LL_STATS_CLR_CONFIG_RSP_MASK,
  1191. QCA_WLAN_VENDOR_ATTR_LL_STATS_CLR_CONFIG_STOP_RSP,
  1192. QCA_WLAN_VENDOR_ATTR_LL_STATS_CLR_AFTER_LAST,
  1193. QCA_WLAN_VENDOR_ATTR_LL_STATS_CLR_MAX =
  1194. QCA_WLAN_VENDOR_ATTR_LL_STATS_CLR_AFTER_LAST - 1
  1195. };
  1196. /**
  1197. * enum qca_wlan_vendor_attr_ll_stats_results_type - ll stats result type
  1198. *
  1199. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_TYPE_INVALID: Initial invalid value
  1200. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_TYPE_RADIO: Link layer stats type radio
  1201. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_TYPE_IFACE: Link layer stats type interface
  1202. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_TYPE_PEER: Link layer stats type peer
  1203. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_TYPE_AFTER_LAST: Last value
  1204. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_TYPE_MAX: Max value
  1205. */
  1206. enum qca_wlan_vendor_attr_ll_stats_results_type {
  1207. QCA_WLAN_VENDOR_ATTR_LL_STATS_TYPE_INVALID = 0,
  1208. QCA_WLAN_VENDOR_ATTR_LL_STATS_TYPE_RADIO = 1,
  1209. QCA_WLAN_VENDOR_ATTR_LL_STATS_TYPE_IFACE,
  1210. QCA_WLAN_VENDOR_ATTR_LL_STATS_TYPE_PEER,
  1211. QCA_WLAN_VENDOR_ATTR_LL_STATS_TYPE_AFTER_LAST,
  1212. QCA_WLAN_VENDOR_ATTR_LL_STATS_TYPE_MAX =
  1213. QCA_WLAN_VENDOR_ATTR_LL_STATS_TYPE_AFTER_LAST - 1
  1214. };
  1215. /**
  1216. * enum qca_wlan_vendor_attr_ll_stats_results - vendor attribute stats results
  1217. *
  1218. * Attributes of type QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_INFO_* are nested
  1219. * within the interface stats.
  1220. *
  1221. * Attributes of type QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_* could be nested
  1222. * within the interface stats.
  1223. *
  1224. * Attributes of type QCA_WLAN_VENDOR_ATTR_LL_STATS_PEER_INFO_* are nested
  1225. * within the interface stats.
  1226. *
  1227. * Attributes of type QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_* could be nested
  1228. * within the peer info stats.
  1229. *
  1230. * Attributes of type QCA_WLAN_VENDOR_ATTR_LL_STATS_CHANNEL_INFO_* could be
  1231. * nested within the channel stats.
  1232. *
  1233. * Attributes of type QCA_WLAN_VENDOR_ATTR_LL_STATS_CHANNEL_ could be nested
  1234. * within the radio stats.
  1235. *
  1236. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_INVALID: Invalid initial value
  1237. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_RESULTS_REQ_ID: Unsigned 32bit value
  1238. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_BEACON_RX: Unsigned 32bit value
  1239. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_MGMT_RX: Unsigned 32bit value
  1240. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_MGMT_ACTION_RX: Unsigned 32bit value
  1241. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_MGMT_ACTION_TX: Unsigned 32bit value
  1242. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_RSSI_MGMT: Unsigned 32bit value
  1243. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_RSSI_DATA: Unsigned 32bit value
  1244. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_RSSI_ACK: Unsigned 32bit value
  1245. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_INFO_MODE: Interface mode, e.g., STA,
  1246. * SOFTAP, IBSS, etc. Type = enum wifi_interface_mode
  1247. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_INFO_MAC_ADDR: Interface MAC address.
  1248. * An array of 6 Unsigned int8_t
  1249. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_INFO_STATE:
  1250. * Type = enum wifi_connection_state, e.g., DISCONNECTED, AUTHENTICATING,
  1251. * etc. Valid for STA, CLI only
  1252. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_INFO_ROAMING:
  1253. * Type = enum wifi_roam_state. Roaming state, e.g., IDLE or ACTIVE
  1254. * (is that valid for STA only?)
  1255. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_INFO_CAPABILITIES: Unsigned 32bit value.
  1256. * WIFI_CAPABILITY_XXX
  1257. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_INFO_SSID: NULL terminated SSID. An
  1258. * array of 33 Unsigned 8bit values
  1259. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_INFO_BSSID: BSSID. An array of 6
  1260. * Unsigned 8bit values
  1261. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_INFO_AP_COUNTRY_STR: Country string
  1262. * advertised by AP. An array of 3 Unsigned 8bit values
  1263. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_INFO_COUNTRY_STR: Country string for
  1264. * this association. An array of 3 Unsigned 8bit values
  1265. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_AC: Type = enum wifi_traffic_ac e.g.
  1266. * V0, VI, BE and BK
  1267. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_TX_MPDU: Unsigned int 32 value
  1268. * corresponding to respective AC
  1269. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_RX_MPDU: Unsigned int 32 value
  1270. * corresponding to respective AC
  1271. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_TX_MCAST: Unsigned int 32 value
  1272. * corresponding to respective AC
  1273. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_RX_MCAST: Unsigned int 32 value
  1274. * corresponding to respective AC
  1275. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_RX_AMPDU: Unsigned int 32 value
  1276. * corresponding to respective AC
  1277. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_TX_AMPDU: Unsigned int 32 value
  1278. * corresponding to respective AC
  1279. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_MPDU_LOST: Unsigned int 32 value
  1280. * corresponding to respective AC
  1281. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_RETRIES: Unsigned int 32 value
  1282. * corresponding to respective AC
  1283. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_RETRIES_SHORT: Unsigned int 32 value
  1284. * corresponding to respective AC
  1285. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_CONTENTION_TIME_MIN: Unsigned int 32
  1286. * value corresponding to respective AC
  1287. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_CONTENTION_TIME_MAX: Unsigned int 32
  1288. * value corresponding to respective AC
  1289. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_CONTENTION_TIME_AVG: Unsigned int 32
  1290. * value corresponding to respective AC
  1291. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_CONTENTION_NUM_SAMPLES: Unsigned int 32
  1292. * value corresponding to respective AC
  1293. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_NUM_PEERS: Unsigned int 32
  1294. * value corresponding to respective AC
  1295. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_PEER_INFO_TYPE: Type = enum wifi_peer_type
  1296. * Peer type, e.g., STA, AP, P2P GO etc
  1297. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_PEER_INFO_MAC_ADDRESS: MAC addr corresponding
  1298. * to respective peer. An array of 6 Unsigned 8bit values
  1299. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_PEER_INFO_CAPABILITIES: Unsigned int 32bit
  1300. * value representing capabilities corresponding to respective peer.
  1301. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_PEER_INFO_NUM_RATES: Unsigned 32bit value.
  1302. * Number of rates
  1303. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_PREAMBLE: Unsigned int 8bit value:
  1304. * 0: OFDM, 1:CCK, 2:HT 3:VHT 4..7 reserved
  1305. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_NSS: Unsigned int 8bit value:
  1306. * 0:1x1, 1:2x2, 3:3x3, 4:4x4
  1307. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_BW: Unsigned int 8bit value:
  1308. * 0:20MHz, 1:40Mhz, 2:80Mhz, 3:160Mhz
  1309. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_MCS_INDEX: Unsigned int 8bit value:
  1310. * OFDM/CCK rate code would be as per IEEE Std in the units of 0.5mbps
  1311. * HT/VHT it would be mcs index
  1312. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_BIT_RATE: Unsigned 32bit value.
  1313. * Bit rate in units of 100Kbps
  1314. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_TX_MPDU: Unsigned int 32bit value.
  1315. * Number of successfully transmitted data pkts i.e., with ACK received
  1316. * corresponding to the respective rate
  1317. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_RX_MPDU: Unsigned int 32bit value.
  1318. * Number of received data pkts corresponding to the respective rate
  1319. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_MPDU_LOST: Unsigned int 32bit value.
  1320. * Number of data pkts losses, i.e., no ACK received corresponding to
  1321. * the respective rate
  1322. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_RETRIES: Unsigned int 32bit value.
  1323. * Total number of data pkt retries for the respective rate
  1324. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_RETRIES_SHORT: Unsigned int 32bit value.
  1325. * Total number of short data pkt retries for the respective rate
  1326. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_RETRIES_LONG: Unsigned int 32bit value.
  1327. * Total number of long data pkt retries for the respective rate
  1328. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_ID: Radio id
  1329. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_ON_TIME: Unsigned 32bit value.
  1330. * Total number of msecs the radio is awake accruing over time
  1331. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_TX_TIME: Unsigned 32bit value.
  1332. * Total number of msecs the radio is transmitting accruing over time
  1333. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_RX_TIME: Unsigned 32bit value.
  1334. * Total number of msecs the radio is in active receive accruing over time
  1335. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_ON_TIME_SCAN: Unsigned 32bit value.
  1336. * Total number of msecs the radio is awake due to all scan accruing
  1337. * over time
  1338. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_ON_TIME_NBD: Unsigned 32bit value.
  1339. * Total number of msecs the radio is awake due to NAN accruing over time.
  1340. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_ON_TIME_GSCAN: Unsigned 32bit value.
  1341. * Total number of msecs the radio is awake due to GSCAN accruing over time
  1342. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_ON_TIME_ROAM_SCAN: Unsigned 32bit value.
  1343. * Total number of msecs the radio is awake due to roam scan accruing over
  1344. * time.
  1345. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_ON_TIME_PNO_SCAN: Unsigned 32bit value.
  1346. * Total number of msecs the radio is awake due to PNO scan accruing over
  1347. * time.
  1348. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_ON_TIME_HS20: Unsigned 32bit value.
  1349. * Total number of msecs the radio is awake due to HS2.0 scans and GAS
  1350. * exchange accruing over time.
  1351. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_NUM_CHANNELS: Unsigned 32bit value.
  1352. * Number of channels
  1353. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_CHANNEL_INFO_WIDTH:
  1354. * Type = enum wifi_channel_width. Channel width, e.g., 20, 40, 80, etc.
  1355. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_CHANNEL_INFO_CENTER_FREQ:
  1356. * Unsigned 32bit value. Primary 20MHz channel.
  1357. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_CHANNEL_INFO_CENTER_FREQ0:
  1358. * Unsigned 32bit value. Center frequency (MHz) first segment.
  1359. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_CHANNEL_INFO_CENTER_FREQ1:
  1360. * Unsigned 32bit value. Center frequency (MHz) second segment.
  1361. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_CHANNEL_ON_TIME: Unsigned int 32bit value
  1362. * representing total number of msecs the radio is awake on that channel
  1363. * accruing over time, corresponding to the respective channel.
  1364. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_CHANNEL_CCA_BUSY_TIME: Unsigned int 32bit
  1365. * value representing total number of msecs the CCA register is busy
  1366. * accruing over time corresponding to the respective channel.
  1367. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_NUM_RADIOS: Number of radios
  1368. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_CH_INFO: Channel info
  1369. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_PEER_INFO: Peer info
  1370. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_PEER_INFO_RATE_INFO: Peer rate info
  1371. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_INFO: WMM info
  1372. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_RESULTS_MORE_DATA: Unsigned 8bit value.
  1373. * Used by the driver; if set to 1, it indicates that more stats, e.g.,
  1374. * peers or radio, are to follow in the next
  1375. * QCA_NL80211_VENDOR_SUBCMD_LL_STATS_*_RESULTS event. Otherwise, it
  1376. * is set to 0.
  1377. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_AVERAGE_TSF_OFFSET: tsf offset
  1378. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_LEAKY_AP_DETECTED: leaky ap detected
  1379. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_LEAKY_AP_AVG_NUM_FRAMES_LEAKED:
  1380. * average number of frames leaked
  1381. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_LEAKY_AP_GUARD_TIME: guard time
  1382. * @QCA_WLAN_VENDOR_ATTR_LL_STATS_AFTER_LAST: After last
  1383. * @QCA_WLAN_VENDOR_ATTR_FEATURE_SET_MAX: Max value
  1384. */
  1385. enum qca_wlan_vendor_attr_ll_stats_results {
  1386. QCA_WLAN_VENDOR_ATTR_LL_STATS_INVALID = 0,
  1387. QCA_WLAN_VENDOR_ATTR_LL_STATS_RESULTS_REQ_ID = 1,
  1388. QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_BEACON_RX,
  1389. QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_MGMT_RX,
  1390. QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_MGMT_ACTION_RX,
  1391. QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_MGMT_ACTION_TX,
  1392. QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_RSSI_MGMT,
  1393. QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_RSSI_DATA,
  1394. QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_RSSI_ACK,
  1395. QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_INFO_MODE,
  1396. QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_INFO_MAC_ADDR,
  1397. QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_INFO_STATE,
  1398. QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_INFO_ROAMING,
  1399. QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_INFO_CAPABILITIES,
  1400. QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_INFO_SSID,
  1401. QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_INFO_BSSID,
  1402. QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_INFO_AP_COUNTRY_STR,
  1403. QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_INFO_COUNTRY_STR,
  1404. QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_AC,
  1405. QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_TX_MPDU,
  1406. QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_RX_MPDU,
  1407. QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_TX_MCAST,
  1408. QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_RX_MCAST,
  1409. QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_RX_AMPDU,
  1410. QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_TX_AMPDU,
  1411. QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_MPDU_LOST,
  1412. QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_RETRIES,
  1413. QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_RETRIES_SHORT,
  1414. QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_RETRIES_LONG,
  1415. QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_CONTENTION_TIME_MIN,
  1416. QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_CONTENTION_TIME_MAX,
  1417. QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_CONTENTION_TIME_AVG,
  1418. QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_CONTENTION_NUM_SAMPLES,
  1419. QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_NUM_PEERS,
  1420. QCA_WLAN_VENDOR_ATTR_LL_STATS_PEER_INFO_TYPE,
  1421. QCA_WLAN_VENDOR_ATTR_LL_STATS_PEER_INFO_MAC_ADDRESS,
  1422. QCA_WLAN_VENDOR_ATTR_LL_STATS_PEER_INFO_CAPABILITIES,
  1423. QCA_WLAN_VENDOR_ATTR_LL_STATS_PEER_INFO_NUM_RATES,
  1424. QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_PREAMBLE,
  1425. QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_NSS,
  1426. QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_BW,
  1427. QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_MCS_INDEX,
  1428. QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_BIT_RATE,
  1429. QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_TX_MPDU,
  1430. QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_RX_MPDU,
  1431. QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_MPDU_LOST,
  1432. QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_RETRIES,
  1433. QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_RETRIES_SHORT,
  1434. QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_RETRIES_LONG,
  1435. QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_ID,
  1436. QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_ON_TIME,
  1437. QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_TX_TIME,
  1438. QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_RX_TIME,
  1439. QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_ON_TIME_SCAN,
  1440. QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_ON_TIME_NBD,
  1441. QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_ON_TIME_GSCAN,
  1442. QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_ON_TIME_ROAM_SCAN,
  1443. QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_ON_TIME_PNO_SCAN,
  1444. QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_ON_TIME_HS20,
  1445. QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_NUM_CHANNELS,
  1446. QCA_WLAN_VENDOR_ATTR_LL_STATS_CHANNEL_INFO_WIDTH,
  1447. QCA_WLAN_VENDOR_ATTR_LL_STATS_CHANNEL_INFO_CENTER_FREQ,
  1448. QCA_WLAN_VENDOR_ATTR_LL_STATS_CHANNEL_INFO_CENTER_FREQ0,
  1449. QCA_WLAN_VENDOR_ATTR_LL_STATS_CHANNEL_INFO_CENTER_FREQ1,
  1450. QCA_WLAN_VENDOR_ATTR_LL_STATS_CHANNEL_ON_TIME,
  1451. QCA_WLAN_VENDOR_ATTR_LL_STATS_CHANNEL_CCA_BUSY_TIME,
  1452. QCA_WLAN_VENDOR_ATTR_LL_STATS_NUM_RADIOS,
  1453. QCA_WLAN_VENDOR_ATTR_LL_STATS_CH_INFO,
  1454. QCA_WLAN_VENDOR_ATTR_LL_STATS_PEER_INFO,
  1455. QCA_WLAN_VENDOR_ATTR_LL_STATS_PEER_INFO_RATE_INFO,
  1456. QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_INFO,
  1457. QCA_WLAN_VENDOR_ATTR_LL_STATS_RESULTS_MORE_DATA,
  1458. QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_AVERAGE_TSF_OFFSET,
  1459. QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_LEAKY_AP_DETECTED,
  1460. QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_LEAKY_AP_AVG_NUM_FRAMES_LEAKED,
  1461. QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_LEAKY_AP_GUARD_TIME,
  1462. /* Unsigned 32bit value to indicate ll stats result type */
  1463. QCA_WLAN_VENDOR_ATTR_LL_STATS_TYPE,
  1464. /* Unsigned 32bit value */
  1465. QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_NUM_TX_LEVELS,
  1466. /* Unsigned 32bit value
  1467. * Number of msecs the radio spent in transmitting for each power level
  1468. */
  1469. QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_TX_TIME_PER_LEVEL,
  1470. /* keep last */
  1471. QCA_WLAN_VENDOR_ATTR_LL_STATS_AFTER_LAST,
  1472. QCA_WLAN_VENDOR_ATTR_LL_STATS_MAX =
  1473. QCA_WLAN_VENDOR_ATTR_LL_STATS_AFTER_LAST - 1
  1474. };
  1475. #endif /* WLAN_FEATURE_LINK_LAYER_STATS */
  1476. /**
  1477. * enum qca_wlan_vendor_attr_get_supported_features - get supported feature
  1478. *
  1479. * @QCA_WLAN_VENDOR_ATTR_FEATURE_SET_INVALID: Invalid initial value
  1480. * @QCA_WLAN_VENDOR_ATTR_FEATURE_SET: Unsigned 32bit value
  1481. * @QCA_WLAN_VENDOR_ATTR_FEATURE_SET_AFTER_LAST: After last
  1482. * @QCA_WLAN_VENDOR_ATTR_FEATURE_SET_MAX: Max value
  1483. */
  1484. enum qca_wlan_vendor_attr_get_supported_features {
  1485. QCA_WLAN_VENDOR_ATTR_FEATURE_SET_INVALID = 0,
  1486. QCA_WLAN_VENDOR_ATTR_FEATURE_SET = 1,
  1487. QCA_WLAN_VENDOR_ATTR_FEATURE_SET_AFTER_LAST,
  1488. QCA_WLAN_VENDOR_ATTR_FEATURE_SET_MAX =
  1489. QCA_WLAN_VENDOR_ATTR_FEATURE_SET_AFTER_LAST - 1,
  1490. };
  1491. /**
  1492. * enum qca_wlan_vendor_attr_set_scanning_mac_oui - set scanning mac oui
  1493. *
  1494. * @QCA_WLAN_VENDOR_ATTR_SET_SCANNING_MAC_OUI_INVALID: Invalid initial value
  1495. * @QCA_WLAN_VENDOR_ATTR_SET_SCANNING_MAC_OUI: An array of 3 x Unsigned 8-bit
  1496. * value
  1497. * @QCA_WLAN_VENDOR_ATTR_SET_SCANNING_MAC_OUI_AFTER_LAST: After last
  1498. * @QCA_WLAN_VENDOR_ATTR_SET_SCANNING_MAC_OUI_MAX: Max value
  1499. */
  1500. enum qca_wlan_vendor_attr_set_scanning_mac_oui {
  1501. QCA_WLAN_VENDOR_ATTR_SET_SCANNING_MAC_OUI_INVALID = 0,
  1502. QCA_WLAN_VENDOR_ATTR_SET_SCANNING_MAC_OUI = 1,
  1503. QCA_WLAN_VENDOR_ATTR_SET_SCANNING_MAC_OUI_AFTER_LAST,
  1504. QCA_WLAN_VENDOR_ATTR_SET_SCANNING_MAC_OUI_MAX =
  1505. QCA_WLAN_VENDOR_ATTR_SET_SCANNING_MAC_OUI_AFTER_LAST - 1,
  1506. };
  1507. /**
  1508. * enum qca_wlan_vendor_attr_scan - Specifies vendor scan attributes
  1509. *
  1510. * @QCA_WLAN_VENDOR_ATTR_SCAN_IE: IEs that should be included as part of scan
  1511. * @QCA_WLAN_VENDOR_ATTR_SCAN_FREQUENCIES: Nested unsigned 32-bit attributes
  1512. * with frequencies to be scanned (in MHz)
  1513. * @QCA_WLAN_VENDOR_ATTR_SCAN_SSIDS: Nested attribute with SSIDs to be scanned
  1514. * @QCA_WLAN_VENDOR_ATTR_SCAN_SUPP_RATES: Nested array attribute of supported
  1515. * rates to be included
  1516. * @QCA_WLAN_VENDOR_ATTR_SCAN_TX_NO_CCK_RATE: flag used to send probe requests
  1517. * at non CCK rate in 2GHz band
  1518. * @QCA_WLAN_VENDOR_ATTR_SCAN_FLAGS: Unsigned 32-bit scan flags
  1519. * @QCA_WLAN_VENDOR_ATTR_SCAN_COOKIE: Unsigned 64-bit cookie provided by the
  1520. * driver for the specific scan request
  1521. * @QCA_WLAN_VENDOR_ATTR_SCAN_STATUS: Unsigned 8-bit status of the scan
  1522. * request decoded as in enum scan_status
  1523. * @QCA_WLAN_VENDOR_ATTR_SCAN_MAC: 6-byte MAC address to use when randomisation
  1524. * scan flag is set
  1525. * @QCA_WLAN_VENDOR_ATTR_SCAN_MAC_MASK: 6-byte MAC address mask to be used with
  1526. * randomisation
  1527. * @QCA_WLAN_VENDOR_ATTR_SCAN_BSSID: BSSID provided to do scan for specific BSS
  1528. */
  1529. enum qca_wlan_vendor_attr_scan {
  1530. QCA_WLAN_VENDOR_ATTR_SCAN_INVALID_PARAM = 0,
  1531. QCA_WLAN_VENDOR_ATTR_SCAN_IE,
  1532. QCA_WLAN_VENDOR_ATTR_SCAN_FREQUENCIES,
  1533. QCA_WLAN_VENDOR_ATTR_SCAN_SSIDS,
  1534. QCA_WLAN_VENDOR_ATTR_SCAN_SUPP_RATES,
  1535. QCA_WLAN_VENDOR_ATTR_SCAN_TX_NO_CCK_RATE,
  1536. QCA_WLAN_VENDOR_ATTR_SCAN_FLAGS,
  1537. QCA_WLAN_VENDOR_ATTR_SCAN_COOKIE,
  1538. QCA_WLAN_VENDOR_ATTR_SCAN_STATUS,
  1539. QCA_WLAN_VENDOR_ATTR_SCAN_MAC,
  1540. QCA_WLAN_VENDOR_ATTR_SCAN_MAC_MASK,
  1541. QCA_WLAN_VENDOR_ATTR_SCAN_BSSID,
  1542. QCA_WLAN_VENDOR_ATTR_SCAN_AFTER_LAST,
  1543. QCA_WLAN_VENDOR_ATTR_SCAN_MAX =
  1544. QCA_WLAN_VENDOR_ATTR_SCAN_AFTER_LAST - 1
  1545. };
  1546. /**
  1547. * enum scan_status - Specifies the valid values the vendor scan attribute
  1548. * QCA_WLAN_VENDOR_ATTR_SCAN_STATUS can take
  1549. * @VENDOR_SCAN_STATUS_NEW_RESULTS: implies the vendor scan is successful with
  1550. * new scan results
  1551. * @VENDOR_SCAN_STATUS_ABORTED: implies the vendor scan was aborted in-between
  1552. */
  1553. enum scan_status {
  1554. VENDOR_SCAN_STATUS_NEW_RESULTS,
  1555. VENDOR_SCAN_STATUS_ABORTED,
  1556. VENDOR_SCAN_STATUS_MAX,
  1557. };
  1558. /**
  1559. * enum qca_wlan_vendor_attr_get_concurrency_matrix - get concurrency matrix
  1560. *
  1561. * NL attributes for data used by
  1562. * QCA_NL80211_VENDOR_SUBCMD_GET_CONCURRENCY_MATRIX sub command.
  1563. *
  1564. * @QCA_WLAN_VENDOR_ATTR_GET_CONCURRENCY_MATRIX_INVALID: Invalid initial value
  1565. * @QCA_WLAN_VENDOR_ATTR_GET_CONCURRENCY_MATRIX_CONFIG_PARAM_SET_SIZE_MAX:
  1566. * Unsigned 32-bit value
  1567. * @QCA_WLAN_VENDOR_ATTR_GET_CONCURRENCY_MATRIX_RESULTS_SET_SIZE:
  1568. * Unsigned 32-bit value
  1569. * @QCA_WLAN_VENDOR_ATTR_GET_CONCURRENCY_MATRIX_RESULTS_SET: Set results. An
  1570. * array of SET_SIZE x Unsigned 32bit values representing concurrency
  1571. * combinations
  1572. * @QCA_WLAN_VENDOR_ATTR_GET_CONCURRENCY_MATRIX_AFTER_LAST: After last
  1573. * @QCA_WLAN_VENDOR_ATTR_GET_CONCURRENCY_MATRIX_MAX: Max value
  1574. */
  1575. enum qca_wlan_vendor_attr_get_concurrency_matrix {
  1576. QCA_WLAN_VENDOR_ATTR_GET_CONCURRENCY_MATRIX_INVALID = 0,
  1577. QCA_WLAN_VENDOR_ATTR_GET_CONCURRENCY_MATRIX_CONFIG_PARAM_SET_SIZE_MAX
  1578. = 1,
  1579. QCA_WLAN_VENDOR_ATTR_GET_CONCURRENCY_MATRIX_RESULTS_SET_SIZE = 2,
  1580. QCA_WLAN_VENDOR_ATTR_GET_CONCURRENCY_MATRIX_RESULTS_SET = 3,
  1581. QCA_WLAN_VENDOR_ATTR_GET_CONCURRENCY_MATRIX_AFTER_LAST,
  1582. QCA_WLAN_VENDOR_ATTR_GET_CONCURRENCY_MATRIX_MAX =
  1583. QCA_WLAN_VENDOR_ATTR_GET_CONCURRENCY_MATRIX_AFTER_LAST - 1,
  1584. };
  1585. /**
  1586. * enum qca_wlan_vendor_attr_set_no_dfs_flag - vendor attribute set no dfs flag
  1587. *
  1588. * @QCA_WLAN_VENDOR_ATTR_SET_NO_DFS_FLAG_INVALID: Invalid initial value
  1589. * @QCA_WLAN_VENDOR_ATTR_SET_NO_DFS_FLAG: Unsigned 32-bit value
  1590. * @QCA_WLAN_VENDOR_ATTR_SET_NO_DFS_FLAG_AFTER_LAST: After last
  1591. * @QCA_WLAN_VENDOR_ATTR_SET_NO_DFS_FLAG_MAX: Max value
  1592. */
  1593. enum qca_wlan_vendor_attr_set_no_dfs_flag {
  1594. QCA_WLAN_VENDOR_ATTR_SET_NO_DFS_FLAG_INVALID = 0,
  1595. QCA_WLAN_VENDOR_ATTR_SET_NO_DFS_FLAG = 1,
  1596. QCA_WLAN_VENDOR_ATTR_SET_NO_DFS_FLAG_AFTER_LAST,
  1597. QCA_WLAN_VENDOR_ATTR_SET_NO_DFS_FLAG_MAX =
  1598. QCA_WLAN_VENDOR_ATTR_SET_NO_DFS_FLAG_AFTER_LAST - 1,
  1599. };
  1600. /**
  1601. * enum qca_vendor_attr_wisa_cmd
  1602. * @QCA_WLAN_VENDOR_ATTR_WISA_INVALID: Invalid attr
  1603. * @QCA_WLAN_VENDOR_ATTR_WISA_MODE: WISA mode value attr (u32)
  1604. * @QCA_WLAN_VENDOR_ATTR_WISA_AFTER_LAST: After last
  1605. * @QCA_WLAN_VENDOR_ATTR_WISA_MAX: Max Value
  1606. * WISA setup vendor commands
  1607. */
  1608. enum qca_vendor_attr_wisa_cmd {
  1609. QCA_WLAN_VENDOR_ATTR_WISA_INVALID = 0,
  1610. QCA_WLAN_VENDOR_ATTR_WISA_MODE,
  1611. QCA_WLAN_VENDOR_ATTR_WISA_AFTER_LAST,
  1612. QCA_WLAN_VENDOR_ATTR_WISA_MAX =
  1613. QCA_WLAN_VENDOR_ATTR_WISA_AFTER_LAST - 1
  1614. };
  1615. /**
  1616. * enum qca_wlan_vendor_attr_roam_auth - vendor event for roaming
  1617. * @QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_BSSID: BSSID of the roamed AP
  1618. * @QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_REQ_IE: Request IE
  1619. * @QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_RESP_IE: Response IE
  1620. * @QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_AUTHORIZED: Authorization Status
  1621. * @QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_KEY_REPLAY_CTR: Replay Counter
  1622. * @QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_PTK_KCK: KCK of the PTK
  1623. * @QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_PTK_KEK: KEK of the PTK
  1624. * @QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_SUBNET_STATUS: subnet change status
  1625. */
  1626. enum qca_wlan_vendor_attr_roam_auth {
  1627. QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_INVALID = 0,
  1628. QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_BSSID,
  1629. QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_REQ_IE,
  1630. QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_RESP_IE,
  1631. QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_AUTHORIZED,
  1632. QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_KEY_REPLAY_CTR,
  1633. QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_PTK_KCK,
  1634. QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_PTK_KEK,
  1635. QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_SUBNET_STATUS,
  1636. QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_AFTER_LAST,
  1637. QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_MAX =
  1638. QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_AFTER_LAST - 1
  1639. };
  1640. /**
  1641. * enum qca_wlan_vendor_attr_wifi_config - wifi config
  1642. *
  1643. * @QCA_WLAN_VENDOR_ATTR_WIFI_CONFIG_INVALID: Invalid initial value
  1644. * @QCA_WLAN_VENDOR_ATTR_WIFI_CONFIG_DYNAMIC_DTIM: dynamic DTIM
  1645. * @QCA_WLAN_VENDOR_ATTR_WIFI_CONFIG_STATS_AVG_FACTOR: avg factor
  1646. * @QCA_WLAN_VENDOR_ATTR_WIFI_CONFIG_GUARD_TIME: guard time
  1647. * @QCA_WLAN_VENDOR_ATTR_WIFI_CONFIG_AFTER_LAST: after last
  1648. * @QCA_WLAN_VENDOR_ATTR_WIFI_CONFIG_MAX: max value
  1649. */
  1650. enum qca_wlan_vendor_attr_wifi_config {
  1651. QCA_WLAN_VENDOR_ATTR_WIFI_CONFIG_INVALID = 0,
  1652. QCA_WLAN_VENDOR_ATTR_WIFI_CONFIG_DYNAMIC_DTIM = 1,
  1653. QCA_WLAN_VENDOR_ATTR_WIFI_CONFIG_STATS_AVG_FACTOR = 2,
  1654. QCA_WLAN_VENDOR_ATTR_WIFI_CONFIG_GUARD_TIME = 3,
  1655. /* keep last */
  1656. QCA_WLAN_VENDOR_ATTR_WIFI_CONFIG_AFTER_LAST,
  1657. QCA_WLAN_VENDOR_ATTR_WIFI_CONFIG_MAX =
  1658. QCA_WLAN_VENDOR_ATTR_WIFI_CONFIG_AFTER_LAST - 1,
  1659. };
  1660. /**
  1661. * enum qca_wlan_epno_type - the type of request to the EPNO command
  1662. * @QCA_WLAN_EPNO: epno type request
  1663. * @QCA_WLAN_PNO: pno type request
  1664. */
  1665. enum qca_wlan_epno_type {
  1666. QCA_WLAN_EPNO,
  1667. QCA_WLAN_PNO
  1668. };
  1669. /**
  1670. * enum qca_wlan_vendor_attr_pno_config_params - pno config params
  1671. *
  1672. * @QCA_WLAN_VENDOR_ATTR_PNO_INVALID - Invalid initial value
  1673. *
  1674. * NL attributes for data used by
  1675. * QCA_NL80211_VENDOR_SUBCMD_PNO_SET_PASSPOINT_LIST sub command.
  1676. * @QCA_WLAN_VENDOR_ATTR_PNO_PASSPOINT_LIST_PARAM_NUM:
  1677. * Unsigned 32-bit value; pno passpoint number of networks
  1678. * @QCA_WLAN_VENDOR_ATTR_PNO_PASSPOINT_LIST_PARAM_NETWORK_ARRAY:
  1679. * Array of nested QCA_WLAN_VENDOR_ATTR_PNO_PASSPOINT_NETWORK_PARAM_*
  1680. * attributes. Array size =
  1681. * QCA_WLAN_VENDOR_ATTR_PNO_PASSPOINT_LIST_PARAM_NUM.
  1682. * @QCA_WLAN_VENDOR_ATTR_PNO_PASSPOINT_NETWORK_PARAM_ID:
  1683. * Unsigned 32-bit value; network id
  1684. * @QCA_WLAN_VENDOR_ATTR_PNO_PASSPOINT_NETWORK_PARAM_REALM:
  1685. * An array of 256 x Unsigned 8-bit value; NULL terminated UTF8 encoded
  1686. * realm, 0 if unspecified.
  1687. * @QCA_WLAN_VENDOR_ATTR_PNO_PASSPOINT_NETWORK_PARAM_ROAM_CNSRTM_ID:
  1688. * An array of 16 x Unsigned 32-bit value; roaming consortium ids
  1689. * to match, 0 if unspecified.
  1690. * @QCA_WLAN_VENDOR_ATTR_PNO_PASSPOINT_NETWORK_PARAM_ROAM_PLMN:
  1691. * An array of 6 x Unsigned 8-bit value; mcc/mnc combination, 0s if
  1692. * unspecified.
  1693. *
  1694. * NL attributes for data used by
  1695. * QCA_NL80211_VENDOR_SUBCMD_PNO_SET_LIST sub command.
  1696. * @QCA_WLAN_VENDOR_ATTR_PNO_SET_LIST_PARAM_NUM_NETWORKS:
  1697. * Unsigned 32-bit value; set pno number of networks
  1698. * @QCA_WLAN_VENDOR_ATTR_PNO_SET_LIST_PARAM_EPNO_NETWORKS_LIST:
  1699. * Array of nested
  1700. * QCA_WLAN_VENDOR_ATTR_PNO_SET_LIST_PARAM_EPNO_NETWORK_*
  1701. * attributes. Array size =
  1702. * QCA_WLAN_VENDOR_ATTR_PNO_SET_LIST_PARAM_NUM_NETWORKS
  1703. * @QCA_WLAN_VENDOR_ATTR_PNO_SET_LIST_PARAM_EPNO_NETWORK_SSID:
  1704. * An array of 33 x Unsigned 8-bit value; NULL terminated SSID
  1705. * @QCA_WLAN_VENDOR_ATTR_PNO_SET_LIST_PARAM_EPNO_NETWORK_RSSI_THRESHOLD:
  1706. * Signed 8-bit value; threshold for considering this SSID as found,
  1707. * required granularity for this threshold is 4dBm to 8dBm
  1708. * @QCA_WLAN_VENDOR_ATTR_PNO_SET_LIST_PARAM_EPNO_NETWORK_FLAGS:
  1709. * Unsigned 8-bit value; WIFI_PNO_FLAG_XXX
  1710. * @QCA_WLAN_VENDOR_ATTR_PNO_SET_LIST_PARAM_EPNO_NETWORK_AUTH_BIT:
  1711. * Unsigned 8-bit value; auth bit field for matching WPA IE
  1712. * @QCA_WLAN_VENDOR_ATTR_PNO_SET_LIST_PARAM_EPNO_TYPE
  1713. * Unsigned 8-bit to indicate ePNO type; values from qca_wlan_epno_type
  1714. *@QCA_WLAN_VENDOR_ATTR_PNO_SET_LIST_PARAM_EPNO_CHANNEL_LIST
  1715. * Nested attribute to send the channel list
  1716. *@QCA_WLAN_VENDOR_ATTR_PNO_SET_LIST_PARAM_EPNO_SCAN_INTERVAL
  1717. * Unsigned 32-bit value; indicates the Interval between PNO scan
  1718. * cycles in msec
  1719. *@QCA_WLAN_VENDOR_ATTR_EPNO_MIN5GHZ_RSSI
  1720. * Signed 32-bit value; minimum 5GHz RSSI for a BSSID to be considered
  1721. *@QCA_WLAN_VENDOR_ATTR_EPNO_MIN24GHZ_RSSI
  1722. * Signed 32-bit value; minimum 2.4GHz RSSI for a BSSID to be considered
  1723. * This attribute is obsolete now.
  1724. *@QCA_WLAN_VENDOR_ATTR_EPNO_INITIAL_SCORE_MAX
  1725. * Signed 32-bit value; the maximum score that a network
  1726. * can have before bonuses
  1727. *@QCA_WLAN_VENDOR_ATTR_EPNO_CURRENT_CONNECTION_BONUS
  1728. * Signed 32-bit value; only report when there is a network's
  1729. * score this much higher han the current connection
  1730. *@QCA_WLAN_VENDOR_ATTR_EPNO_SAME_NETWORK_BONUS
  1731. * Signed 32-bit value; score bonus for all networks with
  1732. * the same network flag
  1733. *@QCA_WLAN_VENDOR_ATTR_EPNO_SECURE_BONUS
  1734. * Signed 32-bit value; score bonus for networks that are not open
  1735. *@QCA_WLAN_VENDOR_ATTR_EPNO_BAND5GHZ_BONUS
  1736. * Signed 32-bit value; 5GHz RSSI score bonus applied to all
  1737. * 5GHz networks
  1738. * @QCA_WLAN_VENDOR_ATTR_PNO_AFTER_LAST: After last
  1739. * @QCA_WLAN_VENDOR_ATTR_PNO_MAX: max
  1740. */
  1741. enum qca_wlan_vendor_attr_pno_config_params {
  1742. QCA_WLAN_VENDOR_ATTR_PNO_INVALID = 0,
  1743. QCA_WLAN_VENDOR_ATTR_PNO_PASSPOINT_LIST_PARAM_NUM = 1,
  1744. QCA_WLAN_VENDOR_ATTR_PNO_PASSPOINT_LIST_PARAM_NETWORK_ARRAY = 2,
  1745. QCA_WLAN_VENDOR_ATTR_PNO_PASSPOINT_NETWORK_PARAM_ID = 3,
  1746. QCA_WLAN_VENDOR_ATTR_PNO_PASSPOINT_NETWORK_PARAM_REALM = 4,
  1747. QCA_WLAN_VENDOR_ATTR_PNO_PASSPOINT_NETWORK_PARAM_ROAM_CNSRTM_ID = 5,
  1748. QCA_WLAN_VENDOR_ATTR_PNO_PASSPOINT_NETWORK_PARAM_ROAM_PLMN = 6,
  1749. QCA_WLAN_VENDOR_ATTR_PNO_SET_LIST_PARAM_NUM_NETWORKS = 7,
  1750. QCA_WLAN_VENDOR_ATTR_PNO_SET_LIST_PARAM_EPNO_NETWORKS_LIST = 8,
  1751. QCA_WLAN_VENDOR_ATTR_PNO_SET_LIST_PARAM_EPNO_NETWORK_SSID = 9,
  1752. QCA_WLAN_VENDOR_ATTR_PNO_SET_LIST_PARAM_EPNO_NETWORK_RSSI_THRESHOLD = 10,
  1753. QCA_WLAN_VENDOR_ATTR_PNO_SET_LIST_PARAM_EPNO_NETWORK_FLAGS = 11,
  1754. QCA_WLAN_VENDOR_ATTR_PNO_SET_LIST_PARAM_EPNO_NETWORK_AUTH_BIT = 12,
  1755. QCA_WLAN_VENDOR_ATTR_PNO_SET_LIST_PARAM_EPNO_TYPE = 13,
  1756. QCA_WLAN_VENDOR_ATTR_PNO_SET_LIST_PARAM_EPNO_CHANNEL_LIST = 14,
  1757. QCA_WLAN_VENDOR_ATTR_PNO_SET_LIST_PARAM_EPNO_SCAN_INTERVAL = 15,
  1758. QCA_WLAN_VENDOR_ATTR_EPNO_MIN5GHZ_RSSI = 16,
  1759. QCA_WLAN_VENDOR_ATTR_EPNO_MIN24GHZ_RSSI = 17,
  1760. QCA_WLAN_VENDOR_ATTR_EPNO_INITIAL_SCORE_MAX = 18,
  1761. QCA_WLAN_VENDOR_ATTR_EPNO_CURRENT_CONNECTION_BONUS = 19,
  1762. QCA_WLAN_VENDOR_ATTR_EPNO_SAME_NETWORK_BONUS = 20,
  1763. QCA_WLAN_VENDOR_ATTR_EPNO_SECURE_BONUS = 21,
  1764. QCA_WLAN_VENDOR_ATTR_EPNO_BAND5GHZ_BONUS = 22,
  1765. /* keep last */
  1766. QCA_WLAN_VENDOR_ATTR_PNO_AFTER_LAST,
  1767. QCA_WLAN_VENDOR_ATTR_PNO_MAX =
  1768. QCA_WLAN_VENDOR_ATTR_PNO_AFTER_LAST - 1,
  1769. };
  1770. /**
  1771. * enum qca_wlan_vendor_attr_roaming_config_params - roaming config params
  1772. *
  1773. * @QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_INVALID: Invalid initial value
  1774. * @QCA_WLAN_VENDOR_ATTR_ROAMING_SUBCMD: roaming sub command
  1775. * @QCA_WLAN_VENDOR_ATTR_ROAMING_REQ_ID: Request id
  1776. * @QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_WHITE_LIST_SSID_NUM_NETWORKS:
  1777. * number of whitelist networks
  1778. * @QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_WHITE_LIST_SSID_LIST:
  1779. * Whitelist ssid list
  1780. * @QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_WHITE_LIST_SSID:
  1781. * white list ssid
  1782. * @QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_A_BAND_BOOST_THRESHOLD:
  1783. * 'a' band boost threshold
  1784. * @QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_A_BAND_PENALTY_THRESHOLD:
  1785. * 'a' band penalty threshold
  1786. * @QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_A_BAND_BOOST_FACTOR:
  1787. * 'a' band boost factor
  1788. * @QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_A_BAND_PENALTY_FACTOR:
  1789. * 'a' band penalty factor
  1790. * @QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_A_BAND_MAX_BOOST:
  1791. * 'a' band max boost
  1792. * @QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_LAZY_ROAM_HISTERESYS:
  1793. * lazy roam histeresys
  1794. * @QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_ALERT_ROAM_RSSI_TRIGGER:
  1795. * alert roam rssi trigger
  1796. * @QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_LAZY_ROAM_ENABLE:
  1797. * set lazy roam enable
  1798. * @QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_BSSID_PREFS:
  1799. * set bssid preference
  1800. * @QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_LAZY_ROAM_NUM_BSSID:
  1801. * set lazy roam number of bssid
  1802. * @QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_LAZY_ROAM_BSSID:
  1803. * set lazy roam bssid
  1804. * @QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_LAZY_ROAM_RSSI_MODIFIER:
  1805. * set lazy roam rssi modifier
  1806. * @QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_BSSID_PARAMS:
  1807. * set bssid params
  1808. * @QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_BSSID_PARAMS_NUM_BSSID:
  1809. * set bssid params num bssid
  1810. * @QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_BSSID_PARAMS_BSSID:
  1811. * set bssid params bssid
  1812. * @QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_AFTER_LAST: After last
  1813. * @QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_MAX: Max
  1814. */
  1815. enum qca_wlan_vendor_attr_roaming_config_params {
  1816. QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_INVALID = 0,
  1817. QCA_WLAN_VENDOR_ATTR_ROAMING_SUBCMD = 1,
  1818. QCA_WLAN_VENDOR_ATTR_ROAMING_REQ_ID = 2,
  1819. QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_WHITE_LIST_SSID_NUM_NETWORKS = 3,
  1820. QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_WHITE_LIST_SSID_LIST = 4,
  1821. QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_WHITE_LIST_SSID = 5,
  1822. QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_A_BAND_BOOST_THRESHOLD = 6,
  1823. QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_A_BAND_PENALTY_THRESHOLD = 7,
  1824. QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_A_BAND_BOOST_FACTOR = 8,
  1825. QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_A_BAND_PENALTY_FACTOR = 9,
  1826. QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_A_BAND_MAX_BOOST = 10,
  1827. QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_LAZY_ROAM_HISTERESYS = 11,
  1828. QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_ALERT_ROAM_RSSI_TRIGGER = 12,
  1829. QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_LAZY_ROAM_ENABLE = 13,
  1830. QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_BSSID_PREFS = 14,
  1831. QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_LAZY_ROAM_NUM_BSSID = 15,
  1832. QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_LAZY_ROAM_BSSID = 16,
  1833. QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_LAZY_ROAM_RSSI_MODIFIER = 17,
  1834. QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_BSSID_PARAMS = 18,
  1835. QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_BSSID_PARAMS_NUM_BSSID = 19,
  1836. QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_BSSID_PARAMS_BSSID = 20,
  1837. /* keep last */
  1838. QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_AFTER_LAST,
  1839. QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_MAX =
  1840. QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_AFTER_LAST - 1,
  1841. };
  1842. /**
  1843. * enum qca_wlan_vendor_attr_roam_subcmd - roam sub commands
  1844. *
  1845. * @QCA_WLAN_VENDOR_ATTR_ROAM_SUBCMD_INVALID: Invalid initial value
  1846. * @QCA_WLAN_VENDOR_ATTR_ROAM_SUBCMD_SSID_WHITE_LIST: ssid white list
  1847. * @QCA_WLAN_VENDOR_ATTR_ROAM_SUBCMD_SET_EXTSCAN_ROAM_PARAMS: roam params
  1848. * @QCA_WLAN_VENDOR_ATTR_ROAM_SUBCMD_SET_LAZY_ROAM: set lazy roam
  1849. * @QCA_WLAN_VENDOR_ATTR_ROAM_SUBCMD_SET_BSSID_PREFS: set bssid prefs
  1850. * @QCA_WLAN_VENDOR_ATTR_ROAM_SUBCMD_SET_BSSID_PARAMS: set bssid params
  1851. * @QCA_WLAN_VENDOR_ATTR_ROAM_SUBCMD_SET_BLACKLIST_BSSID: set blacklist bssid
  1852. * @QCA_WLAN_VENDOR_ATTR_ROAM_SUBCMD_AFTER_LAST: after last
  1853. * @QCA_WLAN_VENDOR_ATTR_ROAM_SUBCMD_MAX: subcmd max
  1854. */
  1855. enum qca_wlan_vendor_attr_roam_subcmd {
  1856. QCA_WLAN_VENDOR_ATTR_ROAM_SUBCMD_INVALID = 0,
  1857. QCA_WLAN_VENDOR_ATTR_ROAM_SUBCMD_SSID_WHITE_LIST = 1,
  1858. QCA_WLAN_VENDOR_ATTR_ROAM_SUBCMD_SET_EXTSCAN_ROAM_PARAMS = 2,
  1859. QCA_WLAN_VENDOR_ATTR_ROAM_SUBCMD_SET_LAZY_ROAM = 3,
  1860. QCA_WLAN_VENDOR_ATTR_ROAM_SUBCMD_SET_BSSID_PREFS = 4,
  1861. QCA_WLAN_VENDOR_ATTR_ROAM_SUBCMD_SET_BSSID_PARAMS = 5,
  1862. QCA_WLAN_VENDOR_ATTR_ROAM_SUBCMD_SET_BLACKLIST_BSSID = 6,
  1863. /* KEEP LAST */
  1864. QCA_WLAN_VENDOR_ATTR_ROAM_SUBCMD_AFTER_LAST,
  1865. QCA_WLAN_VENDOR_ATTR_ROAM_SUBCMD_MAX =
  1866. QCA_WLAN_VENDOR_ATTR_ROAM_SUBCMD_AFTER_LAST - 1,
  1867. };
  1868. /**
  1869. * enum qca_wlan_vendor_attr_get_wifi_info - wifi driver information
  1870. *
  1871. * @QCA_WLAN_VENDOR_ATTR_WIFI_INFO_GET_INVALID: Invalid initial value
  1872. * @QCA_WLAN_VENDOR_ATTR_WIFI_INFO_DRIVER_VERSION: get host driver version
  1873. * @QCA_WLAN_VENDOR_ATTR_WIFI_INFO_FIRMWARE_VERSION: ger firmware version
  1874. * @QCA_WLAN_VENDOR_ATTR_WIFI_INFO_RADIO_INDEX - get radio index
  1875. * @QCA_WLAN_VENDOR_ATTR_WIFI_INFO_GET_AFTER_LAST: after last
  1876. * @QCA_WLAN_VENDOR_ATTR_WIFI_INFO_GET_MAX: subcmd max
  1877. */
  1878. enum qca_wlan_vendor_attr_get_wifi_info {
  1879. QCA_WLAN_VENDOR_ATTR_WIFI_INFO_GET_INVALID = 0,
  1880. QCA_WLAN_VENDOR_ATTR_WIFI_INFO_DRIVER_VERSION = 1,
  1881. QCA_WLAN_VENDOR_ATTR_WIFI_INFO_FIRMWARE_VERSION = 2,
  1882. QCA_WLAN_VENDOR_ATTR_WIFI_INFO_RADIO_INDEX = 3,
  1883. /* KEEP LAST */
  1884. QCA_WLAN_VENDOR_ATTR_WIFI_INFO_GET_AFTER_LAST,
  1885. QCA_WLAN_VENDOR_ATTR_WIFI_INFO_GET_MAX =
  1886. QCA_WLAN_VENDOR_ATTR_WIFI_INFO_GET_AFTER_LAST - 1,
  1887. };
  1888. /**
  1889. * enum qca_wlan_vendor_attr_get_logger_features - value for logger
  1890. * supported features
  1891. * @QCA_WLAN_VENDOR_ATTR_LOGGER_INVALID - Invalid
  1892. * @QCA_WLAN_VENDOR_ATTR_LOGGER_SUPPORTED - Indicate the supported features
  1893. * @QCA_WLAN_VENDOR_ATTR_LOGGER_AFTER_LAST - To keep track of the last enum
  1894. * @QCA_WLAN_VENDOR_ATTR_LOGGER_MAX - max value possible for this type
  1895. *
  1896. * enum values are used for NL attributes for data used by
  1897. * QCA_NL80211_VENDOR_SUBCMD_GET_LOGGER_FEATURE_SET sub command.
  1898. */
  1899. enum qca_wlan_vendor_attr_get_logger_features {
  1900. QCA_WLAN_VENDOR_ATTR_LOGGER_INVALID = 0,
  1901. QCA_WLAN_VENDOR_ATTR_LOGGER_SUPPORTED = 1,
  1902. /* keep last */
  1903. QCA_WLAN_VENDOR_ATTR_LOGGER_AFTER_LAST,
  1904. QCA_WLAN_VENDOR_ATTR_LOGGER_MAX =
  1905. QCA_WLAN_VENDOR_ATTR_LOGGER_AFTER_LAST - 1,
  1906. };
  1907. /**
  1908. * enum qca_wlan_vendor_attr_link_properties - link properties
  1909. *
  1910. * @QCA_WLAN_VENDOR_ATTR_LINK_PROPERTIES_INVALID: Invalid initial value
  1911. * @QCA_WLAN_VENDOR_ATTR_LINK_PROPERTIES_NSS: Unsigned 8-bit value to
  1912. * specify the number of spatial streams negotiated
  1913. * @QCA_WLAN_VENDOR_ATTR_LINK_PROPERTIES_RATE_FLAGS: Unsigned 8-bit value
  1914. * to specify negotiated rate flags i.e. ht, vht and channel width
  1915. * @QCA_WLAN_VENDOR_ATTR_LINK_PROPERTIES_FREQ: Unsigned 32bit value to
  1916. * specify the operating frequency
  1917. * @QCA_WLAN_VENDOR_ATTR_LINK_PROPERTIES_AFTER_LAST: after last
  1918. * @QCA_WLAN_VENDOR_ATTR_LINK_PROPERTIES_MAX: max value
  1919. */
  1920. enum qca_wlan_vendor_attr_link_properties {
  1921. QCA_WLAN_VENDOR_ATTR_LINK_PROPERTIES_INVALID = 0,
  1922. QCA_WLAN_VENDOR_ATTR_LINK_PROPERTIES_NSS = 1,
  1923. QCA_WLAN_VENDOR_ATTR_LINK_PROPERTIES_RATE_FLAGS = 2,
  1924. QCA_WLAN_VENDOR_ATTR_LINK_PROPERTIES_FREQ = 3,
  1925. /* KEEP LAST */
  1926. QCA_WLAN_VENDOR_ATTR_LINK_PROPERTIES_AFTER_LAST,
  1927. QCA_WLAN_VENDOR_ATTR_LINK_PROPERTIES_MAX =
  1928. QCA_WLAN_VENDOR_ATTR_LINK_PROPERTIES_AFTER_LAST - 1,
  1929. };
  1930. /**
  1931. * enum qca_wlan_vendor_attr_nd_offload - vendor NS offload support
  1932. *
  1933. * @QCA_WLAN_VENDOR_ATTR_ND_OFFLOAD_INVALID - Invalid
  1934. * @QCA_WLAN_VENDOR_ATTR_ND_OFFLOAD_FLAG - Flag to set NS offload
  1935. * @QCA_WLAN_VENDOR_ATTR_ND_OFFLOAD_AFTER_LAST - To keep track of the last enum
  1936. * @QCA_WLAN_VENDOR_ATTR_ND_OFFLOAD_MAX - max value possible for this type
  1937. *
  1938. * enum values are used for NL attributes for data used by
  1939. * QCA_NL80211_VENDOR_SUBCMD_ND_OFFLOAD sub command.
  1940. */
  1941. enum qca_wlan_vendor_attr_nd_offload {
  1942. QCA_WLAN_VENDOR_ATTR_ND_OFFLOAD_INVALID = 0,
  1943. QCA_WLAN_VENDOR_ATTR_ND_OFFLOAD_FLAG,
  1944. /* Keep last */
  1945. QCA_WLAN_VENDOR_ATTR_ND_OFFLOAD_AFTER_LAST,
  1946. QCA_WLAN_VENDOR_ATTR_ND_OFFLOAD_MAX =
  1947. QCA_WLAN_VENDOR_ATTR_ND_OFFLOAD_AFTER_LAST - 1,
  1948. };
  1949. /**
  1950. * enum qca_wlan_vendor_features - vendor device/driver features
  1951. * @QCA_WLAN_VENDOR_FEATURE_KEY_MGMT_OFFLOAD: Device supports key
  1952. * management offload, a mechanism where the station's firmware
  1953. * does the exchange with the AP to establish the temporal keys
  1954. * after roaming, rather than having the supplicant do it.
  1955. * @QCA_WLAN_VENDOR_FEATURE_OFFCHANNEL_SIMULTANEOUS: Device supports
  1956. * simultaneous off-channel operations.
  1957. * @QQCA_WLAN_VENDOR_FEATURE_P2P_LISTEN_OFFLOAD: Device supports P2P
  1958. * Listen offload; a mechanism where the station's firmware
  1959. * takes care of responding to incoming Probe Request frames received
  1960. * from other P2P devices whilst in Listen state, rather than having the
  1961. * user space wpa_supplicant do it. Information from received P2P
  1962. * Requests are forwarded from firmware to host whenever the APPS
  1963. * processor exits power collapse state.
  1964. */
  1965. enum qca_wlan_vendor_features {
  1966. QCA_WLAN_VENDOR_FEATURE_KEY_MGMT_OFFLOAD = 0,
  1967. QCA_WLAN_VENDOR_FEATURE_SUPPORT_HW_MODE_ANY = 1,
  1968. QCA_WLAN_VENDOR_FEATURE_OFFCHANNEL_SIMULTANEOUS = 2,
  1969. QCA_WLAN_VENDOR_FEATURE_P2P_LISTEN_OFFLOAD = 3,
  1970. /* Additional features need to be added above this */
  1971. NUM_QCA_WLAN_VENDOR_FEATURES
  1972. };
  1973. /**
  1974. * enum qca_wlan_vendor_attr_sap_conditional_chan_switch - Parameters for SAP
  1975. * conditional channel switch
  1976. * @QCA_WLAN_VENDOR_ATTR_SAP_CONDITIONAL_CHAN_SWITCH_INVALID: Invalid initial
  1977. * value
  1978. * @QCA_WLAN_VENDOR_ATTR_SAP_CONDITIONAL_CHAN_SWITCH_FREQ_LIST: Priority based
  1979. * frequency list (an array of u32 values in host byte order)
  1980. * @QCA_WLAN_VENDOR_ATTR_SAP_CONDITIONAL_CHAN_SWITCH_STATUS: Status of the
  1981. * conditional switch (u32)- 0: Success, Non-zero: Failure
  1982. * @QCA_WLAN_VENDOR_ATTR_SAP_CONDITIONAL_CHAN_SWITCH_AFTER_LAST: After last
  1983. * @QCA_WLAN_VENDOR_ATTR_SAP_CONDITIONAL_CHAN_SWITCH_MAX: Subcommand max
  1984. */
  1985. enum qca_wlan_vendor_attr_sap_conditional_chan_switch {
  1986. QCA_WLAN_VENDOR_ATTR_SAP_CONDITIONAL_CHAN_SWITCH_INVALID = 0,
  1987. QCA_WLAN_VENDOR_ATTR_SAP_CONDITIONAL_CHAN_SWITCH_FREQ_LIST = 1,
  1988. QCA_WLAN_VENDOR_ATTR_SAP_CONDITIONAL_CHAN_SWITCH_STATUS = 2,
  1989. /* Keep Last */
  1990. QCA_WLAN_VENDOR_ATTR_SAP_CONDITIONAL_CHAN_SWITCH_AFTER_LAST,
  1991. QCA_WLAN_VENDOR_ATTR_SAP_CONDITIONAL_CHAN_SWITCH_MAX =
  1992. QCA_WLAN_VENDOR_ATTR_SAP_CONDITIONAL_CHAN_SWITCH_AFTER_LAST - 1,
  1993. };
  1994. /**
  1995. * enum wifi_logger_supported_features - values for supported logger features
  1996. * @WIFI_LOGGER_MEMORY_DUMP_SUPPORTED - Memory dump of FW
  1997. * @WIFI_LOGGER_PER_PACKET_TX_RX_STATUS_SUPPORTED - Per packet statistics
  1998. * @WIFI_LOGGER_CONNECT_EVENT_SUPPORTED - Logging of Connectivity events
  1999. * @WIFI_LOGGER_POWER_EVENT_SUPPORTED - Power of driver
  2000. * @WIFI_LOGGER_WAKE_LOCK_SUPPORTED - Wakelock of driver
  2001. * @WIFI_LOGGER_WATCHDOG_TIMER_SUPPORTED - monitor FW health
  2002. */
  2003. enum wifi_logger_supported_features {
  2004. WIFI_LOGGER_MEMORY_DUMP_SUPPORTED = (1 << (0)),
  2005. WIFI_LOGGER_PER_PACKET_TX_RX_STATUS_SUPPORTED = (1 << (1)),
  2006. WIFI_LOGGER_CONNECT_EVENT_SUPPORTED = (1 << (2)),
  2007. WIFI_LOGGER_POWER_EVENT_SUPPORTED = (1 << (3)),
  2008. WIFI_LOGGER_WAKE_LOCK_SUPPORTED = (1 << (4)),
  2009. WIFI_LOGGER_VERBOSE_SUPPORTED = (1 << (5)),
  2010. WIFI_LOGGER_WATCHDOG_TIMER_SUPPORTED = (1 << (6)),
  2011. };
  2012. /**
  2013. * enum qca_wlan_vendor_attr_acs_offload
  2014. *
  2015. * @QCA_WLAN_VENDOR_ATTR_ACS_PRIMARY_CHANNEL: ACS selected primary channel
  2016. * @QCA_WLAN_VENDOR_ATTR_ACS_SECONDARY_CHANNEL: ACS selected secondary channel
  2017. * @QCA_WLAN_VENDOR_ATTR_ACS_HW_MODE: hw_mode for ACS
  2018. * @QCA_WLAN_VENDOR_ATTR_ACS_HT_ENABLED: indicate if HT capability is enabled
  2019. * @QCA_WLAN_VENDOR_ATTR_ACS_HT40_ENABLED: indicate HT capability
  2020. */
  2021. enum qca_wlan_vendor_attr_acs_offload {
  2022. QCA_WLAN_VENDOR_ATTR_ACS_CHANNEL_INVALID = 0,
  2023. QCA_WLAN_VENDOR_ATTR_ACS_PRIMARY_CHANNEL,
  2024. QCA_WLAN_VENDOR_ATTR_ACS_SECONDARY_CHANNEL,
  2025. QCA_WLAN_VENDOR_ATTR_ACS_HW_MODE,
  2026. QCA_WLAN_VENDOR_ATTR_ACS_HT_ENABLED,
  2027. QCA_WLAN_VENDOR_ATTR_ACS_HT40_ENABLED,
  2028. QCA_WLAN_VENDOR_ATTR_ACS_VHT_ENABLED,
  2029. QCA_WLAN_VENDOR_ATTR_ACS_CHWIDTH,
  2030. QCA_WLAN_VENDOR_ATTR_ACS_CH_LIST,
  2031. QCA_WLAN_VENDOR_ATTR_ACS_VHT_SEG0_CENTER_CHANNEL,
  2032. QCA_WLAN_VENDOR_ATTR_ACS_VHT_SEG1_CENTER_CHANNEL,
  2033. QCA_WLAN_VENDOR_ATTR_ACS_FREQ_LIST,
  2034. /* keep last */
  2035. QCA_WLAN_VENDOR_ATTR_ACS_AFTER_LAST,
  2036. QCA_WLAN_VENDOR_ATTR_ACS_MAX =
  2037. QCA_WLAN_VENDOR_ATTR_ACS_AFTER_LAST - 1
  2038. };
  2039. /**
  2040. * enum qca_wlan_vendor_acs_hw_mode
  2041. *
  2042. * @QCA_ACS_MODE_IEEE80211B: 11b mode
  2043. * @QCA_ACS_MODE_IEEE80211G: 11g mode
  2044. * @QCA_ACS_MODE_IEEE80211A: 11a mode
  2045. * @QCA_ACS_MODE_IEEE80211AD: 11ad mode
  2046. */
  2047. enum qca_wlan_vendor_acs_hw_mode {
  2048. QCA_ACS_MODE_IEEE80211B,
  2049. QCA_ACS_MODE_IEEE80211G,
  2050. QCA_ACS_MODE_IEEE80211A,
  2051. QCA_ACS_MODE_IEEE80211AD,
  2052. QCA_ACS_MODE_IEEE80211ANY,
  2053. };
  2054. /**
  2055. * enum qca_access_policy - access control policy
  2056. *
  2057. * Access control policy is applied on the configured IE
  2058. * (QCA_WLAN_VENDOR_ATTR_CONFIG_ACCESS_POLICY_IE).
  2059. * To be set with QCA_WLAN_VENDOR_ATTR_CONFIG_ACCESS_POLICY.
  2060. *
  2061. * @QCA_ACCESS_POLICY_ACCEPT_UNLESS_LISTED: Deny Wi-Fi Connections which match
  2062. *» with the specific configuration (IE) set, i.e. allow all the
  2063. *» connections which do not match the configuration.
  2064. * @QCA_ACCESS_POLICY_DENY_UNLESS_LISTED: Accept Wi-Fi Connections which match
  2065. *» with the specific configuration (IE) set, i.e. deny all the
  2066. *» connections which do not match the configuration.
  2067. */
  2068. enum qca_access_policy {
  2069. QCA_ACCESS_POLICY_ACCEPT_UNLESS_LISTED,
  2070. QCA_ACCESS_POLICY_DENY_UNLESS_LISTED,
  2071. };
  2072. /**
  2073. * enum qca_ignore_assoc_disallowed - Ignore assoc disallowed values
  2074. *
  2075. * The valid values for the ignore assoc disallowed
  2076. *
  2077. * @QCA_IGNORE_ASSOC_DISALLOWED_DISABLE: Disable ignore assoc disallowed
  2078. * @QCA_IGNORE_ASSOC_DISALLOWED_ENABLE: Enable ignore assoc disallowed
  2079. *
  2080. */
  2081. enum qca_ignore_assoc_disallowed {
  2082. QCA_IGNORE_ASSOC_DISALLOWED_DISABLE,
  2083. QCA_IGNORE_ASSOC_DISALLOWED_ENABLE
  2084. };
  2085. /**
  2086. * enum qca_wlan_vendor_config: wifi config attr
  2087. *
  2088. * @QCA_WLAN_VENDOR_ATTR_CONFIG_INVALID: invalid config
  2089. * @QCA_WLAN_VENDOR_ATTR_CONFIG_MODULATED_DTIM: modulated dtim
  2090. * @QCA_WLAN_VENDOR_ATTR_CONFIG_STATS_AVG_FACTOR: stats avg. factor
  2091. * @QCA_WLAN_VENDOR_ATTR_CONFIG_GUARD_TIME: guard time
  2092. * @QCA_WLAN_VENDOR_ATTR_CONFIG_FINE_TIME_MEASUREMENT: fine time measurement
  2093. * @QCA_WLAN_VENDOR_ATTR_CONF_TX_RATE: Configure maximum TX rate dynamically
  2094. * @QCA_WLAN_VENDOR_ATTR_CONFIG_PENALIZE_AFTER_NCONS_BEACON_MISS:
  2095. * Configure the number of continuous Beacon Miss
  2096. * @QCA_WLAN_VENDOR_ATTR_CONFIG_CHANNEL_AVOIDANCE_IND:
  2097. * Configure the channel avoidance indication
  2098. * @QCA_WLAN_VENDOR_ATTR_CONFIG_TX_MPDU_AGGREGATION:
  2099. * Tx aggregation size (8-bit unsigned value)
  2100. * @QCA_WLAN_VENDOR_ATTR_CONFIG_RX_MPDU_AGGREGATION:
  2101. * Rx aggregation size (8-bit unsigned value)
  2102. * @QCA_WLAN_VENDOR_ATTR_CONFIG_NON_AGG_RETRY:
  2103. * Non aggregrate/11g sw retry threshold
  2104. * @QCA_WLAN_VENDOR_ATTR_CONFIG_AGG_RETRY: aggregrate sw retry threshold
  2105. * @QCA_WLAN_VENDOR_ATTR_CONFIG_MGMT_RETRY: management frame sw retry threshold
  2106. * @QCA_WLAN_VENDOR_ATTR_CONFIG_CTRL_RETRY: control frame sw retry threshold
  2107. * @QCA_WLAN_VENDOR_ATTR_CONFIG_PROPAGATION_DELAY:
  2108. * Propagation delay for 2G/5G band (units in us)
  2109. * @QCA_WLAN_VENDOR_ATTR_CONFIG_TX_FAIL_COUNT:
  2110. * Configure the number of unicast TX fail packet count
  2111. * @QCA_WLAN_VENDOR_ATTR_CONFIG_SCAN_DEFAULT_IES: Update the default scan IEs
  2112. * @QCA_WLAN_VENDOR_ATTR_CONFIG_GENERIC_COMMAND:
  2113. * Unsigned 32-bit value attribute for generic commands
  2114. * @QCA_WLAN_VENDOR_ATTR_CONFIG_GENERIC_VALUE:
  2115. * Unsigned 32-bit data attribute for generic command response
  2116. * @QCA_WLAN_VENDOR_ATTR_CONFIG_GENERIC_DATA:
  2117. * Unsigned 32-bit data attribute for generic command response
  2118. * @QCA_WLAN_VENDOR_ATTR_CONFIG_GENERIC_LENGTH:
  2119. * Unsigned 32-bit length attribute for
  2120. * QCA_WLAN_VENDOR_ATTR_CONFIG_GENERIC_DATA
  2121. * @QCA_WLAN_VENDOR_ATTR_CONFIG_GENERIC_FLAGS:
  2122. * Unsigned 32-bit flags attribute for
  2123. * QCA_WLAN_VENDOR_ATTR_CONFIG_GENERIC_DATA
  2124. * @QCA_WLAN_VENDOR_ATTR_CONFIG_ACCESS_POLICY: Vendor IE access policy
  2125. * @QCA_WLAN_VENDOR_ATTR_CONFIG_ACCESS_POLICY_IE_LIST:
  2126. * Vendor IE to be used with access policy
  2127. * @QCA_WLAN_VENDOR_ATTR_CONFIG_IFINDEX:
  2128. * interface index for vdev specific parameters
  2129. * @QCA_WLAN_VENDOR_ATTR_CONFIG_QPOWER:
  2130. * Unsigned 8bit length attribute to update power save config
  2131. * to turn off/on qpower
  2132. * @QCA_WLAN_VENDOR_ATTR_CONFIG_IGNORE_ASSOC_DISALLOWED:
  2133. * Ignore Assoc Disallowed[MBO]
  2134. * @QCA_WLAN_VENDOR_ATTR_CONFIG_LAST: last config
  2135. * @QCA_WLAN_VENDOR_ATTR_CONFIG_MAX: max config
  2136. */
  2137. enum qca_wlan_vendor_config {
  2138. QCA_WLAN_VENDOR_ATTR_CONFIG_INVALID = 0,
  2139. QCA_WLAN_VENDOR_ATTR_CONFIG_MODULATED_DTIM = 1,
  2140. QCA_WLAN_VENDOR_ATTR_CONFIG_STATS_AVG_FACTOR = 2,
  2141. QCA_WLAN_VENDOR_ATTR_CONFIG_GUARD_TIME = 3,
  2142. QCA_WLAN_VENDOR_ATTR_CONFIG_FINE_TIME_MEASUREMENT = 4,
  2143. /* Unsigned 16-bit value to configure maximum TX rate dynamically */
  2144. QCA_WLAN_VENDOR_ATTR_CONF_TX_RATE = 5,
  2145. QCA_WLAN_VENDOR_ATTR_CONFIG_PENALIZE_AFTER_NCONS_BEACON_MISS = 6,
  2146. QCA_WLAN_VENDOR_ATTR_CONFIG_CHANNEL_AVOIDANCE_IND = 7,
  2147. QCA_WLAN_VENDOR_ATTR_CONFIG_TX_MPDU_AGGREGATION = 8,
  2148. QCA_WLAN_VENDOR_ATTR_CONFIG_RX_MPDU_AGGREGATION = 9,
  2149. /* 8-bit unsigned value to configure the Non aggregrate/11g sw
  2150. * retry threshold (0 disable, 31 max).
  2151. */
  2152. QCA_WLAN_VENDOR_ATTR_CONFIG_NON_AGG_RETRY = 10,
  2153. /* 8-bit unsigned value to configure the aggregrate sw
  2154. * retry threshold (0 disable, 31 max).
  2155. */
  2156. QCA_WLAN_VENDOR_ATTR_CONFIG_AGG_RETRY = 11,
  2157. /* 8-bit unsigned value to configure the MGMT frame
  2158. * retry threshold (0 disable, 31 max).
  2159. */
  2160. QCA_WLAN_VENDOR_ATTR_CONFIG_MGMT_RETRY = 12,
  2161. /* 8-bit unsigned value to configure the CTRL frame
  2162. * retry threshold (0 disable, 31 max).
  2163. */
  2164. QCA_WLAN_VENDOR_ATTR_CONFIG_CTRL_RETRY = 13,
  2165. /* 8-bit unsigned value to configure the propagation delay for
  2166. * 2G/5G band (0~63, units in us)
  2167. */
  2168. QCA_WLAN_VENDOR_ATTR_CONFIG_PROPAGATION_DELAY = 14,
  2169. /* Unsigned 32-bit value to configure the number of unicast TX fail
  2170. * packet count. The peer is disconnected once this threshold is
  2171. * reached.
  2172. */
  2173. QCA_WLAN_VENDOR_ATTR_CONFIG_TX_FAIL_COUNT = 15,
  2174. /* Attribute used to set scan default IEs to the driver.
  2175. *
  2176. * These IEs can be used by scan operations that will be initiated by
  2177. * the driver/firmware.
  2178. *
  2179. * For further scan requests coming to the driver, these IEs should be
  2180. * merged with the IEs received along with scan request coming to the
  2181. * driver. If a particular IE is present in the scan default IEs but not
  2182. * present in the scan request, then that IE should be added to the IEs
  2183. * sent in the Probe Request frames for that scan request.
  2184. */
  2185. QCA_WLAN_VENDOR_ATTR_CONFIG_SCAN_DEFAULT_IES = 16,
  2186. /* Unsigned 32-bit attribute for generic commands */
  2187. QCA_WLAN_VENDOR_ATTR_CONFIG_GENERIC_COMMAND = 17,
  2188. /* Unsigned 32-bit value attribute for generic commands */
  2189. QCA_WLAN_VENDOR_ATTR_CONFIG_GENERIC_VALUE = 18,
  2190. /* Unsigned 32-bit data attribute for generic command response */
  2191. QCA_WLAN_VENDOR_ATTR_CONFIG_GENERIC_DATA = 19,
  2192. /* Unsigned 32-bit length attribute for
  2193. * QCA_WLAN_VENDOR_ATTR_CONFIG_GENERIC_DATA
  2194. */
  2195. QCA_WLAN_VENDOR_ATTR_CONFIG_GENERIC_LENGTH = 20,
  2196. /* Unsigned 32-bit flags attribute for
  2197. * QCA_WLAN_VENDOR_ATTR_CONFIG_GENERIC_DATA
  2198. */
  2199. QCA_WLAN_VENDOR_ATTR_CONFIG_GENERIC_FLAGS = 21,
  2200. /* Unsigned 32-bit, defining the access policy.
  2201. * See enum qca_access_policy. Used with
  2202. * QCA_WLAN_VENDOR_ATTR_CONFIG_ACCESS_POLICY_IE_LIST.
  2203. */
  2204. QCA_WLAN_VENDOR_ATTR_CONFIG_ACCESS_POLICY = 22,
  2205. /* Sets the list of full set of IEs for which a specific access policy
  2206. * has to be applied. Used along with
  2207. * QCA_WLAN_VENDOR_ATTR_CONFIG_ACCESS_POLICY to control the access.
  2208. * Zero length payload can be used to clear this access constraint.
  2209. */
  2210. QCA_WLAN_VENDOR_ATTR_CONFIG_ACCESS_POLICY_IE_LIST = 23,
  2211. /* Unsigned 32-bit, specifies the interface index (netdev) for which the
  2212. * corresponding configurations are applied. If the interface index is
  2213. * not specified, the configurations are attributed to the respective
  2214. * wiphy.
  2215. */
  2216. QCA_WLAN_VENDOR_ATTR_CONFIG_IFINDEX = 24,
  2217. /* Unsigned 8-bit, for setting qpower dynamically */
  2218. QCA_WLAN_VENDOR_ATTR_CONFIG_QPOWER = 25,
  2219. QCA_WLAN_VENDOR_ATTR_CONFIG_IGNORE_ASSOC_DISALLOWED = 26,
  2220. /* keep last */
  2221. QCA_WLAN_VENDOR_ATTR_CONFIG_LAST,
  2222. QCA_WLAN_VENDOR_ATTR_CONFIG_MAX =
  2223. QCA_WLAN_VENDOR_ATTR_CONFIG_LAST - 1
  2224. };
  2225. /**
  2226. * enum qca_wlan_vendor_attr_wifi_logger_start - Enum for wifi logger starting
  2227. * @QCA_WLAN_VENDOR_ATTR_WIFI_LOGGER_START_INVALID: Invalid attribute
  2228. * @QCA_WLAN_VENDOR_ATTR_WIFI_LOGGER_RING_ID: Ring ID
  2229. * @QCA_WLAN_VENDOR_ATTR_WIFI_LOGGER_VERBOSE_LEVEL: Verbose level
  2230. * @QCA_WLAN_VENDOR_ATTR_WIFI_LOGGER_FLAGS: Flag
  2231. * @QCA_WLAN_VENDOR_ATTR_WIFI_LOGGER_START_AFTER_LAST: Last value
  2232. * @QCA_WLAN_VENDOR_ATTR_WIFI_LOGGER_START_MAX: Max value
  2233. */
  2234. enum qca_wlan_vendor_attr_wifi_logger_start {
  2235. QCA_WLAN_VENDOR_ATTR_WIFI_LOGGER_START_INVALID = 0,
  2236. QCA_WLAN_VENDOR_ATTR_WIFI_LOGGER_RING_ID = 1,
  2237. QCA_WLAN_VENDOR_ATTR_WIFI_LOGGER_VERBOSE_LEVEL = 2,
  2238. QCA_WLAN_VENDOR_ATTR_WIFI_LOGGER_FLAGS = 3,
  2239. /* keep last */
  2240. QCA_WLAN_VENDOR_ATTR_WIFI_LOGGER_START_AFTER_LAST,
  2241. QCA_WLAN_VENDOR_ATTR_WIFI_LOGGER_START_MAX =
  2242. QCA_WLAN_VENDOR_ATTR_WIFI_LOGGER_START_AFTER_LAST - 1,
  2243. };
  2244. /*
  2245. * enum qca_wlan_vendor_attr_wifi_logger_get_ring_data - Get ring data
  2246. * @QCA_WLAN_VENDOR_ATTR_WIFI_LOGGER_GET_RING_DATA_INVALID: Invalid attribute
  2247. * @QCA_WLAN_VENDOR_ATTR_WIFI_LOGGER_GET_RING_DATA_ID: Ring ID
  2248. * @QCA_WLAN_VENDOR_ATTR_WIFI_LOGGER_GET_RING_DATA_AFTER_LAST: Last value
  2249. * @QCA_WLAN_VENDOR_ATTR_WIFI_LOGGER_GET_RING_DATA_MAX: Max value
  2250. */
  2251. enum qca_wlan_vendor_attr_wifi_logger_get_ring_data {
  2252. QCA_WLAN_VENDOR_ATTR_WIFI_LOGGER_GET_RING_DATA_INVALID = 0,
  2253. QCA_WLAN_VENDOR_ATTR_WIFI_LOGGER_GET_RING_DATA_ID = 1,
  2254. /* keep last */
  2255. QCA_WLAN_VENDOR_ATTR_WIFI_LOGGER_GET_RING_DATA_AFTER_LAST,
  2256. QCA_WLAN_VENDOR_ATTR_WIFI_LOGGER_GET_RING_DATA_MAX =
  2257. QCA_WLAN_VENDOR_ATTR_WIFI_LOGGER_GET_RING_DATA_AFTER_LAST - 1,
  2258. };
  2259. #ifdef WLAN_FEATURE_OFFLOAD_PACKETS
  2260. /**
  2261. * enum wlan_offloaded_packets_control - control commands
  2262. * @WLAN_START_OFFLOADED_PACKETS: start offloaded packets
  2263. * @WLAN_STOP_OFFLOADED_PACKETS: stop offloaded packets
  2264. *
  2265. */
  2266. enum wlan_offloaded_packets_control {
  2267. WLAN_START_OFFLOADED_PACKETS = 1,
  2268. WLAN_STOP_OFFLOADED_PACKETS = 2
  2269. };
  2270. /**
  2271. * enum qca_wlan_vendor_attr_offloaded_packets - offloaded packets
  2272. * @QCA_WLAN_VENDOR_ATTR_OFFLOADED_PACKETS_INVALID: invalid
  2273. * @QCA_WLAN_VENDOR_ATTR_OFFLOADED_PACKETS_SENDING_CONTROL: control
  2274. * @QCA_WLAN_VENDOR_ATTR_OFFLOADED_PACKETS_REQUEST_ID: request id
  2275. * @QCA_WLAN_VENDOR_ATTR_OFFLOADED_PACKETS_IP_PACKET_DATA: ip packet data
  2276. * @QCA_WLAN_VENDOR_ATTR_OFFLOADED_PACKETS_SRC_MAC_ADDR: src mac address
  2277. * @QCA_WLAN_VENDOR_ATTR_OFFLOADED_PACKETS_DST_MAC_ADDR: destination mac address
  2278. * @QCA_WLAN_VENDOR_ATTR_OFFLOADED_PACKETS_PERIOD: period in milli seconds
  2279. * @QCA_WLAN_VENDOR_ATTR_OFFLOADED_PACKETS_AFTER_LAST: after last
  2280. * @QCA_WLAN_VENDOR_ATTR_OFFLOADED_PACKETS_MAX: max
  2281. */
  2282. enum qca_wlan_vendor_attr_offloaded_packets {
  2283. QCA_WLAN_VENDOR_ATTR_OFFLOADED_PACKETS_INVALID = 0,
  2284. QCA_WLAN_VENDOR_ATTR_OFFLOADED_PACKETS_SENDING_CONTROL,
  2285. QCA_WLAN_VENDOR_ATTR_OFFLOADED_PACKETS_REQUEST_ID,
  2286. /* Packet in hex format */
  2287. QCA_WLAN_VENDOR_ATTR_OFFLOADED_PACKETS_IP_PACKET_DATA,
  2288. QCA_WLAN_VENDOR_ATTR_OFFLOADED_PACKETS_SRC_MAC_ADDR,
  2289. QCA_WLAN_VENDOR_ATTR_OFFLOADED_PACKETS_DST_MAC_ADDR,
  2290. QCA_WLAN_VENDOR_ATTR_OFFLOADED_PACKETS_PERIOD,
  2291. /* keep last */
  2292. QCA_WLAN_VENDOR_ATTR_OFFLOADED_PACKETS_AFTER_LAST,
  2293. QCA_WLAN_VENDOR_ATTR_OFFLOADED_PACKETS_MAX =
  2294. QCA_WLAN_VENDOR_ATTR_OFFLOADED_PACKETS_AFTER_LAST - 1,
  2295. };
  2296. #endif
  2297. /**
  2298. * enum qca_wlan_rssi_monitoring_control - rssi control commands
  2299. * @QCA_WLAN_RSSI_MONITORING_CONTROL_INVALID: invalid
  2300. * @QCA_WLAN_RSSI_MONITORING_START: rssi monitoring start
  2301. * @QCA_WLAN_RSSI_MONITORING_STOP: rssi monitoring stop
  2302. */
  2303. enum qca_wlan_rssi_monitoring_control {
  2304. QCA_WLAN_RSSI_MONITORING_CONTROL_INVALID = 0,
  2305. QCA_WLAN_RSSI_MONITORING_START,
  2306. QCA_WLAN_RSSI_MONITORING_STOP,
  2307. };
  2308. /**
  2309. * enum qca_wlan_vendor_attr_rssi_monitoring - rssi monitoring
  2310. * @QCA_WLAN_VENDOR_ATTR_RSSI_MONITORING_INVALID: Invalid
  2311. * @QCA_WLAN_VENDOR_ATTR_RSSI_MONITORING_CONTROL: control
  2312. * @QCA_WLAN_VENDOR_ATTR_RSSI_MONITORING_MAX_RSSI: max rssi
  2313. * @QCA_WLAN_VENDOR_ATTR_RSSI_MONITORING_MIN_RSSI: min rssi
  2314. * @QCA_WLAN_VENDOR_ATTR_RSSI_MONITORING_CUR_BSSID: current bssid
  2315. * @QCA_WLAN_VENDOR_ATTR_RSSI_MONITORING_CUR_RSSI: current rssi
  2316. * @QCA_WLAN_VENDOR_ATTR_RSSI_MONITORING_AFTER_LAST: after last
  2317. * @QCA_WLAN_VENDOR_ATTR_RSSI_MONITORING_MAX: max
  2318. */
  2319. enum qca_wlan_vendor_attr_rssi_monitoring {
  2320. QCA_WLAN_VENDOR_ATTR_RSSI_MONITORING_INVALID = 0,
  2321. QCA_WLAN_VENDOR_ATTR_RSSI_MONITORING_CONTROL,
  2322. QCA_WLAN_VENDOR_ATTR_RSSI_MONITORING_REQUEST_ID,
  2323. QCA_WLAN_VENDOR_ATTR_RSSI_MONITORING_MAX_RSSI,
  2324. QCA_WLAN_VENDOR_ATTR_RSSI_MONITORING_MIN_RSSI,
  2325. /* attributes to be used/received in callback */
  2326. QCA_WLAN_VENDOR_ATTR_RSSI_MONITORING_CUR_BSSID,
  2327. QCA_WLAN_VENDOR_ATTR_RSSI_MONITORING_CUR_RSSI,
  2328. /* keep last */
  2329. QCA_WLAN_VENDOR_ATTR_RSSI_MONITORING_AFTER_LAST,
  2330. QCA_WLAN_VENDOR_ATTR_RSSI_MONITORING_MAX =
  2331. QCA_WLAN_VENDOR_ATTR_RSSI_MONITORING_AFTER_LAST - 1,
  2332. };
  2333. /**
  2334. * qca_wlan_vendor_external_acs_event_chan_info_attr: Represents per channel
  2335. * information. These attributes are sent as part of
  2336. * QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_CHAN_INFO. Each set of the following
  2337. * attributes correspond to a single channel.
  2338. * @QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_FLAGS: A bitmask (u16)
  2339. * with flags specified in qca_wlan_vendor_channel_prop_flags_ext.
  2340. * @QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_FLAG_EXT: A bitmask (u16)
  2341. * with flags specified in qca_wlan_vendor_channel_prop_flags_ext.
  2342. * @QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_FREQ: frequency
  2343. * @QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_MAX_REG_POWER: maximum
  2344. * regulatory transmission power
  2345. * @QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_MAX_POWER: maximum
  2346. * transmission power
  2347. * @QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_MIN_POWER: minimum
  2348. * transmission power
  2349. * @QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_REG_CLASS_ID: regulatory
  2350. * class id
  2351. * @QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_ANTENNA_GAIN: maximum
  2352. * antenna gain in dbm
  2353. * @QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_VHT_SEG_0: vht segment 0
  2354. * @QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_VHT_SEG_1: vht segment 1
  2355. *
  2356. */
  2357. enum qca_wlan_vendor_external_acs_event_chan_info_attr {
  2358. QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_INVALID = 0,
  2359. QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_FLAGS = 1,
  2360. QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_FLAG_EXT = 2,
  2361. QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_FREQ = 3,
  2362. QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_MAX_REG_POWER = 4,
  2363. QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_MAX_POWER = 5,
  2364. QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_MIN_POWER = 6,
  2365. QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_REG_CLASS_ID = 7,
  2366. QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_ANTENNA_GAIN = 8,
  2367. QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_VHT_SEG_0 = 9,
  2368. QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_VHT_SEG_1 = 10,
  2369. /* keep last */
  2370. QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_LAST,
  2371. QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_MAX =
  2372. QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_LAST - 1,
  2373. };
  2374. /**
  2375. * enum qca_wlan_vendor_attr_start_acs_config: attribute to vendor sub-command
  2376. * QCA_NL80211_VENDOR_SUBCMD_START_ACS. This will be triggered by host
  2377. * driver.
  2378. * @QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_REASON: This reason refers to
  2379. * qca_wlan_vendor_acs_select_reason. This helps acs module to understand why
  2380. * ACS need to be started
  2381. * @QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_IS_SPECTRAL_SUPPORTED: Does
  2382. * driver supports spectral scanning or not
  2383. * @QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_IS_OFFLOAD_ENABLED: Is 11ac is
  2384. * offloaded to firmware.
  2385. * @QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_ADD_CHAN_STATS_SUPPORT: Does driver
  2386. * provides additional channel capability as part of scan operation.
  2387. * @QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_SAP_MODE: Operating mode of
  2388. * interface. It takes one of nl80211_iftype values.
  2389. * @QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_SAP_STATUS: Iface status: UP/Down
  2390. * @QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_CHAN_WIDTH: This is the upper bound
  2391. * of chan width. ACS logic should try to get a channel with specified width
  2392. * if not found then look for lower values.
  2393. * @QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_MAC_ADDR: Interface MAC address.
  2394. * @QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_BAND: nl80211_bands
  2395. * @QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_PHY_MODE: PHY/HW mode such as
  2396. * a/b/g/n/ac.
  2397. * @QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_CHANLIST: Supported channel list
  2398. * among which ACS should choose best channel.
  2399. * @QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_PCL:Preferred Chan List by the
  2400. * driver which will have <channel(u8), weight(u8)> format as array of
  2401. * nested values.
  2402. * @QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_CHAN_INFO: Array of nested attribute
  2403. * for each channel. It takes attr as defined in
  2404. * qca_wlan_vendor_start_acs_config_chan_info_attr.
  2405. */
  2406. enum qca_wlan_vendor_attr_start_acs_config {
  2407. QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_INVALID = 0,
  2408. QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_REASON = 1,
  2409. QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_IS_SPECTRAL_SUPPORTED = 2,
  2410. QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_IS_OFFLOAD_ENABLED = 3,
  2411. QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_ADD_CHAN_STATS_SUPPORT = 4,
  2412. QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_SAP_MODE = 5,
  2413. QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_SAP_STATUS = 6,
  2414. QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_CHAN_WIDTH = 7,
  2415. QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_MAC_ADDR = 8,
  2416. QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_BAND = 9,
  2417. QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_PHY_MODE = 10,
  2418. QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_CHANLIST = 11,
  2419. QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_PCL = 12,
  2420. QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_CHAN_INFO = 13,
  2421. /* keep last */
  2422. QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_LAST,
  2423. QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_MAX =
  2424. QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_LAST - 1,
  2425. };
  2426. /**
  2427. * enum qca_wlan_vendor_attr_pcl_config: attribute to vendor sub-command
  2428. * QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_PCL.
  2429. * @QCA_WLAN_VENDOR_ATTR_PCL_CONFIG_INVALID: invalid value
  2430. * @QCA_WLAN_VENDOR_ATTR_PCL_CONFIG_CHANNEL: pcl channel number
  2431. * @QCA_WLAN_VENDOR_ATTR_PCL_CONFIG_WEIGHT: pcl channel weight
  2432. */
  2433. enum qca_wlan_vendor_attr_pcl_config {
  2434. QCA_WLAN_VENDOR_ATTR_PCL_CONFIG_INVALID = 0,
  2435. QCA_WLAN_VENDOR_ATTR_PCL_CONFIG_CHANNEL = 1,
  2436. QCA_WLAN_VENDOR_ATTR_PCL_CONFIG_WEIGHT = 2,
  2437. };
  2438. /**
  2439. * enum set_reset_packet_filter - set packet filter control commands
  2440. * @QCA_WLAN_SET_PACKET_FILTER: Set Packet Filter
  2441. * @QCA_WLAN_GET_PACKET_FILTER: Get Packet filter
  2442. */
  2443. enum set_reset_packet_filter {
  2444. QCA_WLAN_SET_PACKET_FILTER = 1,
  2445. QCA_WLAN_GET_PACKET_FILTER = 2,
  2446. };
  2447. /**
  2448. * enum qca_wlan_vendor_attr_packet_filter - BPF control commands
  2449. * @QCA_WLAN_VENDOR_ATTR_PACKET_FILTER_INVALID: Invalid
  2450. * @QCA_WLAN_VENDOR_ATTR_SET_RESET_PACKET_FILTER: Filter ID
  2451. * @QCA_WLAN_VENDOR_ATTR_PACKET_FILTER_VERSION: Filter Version
  2452. * @QCA_WLAN_VENDOR_ATTR_PACKET_FILTER_SIZE: Total Length
  2453. * @QCA_WLAN_VENDOR_ATTR_PACKET_FILTER_CURRENT_OFFSET: Current offset
  2454. * @QCA_WLAN_VENDOR_ATTR_PACKET_FILTER_PROGRAM: length of BPF instructions
  2455. */
  2456. enum qca_wlan_vendor_attr_packet_filter {
  2457. QCA_WLAN_VENDOR_ATTR_PACKET_FILTER_INVALID = 0,
  2458. QCA_WLAN_VENDOR_ATTR_SET_RESET_PACKET_FILTER,
  2459. QCA_WLAN_VENDOR_ATTR_PACKET_FILTER_VERSION,
  2460. QCA_WLAN_VENDOR_ATTR_PACKET_FILTER_ID,
  2461. QCA_WLAN_VENDOR_ATTR_PACKET_FILTER_SIZE,
  2462. QCA_WLAN_VENDOR_ATTR_PACKET_FILTER_CURRENT_OFFSET,
  2463. QCA_WLAN_VENDOR_ATTR_PACKET_FILTER_PROGRAM,
  2464. /* keep last */
  2465. QCA_WLAN_VENDOR_ATTR_PACKET_FILTER_AFTER_LAST,
  2466. QCA_WLAN_VENDOR_ATTR_PACKET_FILTER_MAX =
  2467. QCA_WLAN_VENDOR_ATTR_PACKET_FILTER_AFTER_LAST - 1,
  2468. };
  2469. /**
  2470. * enum qca_wlan_vendor_attr_wake_stats - wake lock stats
  2471. * @QCA_WLAN_VENDOR_ATTR_GET_WAKE_STATS_INVALID: invalid
  2472. * @QCA_WLAN_VENDOR_ATTR_TOTAL_CMD_EVENT_WAKE:
  2473. * @QCA_WLAN_VENDOR_ATTR_CMD_EVENT_WAKE_CNT_PTR:
  2474. * @QCA_WLAN_VENDOR_ATTR_CMD_EVENT_WAKE_CNT_SZ:
  2475. * @QCA_WLAN_VENDOR_ATTR_TOTAL_DRIVER_FW_LOCAL_WAKE:
  2476. * @QCA_WLAN_VENDOR_ATTR_DRIVER_FW_LOCAL_WAKE_CNT_PTR:
  2477. * @QCA_WLAN_VENDOR_ATTR_DRIVER_FW_LOCAL_WAKE_CNT_SZ:
  2478. * @QCA_WLAN_VENDOR_ATTR_TOTAL_RX_DATA_WAKE:
  2479. * total rx wakeup count
  2480. * @QCA_WLAN_VENDOR_ATTR_RX_UNICAST_CNT:
  2481. * Total rx unicast packet which woke up host
  2482. * @QCA_WLAN_VENDOR_ATTR_RX_MULTICAST_CNT:
  2483. * Total rx multicast packet which woke up host
  2484. * @QCA_WLAN_VENDOR_ATTR_RX_BROADCAST_CNT:
  2485. * Total rx broadcast packet which woke up host
  2486. * @QCA_WLAN_VENDOR_ATTR_ICMP_PKT:
  2487. * wake icmp packet count
  2488. * @QCA_WLAN_VENDOR_ATTR_ICMP6_PKT:
  2489. * wake icmp6 packet count
  2490. * @QCA_WLAN_VENDOR_ATTR_ICMP6_RA:
  2491. * wake icmp6 RA packet count
  2492. * @QCA_WLAN_VENDOR_ATTR_ICMP6_NA:
  2493. * wake icmp6 NA packet count
  2494. * @QCA_WLAN_VENDOR_ATTR_ICMP6_NS:
  2495. * wake icmp6 NS packet count
  2496. * @QCA_WLAN_VENDOR_ATTR_ICMP4_RX_MULTICAST_CNT:
  2497. * Rx wake packet count due to ipv4 multicast
  2498. * @QCA_WLAN_VENDOR_ATTR_ICMP6_RX_MULTICAST_CNT:
  2499. * Rx wake packet count due to ipv6 multicast
  2500. * @QCA_WLAN_VENDOR_ATTR_OTHER_RX_MULTICAST_CNT:
  2501. * Rx wake packet count due to non-ipv4 and non-ipv6 packets
  2502. * @QCA_WLAN_VENDOR_ATTR_RSSI_BREACH_CNT:
  2503. * wake rssi breach packet count
  2504. * @QCA_WLAN_VENDOR_ATTR_LOW_RSSI_CNT:
  2505. * wake low rssi packet count
  2506. * @QCA_WLAN_VENDOR_ATTR_GSCAN_CNT:
  2507. * wake gscan packet count
  2508. * @QCA_WLAN_VENDOR_ATTR_PNO_COMPLETE_CNT:
  2509. * wake pno complete packet count
  2510. * @QCA_WLAN_VENDOR_ATTR_PNO_MATCH_CNT:
  2511. * wake pno match packet count
  2512. */
  2513. enum qca_wlan_vendor_attr_wake_stats {
  2514. QCA_WLAN_VENDOR_ATTR_GET_WAKE_STATS_INVALID = 0,
  2515. QCA_WLAN_VENDOR_ATTR_TOTAL_CMD_EVENT_WAKE,
  2516. QCA_WLAN_VENDOR_ATTR_CMD_EVENT_WAKE_CNT_PTR,
  2517. QCA_WLAN_VENDOR_ATTR_CMD_EVENT_WAKE_CNT_SZ,
  2518. QCA_WLAN_VENDOR_ATTR_TOTAL_DRIVER_FW_LOCAL_WAKE,
  2519. QCA_WLAN_VENDOR_ATTR_DRIVER_FW_LOCAL_WAKE_CNT_PTR,
  2520. QCA_WLAN_VENDOR_ATTR_DRIVER_FW_LOCAL_WAKE_CNT_SZ,
  2521. QCA_WLAN_VENDOR_ATTR_TOTAL_RX_DATA_WAKE,
  2522. QCA_WLAN_VENDOR_ATTR_RX_UNICAST_CNT,
  2523. QCA_WLAN_VENDOR_ATTR_RX_MULTICAST_CNT,
  2524. QCA_WLAN_VENDOR_ATTR_RX_BROADCAST_CNT,
  2525. QCA_WLAN_VENDOR_ATTR_ICMP_PKT,
  2526. QCA_WLAN_VENDOR_ATTR_ICMP6_PKT,
  2527. QCA_WLAN_VENDOR_ATTR_ICMP6_RA,
  2528. QCA_WLAN_VENDOR_ATTR_ICMP6_NA,
  2529. QCA_WLAN_VENDOR_ATTR_ICMP6_NS,
  2530. QCA_WLAN_VENDOR_ATTR_ICMP4_RX_MULTICAST_CNT,
  2531. QCA_WLAN_VENDOR_ATTR_ICMP6_RX_MULTICAST_CNT,
  2532. QCA_WLAN_VENDOR_ATTR_OTHER_RX_MULTICAST_CNT,
  2533. QCA_WLAN_VENDOR_ATTR_RSSI_BREACH_CNT,
  2534. QCA_WLAN_VENDOR_ATTR_LOW_RSSI_CNT,
  2535. QCA_WLAN_VENDOR_ATTR_GSCAN_CNT,
  2536. QCA_WLAN_VENDOR_ATTR_PNO_COMPLETE_CNT,
  2537. QCA_WLAN_VENDOR_ATTR_PNO_MATCH_CNT,
  2538. /* keep last */
  2539. QCA_WLAN_VENDOR_GET_WAKE_STATS_AFTER_LAST,
  2540. QCA_WLAN_VENDOR_GET_WAKE_STATS_MAX =
  2541. QCA_WLAN_VENDOR_GET_WAKE_STATS_AFTER_LAST - 1,
  2542. };
  2543. /**
  2544. * enum qca_vendor_attr_get_tsf: Vendor attributes for TSF capture
  2545. * @QCA_WLAN_VENDOR_ATTR_TSF_INVALID: Invalid attribute value
  2546. * @QCA_WLAN_VENDOR_ATTR_TSF_CMD: enum qca_tsf_operation (u32)
  2547. * @QCA_WLAN_VENDOR_ATTR_TSF_TIMER_VALUE: Unsigned 64 bit TSF timer value
  2548. * @QCA_WLAN_VENDOR_ATTR_TSF_SOC_TIMER_VALUE: Unsigned 64 bit Synchronized
  2549. * SOC timer value at TSF capture
  2550. * @QCA_WLAN_VENDOR_ATTR_TSF_AFTER_LAST: after last
  2551. * @QCA_WLAN_VENDOR_ATTR_TSF_MAX: Max value
  2552. */
  2553. enum qca_vendor_attr_tsf_cmd {
  2554. QCA_WLAN_VENDOR_ATTR_TSF_INVALID = 0,
  2555. QCA_WLAN_VENDOR_ATTR_TSF_CMD,
  2556. QCA_WLAN_VENDOR_ATTR_TSF_TIMER_VALUE,
  2557. QCA_WLAN_VENDOR_ATTR_TSF_SOC_TIMER_VALUE,
  2558. QCA_WLAN_VENDOR_ATTR_TSF_AFTER_LAST,
  2559. QCA_WLAN_VENDOR_ATTR_TSF_MAX =
  2560. QCA_WLAN_VENDOR_ATTR_TSF_AFTER_LAST - 1
  2561. };
  2562. /**
  2563. * enum qca_tsf_operation: TSF driver commands
  2564. * @QCA_TSF_CAPTURE: Initiate TSF Capture
  2565. * @QCA_TSF_GET: Get TSF capture value
  2566. * @QCA_TSF_SYNC_GET: Initiate TSF capture and return with captured value
  2567. */
  2568. enum qca_tsf_cmd {
  2569. QCA_TSF_CAPTURE,
  2570. QCA_TSF_GET,
  2571. QCA_TSF_SYNC_GET,
  2572. };
  2573. /**
  2574. * enum qca_vendor_attr_get_preferred_freq_list - get preferred channel list
  2575. * @QCA_WLAN_VENDOR_ATTR_GET_PREFERRED_FREQ_LIST_INVALID: invalid value
  2576. * @QCA_WLAN_VENDOR_ATTR_GET_PREFERRED_FREQ_LIST_IFACE_TYPE: interface type
  2577. * @QCA_WLAN_VENDOR_ATTR_GET_PREFERRED_FREQ_LIST: preferred frequency list
  2578. * @QCA_WLAN_VENDOR_ATTR_GET_PREFERRED_FREQ_LIST_AFTER_LAST: after last
  2579. * @QCA_WLAN_VENDOR_ATTR_GET_PREFERRED_FREQ_LIST_MAX: max
  2580. */
  2581. enum qca_vendor_attr_get_preferred_freq_list {
  2582. QCA_WLAN_VENDOR_ATTR_GET_PREFERRED_FREQ_LIST_INVALID,
  2583. /* A 32-unsigned value; the interface type/mode for which the preferred
  2584. * frequency list is requested (see enum qca_iface_type for possible
  2585. * values); used in both south- and north-bound.
  2586. */
  2587. QCA_WLAN_VENDOR_ATTR_GET_PREFERRED_FREQ_LIST_IFACE_TYPE,
  2588. /* An array of 32-unsigned values; values are frequency (MHz); used
  2589. * in north-bound only.
  2590. */
  2591. QCA_WLAN_VENDOR_ATTR_GET_PREFERRED_FREQ_LIST,
  2592. /* keep last */
  2593. QCA_WLAN_VENDOR_ATTR_GET_PREFERRED_FREQ_LIST_AFTER_LAST,
  2594. QCA_WLAN_VENDOR_ATTR_GET_PREFERRED_FREQ_LIST_MAX =
  2595. QCA_WLAN_VENDOR_ATTR_GET_PREFERRED_FREQ_LIST_AFTER_LAST - 1
  2596. };
  2597. /**
  2598. * enum qca_vendor_attr_probable_oper_channel - channel hint
  2599. * @QCA_WLAN_VENDOR_ATTR_PROBABLE_OPER_CHANNEL_INVALID: invalid value
  2600. * @QCA_WLAN_VENDOR_ATTR_PROBABLE_OPER_CHANNEL_IFACE_TYPE: interface type
  2601. * @QCA_WLAN_VENDOR_ATTR_PROBABLE_OPER_CHANNEL_FREQ: frequency hint value
  2602. * @QCA_WLAN_VENDOR_ATTR_PROBABLE_OPER_CHANNEL_AFTER_LAST: last
  2603. * @QCA_WLAN_VENDOR_ATTR_PROBABLE_OPER_CHANNEL_MAX: max
  2604. */
  2605. enum qca_vendor_attr_probable_oper_channel {
  2606. QCA_WLAN_VENDOR_ATTR_PROBABLE_OPER_CHANNEL_INVALID,
  2607. /* 32-bit unsigned value; indicates the connection/iface type likely to
  2608. * come on this channel (see enum qca_iface_type).
  2609. */
  2610. QCA_WLAN_VENDOR_ATTR_PROBABLE_OPER_CHANNEL_IFACE_TYPE,
  2611. /* 32-bit unsigned value; the frequency (MHz) of the probable channel */
  2612. QCA_WLAN_VENDOR_ATTR_PROBABLE_OPER_CHANNEL_FREQ,
  2613. /* keep last */
  2614. QCA_WLAN_VENDOR_ATTR_PROBABLE_OPER_CHANNEL_AFTER_LAST,
  2615. QCA_WLAN_VENDOR_ATTR_PROBABLE_OPER_CHANNEL_MAX =
  2616. QCA_WLAN_VENDOR_ATTR_PROBABLE_OPER_CHANNEL_AFTER_LAST - 1
  2617. };
  2618. /**
  2619. * enum qca_wlan_vendor_attr_gw_param_config - gateway param config
  2620. * @QCA_WLAN_VENDOR_ATTR_GW_PARAM_CONFIG_INVALID: Invalid
  2621. * @QCA_WLAN_VENDOR_ATTR_GW_PARAM_CONFIG_GW_MAC_ADDR: gateway mac addr
  2622. * @QCA_WLAN_VENDOR_ATTR_GW_PARAM_CONFIG_IPV4_ADDR: ipv4 addr
  2623. * @QCA_WLAN_VENDOR_ATTR_GW_PARAM_CONFIG_IPV6_ADDR: ipv6 addr
  2624. */
  2625. enum qca_wlan_vendor_attr_gw_param_config {
  2626. QCA_WLAN_VENDOR_ATTR_GW_PARAM_CONFIG_INVALID = 0,
  2627. QCA_WLAN_VENDOR_ATTR_GW_PARAM_CONFIG_GW_MAC_ADDR,
  2628. QCA_WLAN_VENDOR_ATTR_GW_PARAM_CONFIG_IPV4_ADDR,
  2629. QCA_WLAN_VENDOR_ATTR_GW_PARAM_CONFIG_IPV6_ADDR,
  2630. QCA_WLAN_VENDOR_ATTR_GW_PARAM_CONFIG_AFTER_LAST,
  2631. QCA_WLAN_VENDOR_ATTR_GW_PARAM_CONFIG_MAX =
  2632. QCA_WLAN_VENDOR_ATTR_GW_PARAM_CONFIG_AFTER_LAST - 1,
  2633. };
  2634. /**
  2635. * enum drv_dbs_capability - DBS capability
  2636. * @DRV_DBS_CAPABILITY_DISABLED: DBS disabled
  2637. * @DRV_DBS_CAPABILITY_1X1: 1x1
  2638. * @DRV_DBS_CAPABILITY_2X2: 2x2
  2639. */
  2640. enum drv_dbs_capability {
  2641. DRV_DBS_CAPABILITY_DISABLED, /* not supported or disabled */
  2642. DRV_DBS_CAPABILITY_1X1,
  2643. DRV_DBS_CAPABILITY_2X2,
  2644. };
  2645. /**
  2646. * enum qca_vendor_attr_ota_test - Enable OTA test
  2647. * @QCA_WLAN_VENDOR_ATTR_OTA_TEST_INVALID: invalid value
  2648. * @QCA_WLAN_VENDOR_ATTR_OTA_TEST_ENABLE: enable OTA test
  2649. * @QCA_WLAN_VENDOR_ATTR_OTA_TEST_AFTER_LAST: after last
  2650. * @QCA_WLAN_VENDOR_ATTR_OTA_TEST_MAX: max
  2651. */
  2652. enum qca_vendor_attr_ota_test {
  2653. QCA_WLAN_VENDOR_ATTR_OTA_TEST_INVALID,
  2654. /* 8-bit unsigned value to indicate if OTA test is enabled */
  2655. QCA_WLAN_VENDOR_ATTR_OTA_TEST_ENABLE,
  2656. /* keep last */
  2657. QCA_WLAN_VENDOR_ATTR_OTA_TEST_AFTER_LAST,
  2658. QCA_WLAN_VENDOR_ATTR_OTA_TEST_MAX =
  2659. QCA_WLAN_VENDOR_ATTR_OTA_TEST_AFTER_LAST - 1
  2660. };
  2661. /** enum qca_vendor_attr_txpower_scale - vendor sub commands index
  2662. * @QCA_WLAN_VENDOR_ATTR_TXPOWER_SCALE_INVALID: invalid value
  2663. * @QCA_WLAN_VENDOR_ATTR_TXPOWER_SCALE: scaling value
  2664. * @QCA_WLAN_VENDOR_ATTR_TXPOWER_SCALE_AFTER_LAST: last value
  2665. * @QCA_WLAN_VENDOR_ATTR_TXPOWER_SCALE_MAX: max value
  2666. */
  2667. enum qca_vendor_attr_txpower_scale {
  2668. QCA_WLAN_VENDOR_ATTR_TXPOWER_SCALE_INVALID,
  2669. /* 8-bit unsigned value to indicate the scaling of tx power */
  2670. QCA_WLAN_VENDOR_ATTR_TXPOWER_SCALE,
  2671. /* keep last */
  2672. QCA_WLAN_VENDOR_ATTR_TXPOWER_SCALE_AFTER_LAST,
  2673. QCA_WLAN_VENDOR_ATTR_TXPOWER_SCALE_MAX =
  2674. QCA_WLAN_VENDOR_ATTR_TXPOWER_SCALE_AFTER_LAST - 1
  2675. };
  2676. /**
  2677. * enum qca_vendor_attr_txpower_scale_decr_db - vendor sub commands index
  2678. * @QCA_WLAN_VENDOR_ATTR_TXPOWER_SCALE_DECR_DB_INVALID: invalid value
  2679. * @QCA_WLAN_VENDOR_ATTR_TXPOWER_SCALE_DECR_DB: scaling value
  2680. * @QCA_WLAN_VENDOR_ATTR_TXPOWER_SCALE_DECR_DB_AFTER_LAST: last value
  2681. * @QCA_WLAN_VENDOR_ATTR_TXPOWER_SCALE_DECR_DB_MAX: max value
  2682. */
  2683. enum qca_vendor_attr_txpower_scale_decr_db {
  2684. QCA_WLAN_VENDOR_ATTR_TXPOWER_SCALE_DECR_DB_INVALID,
  2685. /* 8-bit unsigned value to indicate the scaling of tx power */
  2686. QCA_WLAN_VENDOR_ATTR_TXPOWER_SCALE_DECR_DB,
  2687. /* keep last */
  2688. QCA_WLAN_VENDOR_ATTR_TXPOWER_SCALE_DECR_DB_AFTER_LAST,
  2689. QCA_WLAN_VENDOR_ATTR_TXPOWER_SCALE_DECR_DB_MAX =
  2690. QCA_WLAN_VENDOR_ATTR_TXPOWER_SCALE_DECR_DB_AFTER_LAST - 1
  2691. };
  2692. /**
  2693. * enum dfs_mode - state of DFS mode
  2694. * @DFS_MODE_NONE: DFS mode attribute is none
  2695. * @DFS_MODE_ENABLE: DFS mode is enabled
  2696. * @DFS_MODE_DISABLE: DFS mode is disabled
  2697. * @DFS_MODE_DEPRIORITIZE: Deprioritize DFS channels in scanning
  2698. */
  2699. enum dfs_mode {
  2700. DFS_MODE_NONE,
  2701. DFS_MODE_ENABLE,
  2702. DFS_MODE_DISABLE,
  2703. DFS_MODE_DEPRIORITIZE
  2704. };
  2705. /**
  2706. * enum qca_wlan_vendor_attr_acs_config - Config params for ACS
  2707. * @QCA_WLAN_VENDOR_ATTR_ACS_MODE_INVALID: Invalid
  2708. * @QCA_WLAN_VENDOR_ATTR_ACS_DFS_MODE: Dfs mode for ACS
  2709. * QCA_WLAN_VENDOR_ATTR_ACS_CHANNEL_HINT: channel_hint for ACS
  2710. * QCA_WLAN_VENDOR_ATTR_ACS_DFS_AFTER_LAST: after_last
  2711. * QCA_WLAN_VENDOR_ATTR_ACS_DFS_MAX: max attribute
  2712. */
  2713. enum qca_wlan_vendor_attr_acs_config {
  2714. QCA_WLAN_VENDOR_ATTR_ACS_MODE_INVALID = 0,
  2715. QCA_WLAN_VENDOR_ATTR_ACS_DFS_MODE,
  2716. QCA_WLAN_VENDOR_ATTR_ACS_CHANNEL_HINT,
  2717. QCA_WLAN_VENDOR_ATTR_ACS_DFS_AFTER_LAST,
  2718. QCA_WLAN_VENDOR_ATTR_ACS_DFS_MAX =
  2719. QCA_WLAN_VENDOR_ATTR_ACS_DFS_AFTER_LAST - 1,
  2720. };
  2721. /**
  2722. * enum qca_wlan_vendor_attr_sta_connect_roam_policy_config -
  2723. * config params for sta roam policy
  2724. * @QCA_WLAN_VENDOR_ATTR_STA_CONNECT_ROAM_POLICY_INVALID: Invalid
  2725. * @QCA_WLAN_VENDOR_ATTR_STA_DFS_MODE: If sta should skip Dfs channels
  2726. * @QCA_WLAN_VENDOR_ATTR_STA_SKIP_UNSAFE_CHANNEL:
  2727. * If sta should skip unsafe channels or not in scanning
  2728. * @QCA_WLAN_VENDOR_ATTR_STA_CONNECT_ROAM_POLICY_LAST:
  2729. * @QCA_WLAN_VENDOR_ATTR_STA_CONNECT_ROAM_POLICY_MAX: max attribute
  2730. */
  2731. enum qca_wlan_vendor_attr_sta_connect_roam_policy_config {
  2732. QCA_WLAN_VENDOR_ATTR_STA_CONNECT_ROAM_POLICY_INVALID = 0,
  2733. QCA_WLAN_VENDOR_ATTR_STA_DFS_MODE,
  2734. QCA_WLAN_VENDOR_ATTR_STA_SKIP_UNSAFE_CHANNEL,
  2735. QCA_WLAN_VENDOR_ATTR_STA_CONNECT_ROAM_POLICY_AFTER_LAST,
  2736. QCA_WLAN_VENDOR_ATTR_STA_CONNECT_ROAM_POLICY_MAX =
  2737. QCA_WLAN_VENDOR_ATTR_STA_CONNECT_ROAM_POLICY_AFTER_LAST - 1,
  2738. };
  2739. /**
  2740. * enum qca_wlan_vendor_attr_sap_config - config params for sap configuration
  2741. * @QCA_WLAN_VENDOR_ATTR_SAP_CONFIG_INVALID: invalid
  2742. * @QCA_WLAN_VENDOR_ATTR_SAP_CONFIG_CHANNEL: Channel on which SAP should start
  2743. * @QCA_WLAN_VENDOR_ATTR_SAP_MANDATORY_FREQUENCY_LIST: List of frequencies on
  2744. * which AP is expected to operate. This is irrespective of ACS configuration.
  2745. * This list is a priority based one and is looked for before the AP is created
  2746. * to ensure the best concurrency sessions (avoid MCC and use DBS/SCC) co-exist
  2747. * in the system.
  2748. * @QCA_WLAN_VENDOR_ATTR_SAP_CONFIG_AFTER_LAST: after last
  2749. * @QCA_WLAN_VENDOR_ATTR_SAP_CONFIG_MAX: max attribute
  2750. */
  2751. enum qca_wlan_vendor_attr_sap_config {
  2752. QCA_WLAN_VENDOR_ATTR_SAP_CONFIG_INVALID = 0,
  2753. QCA_WLAN_VENDOR_ATTR_SAP_CONFIG_CHANNEL,
  2754. QCA_WLAN_VENDOR_ATTR_SAP_MANDATORY_FREQUENCY_LIST = 2,
  2755. /* keep last */
  2756. QCA_WLAN_VENDOR_ATTR_SAP_CONFIG_AFTER_LAST,
  2757. QCA_WLAN_VENDOR_ATTR_SAP_CONFIG_MAX =
  2758. QCA_WLAN_VENDOR_ATTR_SAP_CONFIG_AFTER_LAST - 1,
  2759. };
  2760. /**
  2761. * enum qca_wlan_vendor_attr_p2p_listen_offload - vendor sub commands index
  2762. * @QCA_WLAN_VENDOR_ATTR_P2P_LISTEN_OFFLOAD_INVALID: invalid value
  2763. * @QCA_WLAN_VENDOR_ATTR_P2P_LISTEN_OFFLOAD_CHANNEL:
  2764. * A 32-bit unsigned value; the P2P listen frequency (MHz); must be one
  2765. * of the social channels.
  2766. * @QCA_WLAN_VENDOR_ATTR_P2P_LISTEN_OFFLOAD_PERIOD: listen offload period
  2767. * A 32-bit unsigned value; the P2P listen offload period (ms).
  2768. * @QCA_WLAN_VENDOR_ATTR_P2P_LISTEN_OFFLOAD_INTERVAL:
  2769. * A 32-bit unsigned value; the P2P listen interval duration (ms).
  2770. * @QCA_WLAN_VENDOR_ATTR_P2P_LISTEN_OFFLOAD_COUNT:
  2771. * A 32-bit unsigned value; number of interval times the Firmware needs
  2772. * to run the offloaded P2P listen operation before it stops.
  2773. * @QCA_WLAN_VENDOR_ATTR_P2P_LISTEN_OFFLOAD_DEVICE_TYPES: device types
  2774. * An array of unsigned 8-bit characters; vendor information elements.
  2775. * @QCA_WLAN_VENDOR_ATTR_P2P_LISTEN_OFFLOAD_VENDOR_IE: vendor IEs
  2776. * @QCA_WLAN_VENDOR_ATTR_P2P_LISTEN_OFFLOAD_CTRL_FLAG: control flag for FW
  2777. * A 32-bit unsigned value; a control flag to indicate whether listen
  2778. * results need to be flushed to wpa_supplicant.
  2779. * @QCA_WLAN_VENDOR_ATTR_P2P_LISTEN_OFFLOAD_STOP_REASON: offload stop reason
  2780. * A 8-bit unsigned value; reason code for P2P listen offload stop
  2781. * event.
  2782. * @QCA_WLAN_VENDOR_ATTR_P2P_LISTEN_OFFLOAD_AFTER_LAST: last value
  2783. * @QCA_WLAN_VENDOR_ATTR_P2P_LISTEN_OFFLOAD_MAX: max value
  2784. */
  2785. enum qca_wlan_vendor_attr_p2p_listen_offload {
  2786. QCA_WLAN_VENDOR_ATTR_P2P_LISTEN_OFFLOAD_INVALID = 0,
  2787. QCA_WLAN_VENDOR_ATTR_P2P_LISTEN_OFFLOAD_CHANNEL,
  2788. QCA_WLAN_VENDOR_ATTR_P2P_LISTEN_OFFLOAD_PERIOD,
  2789. QCA_WLAN_VENDOR_ATTR_P2P_LISTEN_OFFLOAD_INTERVAL,
  2790. QCA_WLAN_VENDOR_ATTR_P2P_LISTEN_OFFLOAD_COUNT,
  2791. QCA_WLAN_VENDOR_ATTR_P2P_LISTEN_OFFLOAD_DEVICE_TYPES,
  2792. QCA_WLAN_VENDOR_ATTR_P2P_LISTEN_OFFLOAD_VENDOR_IE,
  2793. QCA_WLAN_VENDOR_ATTR_P2P_LISTEN_OFFLOAD_CTRL_FLAG,
  2794. QCA_WLAN_VENDOR_ATTR_P2P_LISTEN_OFFLOAD_STOP_REASON,
  2795. /* keep last */
  2796. QCA_WLAN_VENDOR_ATTR_P2P_LISTEN_OFFLOAD_AFTER_LAST,
  2797. QCA_WLAN_VENDOR_ATTR_P2P_LISTEN_OFFLOAD_MAX =
  2798. QCA_WLAN_VENDOR_ATTR_P2P_LISTEN_OFFLOAD_AFTER_LAST - 1
  2799. };
  2800. /**
  2801. * enum qca_wlan_vendor_drv_info - WLAN driver info
  2802. * @QCA_WLAN_VENDOR_ATTR_DRV_INFO_INVALID: Invalid
  2803. * @QCA_WLAN_VENDOR_ATTR_DRV_INFO_BUS_SIZE: Maximum Message size info
  2804. * between Firmware & Host.
  2805. */
  2806. enum qca_wlan_vendor_drv_info {
  2807. QCA_WLAN_VENDOR_ATTR_DRV_INFO_INVALID = 0,
  2808. QCA_WLAN_VENDOR_ATTR_DRV_INFO_BUS_SIZE,
  2809. /* keep last */
  2810. QCA_WLAN_VENDOR_ATTR_DRV_INFO_AFTER_LAST,
  2811. QCA_WLAN_VENDOR_ATTR_DRV_INFO_MAX =
  2812. QCA_WLAN_VENDOR_ATTR_DRV_INFO_AFTER_LAST - 1,
  2813. };
  2814. /**
  2815. * enum qca_wlan_vendor_attr_encryption_test - Attributes to
  2816. * validate encryption engine
  2817. *
  2818. * @QCA_WLAN_VENDOR_ATTR_ENCRYPTION_TEST_NEEDS_DECRYPTION: Flag attribute.
  2819. * This will be included if the request is for decryption; if not included,
  2820. * the request is treated as a request for encryption by default.
  2821. * @QCA_WLAN_VENDOR_ATTR_ENCRYPTION_TEST_CIPHER: Unsigned 32-bit value
  2822. * indicating the key cipher suite. Takes same values as
  2823. * NL80211_ATTR_KEY_CIPHER.
  2824. * @QCA_WLAN_VENDOR_ATTR_ENCRYPTION_TEST_KEYID: Unsigned 8-bit value
  2825. * Key Id to be used for encryption
  2826. * @QCA_WLAN_VENDOR_ATTR_ENCRYPTION_TEST_TK: Array of 8-bit values.
  2827. * Key (TK) to be used for encryption/decryption
  2828. * @QCA_WLAN_VENDOR_ATTR_ENCRYPTION_TEST_PN: Array of 8-bit values.
  2829. * Packet number to be specified for encryption/decryption
  2830. * 6 bytes for TKIP/CCMP/GCMP.
  2831. * @QCA_WLAN_VENDOR_ATTR_ENCRYPTION_TEST_DATA: Array of 8-bit values
  2832. * representing the 802.11 packet (header + payload + FCS) that
  2833. * needs to be encrypted/decrypted.
  2834. * Encrypted/decrypted response from the driver will also be sent
  2835. * to userspace with the same attribute.
  2836. */
  2837. enum qca_wlan_vendor_attr_encryption_test {
  2838. QCA_WLAN_VENDOR_ATTR_ENCRYPTION_TEST_INVALID = 0,
  2839. QCA_WLAN_VENDOR_ATTR_ENCRYPTION_TEST_NEEDS_DECRYPTION,
  2840. QCA_WLAN_VENDOR_ATTR_ENCRYPTION_TEST_CIPHER,
  2841. QCA_WLAN_VENDOR_ATTR_ENCRYPTION_TEST_KEYID,
  2842. QCA_WLAN_VENDOR_ATTR_ENCRYPTION_TEST_TK,
  2843. QCA_WLAN_VENDOR_ATTR_ENCRYPTION_TEST_PN,
  2844. QCA_WLAN_VENDOR_ATTR_ENCRYPTION_TEST_DATA,
  2845. /* keep last */
  2846. QCA_WLAN_VENDOR_ATTR_ENCRYPTION_TEST_AFTER_LAST,
  2847. QCA_WLAN_VENDOR_ATTR_ENCRYPTION_TEST_MAX =
  2848. QCA_WLAN_VENDOR_ATTR_ENCRYPTION_TEST_AFTER_LAST - 1
  2849. };
  2850. /**
  2851. * enum qca_wlan_vendor_attr_tdls_configuration - Attributes for
  2852. * @QCA_NL80211_VENDOR_SUBCMD_CONFIGURE_TDLS configuration to the host driver.
  2853. *
  2854. * @QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_TRIGGER_MODE: Configure the TDLS trigger
  2855. * mode in the host driver. enum qca_wlan_vendor_tdls_trigger_mode
  2856. * represents the different TDLS trigger modes.
  2857. * @QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_TX_STATS_PERIOD: Duration (u32) within
  2858. * which QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_TX_THRESHOLD number
  2859. * of packets shall meet the criteria for implicit TDLS setup.
  2860. * @QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_TX_THRESHOLD: Number (u32) of Tx/Rx
  2861. * packets within a duration.
  2862. * QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_TX_STATS_PERIOD to initiate
  2863. * a TDLS setup.
  2864. * @QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_DISCOVERY_PERIOD: Time (u32) to inititate
  2865. * a TDLS Discovery to the Peer.
  2866. * @QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_MAX_DISCOVERY_ATTEMPT: Max number (u32) of
  2867. * discovery attempts to know the TDLS capability of the peer. A peer is
  2868. * marked as TDLS not capable if there is no response for all the attempts.
  2869. * @QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_IDLE_TIMEOUT: Represents a duration (u32)
  2870. * within which QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_IDLE_PACKET_THRESHOLD
  2871. * number of TX / RX frames meet the criteria for TDLS teardown.
  2872. * @QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_IDLE_PACKET_THRESHOLD: Minumum number
  2873. * (u32) of Tx/Rx packets within a duration
  2874. * CA_WLAN_VENDOR_ATTR_TDLS_CONFIG_IDLE_TIMEOUT to tear down a TDLS link
  2875. * @QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_SETUP_RSSI_THRESHOLD: Threshold
  2876. * corresponding to the RSSI of the peer below which a TDLS
  2877. * setup is triggered.
  2878. * @QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_TEARDOWN_RSSI_THRESHOLD: Threshold
  2879. * corresponding to the RSSI of the peer above which
  2880. * a TDLS teardown is triggered.
  2881. */
  2882. enum qca_wlan_vendor_attr_tdls_configuration {
  2883. QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_INVALID = 0,
  2884. QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_TRIGGER_MODE = 1,
  2885. /* Attributes configuring the TDLS Implicit Trigger */
  2886. QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_TX_STATS_PERIOD = 2,
  2887. QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_TX_THRESHOLD = 3,
  2888. QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_DISCOVERY_PERIOD = 4,
  2889. QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_MAX_DISCOVERY_ATTEMPT = 5,
  2890. QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_IDLE_TIMEOUT = 6,
  2891. QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_IDLE_PACKET_THRESHOLD = 7,
  2892. QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_SETUP_RSSI_THRESHOLD = 8,
  2893. QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_TEARDOWN_RSSI_THRESHOLD = 9,
  2894. /* keep last */
  2895. QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_AFTER_LAST,
  2896. QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_MAX =
  2897. QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_AFTER_LAST - 1
  2898. };
  2899. /**
  2900. * enum qca_wlan_vendor_tdls_trigger_mode: Represents the TDLS trigger mode in
  2901. * the driver.
  2902. *
  2903. * The following are the different values for
  2904. * QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_TRIGGER_MODE.
  2905. *
  2906. * @QCA_WLAN_VENDOR_TDLS_TRIGGER_MODE_EXPLICIT: The trigger to
  2907. * initiate/teardown the TDLS connection to a respective peer comes
  2908. * from the user space. wpa_supplicant provides the commands
  2909. * TDLS_SETUP, TDLS_TEARDOWN, TDLS_DISCOVER to do this.
  2910. * @QCA_WLAN_VENDOR_TDLS_TRIGGER_MODE_IMPLICIT: Host driver triggers this TDLS
  2911. * setup/teardown to the eligible peer once the configured criteria
  2912. * (such as TX/RX threshold, RSSI) is met. The attributes
  2913. * in QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_IMPLICIT_PARAMS correspond to
  2914. * the different configuration criteria for the TDLS trigger from the
  2915. * host driver.
  2916. * @QCA_WLAN_VENDOR_TDLS_TRIGGER_MODE_EXTERNAL: Enables the driver to trigger
  2917. * the TDLS setup / teardown through the implicit mode, only to the
  2918. * configured MAC addresses(wpa_supplicant, with tdls_external_control = 1,
  2919. * configures the MAC address through TDLS_SETUP/TDLS_TEARDOWN commands).
  2920. * External mode works on top of the implicit mode, thus the host Driver
  2921. * is expected to be configured in TDLS Implicit mode too to operate in
  2922. * External mode. Configuring External mode alone without Implicit
  2923. * mode is invalid.
  2924. *
  2925. * All the above implementations work as expected only when the host driver
  2926. * advertises the capability WPA_DRIVER_FLAGS_TDLS_EXTERNAL_SETUP -
  2927. * representing that the TDLS message exchange is not internal to the host
  2928. * driver, but depends on wpa_supplicant to do the message exchange.
  2929. */
  2930. enum qca_wlan_vendor_tdls_trigger_mode {
  2931. QCA_WLAN_VENDOR_TDLS_TRIGGER_MODE_EXPLICIT = 1 << 0,
  2932. QCA_WLAN_VENDOR_TDLS_TRIGGER_MODE_IMPLICIT = 1 << 1,
  2933. QCA_WLAN_VENDOR_TDLS_TRIGGER_MODE_EXTERNAL = 1 << 2,
  2934. };
  2935. /**
  2936. * enum qca_vendor_attr_sar_limits_selections - Source of SAR power limits
  2937. * @QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SELECT_BDF0: Select SAR profile #0
  2938. * that is hard-coded in the Board Data File (BDF).
  2939. * @QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SELECT_BDF1: Select SAR profile #1
  2940. * that is hard-coded in the Board Data File (BDF).
  2941. * @QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SELECT_BDF2: Select SAR profile #2
  2942. * that is hard-coded in the Board Data File (BDF).
  2943. * @QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SELECT_BDF3: Select SAR profile #3
  2944. * that is hard-coded in the Board Data File (BDF).
  2945. * @QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SELECT_BDF4: Select SAR profile #4
  2946. * that is hard-coded in the Board Data File (BDF).
  2947. * @QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SELECT_NONE: Do not select any
  2948. * source of SAR power limits, thereby disabling the SAR power
  2949. * limit feature.
  2950. * @QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SELECT_USER: Select the SAR power
  2951. * limits configured by %QCA_NL80211_VENDOR_SUBCMD_SET_SAR.
  2952. *
  2953. * This enumerates the valid set of values that may be supplied for
  2954. * attribute %QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SELECT in an instance of
  2955. * the %QCA_NL80211_VENDOR_SUBCMD_SET_SAR_LIMITS vendor command.
  2956. */
  2957. enum qca_vendor_attr_sar_limits_selections {
  2958. QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SELECT_BDF0 = 0,
  2959. QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SELECT_BDF1 = 1,
  2960. QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SELECT_BDF2 = 2,
  2961. QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SELECT_BDF3 = 3,
  2962. QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SELECT_BDF4 = 4,
  2963. QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SELECT_NONE = 5,
  2964. QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SELECT_USER = 6,
  2965. };
  2966. /**
  2967. * enum qca_vendor_attr_sar_limits_spec_modulations -
  2968. * SAR limits specification modulation
  2969. * @QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SPEC_MODULATION_CCK -
  2970. * CCK modulation
  2971. * @QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SPEC_MODULATION_OFDM -
  2972. * OFDM modulation
  2973. *
  2974. * This enumerates the valid set of values that may be supplied for
  2975. * attribute %QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SPEC_MODULATION in an
  2976. * instance of attribute %QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SPEC in an
  2977. * instance of the %QCA_NL80211_VENDOR_SUBCMD_SET_SAR_LIMITS vendor
  2978. * command.
  2979. */
  2980. enum qca_vendor_attr_sar_limits_spec_modulations {
  2981. QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SPEC_MODULATION_CCK = 0,
  2982. QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SPEC_MODULATION_OFDM = 1,
  2983. };
  2984. /**
  2985. * enum qca_vendor_attr_sar_limits - Attributes for SAR power limits
  2986. *
  2987. * @QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SAR_ENABLE: Optional (u32) value to
  2988. * select which SAR power limit table should be used. Valid
  2989. * values are enumerated in enum
  2990. * %qca_vendor_attr_sar_limits_selections. The existing SAR
  2991. * power limit selection is unchanged if this attribute is not
  2992. * present.
  2993. *
  2994. * @QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_NUM_SPECS: Optional (u32) value
  2995. * which specifies the number of SAR power limit specifications
  2996. * which will follow.
  2997. *
  2998. * @QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SPEC: Nested array of SAR power
  2999. * limit specifications. The number of specifications is
  3000. * specified by @QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_NUM_SPECS. Each
  3001. * specification contains a set of
  3002. * QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SPEC_* attributes. A
  3003. * specification is uniquely identified by the attributes
  3004. * %QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SPEC_BAND,
  3005. * %QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SPEC_CHAIN, and
  3006. * %QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SPEC_MODULATION and always
  3007. * contains as a payload the attribute
  3008. * %QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SPEC_POWER_LIMIT.
  3009. *
  3010. * @QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SPEC_BAND: Optional (u32) value to
  3011. * indicate for which band this specification applies. Valid
  3012. * values are enumerated in enum %nl80211_band (although not all
  3013. * bands may be supported by a given device). If the attribute is
  3014. * not supplied then the specification will be applied to all
  3015. * supported bands.
  3016. *
  3017. * @QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SPEC_CHAIN: Optional (u32) value
  3018. * to indicate for which antenna chain this specification
  3019. * applies, i.e. 1 for chain 1, 2 for chain 2, etc. If the
  3020. * attribute is not supplied then the specification will be
  3021. * applied to all chains.
  3022. *
  3023. * @QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SPEC_MODULATION: Optional (u32)
  3024. * value to indicate for which modulation scheme this
  3025. * specification applies. Valid values are enumerated in enum
  3026. * %qca_vendor_attr_sar_limits_spec_modulations. If the attribute
  3027. * is not supplied then the specification will be applied to all
  3028. * modulation schemes.
  3029. *
  3030. * @QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SPEC_POWER_LIMIT: Required (u32)
  3031. * value to specify the actual power limit value in steps of 0.5
  3032. * dbm.
  3033. *
  3034. * These attributes are used with %QCA_NL80211_VENDOR_SUBCMD_SET_SAR_LIMITS.
  3035. */
  3036. enum qca_vendor_attr_sar_limits {
  3037. QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_INVALID = 0,
  3038. QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SAR_ENABLE = 1,
  3039. QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_NUM_SPECS = 2,
  3040. QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SPEC = 3,
  3041. QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SPEC_BAND = 4,
  3042. QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SPEC_CHAIN = 5,
  3043. QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SPEC_MODULATION = 6,
  3044. QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SPEC_POWER_LIMIT = 7,
  3045. QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_AFTER_LAST,
  3046. QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_MAX =
  3047. QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_AFTER_LAST - 1
  3048. };
  3049. /**
  3050. * qca_wlan_vendor_attr_external_acs_channels: attribute to vendor subcmd
  3051. * QCA_NL80211_VENDOR_SUBCMD_EXTERNAL_ACS. This carry a list of channels
  3052. * in priority order as decided after acs operation in userspace.
  3053. * @QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_CHANNEL_REASON: One of reason code from
  3054. * qca_wlan_vendor_acs_select_reason.
  3055. * @QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_CHANNEL_COUNT: Number of channels in
  3056. * this list
  3057. * @QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_CHANNEL_LIST: Array of nested values
  3058. * for each channel with following attributes:
  3059. * QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_CHANNEL_PRIMARY,
  3060. * QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_CHANNEL_SECONDARY,
  3061. * QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_CHANNEL_CENTER_SEG0,
  3062. * QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_CHANNEL_CENTER_SEG1,
  3063. * QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_CHANNEL_WIDTH
  3064. * @QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_CHANNEL_PRIMARY: Primary channel (u8)
  3065. * @QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_CHANNEL_SECONDARY: Secondary channel (u8)
  3066. * required only for 160 / 80 + 80
  3067. * @QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_CHANNEL_CENTER_SEG0: VHT seg0 channel (u8)
  3068. * @QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_CHANNEL_CENTER_SEG1: VHT seg1 channel (u8)
  3069. * QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_CHANNEL_WIDTH:channel width (u8)
  3070. */
  3071. enum qca_wlan_vendor_attr_external_acs_channels {
  3072. QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_CHANNEL_INVALID = 0,
  3073. QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_CHANNEL_REASON = 1,
  3074. QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_CHANNEL_COUNT = 2,
  3075. QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_CHANNEL_LIST = 3,
  3076. QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_CHANNEL_PRIMARY = 4,
  3077. QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_CHANNEL_SECONDARY = 5,
  3078. QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_CHANNEL_CENTER_SEG0 = 6,
  3079. QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_CHANNEL_CENTER_SEG1 = 7,
  3080. QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_CHANNEL_WIDTH = 8,
  3081. /* keep last */
  3082. QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_CHANNEL_LAST,
  3083. QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_CHANNEL_MAX =
  3084. QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_CHANNEL_LAST - 1
  3085. };
  3086. /**
  3087. * qca_wlan_vendor_acs_select_reason: This represents the different reasons why
  3088. * the ACS has to be triggered. These parameters are used by
  3089. * QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_REASON and
  3090. * QCA_NL80211_VENDOR_SUBCMD_ACS_SET_CHANNELS
  3091. * @QCA_WLAN_VENDOR_ACS_SELECT_REASON_INIT: Represents the reason that the
  3092. * ACS triggered during the AP start
  3093. * @QCA_WLAN_VENDOR_ACS_SELECT_REASON_DFS: Represents the reason that
  3094. * DFS found with current channel
  3095. * @QCA_WLAN_VENDOR_ACS_SELECT_REASON_LTE_COEX: Represents the reason that
  3096. * LTE CO-Exist in current band
  3097. */
  3098. enum qca_wlan_vendor_acs_select_reason {
  3099. QCA_WLAN_VENDOR_ACS_SELECT_REASON_INIT,
  3100. QCA_WLAN_VENDOR_ACS_SELECT_REASON_DFS,
  3101. QCA_WLAN_VENDOR_ACS_SELECT_REASON_LTE_COEX,
  3102. };
  3103. #if !(defined (SUPPORT_WDEV_CFG80211_VENDOR_EVENT_ALLOC)) && \
  3104. (LINUX_VERSION_CODE < KERNEL_VERSION(4, 1, 0)) && \
  3105. !(defined(WITH_BACKPORTS))
  3106. static inline struct sk_buff *
  3107. backported_cfg80211_vendor_event_alloc(struct wiphy *wiphy,
  3108. struct wireless_dev *wdev,
  3109. int approxlen,
  3110. int event_idx, gfp_t gfp)
  3111. {
  3112. struct sk_buff *skb;
  3113. skb = cfg80211_vendor_event_alloc(wiphy, approxlen, event_idx, gfp);
  3114. if (skb && wdev) {
  3115. struct nlattr *attr;
  3116. u32 ifindex = wdev->netdev->ifindex;
  3117. nla_nest_cancel(skb, ((void **)skb->cb)[2]);
  3118. if (nla_put_u32(skb, NL80211_ATTR_IFINDEX, ifindex))
  3119. goto nla_fail;
  3120. attr = nla_nest_start(skb, NL80211_ATTR_VENDOR_DATA);
  3121. ((void **)skb->cb)[2] = attr;
  3122. }
  3123. return skb;
  3124. nla_fail:
  3125. kfree_skb(skb);
  3126. return NULL;
  3127. }
  3128. #define cfg80211_vendor_event_alloc backported_cfg80211_vendor_event_alloc
  3129. #endif
  3130. #endif