ELF@@%"%_%  66 T  zR| (,D-DD T DD-HDPD-D`X `   `XD-D (D-DD D DD-L<D-D\ `   \D-D < D-D@P @  P @PD-D 4LD-DPP 0 x PPD-D L@D-DPT P   PTD-D <D-D@P @   @PD-D 4D-D0L 0 X 0LD-D HTD-D`X `  8 `XD-D ,D-D H  t  HD-0(D-D H    HD-(pD-DD X DD-<0D-D@P @  T @PD-D 0ppD-D0L 0 H 0LD-4xD-D0L 0 P 0LD-HD-D`X `  `XD-8(D-D0L 0  0LD-D <dD-D@P @  0 @PD-D 4D-D0L 0 ` 0LD-D 4D-D0L 0 H 0LD-D <<D-D@P @   @PD-D <TD-D`T @   `TD-D 4LD-D0L 0 $ 0LD-|?#{og_WO@@RR@*?`Th@v!b#RB*`@67B!b#R*`@v7h@IRiA `@h*`@v5hA RR}`hBh hhAH4R*[r9@CTiA)%)6w@h@) R* JrH< Ai@H)IC<h@ ?Hh@ H* 7#<6@"h@h i@@(h@BR(RBzh@h@R![rh@b6(R!B B!B!!B*h@hAv*OEWD_CgBoA{ƨ#_֓F&Ch" R1)Rhhzij )hh&h@ )i )h:i )h*`@5B!*4`@!!!!!*h" }_)v } Ȫ5JP?#{{#_֎1?#{og_WOA8 ChrDq)%T`AhnBifBj"vvB  TA ifBhnBjDaA(K aA R`AhnBifBvvB  TA TT Ҡ H #hDirBjnBkDlvB)K ? )1 1irhv:vvBT:@9>@9?qT?q!T qT 9R@@%@@@ VA qT@44@@TH˩A@A I  1:.@9 qTAqT*@I q(T 9R@ے@x%@@A VA qa T@44@@TѹHA@A I  1:.@9 qT#V9?q@TAqhR"@9 @ (KUqT#V9@qT>@9qT#**@9@y@IA * KUqmT V(xHC_rrk@TE0? W_orߡrk@TE0?֠@ @?aT @K@TH 6qBT )"yhA!@2A!@A!@)A)@@$A!@hRf!J!{!R"R`A8 C_ TOGWF_EgDoC{B#_`iAhrD @qTB )"yh!@*!!0?#{_WO@*`bR*5Ԧ@)RAAV^A?qT&C?qaTJAC_k!T R!!o*5HRr**5AAR*R`jDqTDIR)r a*sDpD"mD2jADf*c*`*]*Z*W*TnBDD  ˈr>hRrDDDA(  K@"!RZ 5B!RV* 5" 5B*4A!*@"bR G*`b*OCWB_A{Ĩ#_ֈA!@A*!*@7A!BCR@A!B@A!A*!*@A!*@*A*!*@R5RAbB^BjB@5?#C{OA8* C@`bVA`R`VqTh:AhR*h R3@`RRAqaTRhAW@@#~~~~@4 4 N?`T @v@#*Il rv O?`T @~@#*Il z~@?@T @@#*Il @B?@T @@#*Il @?@T @@#*Il @# T AUJy A@ aT#@``VhG97h2N97trD`R`hr`qTaAHR@R*h`RhAabBb^BcjB@~zvrnjfb^hAabBb^BcjB@~zvrnjfb^``r`bA8 C_ !TOD@{BC#_hA!B*@hA!@0hA!BCR@!?UL< B)bH$)_ kT?kJTk T*_?k*TkjT R_5?#{ _WO@@4 4 O A_@T@~@Kjz~(@ @T@TZ@(4`T*Z TAJJ ɚJQ_qT@A  K ? )1:*'@ %Z@9CT@AAJ k kJ ɚk ɚJ JQ_qTA@@AA@(  KEOD @WC_B{Ũ#_!Ԡ@*j+?#{_WO @iQ*? qHA@_!9bT_qT@JR@9q$ZJ qC TjA( ʚQ_k T R"R@bBA_ q T_qTqTh@)R r @9j4 @9J @9j3 @9j3 @9j3 @9j3 @9j3~) @J- @j 3+@.)*R @9R*kkS @9 3 @3 R}) @k]5)+ @q+)# q)H @R rWj@lAkA) J H) ˚ ˚( Q_kT!mh@*R r @94 @9 @9)! * @9)A * @9i3 @9i3K@~) @y)-.))R @qAT Q@9R)-R)q @9k! * @9ki * R}) @k]5)M Q@9q @ q`TQ@97R) @@) mj] @R r -) * RR( @@Km]K%) @jb  )`Vbav@T?T*@_!Thv (` OCWB_A{Ĩ#_@!*!!?#{ O(@H5 @@R`b"@T@a@*`OB @{è#_ R0?#{og_WO@*bhBA* qATu:A qHRkmT9RqiRR*8˛Rq SS[9qZ#TkmT9RR!aR 5*59qs"Tk T9RqiRR5!C@5qs"!T**b*OEWD_CgBoA{ƨ#_ֈA!A!A!@***@*0?#{O@*brD*q`T"C*5B?*`5CRrb*OA{¨#_0?#{O@*brD* qTCBA R@(R*`3ZR`ZA qT C RA(R*`3KR"C q!ThRr*A!B*@A!@b*OA{¨#_֬?#{@(@_qmT @qT A*4 @ AaRBA_`Tl%l6 @ AQ4im k@T @.4 !@ kT DRBA_Tl%l6 @ !@5im57 R 9RJ0j(KY@5IE@@!HI@!@!@!*@DEA!{#_?#{ WOQ9**7hAaCB@R`7qRUr!Tj@hEr RvA: y) *t3nh@wA: } R3h@vA: s2h@vA: Aj2h@vA: Qa2zh@vA: X 2qh@vA: aO 2hh@vA: F*_h@vA: =*Vh@vA:  4*Mh@vA:  +*Dh@vA: "2;h@: uA*2t*(Rh9OC @WB{Ĩ#_hAbC*!*@*?#{ O BRu@*cR*OB @{è#_?#{WO* *cRvcROBWA{è#_ ?#{og_WO6@ hrDq)Th@RiAXr; ; RR*;R * *7U777 4|h@ES hA hAC* q ThA* z6aA R!R*Mh"1h7`zU6hAyhA`AthE \S`)qhjzU6h@; hAC ehA* |*6`@\hE \SqqhZ`T`6`APhE \Sqqh"`T`z55h@iA; @* 5)hA*@i"1(}_ @* ȫ5;6iA JByh! @hA!*@h@; hAb hA 1` ROEWD_CgBoA{ƨ#_?#{WO(lSR5RR ZqI K RI J!*j("~HAbb@``~@i@*  }@JJ RI v.) ~Sj ``iBu9*:OBWA{è#_ֈAb@!@`?#{ WO@8A@6*a@RhRAqA ThAirAqa@S(32h@`Ah@`A!h@`A1h@`AbSiBA>Sj>A9 3A@@ 3qh!Ai"* Ai2* AiB* A R>*OC @WB{Ĩ#_֨A!B*@A!B@?#{ O@(R8A R*3a@kRhRA qThRhV*OB @{è#_֨A!B*@A!B@?#{ O@HR8A@R*`3@7R@RA qT*OB @{è#_֨A!B*@A!B@?#{_WO*_qTR:A*hb@ a* *q*hTRVRhb@S"@R*qT* TRqhb @TRA?kTjD?kT* (TA )"Ys!@*OCWB_A{Ĩ#_ ?#{WOA8* C*#@5h@h":u@AvBDnB) )K k! T`@4`4 N?`T @kv@#*Iil irhv O?`T @k~@#*Iil izh~i@h?@T @k@#*Il hhi@hB?@T @k@#*Il hhi@h?@T @k@#*Il hh`#*A8 C_ TOE@WD{B#_RDDA  ? 61 DnB) )K k T>@9j:A_ kT:9nB*qTA )*"Yu!@**!ԃ ?#{WOR@ATr: ` h@uA: 2xh@uA: 2th@RuA:  *xh@uA: lh@uA: alh@: tAxhAaC@9OBWA{è#_u߈50o?#{!{#_drivers/dma/qcom/../virt-dma.hdrivers/dma/qcom/../dmaengine.hqcom,sdm845-gpi-dmaqcom,sm6350-gpi-dmaqcom,sc7280-gpi-dmaqcom,sm8150-gpi-dmaqcom,sm8250-gpi-dmaqcom,sm8350-gpi-dmaqcom,sm8450-gpi-dma   !"  description=QCOM GPI DMA engine driverlicense=GPL v2name=gpiintree=Yscmversion=ga9c2663f637fdepends=alias=of:N*T*Cqcom,sdm845-gpi-dmaalias=of:N*T*Cqcom,sdm845-gpi-dmaC*alias=of:N*T*Cqcom,sm6350-gpi-dmaalias=of:N*T*Cqcom,sm6350-gpi-dmaC*alias=of:N*T*Cqcom,sc7280-gpi-dmaalias=of:N*T*Cqcom,sc7280-gpi-dmaC*alias=of:N*T*Cqcom,sm8150-gpi-dmaalias=of:N*T*Cqcom,sm8150-gpi-dmaC*alias=of:N*T*Cqcom,sm8250-gpi-dmaalias=of:N*T*Cqcom,sm8250-gpi-dmaC*alias=of:N*T*Cqcom,sm8350-gpi-dmaalias=of:N*T*Cqcom,sm8350-gpi-dmaC*alias=of:N*T*Cqcom,sm8450-gpi-dmaalias=of:N*T*Cqcom,sm8450-gpi-dmaC*vermagic=6.12.0-mainline-ga9c2663f637f-ab12743383-4k SMP preempt mod_unload modversions aarch64error request irq:%d ret:%d not enough space in ring, avail:%u required:%u gpii:%d chid:%d seid:%d already configured INVALIDskipping processing event because ch @ %s state gpi-dmaCH STARTerror resetting channel:%d of_dma_controller_reg failed ret:%dMulti sg sent, we support only one atm: %d ACTIVEinvalid error status:0x%x could not alloc size:%zu mem for ring gpii require minimum 2 args, client passed:%d args Error adding ring element to xfer ring not processing any events, pm_state:%s DISABLEError in Transaction &x->waitDE ALLOCmissing 'gpii-mask' DT node Error start chan:%d PAUSEEvent without a pending descriptor! CH STOP&gpii->pm_lockgpiUART SW STALEError alloc_channel ret:%d PREPARE HARDWAREEvent: %08x %08x %08x %08x receive interrupt while in %s state dma-channel-maskError allocating chan:%d &gpii->ctrl_lockdma-channelsCH ALLOCATEmissing 'max-no-gpii' DT node UART RFR READYgpii channel:%d not valid protocol did not match protocol %u != %u EV RESETPREPARE TERMINATEUART RFR NOT READYError resetting channel ret:%d error alloc_ev_chan:%d error with cmd:%s ret:%d invalid peripheral: %d async_device_register failed ret:%derror config. interrupts, ret:%d Error Starting Channel ret:%d Error setting dma_mask to 64, ret:%d CONFIGUnhandled interrupt status:0x%x cmd: %s completion timeout:%u Error starting chan, ret:%d EV ALLOCATEno available gpii instances CH_RESETEV DEALLOCError with cmd:%s ret:%d invalid dma direction: %d gpiOv __platform_driver_register֤devm_kmalloc橮devm_platform_get_and_ioremap_resourceEoVof_property_read_variable_u32_arraydevice_get_match_datadma_set_maskRplatform_get_irqvchan_initS+__mutex_init3a__rwlock_initZd#tasklet_init޴k__init_swait_queue_headm\alt_cb_patch_nops dma_async_device_registerfRof_dma_controller_registerV_dev_err zkfree< _raw_read_lock@P__list_del_entry_valid_or_report+_raw_spin_unlock_irqrestoreٖ_raw_spin_lock_irqsave{ debug_locksrBlock_is_held_type.q_raw_read_unlock__stack_chk_fail&{Hmutex_lock_nestede'_raw_write_lock_irq8k_raw_write_unlock_irqq}Kwait_for_completion_timeoutO>vchan_tx_desc_free*~__list_add_valid_or_reportqkrealloc_noprof~)Hmemcpyyu__fortify_panico<disable_irq enable_irqtdma_get_slave_channel4%devm_request_threaded_irq!rklog_read_mmio^ log_post_read_mmio+@log_write_mmio$__tasklet_hi_scheduleOWcomplete_all} 0dma_alloc_attrsdmemsetk _raw_spin_lockP؜_raw_spin_unlock4Ldevm_free_irqgOmodule_layoutLinuxLinuxGNU~k]kTGNU8Tp\t\   bXbXdhbXlbX|KKggggbxbxg g Lb Pb Xb \b dbhbpbtbbbbbbDbDb|b|bbbbuu, ,$(0dHdl $<D|yyd@d@dd$ d | y y d@ d@     \ l  l |  I I  < @ H \ ` l x 3| 3 o o  N N o o  6 6 1 1  1 1  I I$ d    Dhlt $Pp03438<HPT`l3p3tx $,<`\HhHl ,phh @t  0`<x33RR{ {$0x4x@DL\M`Mdb!b!   D b( H b( \ h bd l bd |  b b  b b @!!6!60"t"" #H#x#d@|#d@#######x$$$Q$Q%T%p&3t&3x&i|&i&&&&i&i&&' '@'3D'3H'L'X'`'d'h'l'x'''3'3((((( ($(0(d(dh(d(8)dp<)dpD)3H)3T))* ** *8+@+L++dp+dp+, , ,X-`` b, b` bt-b"b  b b $b (0b4<b@Hb,L@H PX/`h^pix#ob(PAndroid (12701618, +pgo, +bolt, +lto, +mlgo, based on r536225) clang version 19.0.1 (https://android.googlesource.com/toolchain/llvm-project b3a530ec6537146650e42be89f1089e9a3588460)cHbbXbxb Pb bbb bXb|bDbb4bxtb( b b!,b$hb %b&b'b<(Xbx)b(,|  !MZ]`} *  [6Pi  Xb8x< 00  GLx'D|{(pTtXt< x\( pM x5@0  c    Yx* \  6   $ %&'@<(<x)o(,L  ]   $M0   W  x|G@D*   ; ! qt-!!, "FpX  ,n  ;''V~5  6 6 A ? Hi wa j"$2"$ " $t <"& ^$"\$"$"0$S  T` Ty /F /F ,f.|Ri1iIjR+nM! %ubS?1Z8@.note.gnu.property.note.Linux.rela.init.text.rela.text.comment.init.plt.bss.rela.altinstructions__versions.rodata.str.modinfo.note.GNU-stack.llvm_addrsig.text.ftrace_trampoline.rela.init.eh_frame.rela.gnu.linkonce.this_module.rela__bug_table.note.gnu.build-id.shstrtab.strtab.symtab.rela.rodata.rela.init.data.rela.data.BTF.rodata.str1.1memcpyinit_completion.__keygpi_probe.__keyof_property_read_variable_u32_arraywait_for_completion_timeoutvchan_dma_desc_free_list__list_del_entry_valid_or_report__list_add_valid_or_report__mutex_inittasklet_initdma_async_tx_descriptor_initvchan_init__rwlock_init__kcfi_typeid_vchan_tx_submitmemsetgpi_ev_taskletdma_cookie_statusgpi_config_interruptsgpi_disable_interruptsdma_free_attrsdma_alloc_attrsalt_cb_patch_nops____versionsdebug_locks__start_alloc_tags__stop_alloc_tagskmalloc_cachesgpi_free_chan_resourcesgpi_alloc_chan_resourcesgpi_pm_state_strgpi_cmd_str_dev_errgpi_driver__platform_driver_registerof_dma_controller_registerdma_async_device_registerplatform_get_irq_raw_write_unlock_irq_raw_write_lock_irqgpi_handle_irqdisable_irqenable_irqdevm_free_irqdevm_request_threaded_irqlog_post_write_mmiolog_write_mmiolog_post_read_mmiolog_read_mmiogpi_cmd_infogpi_start_changpi_reset_changpi_stop_changpi_alloc_chantasklet_killcomplete_allgpi_terminate_all__stack_chk_faildma_get_slave_channeldma_set_maskmutex_unlock_raw_spin_unlock_raw_read_unlock_raw_spin_lock_raw_read_lockgpi_prep_slave_sggpi_alloc_ringgpi_issue_pendinggpi_peripheral_config__kmalloc_cache_noprofkrealloc_noprof_raw_spin_lock_irqsave_raw_read_lock_irqsavegpi_of_dma_xlategpi_pause_raw_spin_unlock_irqrestore_raw_read_unlock_irqrestorelock_is_held_typegpi_resumeinit_module__this_module__tasklet_hi_schedule__mod_of__gpi_of_match_device_tablekfree__kcfi_typeid_vchan_tx_desc_freegpi_desc_freedevm_platform_get_and_ioremap_resourcegpi_probegpi_send_cmdwritel_relaxedreadl_relaxedmutex_lock_nested__init_swait_queue_headdevm_kmalloc__fortify_panicdevice_get_match_data__UNIQUE_ID_alias549$x.49__UNIQUE_ID_alias539$x.39$x.29_note_19$x.19$d.9__UNIQUE_ID_alias548$d.48__UNIQUE_ID_alias538$d.38$d.28_note_18$d.18gpi_probe.__key.8$x.8$d.8$d.57__UNIQUE_ID_alias547$x.47__UNIQUE_ID_alias537$x.37$x.27$x.17$d.7$d.66__UNIQUE_ID_license756$d.56__UNIQUE_ID_alias546$d.46__UNIQUE_ID_alias536$d.36$d.26$d.16$x.6$d.65__UNIQUE_ID_description755$d.55__UNIQUE_ID_alias545$x.45__UNIQUE_ID_depends535$x.35$x.25$x.15$d.5__UNIQUE_ID___addressable_init_module754$d.54__UNIQUE_ID_alias544$d.44__UNIQUE_ID_scmversion534$d.34$d.24$d.14$x.4$d.53__UNIQUE_ID_alias543$x.43__UNIQUE_ID_intree533$x.33$x.23$x.13$d.3$d.52__UNIQUE_ID_alias542$d.42__UNIQUE_ID_name532__UNIQUE_ID_vermagic532$d.32$d.22$d.12$x.2$d.2$x.51__UNIQUE_ID_alias541$x.41$x.31$x.21$d.11$d.1$d.50__UNIQUE_ID_alias540$d.40$d.30$d.20$x.10   a% $@a%i%z%%%%%ԅ%%%%%4%E%Y% j% }% % %%%͆%%%%%'%5%B%P%]%n%{%%%%%LJ%އ%%% %%*%@% V%j%~%%% %$ψ%(%,%0%43%E%Z%m%y%"%0%1%Ɖ%׉%%% %!%2%9%@%K%R%\%e%҆ gzn@n%t%x%@n%  g% % %@ % 8 % % %@ &\ Ŋ% %͊%n%@Պ%.r@݊%%%%@%=*%@#3%u`#8#B%#J%%R%(E _@)a%,Z% ,m%u@,Պ% Bg݅@yrv%~%@%`%%% H%Cn@24*EW@zU#>k u %@%@Ƌ%Ћ%%%%Ћ%`y@&KXN`Kp%Kx%%K@hKD%NH&KXN`Kp%Kx%m +@hKX%N`Kp%Kx  "% gK1%K=%KL%KZ%K b%K(k%K0LK8y%@%`Ò}% gK%K%Kl K%K K(%K0y%N@}`D]Œ%u< '& rgg ,g$sǧ%  ތ%u% % Y- %><u%  ҆ g+%  %9%  iP% _% ;.w% [% ;. g &#g% % Y- gmg%  *gg\A 7&Zg tKɍ% ۍ% U n%a%% % Y- %n%a%%  n% % % )% Y-gpi_cmdGPI_CH_CMD_BEGINGPI_CH_CMD_ALLOCATEGPI_CH_CMD_STARTGPI_CH_CMD_STOPGPI_CH_CMD_RESETGPI_CH_CMD_DE_ALLOCGPI_CH_CMD_UART_SW_STALEGPI_CH_CMD_UART_RFR_READYGPI_CH_CMD_UART_RFR_NOT_READYGPI_CH_CMD_ENDGPI_EV_CMD_BEGINGPI_EV_CMD_ALLOCATEGPI_EV_CMD_RESETGPI_EV_CMD_DEALLOCGPI_EV_CMD_ENDGPI_MAX_CMDgpi_ch_stateDEFAULT_CH_STATECH_STATE_NOT_ALLOCATEDCH_STATE_ALLOCATEDCH_STATE_STARTEDCH_STATE_STOPPEDCH_STATE_STOP_IN_PROCCH_STATE_ERRORMAX_CH_STATESgpi_pm_stateDISABLE_STATECONFIG_STATEPREPARE_HARDWAREACTIVE_STATEPREPARE_TERMINATEPAUSE_STATEMAX_PM_STATEgpi_ev_stateDEFAULT_EV_CH_STATEEV_STATE_NOT_ALLOCATEDEV_STATE_ALLOCATEDMAX_EV_STATESCNTXT_OFFSCNTXT_0_CONFIGCNTXT_1_R_LENGTHCNTXT_2_RING_BASE_LSBCNTXT_3_RING_BASE_MSBCNTXT_4_RING_RP_LSBCNTXT_5_RING_RP_MSBCNTXT_6_RING_WP_LSBCNTXT_7_RING_WP_MSBCNTXT_8_RING_INT_MODCNTXT_9_RING_INTVECCNTXT_10_RING_MSI_LSBCNTXT_11_RING_MSI_MSBCNTXT_12_RING_RP_UPDATE_LSBCNTXT_13_RING_RP_UPDATE_MSBgpii_irq_settingsDEFAULT_IRQ_SETTINGSMASK_IEOB_SETTINGSGPI_EV_TYPEXFER_COMPLETE_EV_TYPEIMMEDIATE_DATA_EV_TYPEQUP_NOTIF_EV_TYPESTALE_EV_TYPEmsm_gpi_tce_codeMSM_GPI_TCE_SUCCESSMSM_GPI_TCE_EOTMSM_GPI_TCE_EOBMSM_GPI_TCE_UNEXP_ERRspi_transfer_cmdSPI_TXSPI_RXSPI_DUPLEXi2c_opI2C_WRITEI2C_READgpi_descgchantrenum_trechidseidgpiich_statech_cntxt_base_regch_cntxt_db_regch_cmd_regch_ringgpii_idgpi_devev_cntxt_base_regev_cntxt_db_regev_ring_rp_lsb_regev_cmd_regieob_clr_regev_stateconfigured_irqpm_lockev_ringev_taskcntxt_type_irq_mskieob_setee_basemax_gpiigpii_maskev_factorgpiisgpi_ringpre_alignedgpi_tregpi_eregpi_eventxfer_compl_eventimmediate_data_eventqup_notif_eventdata_bytestre_indexresvd1gpi_spi_configloopback_enclock_pol_highdata_pol_highpack_enword_lenfragmentationclk_divclk_srcgpi_i2c_configpack_enablecycle_countlow_countstretchmulti_msgdma_cookie_statussend_alloc_cmdgpi_alloc_changpi_alloc_chan_resourcesgpi_config_interruptsgpi_desc_freegpi_disable_interruptsgpi_ev_taskletgpi_free_chan_resourcesgpi_handle_irqgpi_issue_pendinggpi_of_dma_xlategpi_pausegpi_peripheral_configgpi_prep_slave_sggpi_probegpi_reset_changpi_resumegpi_send_cmdgpi_start_changpi_stop_changpi_terminate_allX@$hTRID5`x-0@xZ"!%40 @}x! S@}!@~P!t25?5H5L0@h!B<=@!<]2T?M@H!N8E0;0`@X!Lop6@E@@!iKZ00Z$XZ (P#l |B X