.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global btu_hcif_process_event btu_hcif_process_event: /* 802CD87C 002C94DC 94 21 FF C0 */ stwu r1, -0x40(r1) /* 802CD880 002C94E0 7C 08 02 A6 */ mflr r0 /* 802CD884 002C94E4 3C 80 80 57 */ lis r4, lbl_80568B78@ha /* 802CD888 002C94E8 90 01 00 44 */ stw r0, 0x44(r1) /* 802CD88C 002C94EC 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l /* 802CD890 002C94F0 93 E1 00 3C */ stw r31, 0x3c(r1) /* 802CD894 002C94F4 93 C1 00 38 */ stw r30, 0x38(r1) /* 802CD898 002C94F8 93 A1 00 34 */ stw r29, 0x34(r1) /* 802CD89C 002C94FC 93 81 00 30 */ stw r28, 0x30(r1) /* 802CD8A0 002C9500 A0 A3 00 04 */ lhz r5, 4(r3) /* 802CD8A4 002C9504 88 04 06 4E */ lbz r0, 0x64e(r4) /* 802CD8A8 002C9508 7C E3 2A 14 */ add r7, r3, r5 /* 802CD8AC 002C950C 2C 00 00 00 */ cmpwi r0, 0 /* 802CD8B0 002C9510 88 67 00 08 */ lbz r3, 8(r7) /* 802CD8B4 002C9514 88 87 00 09 */ lbz r4, 9(r7) /* 802CD8B8 002C9518 40 82 00 14 */ bne lbl_802CD8CC /* 802CD8BC 002C951C 28 03 00 0E */ cmplwi r3, 0xe /* 802CD8C0 002C9520 41 82 00 0C */ beq lbl_802CD8CC /* 802CD8C4 002C9524 28 03 00 0F */ cmplwi r3, 0xf /* 802CD8C8 002C9528 40 82 05 4C */ bne lbl_802CDE14 lbl_802CD8CC: /* 802CD8CC 002C952C 2C 03 00 14 */ cmpwi r3, 0x14 /* 802CD8D0 002C9530 41 82 03 60 */ beq lbl_802CDC30 /* 802CD8D4 002C9534 40 80 00 94 */ bge lbl_802CD968 /* 802CD8D8 002C9538 2C 03 00 0A */ cmpwi r3, 0xa /* 802CD8DC 002C953C 41 82 02 60 */ beq lbl_802CDB3C /* 802CD8E0 002C9540 40 80 00 4C */ bge lbl_802CD92C /* 802CD8E4 002C9544 2C 03 00 05 */ cmpwi r3, 5 /* 802CD8E8 002C9548 41 82 01 48 */ beq lbl_802CDA30 /* 802CD8EC 002C954C 40 80 00 28 */ bge lbl_802CD914 /* 802CD8F0 002C9550 2C 03 00 02 */ cmpwi r3, 2 /* 802CD8F4 002C9554 41 82 01 04 */ beq lbl_802CD9F8 /* 802CD8F8 002C9558 40 80 00 10 */ bge lbl_802CD908 /* 802CD8FC 002C955C 2C 03 00 01 */ cmpwi r3, 1 /* 802CD900 002C9560 40 80 00 EC */ bge lbl_802CD9EC /* 802CD904 002C9564 48 00 05 10 */ b lbl_802CDE14 lbl_802CD908: /* 802CD908 002C9568 2C 03 00 04 */ cmpwi r3, 4 /* 802CD90C 002C956C 40 80 01 18 */ bge lbl_802CDA24 /* 802CD910 002C9570 48 00 01 08 */ b lbl_802CDA18 lbl_802CD914: /* 802CD914 002C9574 2C 03 00 08 */ cmpwi r3, 8 /* 802CD918 002C9578 41 82 01 E4 */ beq lbl_802CDAFC /* 802CD91C 002C957C 40 80 04 F8 */ bge lbl_802CDE14 /* 802CD920 002C9580 2C 03 00 07 */ cmpwi r3, 7 /* 802CD924 002C9584 40 80 01 74 */ bge lbl_802CDA98 /* 802CD928 002C9588 48 00 01 50 */ b lbl_802CDA78 lbl_802CD92C: /* 802CD92C 002C958C 2C 03 00 0F */ cmpwi r3, 0xf /* 802CD930 002C9590 41 82 02 60 */ beq lbl_802CDB90 /* 802CD934 002C9594 40 80 00 1C */ bge lbl_802CD950 /* 802CD938 002C9598 2C 03 00 0D */ cmpwi r3, 0xd /* 802CD93C 002C959C 41 82 02 3C */ beq lbl_802CDB78 /* 802CD940 002C95A0 40 80 02 44 */ bge lbl_802CDB84 /* 802CD944 002C95A4 2C 03 00 0C */ cmpwi r3, 0xc /* 802CD948 002C95A8 40 80 02 24 */ bge lbl_802CDB6C /* 802CD94C 002C95AC 48 00 02 14 */ b lbl_802CDB60 lbl_802CD950: /* 802CD950 002C95B0 2C 03 00 12 */ cmpwi r3, 0x12 /* 802CD954 002C95B4 41 82 02 70 */ beq lbl_802CDBC4 /* 802CD958 002C95B8 40 80 02 CC */ bge lbl_802CDC24 /* 802CD95C 002C95BC 2C 03 00 11 */ cmpwi r3, 0x11 /* 802CD960 002C95C0 40 80 04 B4 */ bge lbl_802CDE14 /* 802CD964 002C95C4 48 00 02 38 */ b lbl_802CDB9C lbl_802CD968: /* 802CD968 002C95C8 2C 03 00 21 */ cmpwi r3, 0x21 /* 802CD96C 002C95CC 41 82 04 A8 */ beq lbl_802CDE14 /* 802CD970 002C95D0 40 80 00 40 */ bge lbl_802CD9B0 /* 802CD974 002C95D4 2C 03 00 1C */ cmpwi r3, 0x1c /* 802CD978 002C95D8 41 82 03 CC */ beq lbl_802CDD44 /* 802CD97C 002C95DC 40 80 00 28 */ bge lbl_802CD9A4 /* 802CD980 002C95E0 2C 03 00 17 */ cmpwi r3, 0x17 /* 802CD984 002C95E4 41 82 03 78 */ beq lbl_802CDCFC /* 802CD988 002C95E8 40 80 00 10 */ bge lbl_802CD998 /* 802CD98C 002C95EC 2C 03 00 16 */ cmpwi r3, 0x16 /* 802CD990 002C95F0 40 80 03 28 */ bge lbl_802CDCB8 /* 802CD994 002C95F4 48 00 03 04 */ b lbl_802CDC98 lbl_802CD998: /* 802CD998 002C95F8 2C 03 00 19 */ cmpwi r3, 0x19 /* 802CD99C 002C95FC 40 80 04 78 */ bge lbl_802CDE14 /* 802CD9A0 002C9600 48 00 03 98 */ b lbl_802CDD38 lbl_802CD9A4: /* 802CD9A4 002C9604 2C 03 00 1E */ cmpwi r3, 0x1e /* 802CD9A8 002C9608 41 82 03 EC */ beq lbl_802CDD94 /* 802CD9AC 002C960C 48 00 04 68 */ b lbl_802CDE14 lbl_802CD9B0: /* 802CD9B0 002C9610 2C 03 00 EF */ cmpwi r3, 0xef /* 802CD9B4 002C9614 41 82 04 58 */ beq lbl_802CDE0C /* 802CD9B8 002C9618 40 80 00 28 */ bge lbl_802CD9E0 /* 802CD9BC 002C961C 2C 03 00 2C */ cmpwi r3, 0x2c /* 802CD9C0 002C9620 41 82 03 F0 */ beq lbl_802CDDB0 /* 802CD9C4 002C9624 40 80 00 10 */ bge lbl_802CD9D4 /* 802CD9C8 002C9628 2C 03 00 23 */ cmpwi r3, 0x23 /* 802CD9CC 002C962C 40 80 04 48 */ bge lbl_802CDE14 /* 802CD9D0 002C9630 48 00 00 38 */ b lbl_802CDA08 lbl_802CD9D4: /* 802CD9D4 002C9634 2C 03 00 2E */ cmpwi r3, 0x2e /* 802CD9D8 002C9638 40 80 04 3C */ bge lbl_802CDE14 /* 802CD9DC 002C963C 48 00 03 E0 */ b lbl_802CDDBC lbl_802CD9E0: /* 802CD9E0 002C9640 2C 03 00 FF */ cmpwi r3, 0xff /* 802CD9E4 002C9644 41 82 04 28 */ beq lbl_802CDE0C /* 802CD9E8 002C9648 48 00 04 2C */ b lbl_802CDE14 lbl_802CD9EC: /* 802CD9EC 002C964C 88 67 00 0A */ lbz r3, 0xa(r7) /* 802CD9F0 002C9650 4B FF AF B5 */ bl btm_process_inq_complete /* 802CD9F4 002C9654 48 00 04 20 */ b lbl_802CDE14 lbl_802CD9F8: /* 802CD9F8 002C9658 38 67 00 0A */ addi r3, r7, 0xa /* 802CD9FC 002C965C 38 80 00 00 */ li r4, 0 /* 802CDA00 002C9660 4B FF AD 2D */ bl btm_process_inq_results /* 802CDA04 002C9664 48 00 04 10 */ b lbl_802CDE14 lbl_802CDA08: /* 802CDA08 002C9668 38 67 00 0A */ addi r3, r7, 0xa /* 802CDA0C 002C966C 38 80 00 01 */ li r4, 1 /* 802CDA10 002C9670 4B FF AD 1D */ bl btm_process_inq_results /* 802CDA14 002C9674 48 00 04 00 */ b lbl_802CDE14 lbl_802CDA18: /* 802CDA18 002C9678 38 67 00 0A */ addi r3, r7, 0xa /* 802CDA1C 002C967C 48 00 05 A5 */ bl btu_hcif_connection_comp_evt /* 802CDA20 002C9680 48 00 03 F4 */ b lbl_802CDE14 lbl_802CDA24: /* 802CDA24 002C9684 38 67 00 0A */ addi r3, r7, 0xa /* 802CDA28 002C9688 48 00 06 75 */ bl btu_hcif_connection_request_evt /* 802CDA2C 002C968C 48 00 03 E8 */ b lbl_802CDE14 lbl_802CDA30: /* 802CDA30 002C9690 88 07 00 0C */ lbz r0, 0xc(r7) /* 802CDA34 002C9694 88 67 00 0B */ lbz r3, 0xb(r7) /* 802CDA38 002C9698 54 00 40 2E */ slwi r0, r0, 8 /* 802CDA3C 002C969C 8B E7 00 0D */ lbz r31, 0xd(r7) /* 802CDA40 002C96A0 7C 03 02 14 */ add r0, r3, r0 /* 802CDA44 002C96A4 54 1C 05 3E */ clrlwi r28, r0, 0x14 /* 802CDA48 002C96A8 7F E4 FB 78 */ mr r4, r31 /* 802CDA4C 002C96AC 7F 83 E3 78 */ mr r3, r28 /* 802CDA50 002C96B0 48 00 A2 C9 */ bl l2c_link_hci_disc_comp /* 802CDA54 002C96B4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802CDA58 002C96B8 40 82 00 10 */ bne lbl_802CDA68 /* 802CDA5C 002C96BC 7F 83 E3 78 */ mr r3, r28 /* 802CDA60 002C96C0 7F E4 FB 78 */ mr r4, r31 /* 802CDA64 002C96C4 4B FF C8 85 */ bl btm_sco_removed lbl_802CDA68: /* 802CDA68 002C96C8 7F 83 E3 78 */ mr r3, r28 /* 802CDA6C 002C96CC 7F E4 FB 78 */ mr r4, r31 /* 802CDA70 002C96D0 4B FF EF C5 */ bl btm_sec_disconnected /* 802CDA74 002C96D4 48 00 03 A0 */ b lbl_802CDE14 lbl_802CDA78: /* 802CDA78 002C96D8 88 07 00 0C */ lbz r0, 0xc(r7) /* 802CDA7C 002C96DC 88 67 00 0B */ lbz r3, 0xb(r7) /* 802CDA80 002C96E0 54 00 40 2E */ slwi r0, r0, 8 /* 802CDA84 002C96E4 88 87 00 0A */ lbz r4, 0xa(r7) /* 802CDA88 002C96E8 7C 03 02 14 */ add r0, r3, r0 /* 802CDA8C 002C96EC 54 03 04 3E */ clrlwi r3, r0, 0x10 /* 802CDA90 002C96F0 4B FF E4 AD */ bl btm_sec_auth_complete /* 802CDA94 002C96F4 48 00 03 80 */ b lbl_802CDE14 lbl_802CDA98: /* 802CDA98 002C96F8 8B C7 00 0A */ lbz r30, 0xa(r7) /* 802CDA9C 002C96FC 38 04 FF F9 */ addi r0, r4, -7 /* 802CDAA0 002C9700 88 67 00 0B */ lbz r3, 0xb(r7) /* 802CDAA4 002C9704 3B E7 00 11 */ addi r31, r7, 0x11 /* 802CDAA8 002C9708 54 05 04 3E */ clrlwi r5, r0, 0x10 /* 802CDAAC 002C970C 7F C6 F3 78 */ mr r6, r30 /* 802CDAB0 002C9710 98 61 00 25 */ stb r3, 0x25(r1) /* 802CDAB4 002C9714 7F E4 FB 78 */ mr r4, r31 /* 802CDAB8 002C9718 38 61 00 20 */ addi r3, r1, 0x20 /* 802CDABC 002C971C 88 07 00 0C */ lbz r0, 0xc(r7) /* 802CDAC0 002C9720 98 01 00 24 */ stb r0, 0x24(r1) /* 802CDAC4 002C9724 88 07 00 0D */ lbz r0, 0xd(r7) /* 802CDAC8 002C9728 98 01 00 23 */ stb r0, 0x23(r1) /* 802CDACC 002C972C 88 07 00 0E */ lbz r0, 0xe(r7) /* 802CDAD0 002C9730 98 01 00 22 */ stb r0, 0x22(r1) /* 802CDAD4 002C9734 88 07 00 0F */ lbz r0, 0xf(r7) /* 802CDAD8 002C9738 98 01 00 21 */ stb r0, 0x21(r1) /* 802CDADC 002C973C 88 07 00 10 */ lbz r0, 0x10(r7) /* 802CDAE0 002C9740 98 01 00 20 */ stb r0, 0x20(r1) /* 802CDAE4 002C9744 4B FF B1 15 */ bl btm_process_remote_name /* 802CDAE8 002C9748 7F E4 FB 78 */ mr r4, r31 /* 802CDAEC 002C974C 7F C5 F3 78 */ mr r5, r30 /* 802CDAF0 002C9750 38 61 00 20 */ addi r3, r1, 0x20 /* 802CDAF4 002C9754 4B FF E1 61 */ bl btm_sec_rmt_name_request_complete /* 802CDAF8 002C9758 48 00 03 1C */ b lbl_802CDE14 lbl_802CDAFC: /* 802CDAFC 002C975C 88 07 00 0C */ lbz r0, 0xc(r7) /* 802CDB00 002C9760 88 67 00 0B */ lbz r3, 0xb(r7) /* 802CDB04 002C9764 54 00 40 2E */ slwi r0, r0, 8 /* 802CDB08 002C9768 8B A7 00 0A */ lbz r29, 0xa(r7) /* 802CDB0C 002C976C 7C 03 02 14 */ add r0, r3, r0 /* 802CDB10 002C9770 8B C7 00 0D */ lbz r30, 0xd(r7) /* 802CDB14 002C9774 54 1F 04 3E */ clrlwi r31, r0, 0x10 /* 802CDB18 002C9778 7F A4 EB 78 */ mr r4, r29 /* 802CDB1C 002C977C 7F E3 FB 78 */ mr r3, r31 /* 802CDB20 002C9780 7F C5 F3 78 */ mr r5, r30 /* 802CDB24 002C9784 4B FF 60 01 */ bl btm_acl_encrypt_change /* 802CDB28 002C9788 7F E3 FB 78 */ mr r3, r31 /* 802CDB2C 002C978C 7F A4 EB 78 */ mr r4, r29 /* 802CDB30 002C9790 7F C5 F3 78 */ mr r5, r30 /* 802CDB34 002C9794 4B FF E8 49 */ bl btm_sec_encrypt_change /* 802CDB38 002C9798 48 00 02 DC */ b lbl_802CDE14 lbl_802CDB3C: /* 802CDB3C 002C979C 88 07 00 0C */ lbz r0, 0xc(r7) /* 802CDB40 002C97A0 88 67 00 0B */ lbz r3, 0xb(r7) /* 802CDB44 002C97A4 54 00 40 2E */ slwi r0, r0, 8 /* 802CDB48 002C97A8 88 87 00 0A */ lbz r4, 0xa(r7) /* 802CDB4C 002C97AC 7C 03 02 14 */ add r0, r3, r0 /* 802CDB50 002C97B0 88 A7 00 0D */ lbz r5, 0xd(r7) /* 802CDB54 002C97B4 54 03 04 3E */ clrlwi r3, r0, 0x10 /* 802CDB58 002C97B8 4B FF E7 29 */ bl btm_sec_mkey_comp_event /* 802CDB5C 002C97BC 48 00 02 B8 */ b lbl_802CDE14 lbl_802CDB60: /* 802CDB60 002C97C0 38 67 00 0A */ addi r3, r7, 0xa /* 802CDB64 002C97C4 4B FF 64 C1 */ bl btm_read_remote_features_complete /* 802CDB68 002C97C8 48 00 02 AC */ b lbl_802CDE14 lbl_802CDB6C: /* 802CDB6C 002C97CC 38 67 00 0A */ addi r3, r7, 0xa /* 802CDB70 002C97D0 4B FF 64 29 */ bl btm_read_remote_version_complete /* 802CDB74 002C97D4 48 00 02 A0 */ b lbl_802CDE14 lbl_802CDB78: /* 802CDB78 002C97D8 38 67 00 0A */ addi r3, r7, 0xa /* 802CDB7C 002C97DC 48 00 05 AD */ bl btu_hcif_qos_setup_comp_evt /* 802CDB80 002C97E0 48 00 02 94 */ b lbl_802CDE14 lbl_802CDB84: /* 802CDB84 002C97E4 38 67 00 0A */ addi r3, r7, 0xa /* 802CDB88 002C97E8 48 00 08 D9 */ bl btu_hcif_command_complete_evt /* 802CDB8C 002C97EC 48 00 02 88 */ b lbl_802CDE14 lbl_802CDB90: /* 802CDB90 002C97F0 38 67 00 0A */ addi r3, r7, 0xa /* 802CDB94 002C97F4 48 00 0B E5 */ bl btu_hcif_command_status_evt /* 802CDB98 002C97F8 48 00 02 7C */ b lbl_802CDE14 lbl_802CDB9C: /* 802CDB9C 002C97FC 3C 80 80 44 */ lis r4, lbl_804422A0@ha /* 802CDBA0 002C9800 3C 60 00 07 */ lis r3, 7 /* 802CDBA4 002C9804 38 84 22 A0 */ addi r4, r4, lbl_804422A0@l /* 802CDBA8 002C9808 4B FE F3 69 */ bl LogMsg_0 /* 802CDBAC 002C980C 4B FF 7F 25 */ bl BTM_IsDeviceUp /* 802CDBB0 002C9810 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802CDBB4 002C9814 41 82 02 60 */ beq lbl_802CDE14 /* 802CDBB8 002C9818 38 60 00 00 */ li r3, 0 /* 802CDBBC 002C981C 4B FF 7D D1 */ bl BTM_DeviceReset /* 802CDBC0 002C9820 48 00 02 54 */ b lbl_802CDE14 lbl_802CDBC4: /* 802CDBC4 002C9824 8B A7 00 0A */ lbz r29, 0xa(r7) /* 802CDBC8 002C9828 88 07 00 0B */ lbz r0, 0xb(r7) /* 802CDBCC 002C982C 2C 1D 00 00 */ cmpwi r29, 0 /* 802CDBD0 002C9830 98 01 00 1D */ stb r0, 0x1d(r1) /* 802CDBD4 002C9834 88 07 00 0C */ lbz r0, 0xc(r7) /* 802CDBD8 002C9838 98 01 00 1C */ stb r0, 0x1c(r1) /* 802CDBDC 002C983C 88 07 00 0D */ lbz r0, 0xd(r7) /* 802CDBE0 002C9840 98 01 00 1B */ stb r0, 0x1b(r1) /* 802CDBE4 002C9844 88 07 00 0E */ lbz r0, 0xe(r7) /* 802CDBE8 002C9848 98 01 00 1A */ stb r0, 0x1a(r1) /* 802CDBEC 002C984C 88 07 00 0F */ lbz r0, 0xf(r7) /* 802CDBF0 002C9850 98 01 00 19 */ stb r0, 0x19(r1) /* 802CDBF4 002C9854 88 07 00 10 */ lbz r0, 0x10(r7) /* 802CDBF8 002C9858 98 01 00 18 */ stb r0, 0x18(r1) /* 802CDBFC 002C985C 8B E7 00 11 */ lbz r31, 0x11(r7) /* 802CDC00 002C9860 40 82 00 10 */ bne lbl_802CDC10 /* 802CDC04 002C9864 7F E4 FB 78 */ mr r4, r31 /* 802CDC08 002C9868 38 61 00 18 */ addi r3, r1, 0x18 /* 802CDC0C 002C986C 48 00 AC 4D */ bl l2c_link_role_changed lbl_802CDC10: /* 802CDC10 002C9870 7F A3 EB 78 */ mr r3, r29 /* 802CDC14 002C9874 7F E5 FB 78 */ mr r5, r31 /* 802CDC18 002C9878 38 81 00 18 */ addi r4, r1, 0x18 /* 802CDC1C 002C987C 4B FF 68 C1 */ bl btm_acl_role_changed /* 802CDC20 002C9880 48 00 01 F4 */ b lbl_802CDE14 lbl_802CDC24: /* 802CDC24 002C9884 38 67 00 0A */ addi r3, r7, 0xa /* 802CDC28 002C9888 48 00 A8 FD */ bl l2c_link_process_num_completed_pkts /* 802CDC2C 002C988C 48 00 01 E8 */ b lbl_802CDE14 lbl_802CDC30: /* 802CDC30 002C9890 88 67 00 0C */ lbz r3, 0xc(r7) /* 802CDC34 002C9894 88 07 00 0F */ lbz r0, 0xf(r7) /* 802CDC38 002C9898 54 64 40 2E */ slwi r4, r3, 8 /* 802CDC3C 002C989C 88 A7 00 0B */ lbz r5, 0xb(r7) /* 802CDC40 002C98A0 88 67 00 0E */ lbz r3, 0xe(r7) /* 802CDC44 002C98A4 54 00 40 2E */ slwi r0, r0, 8 /* 802CDC48 002C98A8 7C 85 22 14 */ add r4, r5, r4 /* 802CDC4C 002C98AC 8B C7 00 0D */ lbz r30, 0xd(r7) /* 802CDC50 002C98B0 54 9F 04 3E */ clrlwi r31, r4, 0x10 /* 802CDC54 002C98B4 7C 03 02 14 */ add r0, r3, r0 /* 802CDC58 002C98B8 8B 87 00 0A */ lbz r28, 0xa(r7) /* 802CDC5C 002C98BC 7F E4 FB 78 */ mr r4, r31 /* 802CDC60 002C98C0 7F C5 F3 78 */ mr r5, r30 /* 802CDC64 002C98C4 54 1D 04 3E */ clrlwi r29, r0, 0x10 /* 802CDC68 002C98C8 7F 83 E3 78 */ mr r3, r28 /* 802CDC6C 002C98CC 4B FF C0 35 */ bl btm_sco_chk_pend_unpark /* 802CDC70 002C98D0 7F 83 E3 78 */ mr r3, r28 /* 802CDC74 002C98D4 7F E4 FB 78 */ mr r4, r31 /* 802CDC78 002C98D8 7F C5 F3 78 */ mr r5, r30 /* 802CDC7C 002C98DC 7F A6 EB 78 */ mr r6, r29 /* 802CDC80 002C98E0 4B FF BB D9 */ bl btm_pm_proc_mode_change /* 802CDC84 002C98E4 7F 83 E3 78 */ mr r3, r28 /* 802CDC88 002C98E8 7F C4 F3 78 */ mr r4, r30 /* 802CDC8C 002C98EC 7F A5 EB 78 */ mr r5, r29 /* 802CDC90 002C98F0 48 00 4C 3D */ bl hidd_pm_proc_mode_change /* 802CDC94 002C98F4 48 00 01 80 */ b lbl_802CDE14 lbl_802CDC98: /* 802CDC98 002C98F8 88 07 00 0A */ lbz r0, 0xa(r7) /* 802CDC9C 002C98FC 2C 00 00 00 */ cmpwi r0, 0 /* 802CDCA0 002C9900 41 82 01 74 */ beq lbl_802CDE14 /* 802CDCA4 002C9904 38 00 00 01 */ li r0, 1 /* 802CDCA8 002C9908 38 67 00 09 */ addi r3, r7, 9 /* 802CDCAC 002C990C 98 07 00 09 */ stb r0, 9(r7) /* 802CDCB0 002C9910 4B FF 93 69 */ bl btm_return_link_keys_evt /* 802CDCB4 002C9914 48 00 01 60 */ b lbl_802CDE14 lbl_802CDCB8: /* 802CDCB8 002C9918 88 07 00 0A */ lbz r0, 0xa(r7) /* 802CDCBC 002C991C 38 61 00 10 */ addi r3, r1, 0x10 /* 802CDCC0 002C9920 98 01 00 15 */ stb r0, 0x15(r1) /* 802CDCC4 002C9924 88 07 00 0B */ lbz r0, 0xb(r7) /* 802CDCC8 002C9928 98 01 00 14 */ stb r0, 0x14(r1) /* 802CDCCC 002C992C 88 07 00 0C */ lbz r0, 0xc(r7) /* 802CDCD0 002C9930 98 01 00 13 */ stb r0, 0x13(r1) /* 802CDCD4 002C9934 88 07 00 0D */ lbz r0, 0xd(r7) /* 802CDCD8 002C9938 98 01 00 12 */ stb r0, 0x12(r1) /* 802CDCDC 002C993C 88 07 00 0E */ lbz r0, 0xe(r7) /* 802CDCE0 002C9940 98 01 00 11 */ stb r0, 0x11(r1) /* 802CDCE4 002C9944 88 07 00 0F */ lbz r0, 0xf(r7) /* 802CDCE8 002C9948 98 01 00 10 */ stb r0, 0x10(r1) /* 802CDCEC 002C994C 48 00 AD 35 */ bl l2c_pin_code_request /* 802CDCF0 002C9950 38 61 00 10 */ addi r3, r1, 0x10 /* 802CDCF4 002C9954 4B FF F1 CD */ bl btm_sec_pin_code_request /* 802CDCF8 002C9958 48 00 01 1C */ b lbl_802CDE14 lbl_802CDCFC: /* 802CDCFC 002C995C 88 07 00 0A */ lbz r0, 0xa(r7) /* 802CDD00 002C9960 38 61 00 08 */ addi r3, r1, 8 /* 802CDD04 002C9964 98 01 00 0D */ stb r0, 0xd(r1) /* 802CDD08 002C9968 88 07 00 0B */ lbz r0, 0xb(r7) /* 802CDD0C 002C996C 98 01 00 0C */ stb r0, 0xc(r1) /* 802CDD10 002C9970 88 07 00 0C */ lbz r0, 0xc(r7) /* 802CDD14 002C9974 98 01 00 0B */ stb r0, 0xb(r1) /* 802CDD18 002C9978 88 07 00 0D */ lbz r0, 0xd(r7) /* 802CDD1C 002C997C 98 01 00 0A */ stb r0, 0xa(r1) /* 802CDD20 002C9980 88 07 00 0E */ lbz r0, 0xe(r7) /* 802CDD24 002C9984 98 01 00 09 */ stb r0, 9(r1) /* 802CDD28 002C9988 88 07 00 0F */ lbz r0, 0xf(r7) /* 802CDD2C 002C998C 98 01 00 08 */ stb r0, 8(r1) /* 802CDD30 002C9990 4B FF EF ED */ bl btm_sec_link_key_request /* 802CDD34 002C9994 48 00 00 E0 */ b lbl_802CDE14 lbl_802CDD38: /* 802CDD38 002C9998 38 67 00 0A */ addi r3, r7, 0xa /* 802CDD3C 002C999C 48 00 0C BD */ bl btu_hcif_link_key_notification_evt /* 802CDD40 002C99A0 48 00 00 D4 */ b lbl_802CDE14 lbl_802CDD44: /* 802CDD44 002C99A4 88 07 00 0A */ lbz r0, 0xa(r7) /* 802CDD48 002C99A8 2C 00 00 00 */ cmpwi r0, 0 /* 802CDD4C 002C99AC 40 82 00 C8 */ bne lbl_802CDE14 /* 802CDD50 002C99B0 88 67 00 0C */ lbz r3, 0xc(r7) /* 802CDD54 002C99B4 88 07 00 0E */ lbz r0, 0xe(r7) /* 802CDD58 002C99B8 54 64 40 2E */ slwi r4, r3, 8 /* 802CDD5C 002C99BC 88 A7 00 0B */ lbz r5, 0xb(r7) /* 802CDD60 002C99C0 88 67 00 0D */ lbz r3, 0xd(r7) /* 802CDD64 002C99C4 54 00 40 2E */ slwi r0, r0, 8 /* 802CDD68 002C99C8 7C 85 22 14 */ add r4, r5, r4 /* 802CDD6C 002C99CC 7C 03 02 14 */ add r0, r3, r0 /* 802CDD70 002C99D0 54 9D 05 3E */ clrlwi r29, r4, 0x14 /* 802CDD74 002C99D4 54 1C 04 3E */ clrlwi r28, r0, 0x10 /* 802CDD78 002C99D8 7F A3 EB 78 */ mr r3, r29 /* 802CDD7C 002C99DC 7F 84 E3 78 */ mr r4, r28 /* 802CDD80 002C99E0 4B FF 66 C1 */ bl btm_process_clk_off_comp_evt /* 802CDD84 002C99E4 7F A3 EB 78 */ mr r3, r29 /* 802CDD88 002C99E8 7F 84 E3 78 */ mr r4, r28 /* 802CDD8C 002C99EC 4B FF F4 91 */ bl btm_sec_update_clock_offset /* 802CDD90 002C99F0 48 00 00 84 */ b lbl_802CDE14 lbl_802CDD94: /* 802CDD94 002C99F4 88 07 00 0B */ lbz r0, 0xb(r7) /* 802CDD98 002C99F8 88 67 00 0A */ lbz r3, 0xa(r7) /* 802CDD9C 002C99FC 54 00 40 2E */ slwi r0, r0, 8 /* 802CDDA0 002C9A00 7C 03 02 14 */ add r0, r3, r0 /* 802CDDA4 002C9A04 54 03 05 3E */ clrlwi r3, r0, 0x14 /* 802CDDA8 002C9A08 48 00 A0 2D */ bl l2c_link_hci_qos_violation /* 802CDDAC 002C9A0C 48 00 00 68 */ b lbl_802CDE14 lbl_802CDDB0: /* 802CDDB0 002C9A10 38 67 00 0A */ addi r3, r7, 0xa /* 802CDDB4 002C9A14 48 00 04 75 */ bl btu_hcif_esco_connection_comp_evt /* 802CDDB8 002C9A18 48 00 00 5C */ b lbl_802CDE14 lbl_802CDDBC: /* 802CDDBC 002C9A1C 88 87 00 0C */ lbz r4, 0xc(r7) /* 802CDDC0 002C9A20 88 67 00 10 */ lbz r3, 0x10(r7) /* 802CDDC4 002C9A24 88 07 00 12 */ lbz r0, 0x12(r7) /* 802CDDC8 002C9A28 54 86 40 2E */ slwi r6, r4, 8 /* 802CDDCC 002C9A2C 89 07 00 0B */ lbz r8, 0xb(r7) /* 802CDDD0 002C9A30 54 63 40 2E */ slwi r3, r3, 8 /* 802CDDD4 002C9A34 88 A7 00 0F */ lbz r5, 0xf(r7) /* 802CDDD8 002C9A38 54 00 40 2E */ slwi r0, r0, 8 /* 802CDDDC 002C9A3C 7D 28 32 14 */ add r9, r8, r6 /* 802CDDE0 002C9A40 88 87 00 11 */ lbz r4, 0x11(r7) /* 802CDDE4 002C9A44 7D 05 1A 14 */ add r8, r5, r3 /* 802CDDE8 002C9A48 88 67 00 0A */ lbz r3, 0xa(r7) /* 802CDDEC 002C9A4C 7C 04 02 14 */ add r0, r4, r0 /* 802CDDF0 002C9A50 88 A7 00 0D */ lbz r5, 0xd(r7) /* 802CDDF4 002C9A54 88 C7 00 0E */ lbz r6, 0xe(r7) /* 802CDDF8 002C9A58 55 07 04 3E */ clrlwi r7, r8, 0x10 /* 802CDDFC 002C9A5C 55 24 04 3E */ clrlwi r4, r9, 0x10 /* 802CDE00 002C9A60 54 08 04 3E */ clrlwi r8, r0, 0x10 /* 802CDE04 002C9A64 4B FF C8 59 */ bl btm_esco_proc_conn_chg /* 802CDE08 002C9A68 48 00 00 0C */ b lbl_802CDE14 lbl_802CDE0C: /* 802CDE0C 002C9A6C 38 67 00 0A */ addi r3, r7, 0xa /* 802CDE10 002C9A70 4B FF 8D 19 */ bl btm_vendor_specific_evt lbl_802CDE14: /* 802CDE14 002C9A74 80 01 00 44 */ lwz r0, 0x44(r1) /* 802CDE18 002C9A78 83 E1 00 3C */ lwz r31, 0x3c(r1) /* 802CDE1C 002C9A7C 83 C1 00 38 */ lwz r30, 0x38(r1) /* 802CDE20 002C9A80 83 A1 00 34 */ lwz r29, 0x34(r1) /* 802CDE24 002C9A84 83 81 00 30 */ lwz r28, 0x30(r1) /* 802CDE28 002C9A88 7C 08 03 A6 */ mtlr r0 /* 802CDE2C 002C9A8C 38 21 00 40 */ addi r1, r1, 0x40 /* 802CDE30 002C9A90 4E 80 00 20 */ blr .global btu_hcif_send_cmd btu_hcif_send_cmd: /* 802CDE34 002C9A94 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802CDE38 002C9A98 7C 08 02 A6 */ mflr r0 /* 802CDE3C 002C9A9C 2C 03 00 00 */ cmpwi r3, 0 /* 802CDE40 002C9AA0 90 01 00 24 */ stw r0, 0x24(r1) /* 802CDE44 002C9AA4 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802CDE48 002C9AA8 7C 7F 1B 78 */ mr r31, r3 /* 802CDE4C 002C9AAC 93 C1 00 18 */ stw r30, 0x18(r1) /* 802CDE50 002C9AB0 93 A1 00 14 */ stw r29, 0x14(r1) /* 802CDE54 002C9AB4 41 82 00 28 */ beq lbl_802CDE7C /* 802CDE58 002C9AB8 3C 60 80 57 */ lis r3, lbl_80568650@ha /* 802CDE5C 002C9ABC 38 63 86 50 */ addi r3, r3, lbl_80568650@l /* 802CDE60 002C9AC0 A0 03 00 6C */ lhz r0, 0x6c(r3) /* 802CDE64 002C9AC4 2C 00 00 00 */ cmpwi r0, 0 /* 802CDE68 002C9AC8 41 82 00 14 */ beq lbl_802CDE7C /* 802CDE6C 002C9ACC 7F E4 FB 78 */ mr r4, r31 /* 802CDE70 002C9AD0 38 63 00 64 */ addi r3, r3, 0x64 /* 802CDE74 002C9AD4 4B FE C2 E1 */ bl GKI_enqueue /* 802CDE78 002C9AD8 3B E0 00 00 */ li r31, 0 lbl_802CDE7C: /* 802CDE7C 002C9ADC 3C 80 80 57 */ lis r4, lbl_80568650@ha /* 802CDE80 002C9AE0 38 84 86 50 */ addi r4, r4, lbl_80568650@l /* 802CDE84 002C9AE4 A0 04 00 80 */ lhz r0, 0x80(r4) /* 802CDE88 002C9AE8 2C 00 00 00 */ cmpwi r0, 0 /* 802CDE8C 002C9AEC 40 82 00 24 */ bne lbl_802CDEB0 /* 802CDE90 002C9AF0 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802CDE94 002C9AF4 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802CDE98 002C9AF8 88 03 06 4E */ lbz r0, 0x64e(r3) /* 802CDE9C 002C9AFC 2C 00 00 00 */ cmpwi r0, 0 /* 802CDEA0 002C9B00 40 82 00 10 */ bne lbl_802CDEB0 /* 802CDEA4 002C9B04 A0 64 00 6C */ lhz r3, 0x6c(r4) /* 802CDEA8 002C9B08 38 03 00 01 */ addi r0, r3, 1 /* 802CDEAC 002C9B0C B0 04 00 80 */ sth r0, 0x80(r4) lbl_802CDEB0: /* 802CDEB0 002C9B10 3C 60 80 57 */ lis r3, lbl_80568650@ha /* 802CDEB4 002C9B14 3B C3 86 50 */ addi r30, r3, lbl_80568650@l /* 802CDEB8 002C9B18 48 00 00 C4 */ b lbl_802CDF7C lbl_802CDEBC: /* 802CDEBC 002C9B1C 2C 1F 00 00 */ cmpwi r31, 0 /* 802CDEC0 002C9B20 40 82 00 10 */ bne lbl_802CDED0 /* 802CDEC4 002C9B24 38 7E 00 64 */ addi r3, r30, 0x64 /* 802CDEC8 002C9B28 4B FE C5 09 */ bl GKI_dequeue /* 802CDECC 002C9B2C 7C 7F 1B 78 */ mr r31, r3 lbl_802CDED0: /* 802CDED0 002C9B30 2C 1F 00 00 */ cmpwi r31, 0 /* 802CDED4 002C9B34 41 82 00 B4 */ beq lbl_802CDF88 /* 802CDED8 002C9B38 A0 1F 00 04 */ lhz r0, 4(r31) /* 802CDEDC 002C9B3C 7C 7F 02 14 */ add r3, r31, r0 /* 802CDEE0 002C9B40 88 03 00 09 */ lbz r0, 9(r3) /* 802CDEE4 002C9B44 88 63 00 08 */ lbz r3, 8(r3) /* 802CDEE8 002C9B48 54 00 40 2E */ slwi r0, r0, 8 /* 802CDEEC 002C9B4C 7C 03 02 14 */ add r0, r3, r0 /* 802CDEF0 002C9B50 54 00 04 3E */ clrlwi r0, r0, 0x10 /* 802CDEF4 002C9B54 28 00 0C 03 */ cmplwi r0, 0xc03 /* 802CDEF8 002C9B58 41 82 00 68 */ beq lbl_802CDF60 /* 802CDEFC 002C9B5C 28 00 0C 35 */ cmplwi r0, 0xc35 /* 802CDF00 002C9B60 41 82 00 60 */ beq lbl_802CDF60 /* 802CDF04 002C9B64 38 60 00 02 */ li r3, 2 /* 802CDF08 002C9B68 4B FE BD 45 */ bl GKI_getpoolbuf /* 802CDF0C 002C9B6C 2C 03 00 00 */ cmpwi r3, 0 /* 802CDF10 002C9B70 7C 7D 1B 78 */ mr r29, r3 /* 802CDF14 002C9B74 41 82 00 4C */ beq lbl_802CDF60 /* 802CDF18 002C9B78 7F E4 FB 78 */ mr r4, r31 /* 802CDF1C 002C9B7C 38 A0 00 08 */ li r5, 8 /* 802CDF20 002C9B80 4B D3 60 E1 */ bl memcpy /* 802CDF24 002C9B84 A0 7D 00 04 */ lhz r3, 4(r29) /* 802CDF28 002C9B88 A0 1F 00 04 */ lhz r0, 4(r31) /* 802CDF2C 002C9B8C 7C 7D 1A 14 */ add r3, r29, r3 /* 802CDF30 002C9B90 A0 BF 00 02 */ lhz r5, 2(r31) /* 802CDF34 002C9B94 7C 9F 02 14 */ add r4, r31, r0 /* 802CDF38 002C9B98 38 63 00 08 */ addi r3, r3, 8 /* 802CDF3C 002C9B9C 38 84 00 08 */ addi r4, r4, 8 /* 802CDF40 002C9BA0 4B D3 60 C1 */ bl memcpy /* 802CDF44 002C9BA4 7F A4 EB 78 */ mr r4, r29 /* 802CDF48 002C9BA8 38 7E 00 70 */ addi r3, r30, 0x70 /* 802CDF4C 002C9BAC 4B FE C2 09 */ bl GKI_enqueue /* 802CDF50 002C9BB0 38 7E 00 4C */ addi r3, r30, 0x4c /* 802CDF54 002C9BB4 38 80 00 3C */ li r4, 0x3c /* 802CDF58 002C9BB8 38 A0 00 08 */ li r5, 8 /* 802CDF5C 002C9BBC 4B FE F5 81 */ bl btu_start_timer lbl_802CDF60: /* 802CDF60 002C9BC0 A0 BE 00 80 */ lhz r5, 0x80(r30) /* 802CDF64 002C9BC4 7F E3 FB 78 */ mr r3, r31 /* 802CDF68 002C9BC8 38 80 20 00 */ li r4, 0x2000 /* 802CDF6C 002C9BCC 38 05 FF FF */ addi r0, r5, -1 /* 802CDF70 002C9BD0 B0 1E 00 80 */ sth r0, 0x80(r30) /* 802CDF74 002C9BD4 4B FE ED FD */ bl bte_hcisu_send /* 802CDF78 002C9BD8 3B E0 00 00 */ li r31, 0 lbl_802CDF7C: /* 802CDF7C 002C9BDC A0 1E 00 80 */ lhz r0, 0x80(r30) /* 802CDF80 002C9BE0 2C 00 00 00 */ cmpwi r0, 0 /* 802CDF84 002C9BE4 40 82 FF 38 */ bne lbl_802CDEBC lbl_802CDF88: /* 802CDF88 002C9BE8 2C 1F 00 00 */ cmpwi r31, 0 /* 802CDF8C 002C9BEC 41 82 00 18 */ beq lbl_802CDFA4 /* 802CDF90 002C9BF0 3C 60 80 57 */ lis r3, lbl_80568650@ha /* 802CDF94 002C9BF4 7F E4 FB 78 */ mr r4, r31 /* 802CDF98 002C9BF8 38 63 86 50 */ addi r3, r3, lbl_80568650@l /* 802CDF9C 002C9BFC 38 63 00 64 */ addi r3, r3, 0x64 /* 802CDFA0 002C9C00 4B FE C1 B5 */ bl GKI_enqueue lbl_802CDFA4: /* 802CDFA4 002C9C04 80 01 00 24 */ lwz r0, 0x24(r1) /* 802CDFA8 002C9C08 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802CDFAC 002C9C0C 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802CDFB0 002C9C10 83 A1 00 14 */ lwz r29, 0x14(r1) /* 802CDFB4 002C9C14 7C 08 03 A6 */ mtlr r0 /* 802CDFB8 002C9C18 38 21 00 20 */ addi r1, r1, 0x20 /* 802CDFBC 002C9C1C 4E 80 00 20 */ blr .global btu_hcif_connection_comp_evt btu_hcif_connection_comp_evt: /* 802CDFC0 002C9C20 94 21 FF D0 */ stwu r1, -0x30(r1) /* 802CDFC4 002C9C24 7C 08 02 A6 */ mflr r0 /* 802CDFC8 002C9C28 90 01 00 34 */ stw r0, 0x34(r1) /* 802CDFCC 002C9C2C 93 E1 00 2C */ stw r31, 0x2c(r1) /* 802CDFD0 002C9C30 93 C1 00 28 */ stw r30, 0x28(r1) /* 802CDFD4 002C9C34 88 03 00 02 */ lbz r0, 2(r3) /* 802CDFD8 002C9C38 8B E3 00 00 */ lbz r31, 0(r3) /* 802CDFDC 002C9C3C 54 04 40 2E */ slwi r4, r0, 8 /* 802CDFE0 002C9C40 88 A3 00 01 */ lbz r5, 1(r3) /* 802CDFE4 002C9C44 88 03 00 03 */ lbz r0, 3(r3) /* 802CDFE8 002C9C48 7C 85 22 14 */ add r4, r5, r4 /* 802CDFEC 002C9C4C 98 01 00 0D */ stb r0, 0xd(r1) /* 802CDFF0 002C9C50 54 9E 05 3E */ clrlwi r30, r4, 0x14 /* 802CDFF4 002C9C54 88 03 00 04 */ lbz r0, 4(r3) /* 802CDFF8 002C9C58 98 01 00 0C */ stb r0, 0xc(r1) /* 802CDFFC 002C9C5C 88 03 00 05 */ lbz r0, 5(r3) /* 802CE000 002C9C60 98 01 00 0B */ stb r0, 0xb(r1) /* 802CE004 002C9C64 88 03 00 06 */ lbz r0, 6(r3) /* 802CE008 002C9C68 98 01 00 0A */ stb r0, 0xa(r1) /* 802CE00C 002C9C6C 88 03 00 07 */ lbz r0, 7(r3) /* 802CE010 002C9C70 98 01 00 09 */ stb r0, 9(r1) /* 802CE014 002C9C74 88 03 00 08 */ lbz r0, 8(r3) /* 802CE018 002C9C78 98 01 00 08 */ stb r0, 8(r1) /* 802CE01C 002C9C7C 88 03 00 09 */ lbz r0, 9(r3) /* 802CE020 002C9C80 88 C3 00 0A */ lbz r6, 0xa(r3) /* 802CE024 002C9C84 28 00 00 01 */ cmplwi r0, 1 /* 802CE028 002C9C88 40 82 00 28 */ bne lbl_802CE050 /* 802CE02C 002C9C8C 7F C4 F3 78 */ mr r4, r30 /* 802CE030 002C9C90 7F E5 FB 78 */ mr r5, r31 /* 802CE034 002C9C94 38 61 00 08 */ addi r3, r1, 8 /* 802CE038 002C9C98 4B FF E4 C1 */ bl btm_sec_connected /* 802CE03C 002C9C9C 7F E3 FB 78 */ mr r3, r31 /* 802CE040 002C9CA0 7F C4 F3 78 */ mr r4, r30 /* 802CE044 002C9CA4 38 A1 00 08 */ addi r5, r1, 8 /* 802CE048 002C9CA8 48 00 99 E5 */ bl l2c_link_hci_conn_comp /* 802CE04C 002C9CAC 48 00 00 38 */ b lbl_802CE084 lbl_802CE050: /* 802CE050 002C9CB0 38 61 00 10 */ addi r3, r1, 0x10 /* 802CE054 002C9CB4 38 80 00 00 */ li r4, 0 /* 802CE058 002C9CB8 38 A0 00 0E */ li r5, 0xe /* 802CE05C 002C9CBC 4B D3 60 A9 */ bl memset /* 802CE060 002C9CC0 38 61 00 14 */ addi r3, r1, 0x14 /* 802CE064 002C9CC4 38 81 00 08 */ addi r4, r1, 8 /* 802CE068 002C9CC8 38 A0 00 06 */ li r5, 6 /* 802CE06C 002C9CCC 4B D3 5F 95 */ bl memcpy /* 802CE070 002C9CD0 7F E3 FB 78 */ mr r3, r31 /* 802CE074 002C9CD4 7F C5 F3 78 */ mr r5, r30 /* 802CE078 002C9CD8 38 81 00 08 */ addi r4, r1, 8 /* 802CE07C 002C9CDC 38 C1 00 10 */ addi r6, r1, 0x10 /* 802CE080 002C9CE0 4B FF BF 8D */ bl btm_sco_connected lbl_802CE084: /* 802CE084 002C9CE4 80 01 00 34 */ lwz r0, 0x34(r1) /* 802CE088 002C9CE8 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 802CE08C 002C9CEC 83 C1 00 28 */ lwz r30, 0x28(r1) /* 802CE090 002C9CF0 7C 08 03 A6 */ mtlr r0 /* 802CE094 002C9CF4 38 21 00 30 */ addi r1, r1, 0x30 /* 802CE098 002C9CF8 4E 80 00 20 */ blr .global btu_hcif_connection_request_evt btu_hcif_connection_request_evt: /* 802CE09C 002C9CFC 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802CE0A0 002C9D00 7C 08 02 A6 */ mflr r0 /* 802CE0A4 002C9D04 90 01 00 24 */ stw r0, 0x24(r1) /* 802CE0A8 002C9D08 88 03 00 00 */ lbz r0, 0(r3) /* 802CE0AC 002C9D0C 98 01 00 11 */ stb r0, 0x11(r1) /* 802CE0B0 002C9D10 88 03 00 01 */ lbz r0, 1(r3) /* 802CE0B4 002C9D14 98 01 00 10 */ stb r0, 0x10(r1) /* 802CE0B8 002C9D18 88 03 00 02 */ lbz r0, 2(r3) /* 802CE0BC 002C9D1C 98 01 00 0F */ stb r0, 0xf(r1) /* 802CE0C0 002C9D20 88 03 00 03 */ lbz r0, 3(r3) /* 802CE0C4 002C9D24 98 01 00 0E */ stb r0, 0xe(r1) /* 802CE0C8 002C9D28 88 03 00 04 */ lbz r0, 4(r3) /* 802CE0CC 002C9D2C 98 01 00 0D */ stb r0, 0xd(r1) /* 802CE0D0 002C9D30 88 03 00 05 */ lbz r0, 5(r3) /* 802CE0D4 002C9D34 98 01 00 0C */ stb r0, 0xc(r1) /* 802CE0D8 002C9D38 88 03 00 06 */ lbz r0, 6(r3) /* 802CE0DC 002C9D3C 98 01 00 0A */ stb r0, 0xa(r1) /* 802CE0E0 002C9D40 88 03 00 07 */ lbz r0, 7(r3) /* 802CE0E4 002C9D44 98 01 00 09 */ stb r0, 9(r1) /* 802CE0E8 002C9D48 88 03 00 08 */ lbz r0, 8(r3) /* 802CE0EC 002C9D4C 98 01 00 08 */ stb r0, 8(r1) /* 802CE0F0 002C9D50 88 A3 00 09 */ lbz r5, 9(r3) /* 802CE0F4 002C9D54 28 05 00 01 */ cmplwi r5, 1 /* 802CE0F8 002C9D58 40 82 00 14 */ bne lbl_802CE10C /* 802CE0FC 002C9D5C 38 61 00 0C */ addi r3, r1, 0xc /* 802CE100 002C9D60 38 81 00 08 */ addi r4, r1, 8 /* 802CE104 002C9D64 4B FF D9 15 */ bl btm_sec_conn_req /* 802CE108 002C9D68 48 00 00 10 */ b lbl_802CE118 lbl_802CE10C: /* 802CE10C 002C9D6C 38 61 00 0C */ addi r3, r1, 0xc /* 802CE110 002C9D70 38 81 00 08 */ addi r4, r1, 8 /* 802CE114 002C9D74 4B FF BD 19 */ bl btm_sco_conn_req lbl_802CE118: /* 802CE118 002C9D78 80 01 00 24 */ lwz r0, 0x24(r1) /* 802CE11C 002C9D7C 7C 08 03 A6 */ mtlr r0 /* 802CE120 002C9D80 38 21 00 20 */ addi r1, r1, 0x20 /* 802CE124 002C9D84 4E 80 00 20 */ blr .global btu_hcif_qos_setup_comp_evt btu_hcif_qos_setup_comp_evt: /* 802CE128 002C9D88 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802CE12C 002C9D8C 7C 08 02 A6 */ mflr r0 /* 802CE130 002C9D90 7C 66 1B 78 */ mr r6, r3 /* 802CE134 002C9D94 90 01 00 24 */ stw r0, 0x24(r1) /* 802CE138 002C9D98 38 A1 00 08 */ addi r5, r1, 8 /* 802CE13C 002C9D9C 88 86 00 02 */ lbz r4, 2(r6) /* 802CE140 002C9DA0 88 63 00 00 */ lbz r3, 0(r3) /* 802CE144 002C9DA4 88 E6 00 01 */ lbz r7, 1(r6) /* 802CE148 002C9DA8 54 84 40 2E */ slwi r4, r4, 8 /* 802CE14C 002C9DAC 88 06 00 03 */ lbz r0, 3(r6) /* 802CE150 002C9DB0 7C 87 22 14 */ add r4, r7, r4 /* 802CE154 002C9DB4 98 01 00 08 */ stb r0, 8(r1) /* 802CE158 002C9DB8 54 84 04 3E */ clrlwi r4, r4, 0x10 /* 802CE15C 002C9DBC 88 06 00 04 */ lbz r0, 4(r6) /* 802CE160 002C9DC0 98 01 00 09 */ stb r0, 9(r1) /* 802CE164 002C9DC4 88 E6 00 08 */ lbz r7, 8(r6) /* 802CE168 002C9DC8 89 06 00 07 */ lbz r8, 7(r6) /* 802CE16C 002C9DCC 88 06 00 06 */ lbz r0, 6(r6) /* 802CE170 002C9DD0 54 E9 C0 0E */ slwi r9, r7, 0x18 /* 802CE174 002C9DD4 88 E6 00 05 */ lbz r7, 5(r6) /* 802CE178 002C9DD8 55 08 80 1E */ slwi r8, r8, 0x10 /* 802CE17C 002C9DDC 54 00 40 2E */ slwi r0, r0, 8 /* 802CE180 002C9DE0 7C E8 3A 14 */ add r7, r8, r7 /* 802CE184 002C9DE4 7C 09 02 14 */ add r0, r9, r0 /* 802CE188 002C9DE8 7C 07 02 14 */ add r0, r7, r0 /* 802CE18C 002C9DEC 90 01 00 0C */ stw r0, 0xc(r1) /* 802CE190 002C9DF0 88 E6 00 0C */ lbz r7, 0xc(r6) /* 802CE194 002C9DF4 89 06 00 0B */ lbz r8, 0xb(r6) /* 802CE198 002C9DF8 88 06 00 0A */ lbz r0, 0xa(r6) /* 802CE19C 002C9DFC 54 E9 C0 0E */ slwi r9, r7, 0x18 /* 802CE1A0 002C9E00 88 E6 00 09 */ lbz r7, 9(r6) /* 802CE1A4 002C9E04 55 08 80 1E */ slwi r8, r8, 0x10 /* 802CE1A8 002C9E08 54 00 40 2E */ slwi r0, r0, 8 /* 802CE1AC 002C9E0C 7C E8 3A 14 */ add r7, r8, r7 /* 802CE1B0 002C9E10 7C 09 02 14 */ add r0, r9, r0 /* 802CE1B4 002C9E14 7C 07 02 14 */ add r0, r7, r0 /* 802CE1B8 002C9E18 90 01 00 14 */ stw r0, 0x14(r1) /* 802CE1BC 002C9E1C 88 E6 00 10 */ lbz r7, 0x10(r6) /* 802CE1C0 002C9E20 89 06 00 0F */ lbz r8, 0xf(r6) /* 802CE1C4 002C9E24 88 06 00 0E */ lbz r0, 0xe(r6) /* 802CE1C8 002C9E28 54 E9 C0 0E */ slwi r9, r7, 0x18 /* 802CE1CC 002C9E2C 88 E6 00 0D */ lbz r7, 0xd(r6) /* 802CE1D0 002C9E30 55 08 80 1E */ slwi r8, r8, 0x10 /* 802CE1D4 002C9E34 54 00 40 2E */ slwi r0, r0, 8 /* 802CE1D8 002C9E38 7C E8 3A 14 */ add r7, r8, r7 /* 802CE1DC 002C9E3C 7C 09 02 14 */ add r0, r9, r0 /* 802CE1E0 002C9E40 7C 07 02 14 */ add r0, r7, r0 /* 802CE1E4 002C9E44 90 01 00 18 */ stw r0, 0x18(r1) /* 802CE1E8 002C9E48 89 06 00 14 */ lbz r8, 0x14(r6) /* 802CE1EC 002C9E4C 88 E6 00 13 */ lbz r7, 0x13(r6) /* 802CE1F0 002C9E50 88 06 00 12 */ lbz r0, 0x12(r6) /* 802CE1F4 002C9E54 55 08 C0 0E */ slwi r8, r8, 0x18 /* 802CE1F8 002C9E58 88 C6 00 11 */ lbz r6, 0x11(r6) /* 802CE1FC 002C9E5C 54 E7 80 1E */ slwi r7, r7, 0x10 /* 802CE200 002C9E60 54 00 40 2E */ slwi r0, r0, 8 /* 802CE204 002C9E64 7C C7 32 14 */ add r6, r7, r6 /* 802CE208 002C9E68 7C 08 02 14 */ add r0, r8, r0 /* 802CE20C 002C9E6C 7C 06 02 14 */ add r0, r6, r0 /* 802CE210 002C9E70 90 01 00 1C */ stw r0, 0x1c(r1) /* 802CE214 002C9E74 4B FF 66 FD */ bl btm_qos_setup_complete /* 802CE218 002C9E78 80 01 00 24 */ lwz r0, 0x24(r1) /* 802CE21C 002C9E7C 7C 08 03 A6 */ mtlr r0 /* 802CE220 002C9E80 38 21 00 20 */ addi r1, r1, 0x20 /* 802CE224 002C9E84 4E 80 00 20 */ blr .global btu_hcif_esco_connection_comp_evt btu_hcif_esco_connection_comp_evt: /* 802CE228 002C9E88 94 21 FF D0 */ stwu r1, -0x30(r1) /* 802CE22C 002C9E8C 7C 08 02 A6 */ mflr r0 /* 802CE230 002C9E90 38 A0 00 06 */ li r5, 6 /* 802CE234 002C9E94 90 01 00 34 */ stw r0, 0x34(r1) /* 802CE238 002C9E98 38 81 00 08 */ addi r4, r1, 8 /* 802CE23C 002C9E9C 93 E1 00 2C */ stw r31, 0x2c(r1) /* 802CE240 002C9EA0 93 C1 00 28 */ stw r30, 0x28(r1) /* 802CE244 002C9EA4 88 03 00 02 */ lbz r0, 2(r3) /* 802CE248 002C9EA8 8B E3 00 00 */ lbz r31, 0(r3) /* 802CE24C 002C9EAC 54 06 40 2E */ slwi r6, r0, 8 /* 802CE250 002C9EB0 88 E3 00 01 */ lbz r7, 1(r3) /* 802CE254 002C9EB4 88 03 00 03 */ lbz r0, 3(r3) /* 802CE258 002C9EB8 7C C7 32 14 */ add r6, r7, r6 /* 802CE25C 002C9EBC 98 01 00 0D */ stb r0, 0xd(r1) /* 802CE260 002C9EC0 54 DE 04 3E */ clrlwi r30, r6, 0x10 /* 802CE264 002C9EC4 88 03 00 04 */ lbz r0, 4(r3) /* 802CE268 002C9EC8 98 01 00 0C */ stb r0, 0xc(r1) /* 802CE26C 002C9ECC 88 03 00 05 */ lbz r0, 5(r3) /* 802CE270 002C9ED0 98 01 00 0B */ stb r0, 0xb(r1) /* 802CE274 002C9ED4 88 03 00 06 */ lbz r0, 6(r3) /* 802CE278 002C9ED8 98 01 00 0A */ stb r0, 0xa(r1) /* 802CE27C 002C9EDC 88 03 00 07 */ lbz r0, 7(r3) /* 802CE280 002C9EE0 98 01 00 09 */ stb r0, 9(r1) /* 802CE284 002C9EE4 88 03 00 08 */ lbz r0, 8(r3) /* 802CE288 002C9EE8 98 01 00 08 */ stb r0, 8(r1) /* 802CE28C 002C9EEC 88 03 00 09 */ lbz r0, 9(r3) /* 802CE290 002C9EF0 98 01 00 1A */ stb r0, 0x1a(r1) /* 802CE294 002C9EF4 88 03 00 0A */ lbz r0, 0xa(r3) /* 802CE298 002C9EF8 98 01 00 1B */ stb r0, 0x1b(r1) /* 802CE29C 002C9EFC 88 03 00 0B */ lbz r0, 0xb(r3) /* 802CE2A0 002C9F00 98 01 00 1C */ stb r0, 0x1c(r1) /* 802CE2A4 002C9F04 88 03 00 0D */ lbz r0, 0xd(r3) /* 802CE2A8 002C9F08 88 C3 00 0C */ lbz r6, 0xc(r3) /* 802CE2AC 002C9F0C 54 00 40 2E */ slwi r0, r0, 8 /* 802CE2B0 002C9F10 7C 06 02 14 */ add r0, r6, r0 /* 802CE2B4 002C9F14 B0 01 00 10 */ sth r0, 0x10(r1) /* 802CE2B8 002C9F18 88 03 00 0F */ lbz r0, 0xf(r3) /* 802CE2BC 002C9F1C 88 C3 00 0E */ lbz r6, 0xe(r3) /* 802CE2C0 002C9F20 54 00 40 2E */ slwi r0, r0, 8 /* 802CE2C4 002C9F24 7C 06 02 14 */ add r0, r6, r0 /* 802CE2C8 002C9F28 B0 01 00 12 */ sth r0, 0x12(r1) /* 802CE2CC 002C9F2C 88 03 00 10 */ lbz r0, 0x10(r3) /* 802CE2D0 002C9F30 38 61 00 14 */ addi r3, r1, 0x14 /* 802CE2D4 002C9F34 98 01 00 1D */ stb r0, 0x1d(r1) /* 802CE2D8 002C9F38 4B D3 5D 29 */ bl memcpy /* 802CE2DC 002C9F3C 7F E3 FB 78 */ mr r3, r31 /* 802CE2E0 002C9F40 7F C5 F3 78 */ mr r5, r30 /* 802CE2E4 002C9F44 38 81 00 08 */ addi r4, r1, 8 /* 802CE2E8 002C9F48 38 C1 00 10 */ addi r6, r1, 0x10 /* 802CE2EC 002C9F4C 4B FF BD 21 */ bl btm_sco_connected /* 802CE2F0 002C9F50 80 01 00 34 */ lwz r0, 0x34(r1) /* 802CE2F4 002C9F54 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 802CE2F8 002C9F58 83 C1 00 28 */ lwz r30, 0x28(r1) /* 802CE2FC 002C9F5C 7C 08 03 A6 */ mtlr r0 /* 802CE300 002C9F60 38 21 00 30 */ addi r1, r1, 0x30 /* 802CE304 002C9F64 4E 80 00 20 */ blr .global btu_hcif_hdl_command_complete btu_hcif_hdl_command_complete: /* 802CE308 002C9F68 2C 03 0C 14 */ cmpwi r3, 0xc14 /* 802CE30C 002C9F6C 7C 66 1B 78 */ mr r6, r3 /* 802CE310 002C9F70 41 82 01 08 */ beq lbl_802CE418 /* 802CE314 002C9F74 40 80 00 58 */ bge lbl_802CE36C /* 802CE318 002C9F78 2C 03 0C 05 */ cmpwi r3, 0xc05 /* 802CE31C 002C9F7C 41 82 00 B0 */ beq lbl_802CE3CC /* 802CE320 002C9F80 40 80 00 28 */ bge lbl_802CE348 /* 802CE324 002C9F84 2C 03 08 0C */ cmpwi r3, 0x80c /* 802CE328 002C9F88 41 82 00 D0 */ beq lbl_802CE3F8 /* 802CE32C 002C9F8C 40 80 00 10 */ bge lbl_802CE33C /* 802CE330 002C9F90 2C 03 04 02 */ cmpwi r3, 0x402 /* 802CE334 002C9F94 41 82 00 90 */ beq lbl_802CE3C4 /* 802CE338 002C9F98 48 00 01 08 */ b lbl_802CE440 lbl_802CE33C: /* 802CE33C 002C9F9C 2C 03 0C 03 */ cmpwi r3, 0xc03 /* 802CE340 002C9FA0 41 82 00 80 */ beq lbl_802CE3C0 /* 802CE344 002C9FA4 48 00 00 FC */ b lbl_802CE440 lbl_802CE348: /* 802CE348 002C9FA8 2C 03 0C 11 */ cmpwi r3, 0xc11 /* 802CE34C 002C9FAC 41 82 00 90 */ beq lbl_802CE3DC /* 802CE350 002C9FB0 40 80 00 10 */ bge lbl_802CE360 /* 802CE354 002C9FB4 2C 03 0C 0D */ cmpwi r3, 0xc0d /* 802CE358 002C9FB8 41 82 00 7C */ beq lbl_802CE3D4 /* 802CE35C 002C9FBC 48 00 00 E4 */ b lbl_802CE440 lbl_802CE360: /* 802CE360 002C9FC0 2C 03 0C 13 */ cmpwi r3, 0xc13 /* 802CE364 002C9FC4 40 80 00 DC */ bge lbl_802CE440 /* 802CE368 002C9FC8 48 00 00 7C */ b lbl_802CE3E4 lbl_802CE36C: /* 802CE36C 002C9FCC 2C 03 10 09 */ cmpwi r3, 0x1009 /* 802CE370 002C9FD0 41 82 00 B4 */ beq lbl_802CE424 /* 802CE374 002C9FD4 40 80 00 28 */ bge lbl_802CE39C /* 802CE378 002C9FD8 2C 03 10 03 */ cmpwi r3, 0x1003 /* 802CE37C 002C9FDC 41 82 00 90 */ beq lbl_802CE40C /* 802CE380 002C9FE0 40 80 00 10 */ bge lbl_802CE390 /* 802CE384 002C9FE4 2C 03 10 01 */ cmpwi r3, 0x1001 /* 802CE388 002C9FE8 41 82 00 64 */ beq lbl_802CE3EC /* 802CE38C 002C9FEC 48 00 00 B4 */ b lbl_802CE440 lbl_802CE390: /* 802CE390 002C9FF0 2C 03 10 05 */ cmpwi r3, 0x1005 /* 802CE394 002C9FF4 41 82 00 6C */ beq lbl_802CE400 /* 802CE398 002C9FF8 48 00 00 A8 */ b lbl_802CE440 lbl_802CE39C: /* 802CE39C 002C9FFC 2C 03 14 04 */ cmpwi r3, 0x1404 /* 802CE3A0 002CA000 41 82 00 A0 */ beq lbl_802CE440 /* 802CE3A4 002CA004 40 80 00 10 */ bge lbl_802CE3B4 /* 802CE3A8 002CA008 2C 03 14 03 */ cmpwi r3, 0x1403 /* 802CE3AC 002CA00C 40 80 00 84 */ bge lbl_802CE430 /* 802CE3B0 002CA010 48 00 00 90 */ b lbl_802CE440 lbl_802CE3B4: /* 802CE3B4 002CA014 2C 03 14 06 */ cmpwi r3, 0x1406 /* 802CE3B8 002CA018 40 80 00 88 */ bge lbl_802CE440 /* 802CE3BC 002CA01C 48 00 00 7C */ b lbl_802CE438 lbl_802CE3C0: /* 802CE3C0 002CA020 4B FF 7A B4 */ b btm_reset_complete lbl_802CE3C4: /* 802CE3C4 002CA024 38 60 00 00 */ li r3, 0 /* 802CE3C8 002CA028 4B FF A5 DC */ b btm_process_inq_complete lbl_802CE3CC: /* 802CE3CC 002CA02C 7C 83 23 78 */ mr r3, r4 /* 802CE3D0 002CA030 4B FF A1 3C */ b btm_event_filter_complete lbl_802CE3D4: /* 802CE3D4 002CA034 7C 83 23 78 */ mr r3, r4 /* 802CE3D8 002CA038 4B FF 8B 00 */ b btm_read_stored_link_key_complete lbl_802CE3DC: /* 802CE3DC 002CA03C 7C 83 23 78 */ mr r3, r4 /* 802CE3E0 002CA040 4B FF 8B 74 */ b btm_write_stored_link_key_complete lbl_802CE3E4: /* 802CE3E4 002CA044 7C 83 23 78 */ mr r3, r4 /* 802CE3E8 002CA048 4B FF 8B C8 */ b btm_delete_stored_link_key_complete lbl_802CE3EC: /* 802CE3EC 002CA04C 7C 83 23 78 */ mr r3, r4 /* 802CE3F0 002CA050 7C A4 2B 78 */ mr r4, r5 /* 802CE3F4 002CA054 4B FF 7D 0C */ b btm_read_local_version_complete lbl_802CE3F8: /* 802CE3F8 002CA058 7C 83 23 78 */ mr r3, r4 /* 802CE3FC 002CA05C 4B FF 5A 98 */ b btm_read_link_policy_complete lbl_802CE400: /* 802CE400 002CA060 7C 83 23 78 */ mr r3, r4 /* 802CE404 002CA064 7C A4 2B 78 */ mr r4, r5 /* 802CE408 002CA068 4B FF 7C 30 */ b btm_read_hci_buf_size_complete lbl_802CE40C: /* 802CE40C 002CA06C 7C 83 23 78 */ mr r3, r4 /* 802CE410 002CA070 7C A4 2B 78 */ mr r4, r5 /* 802CE414 002CA074 4B FF 7D A8 */ b btm_read_local_features_complete lbl_802CE418: /* 802CE418 002CA078 7C 83 23 78 */ mr r3, r4 /* 802CE41C 002CA07C 7C A4 2B 78 */ mr r4, r5 /* 802CE420 002CA080 4B FF 83 50 */ b btm_read_local_name_complete lbl_802CE424: /* 802CE424 002CA084 7C 83 23 78 */ mr r3, r4 /* 802CE428 002CA088 7C A4 2B 78 */ mr r4, r5 /* 802CE42C 002CA08C 4B FF 84 10 */ b btm_read_local_addr_complete lbl_802CE430: /* 802CE430 002CA090 7C 83 23 78 */ mr r3, r4 /* 802CE434 002CA094 4B FF 69 48 */ b btm_read_link_quality_complete lbl_802CE438: /* 802CE438 002CA098 7C 83 23 78 */ mr r3, r4 /* 802CE43C 002CA09C 4B FF 68 24 */ b btm_read_rssi_complete lbl_802CE440: /* 802CE440 002CA0A0 54 63 04 2A */ rlwinm r3, r3, 0, 0x10, 0x15 /* 802CE444 002CA0A4 3C 03 00 00 */ addis r0, r3, 0 /* 802CE448 002CA0A8 28 00 FC 00 */ cmplwi r0, 0xfc00 /* 802CE44C 002CA0AC 4C 82 00 20 */ bnelr /* 802CE450 002CA0B0 7C 83 23 78 */ mr r3, r4 /* 802CE454 002CA0B4 7C C4 33 78 */ mr r4, r6 /* 802CE458 002CA0B8 4B FF 86 2C */ b btm_vsc_complete /* 802CE45C 002CA0BC 4E 80 00 20 */ blr .global btu_hcif_command_complete_evt btu_hcif_command_complete_evt: /* 802CE460 002CA0C0 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802CE464 002CA0C4 7C 08 02 A6 */ mflr r0 /* 802CE468 002CA0C8 90 01 00 24 */ stw r0, 0x24(r1) /* 802CE46C 002CA0CC 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802CE470 002CA0D0 3F E0 80 57 */ lis r31, lbl_80568650@ha /* 802CE474 002CA0D4 3B FF 86 50 */ addi r31, r31, lbl_80568650@l /* 802CE478 002CA0D8 93 C1 00 18 */ stw r30, 0x18(r1) /* 802CE47C 002CA0DC 93 A1 00 14 */ stw r29, 0x14(r1) /* 802CE480 002CA0E0 7C 9D 23 78 */ mr r29, r4 /* 802CE484 002CA0E4 93 81 00 10 */ stw r28, 0x10(r1) /* 802CE488 002CA0E8 7C 7C 1B 78 */ mr r28, r3 /* 802CE48C 002CA0EC 88 03 00 00 */ lbz r0, 0(r3) /* 802CE490 002CA0F0 B0 1F 00 80 */ sth r0, 0x80(r31) /* 802CE494 002CA0F4 88 03 00 02 */ lbz r0, 2(r3) /* 802CE498 002CA0F8 88 63 00 01 */ lbz r3, 1(r3) /* 802CE49C 002CA0FC 54 00 40 2E */ slwi r0, r0, 8 /* 802CE4A0 002CA100 7C 03 02 14 */ add r0, r3, r0 /* 802CE4A4 002CA104 54 1E 04 3E */ clrlwi r30, r0, 0x10 /* 802CE4A8 002CA108 28 1E 0C 03 */ cmplwi r30, 0xc03 /* 802CE4AC 002CA10C 41 82 00 90 */ beq lbl_802CE53C /* 802CE4B0 002CA110 28 1E 0C 35 */ cmplwi r30, 0xc35 /* 802CE4B4 002CA114 41 82 00 88 */ beq lbl_802CE53C /* 802CE4B8 002CA118 2C 1E 00 00 */ cmpwi r30, 0 /* 802CE4BC 002CA11C 41 82 00 80 */ beq lbl_802CE53C /* 802CE4C0 002CA120 38 7F 00 70 */ addi r3, r31, 0x70 /* 802CE4C4 002CA124 4B FE BF 0D */ bl GKI_dequeue /* 802CE4C8 002CA128 2C 03 00 00 */ cmpwi r3, 0 /* 802CE4CC 002CA12C 41 82 00 3C */ beq lbl_802CE508 /* 802CE4D0 002CA130 88 03 00 09 */ lbz r0, 9(r3) /* 802CE4D4 002CA134 28 1E FC 4C */ cmplwi r30, 0xfc4c /* 802CE4D8 002CA138 88 83 00 08 */ lbz r4, 8(r3) /* 802CE4DC 002CA13C 54 00 40 2E */ slwi r0, r0, 8 /* 802CE4E0 002CA140 7C 04 02 14 */ add r0, r4, r0 /* 802CE4E4 002CA144 54 00 04 3E */ clrlwi r0, r0, 0x10 /* 802CE4E8 002CA148 40 82 00 1C */ bne lbl_802CE504 /* 802CE4EC 002CA14C 7C 00 F0 40 */ cmplw r0, r30 /* 802CE4F0 002CA150 41 82 00 14 */ beq lbl_802CE504 /* 802CE4F4 002CA154 7C 64 1B 78 */ mr r4, r3 /* 802CE4F8 002CA158 38 7F 00 70 */ addi r3, r31, 0x70 /* 802CE4FC 002CA15C 4B FE BD 95 */ bl GKI_enqueue_head /* 802CE500 002CA160 48 00 00 58 */ b lbl_802CE558 lbl_802CE504: /* 802CE504 002CA164 4B FE B8 31 */ bl GKI_freebuf lbl_802CE508: /* 802CE508 002CA168 3F E0 80 57 */ lis r31, lbl_80568650@ha /* 802CE50C 002CA16C 3B FF 86 50 */ addi r31, r31, lbl_80568650@l /* 802CE510 002CA170 38 7F 00 70 */ addi r3, r31, 0x70 /* 802CE514 002CA174 4B FE C0 45 */ bl GKI_queue_is_empty /* 802CE518 002CA178 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802CE51C 002CA17C 40 82 00 18 */ bne lbl_802CE534 /* 802CE520 002CA180 38 7F 00 4C */ addi r3, r31, 0x4c /* 802CE524 002CA184 38 80 00 3C */ li r4, 0x3c /* 802CE528 002CA188 38 A0 00 08 */ li r5, 8 /* 802CE52C 002CA18C 4B FE EF B1 */ bl btu_start_timer /* 802CE530 002CA190 48 00 00 0C */ b lbl_802CE53C lbl_802CE534: /* 802CE534 002CA194 38 7F 00 4C */ addi r3, r31, 0x4c /* 802CE538 002CA198 4B FE F0 15 */ bl btu_stop_timer lbl_802CE53C: /* 802CE53C 002CA19C 38 1D FF FD */ addi r0, r29, -3 /* 802CE540 002CA1A0 7F C3 F3 78 */ mr r3, r30 /* 802CE544 002CA1A4 38 9C 00 03 */ addi r4, r28, 3 /* 802CE548 002CA1A8 54 05 04 3E */ clrlwi r5, r0, 0x10 /* 802CE54C 002CA1AC 4B FF FD BD */ bl btu_hcif_hdl_command_complete /* 802CE550 002CA1B0 38 60 00 00 */ li r3, 0 /* 802CE554 002CA1B4 4B FF F8 E1 */ bl btu_hcif_send_cmd lbl_802CE558: /* 802CE558 002CA1B8 80 01 00 24 */ lwz r0, 0x24(r1) /* 802CE55C 002CA1BC 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802CE560 002CA1C0 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802CE564 002CA1C4 83 A1 00 14 */ lwz r29, 0x14(r1) /* 802CE568 002CA1C8 83 81 00 10 */ lwz r28, 0x10(r1) /* 802CE56C 002CA1CC 7C 08 03 A6 */ mtlr r0 /* 802CE570 002CA1D0 38 21 00 20 */ addi r1, r1, 0x20 /* 802CE574 002CA1D4 4E 80 00 20 */ blr .global btu_hcif_hdl_command_status btu_hcif_hdl_command_status: /* 802CE578 002CA1D8 94 21 FF D0 */ stwu r1, -0x30(r1) /* 802CE57C 002CA1DC 7C 08 02 A6 */ mflr r0 /* 802CE580 002CA1E0 2C 03 08 02 */ cmpwi r3, 0x802 /* 802CE584 002CA1E4 7C 66 1B 78 */ mr r6, r3 /* 802CE588 002CA1E8 90 01 00 34 */ stw r0, 0x34(r1) /* 802CE58C 002CA1EC 93 E1 00 2C */ stw r31, 0x2c(r1) /* 802CE590 002CA1F0 93 C1 00 28 */ stw r30, 0x28(r1) /* 802CE594 002CA1F4 7C 9E 23 78 */ mr r30, r4 /* 802CE598 002CA1F8 41 82 00 28 */ beq lbl_802CE5C0 /* 802CE59C 002CA1FC 40 80 00 10 */ bge lbl_802CE5AC /* 802CE5A0 002CA200 2C 03 08 01 */ cmpwi r3, 0x801 /* 802CE5A4 002CA204 40 80 00 10 */ bge lbl_802CE5B4 /* 802CE5A8 002CA208 48 00 00 18 */ b lbl_802CE5C0 lbl_802CE5AC: /* 802CE5AC 002CA20C 2C 03 08 07 */ cmpwi r3, 0x807 /* 802CE5B0 002CA210 40 80 00 10 */ bge lbl_802CE5C0 lbl_802CE5B4: /* 802CE5B4 002CA214 7F C3 F3 78 */ mr r3, r30 /* 802CE5B8 002CA218 4B FF B1 F1 */ bl btm_pm_proc_cmd_status /* 802CE5BC 002CA21C 48 00 01 A4 */ b lbl_802CE760 lbl_802CE5C0: /* 802CE5C0 002CA220 2C 04 00 00 */ cmpwi r4, 0 /* 802CE5C4 002CA224 41 82 01 9C */ beq lbl_802CE760 /* 802CE5C8 002CA228 2C 03 04 19 */ cmpwi r3, 0x419 /* 802CE5CC 002CA22C 41 82 00 50 */ beq lbl_802CE61C /* 802CE5D0 002CA230 40 80 00 28 */ bge lbl_802CE5F8 /* 802CE5D4 002CA234 2C 03 04 01 */ cmpwi r3, 0x401 /* 802CE5D8 002CA238 41 82 00 38 */ beq lbl_802CE610 /* 802CE5DC 002CA23C 40 80 00 10 */ bge lbl_802CE5EC /* 802CE5E0 002CA240 2C 03 00 0D */ cmpwi r3, 0xd /* 802CE5E4 002CA244 41 82 00 60 */ beq lbl_802CE644 /* 802CE5E8 002CA248 48 00 01 58 */ b lbl_802CE740 lbl_802CE5EC: /* 802CE5EC 002CA24C 2C 03 04 05 */ cmpwi r3, 0x405 /* 802CE5F0 002CA250 41 82 00 80 */ beq lbl_802CE670 /* 802CE5F4 002CA254 48 00 01 4C */ b lbl_802CE740 lbl_802CE5F8: /* 802CE5F8 002CA258 2C 03 08 0B */ cmpwi r3, 0x80b /* 802CE5FC 002CA25C 41 82 00 5C */ beq lbl_802CE658 /* 802CE600 002CA260 40 80 01 40 */ bge lbl_802CE740 /* 802CE604 002CA264 2C 03 04 28 */ cmpwi r3, 0x428 /* 802CE608 002CA268 41 82 00 D4 */ beq lbl_802CE6DC /* 802CE60C 002CA26C 48 00 01 34 */ b lbl_802CE740 lbl_802CE610: /* 802CE610 002CA270 7F C3 F3 78 */ mr r3, r30 /* 802CE614 002CA274 4B FF A3 91 */ bl btm_process_inq_complete /* 802CE618 002CA278 48 00 01 48 */ b lbl_802CE760 lbl_802CE61C: /* 802CE61C 002CA27C 7F C6 F3 78 */ mr r6, r30 /* 802CE620 002CA280 38 60 00 00 */ li r3, 0 /* 802CE624 002CA284 38 80 00 00 */ li r4, 0 /* 802CE628 002CA288 38 A0 00 00 */ li r5, 0 /* 802CE62C 002CA28C 4B FF A5 CD */ bl btm_process_remote_name /* 802CE630 002CA290 7F C5 F3 78 */ mr r5, r30 /* 802CE634 002CA294 38 60 00 00 */ li r3, 0 /* 802CE638 002CA298 38 80 00 00 */ li r4, 0 /* 802CE63C 002CA29C 4B FF D6 19 */ bl btm_sec_rmt_name_request_complete /* 802CE640 002CA2A0 48 00 01 20 */ b lbl_802CE760 lbl_802CE644: /* 802CE644 002CA2A4 7F C3 F3 78 */ mr r3, r30 /* 802CE648 002CA2A8 38 80 00 00 */ li r4, 0 /* 802CE64C 002CA2AC 38 A0 00 00 */ li r5, 0 /* 802CE650 002CA2B0 4B FF 62 C1 */ bl btm_qos_setup_complete /* 802CE654 002CA2B4 48 00 01 0C */ b lbl_802CE760 lbl_802CE658: /* 802CE658 002CA2B8 7F C3 F3 78 */ mr r3, r30 /* 802CE65C 002CA2BC 38 80 00 00 */ li r4, 0 /* 802CE660 002CA2C0 38 A0 00 FF */ li r5, 0xff /* 802CE664 002CA2C4 4B FF 5E 79 */ bl btm_acl_role_changed /* 802CE668 002CA2C8 48 00 A2 71 */ bl l2c_link_role_change_failed /* 802CE66C 002CA2CC 48 00 00 F4 */ b lbl_802CE760 lbl_802CE670: /* 802CE670 002CA2D0 2C 05 00 00 */ cmpwi r5, 0 /* 802CE674 002CA2D4 41 82 00 EC */ beq lbl_802CE760 /* 802CE678 002CA2D8 88 85 00 01 */ lbz r4, 1(r5) /* 802CE67C 002CA2DC 3F E0 00 01 */ lis r31, 0x0000FFFF@ha /* 802CE680 002CA2E0 38 1F FF FF */ addi r0, r31, 0x0000FFFF@l /* 802CE684 002CA2E4 38 61 00 08 */ addi r3, r1, 8 /* 802CE688 002CA2E8 98 81 00 0D */ stb r4, 0xd(r1) /* 802CE68C 002CA2EC 54 04 04 3E */ clrlwi r4, r0, 0x10 /* 802CE690 002CA2F0 38 C0 00 00 */ li r6, 0 /* 802CE694 002CA2F4 88 05 00 02 */ lbz r0, 2(r5) /* 802CE698 002CA2F8 98 01 00 0C */ stb r0, 0xc(r1) /* 802CE69C 002CA2FC 88 05 00 03 */ lbz r0, 3(r5) /* 802CE6A0 002CA300 98 01 00 0B */ stb r0, 0xb(r1) /* 802CE6A4 002CA304 88 05 00 04 */ lbz r0, 4(r5) /* 802CE6A8 002CA308 98 01 00 0A */ stb r0, 0xa(r1) /* 802CE6AC 002CA30C 88 05 00 05 */ lbz r0, 5(r5) /* 802CE6B0 002CA310 98 01 00 09 */ stb r0, 9(r1) /* 802CE6B4 002CA314 88 05 00 06 */ lbz r0, 6(r5) /* 802CE6B8 002CA318 7F C5 F3 78 */ mr r5, r30 /* 802CE6BC 002CA31C 98 01 00 08 */ stb r0, 8(r1) /* 802CE6C0 002CA320 4B FF DE 39 */ bl btm_sec_connected /* 802CE6C4 002CA324 38 1F FF FF */ addi r0, r31, -1 /* 802CE6C8 002CA328 7F C3 F3 78 */ mr r3, r30 /* 802CE6CC 002CA32C 38 A1 00 08 */ addi r5, r1, 8 /* 802CE6D0 002CA330 54 04 04 3E */ clrlwi r4, r0, 0x10 /* 802CE6D4 002CA334 48 00 93 59 */ bl l2c_link_hci_conn_comp /* 802CE6D8 002CA338 48 00 00 88 */ b lbl_802CE760 lbl_802CE6DC: /* 802CE6DC 002CA33C 2C 05 00 00 */ cmpwi r5, 0 /* 802CE6E0 002CA340 41 82 00 80 */ beq lbl_802CE760 /* 802CE6E4 002CA344 88 05 00 02 */ lbz r0, 2(r5) /* 802CE6E8 002CA348 88 65 00 01 */ lbz r3, 1(r5) /* 802CE6EC 002CA34C 54 00 40 2E */ slwi r0, r0, 8 /* 802CE6F0 002CA350 7C 03 02 14 */ add r0, r3, r0 /* 802CE6F4 002CA354 54 1F 04 3E */ clrlwi r31, r0, 0x10 /* 802CE6F8 002CA358 7F E3 FB 78 */ mr r3, r31 /* 802CE6FC 002CA35C 4B FF C0 65 */ bl btm_is_sco_active /* 802CE700 002CA360 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802CE704 002CA364 41 82 00 24 */ beq lbl_802CE728 /* 802CE708 002CA368 7F C3 F3 78 */ mr r3, r30 /* 802CE70C 002CA36C 7F E4 FB 78 */ mr r4, r31 /* 802CE710 002CA370 38 A0 00 00 */ li r5, 0 /* 802CE714 002CA374 38 C0 00 00 */ li r6, 0 /* 802CE718 002CA378 38 E0 00 00 */ li r7, 0 /* 802CE71C 002CA37C 39 00 00 00 */ li r8, 0 /* 802CE720 002CA380 4B FF BF 3D */ bl btm_esco_proc_conn_chg /* 802CE724 002CA384 48 00 00 3C */ b lbl_802CE760 lbl_802CE728: /* 802CE728 002CA388 7F C3 F3 78 */ mr r3, r30 /* 802CE72C 002CA38C 7F E5 FB 78 */ mr r5, r31 /* 802CE730 002CA390 38 C1 00 10 */ addi r6, r1, 0x10 /* 802CE734 002CA394 38 80 00 00 */ li r4, 0 /* 802CE738 002CA398 4B FF B8 D5 */ bl btm_sco_connected /* 802CE73C 002CA39C 48 00 00 24 */ b lbl_802CE760 lbl_802CE740: /* 802CE740 002CA3A0 54 63 04 2A */ rlwinm r3, r3, 0, 0x10, 0x15 /* 802CE744 002CA3A4 3C 03 00 00 */ addis r0, r3, 0 /* 802CE748 002CA3A8 28 00 FC 00 */ cmplwi r0, 0xfc00 /* 802CE74C 002CA3AC 40 82 00 14 */ bne lbl_802CE760 /* 802CE750 002CA3B0 7C A3 2B 78 */ mr r3, r5 /* 802CE754 002CA3B4 7C C4 33 78 */ mr r4, r6 /* 802CE758 002CA3B8 38 A0 00 01 */ li r5, 1 /* 802CE75C 002CA3BC 4B FF 83 29 */ bl btm_vsc_complete lbl_802CE760: /* 802CE760 002CA3C0 80 01 00 34 */ lwz r0, 0x34(r1) /* 802CE764 002CA3C4 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 802CE768 002CA3C8 83 C1 00 28 */ lwz r30, 0x28(r1) /* 802CE76C 002CA3CC 7C 08 03 A6 */ mtlr r0 /* 802CE770 002CA3D0 38 21 00 30 */ addi r1, r1, 0x30 /* 802CE774 002CA3D4 4E 80 00 20 */ blr .global btu_hcif_command_status_evt btu_hcif_command_status_evt: /* 802CE778 002CA3D8 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802CE77C 002CA3DC 7C 08 02 A6 */ mflr r0 /* 802CE780 002CA3E0 90 01 00 24 */ stw r0, 0x24(r1) /* 802CE784 002CA3E4 39 61 00 20 */ addi r11, r1, 0x20 /* 802CE788 002CA3E8 4B EF 89 A1 */ bl _savegpr_27 /* 802CE78C 002CA3EC 3C 80 80 57 */ lis r4, lbl_80568650@ha /* 802CE790 002CA3F0 8B A3 00 00 */ lbz r29, 0(r3) /* 802CE794 002CA3F4 88 03 00 01 */ lbz r0, 1(r3) /* 802CE798 002CA3F8 38 84 86 50 */ addi r4, r4, lbl_80568650@l /* 802CE79C 002CA3FC 3B E0 00 00 */ li r31, 0 /* 802CE7A0 002CA400 3B 60 00 00 */ li r27, 0 /* 802CE7A4 002CA404 B0 04 00 80 */ sth r0, 0x80(r4) /* 802CE7A8 002CA408 88 03 00 03 */ lbz r0, 3(r3) /* 802CE7AC 002CA40C 88 63 00 02 */ lbz r3, 2(r3) /* 802CE7B0 002CA410 54 00 40 2E */ slwi r0, r0, 8 /* 802CE7B4 002CA414 7C 03 02 14 */ add r0, r3, r0 /* 802CE7B8 002CA418 54 1C 04 3E */ clrlwi r28, r0, 0x10 /* 802CE7BC 002CA41C 28 1C 0C 03 */ cmplwi r28, 0xc03 /* 802CE7C0 002CA420 41 82 00 A0 */ beq lbl_802CE860 /* 802CE7C4 002CA424 28 1C 0C 35 */ cmplwi r28, 0xc35 /* 802CE7C8 002CA428 41 82 00 98 */ beq lbl_802CE860 /* 802CE7CC 002CA42C 2C 1C 00 00 */ cmpwi r28, 0 /* 802CE7D0 002CA430 41 82 00 90 */ beq lbl_802CE860 /* 802CE7D4 002CA434 38 64 00 70 */ addi r3, r4, 0x70 /* 802CE7D8 002CA438 4B FE BB F9 */ bl GKI_dequeue /* 802CE7DC 002CA43C 2C 03 00 00 */ cmpwi r3, 0 /* 802CE7E0 002CA440 7C 7F 1B 78 */ mr r31, r3 /* 802CE7E4 002CA444 41 82 00 48 */ beq lbl_802CE82C /* 802CE7E8 002CA448 A0 03 00 04 */ lhz r0, 4(r3) /* 802CE7EC 002CA44C 7C 63 02 14 */ add r3, r3, r0 /* 802CE7F0 002CA450 88 03 00 09 */ lbz r0, 9(r3) /* 802CE7F4 002CA454 3B 63 00 0A */ addi r27, r3, 0xa /* 802CE7F8 002CA458 88 63 00 08 */ lbz r3, 8(r3) /* 802CE7FC 002CA45C 54 00 40 2E */ slwi r0, r0, 8 /* 802CE800 002CA460 7C 03 02 14 */ add r0, r3, r0 /* 802CE804 002CA464 54 06 04 3E */ clrlwi r6, r0, 0x10 /* 802CE808 002CA468 7C 06 E0 40 */ cmplw r6, r28 /* 802CE80C 002CA46C 41 82 00 20 */ beq lbl_802CE82C /* 802CE810 002CA470 3C 60 00 07 */ lis r3, 0x00070001@ha /* 802CE814 002CA474 3C 80 80 44 */ lis r4, lbl_804422B8@ha /* 802CE818 002CA478 7F 85 E3 78 */ mr r5, r28 /* 802CE81C 002CA47C 3B 60 00 00 */ li r27, 0 /* 802CE820 002CA480 38 63 00 01 */ addi r3, r3, 0x00070001@l /* 802CE824 002CA484 38 84 22 B8 */ addi r4, r4, lbl_804422B8@l /* 802CE828 002CA488 4B FE E7 19 */ bl LogMsg_2 lbl_802CE82C: /* 802CE82C 002CA48C 3F C0 80 57 */ lis r30, lbl_80568650@ha /* 802CE830 002CA490 3B DE 86 50 */ addi r30, r30, lbl_80568650@l /* 802CE834 002CA494 38 7E 00 70 */ addi r3, r30, 0x70 /* 802CE838 002CA498 4B FE BD 21 */ bl GKI_queue_is_empty /* 802CE83C 002CA49C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802CE840 002CA4A0 40 82 00 18 */ bne lbl_802CE858 /* 802CE844 002CA4A4 38 7E 00 4C */ addi r3, r30, 0x4c /* 802CE848 002CA4A8 38 80 00 3C */ li r4, 0x3c /* 802CE84C 002CA4AC 38 A0 00 08 */ li r5, 8 /* 802CE850 002CA4B0 4B FE EC 8D */ bl btu_start_timer /* 802CE854 002CA4B4 48 00 00 0C */ b lbl_802CE860 lbl_802CE858: /* 802CE858 002CA4B8 38 7E 00 4C */ addi r3, r30, 0x4c /* 802CE85C 002CA4BC 4B FE EC F1 */ bl btu_stop_timer lbl_802CE860: /* 802CE860 002CA4C0 7F 83 E3 78 */ mr r3, r28 /* 802CE864 002CA4C4 7F A4 EB 78 */ mr r4, r29 /* 802CE868 002CA4C8 7F 65 DB 78 */ mr r5, r27 /* 802CE86C 002CA4CC 4B FF FD 0D */ bl btu_hcif_hdl_command_status /* 802CE870 002CA4D0 2C 1F 00 00 */ cmpwi r31, 0 /* 802CE874 002CA4D4 41 82 00 0C */ beq lbl_802CE880 /* 802CE878 002CA4D8 7F E3 FB 78 */ mr r3, r31 /* 802CE87C 002CA4DC 4B FE B4 B9 */ bl GKI_freebuf lbl_802CE880: /* 802CE880 002CA4E0 38 60 00 00 */ li r3, 0 /* 802CE884 002CA4E4 4B FF F5 B1 */ bl btu_hcif_send_cmd /* 802CE888 002CA4E8 39 61 00 20 */ addi r11, r1, 0x20 /* 802CE88C 002CA4EC 4B EF 88 E9 */ bl _restgpr_27 /* 802CE890 002CA4F0 80 01 00 24 */ lwz r0, 0x24(r1) /* 802CE894 002CA4F4 7C 08 03 A6 */ mtlr r0 /* 802CE898 002CA4F8 38 21 00 20 */ addi r1, r1, 0x20 /* 802CE89C 002CA4FC 4E 80 00 20 */ blr .global btu_hcif_cmd_timeout btu_hcif_cmd_timeout: /* 802CE8A0 002CA500 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802CE8A4 002CA504 7C 08 02 A6 */ mflr r0 /* 802CE8A8 002CA508 90 01 00 24 */ stw r0, 0x24(r1) /* 802CE8AC 002CA50C 38 00 00 01 */ li r0, 1 /* 802CE8B0 002CA510 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802CE8B4 002CA514 3F E0 80 57 */ lis r31, lbl_80568650@ha /* 802CE8B8 002CA518 3B FF 86 50 */ addi r31, r31, lbl_80568650@l /* 802CE8BC 002CA51C 93 C1 00 18 */ stw r30, 0x18(r1) /* 802CE8C0 002CA520 38 7F 00 70 */ addi r3, r31, 0x70 /* 802CE8C4 002CA524 93 A1 00 14 */ stw r29, 0x14(r1) /* 802CE8C8 002CA528 B0 1F 00 80 */ sth r0, 0x80(r31) /* 802CE8CC 002CA52C 4B FE BB 05 */ bl GKI_dequeue /* 802CE8D0 002CA530 2C 03 00 00 */ cmpwi r3, 0 /* 802CE8D4 002CA534 7C 7E 1B 78 */ mr r30, r3 /* 802CE8D8 002CA538 40 82 00 1C */ bne lbl_802CE8F4 /* 802CE8DC 002CA53C 3C 60 00 07 */ lis r3, 0x00070001@ha /* 802CE8E0 002CA540 3C 80 80 44 */ lis r4, lbl_804422E0@ha /* 802CE8E4 002CA544 38 63 00 01 */ addi r3, r3, 0x00070001@l /* 802CE8E8 002CA548 38 84 22 E0 */ addi r4, r4, lbl_804422E0@l /* 802CE8EC 002CA54C 4B FE E6 25 */ bl LogMsg_0 /* 802CE8F0 002CA550 48 00 00 EC */ b lbl_802CE9DC lbl_802CE8F4: /* 802CE8F4 002CA554 38 7F 00 70 */ addi r3, r31, 0x70 /* 802CE8F8 002CA558 4B FE BC 61 */ bl GKI_queue_is_empty /* 802CE8FC 002CA55C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802CE900 002CA560 40 82 00 14 */ bne lbl_802CE914 /* 802CE904 002CA564 38 7F 00 4C */ addi r3, r31, 0x4c /* 802CE908 002CA568 38 80 00 3C */ li r4, 0x3c /* 802CE90C 002CA56C 38 A0 00 08 */ li r5, 8 /* 802CE910 002CA570 4B FE EB CD */ bl btu_start_timer lbl_802CE914: /* 802CE914 002CA574 A0 1E 00 04 */ lhz r0, 4(r30) /* 802CE918 002CA578 3C 60 00 07 */ lis r3, 0x00070001@ha /* 802CE91C 002CA57C 3C 80 80 44 */ lis r4, lbl_80442300@ha /* 802CE920 002CA580 7F FE 02 14 */ add r31, r30, r0 /* 802CE924 002CA584 38 63 00 01 */ addi r3, r3, 0x00070001@l /* 802CE928 002CA588 88 1F 00 09 */ lbz r0, 9(r31) /* 802CE92C 002CA58C 38 84 23 00 */ addi r4, r4, lbl_80442300@l /* 802CE930 002CA590 88 BF 00 08 */ lbz r5, 8(r31) /* 802CE934 002CA594 54 00 40 2E */ slwi r0, r0, 8 /* 802CE938 002CA598 7C 05 02 14 */ add r0, r5, r0 /* 802CE93C 002CA59C 54 1D 04 3E */ clrlwi r29, r0, 0x10 /* 802CE940 002CA5A0 7F A5 EB 78 */ mr r5, r29 /* 802CE944 002CA5A4 4B FE E5 E5 */ bl LogMsg_1 /* 802CE948 002CA5A8 2C 1D 04 19 */ cmpwi r29, 0x419 /* 802CE94C 002CA5AC 41 82 00 4C */ beq lbl_802CE998 /* 802CE950 002CA5B0 40 80 00 28 */ bge lbl_802CE978 /* 802CE954 002CA5B4 2C 1D 04 01 */ cmpwi r29, 0x401 /* 802CE958 002CA5B8 41 82 00 40 */ beq lbl_802CE998 /* 802CE95C 002CA5BC 40 80 00 10 */ bge lbl_802CE96C /* 802CE960 002CA5C0 2C 1D 00 0D */ cmpwi r29, 0xd /* 802CE964 002CA5C4 41 82 00 34 */ beq lbl_802CE998 /* 802CE968 002CA5C8 48 00 00 44 */ b lbl_802CE9AC lbl_802CE96C: /* 802CE96C 002CA5CC 2C 1D 04 05 */ cmpwi r29, 0x405 /* 802CE970 002CA5D0 41 82 00 28 */ beq lbl_802CE998 /* 802CE974 002CA5D4 48 00 00 38 */ b lbl_802CE9AC lbl_802CE978: /* 802CE978 002CA5D8 2C 1D 08 02 */ cmpwi r29, 0x802 /* 802CE97C 002CA5DC 41 82 00 30 */ beq lbl_802CE9AC /* 802CE980 002CA5E0 40 80 00 10 */ bge lbl_802CE990 /* 802CE984 002CA5E4 2C 1D 08 01 */ cmpwi r29, 0x801 /* 802CE988 002CA5E8 40 80 00 10 */ bge lbl_802CE998 /* 802CE98C 002CA5EC 48 00 00 20 */ b lbl_802CE9AC lbl_802CE990: /* 802CE990 002CA5F0 2C 1D 08 07 */ cmpwi r29, 0x807 /* 802CE994 002CA5F4 40 80 00 18 */ bge lbl_802CE9AC lbl_802CE998: /* 802CE998 002CA5F8 7F A3 EB 78 */ mr r3, r29 /* 802CE99C 002CA5FC 38 BF 00 0A */ addi r5, r31, 0xa /* 802CE9A0 002CA600 38 80 00 1F */ li r4, 0x1f /* 802CE9A4 002CA604 4B FF FB D5 */ bl btu_hcif_hdl_command_status /* 802CE9A8 002CA608 48 00 00 1C */ b lbl_802CE9C4 lbl_802CE9AC: /* 802CE9AC 002CA60C 38 00 00 1F */ li r0, 0x1f /* 802CE9B0 002CA610 7F A3 EB 78 */ mr r3, r29 /* 802CE9B4 002CA614 98 01 00 08 */ stb r0, 8(r1) /* 802CE9B8 002CA618 38 81 00 08 */ addi r4, r1, 8 /* 802CE9BC 002CA61C 38 A0 00 01 */ li r5, 1 /* 802CE9C0 002CA620 4B FF F9 49 */ bl btu_hcif_hdl_command_complete lbl_802CE9C4: /* 802CE9C4 002CA624 7F C3 F3 78 */ mr r3, r30 /* 802CE9C8 002CA628 4B FE B3 6D */ bl GKI_freebuf /* 802CE9CC 002CA62C 38 60 00 02 */ li r3, 2 /* 802CE9D0 002CA630 4B FF 87 D5 */ bl btm_report_device_status /* 802CE9D4 002CA634 38 60 00 00 */ li r3, 0 /* 802CE9D8 002CA638 4B FF F4 5D */ bl btu_hcif_send_cmd lbl_802CE9DC: /* 802CE9DC 002CA63C 80 01 00 24 */ lwz r0, 0x24(r1) /* 802CE9E0 002CA640 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802CE9E4 002CA644 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802CE9E8 002CA648 83 A1 00 14 */ lwz r29, 0x14(r1) /* 802CE9EC 002CA64C 7C 08 03 A6 */ mtlr r0 /* 802CE9F0 002CA650 38 21 00 20 */ addi r1, r1, 0x20 /* 802CE9F4 002CA654 4E 80 00 20 */ blr .global btu_hcif_link_key_notification_evt btu_hcif_link_key_notification_evt: /* 802CE9F8 002CA658 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802CE9FC 002CA65C 7C 08 02 A6 */ mflr r0 /* 802CEA00 002CA660 38 A3 00 16 */ addi r5, r3, 0x16 /* 802CEA04 002CA664 90 01 00 24 */ stw r0, 0x24(r1) /* 802CEA08 002CA668 38 81 00 10 */ addi r4, r1, 0x10 /* 802CEA0C 002CA66C 88 03 00 00 */ lbz r0, 0(r3) /* 802CEA10 002CA670 98 01 00 0D */ stb r0, 0xd(r1) /* 802CEA14 002CA674 88 03 00 01 */ lbz r0, 1(r3) /* 802CEA18 002CA678 98 01 00 0C */ stb r0, 0xc(r1) /* 802CEA1C 002CA67C 88 03 00 02 */ lbz r0, 2(r3) /* 802CEA20 002CA680 98 01 00 0B */ stb r0, 0xb(r1) /* 802CEA24 002CA684 88 03 00 03 */ lbz r0, 3(r3) /* 802CEA28 002CA688 98 01 00 0A */ stb r0, 0xa(r1) /* 802CEA2C 002CA68C 88 03 00 04 */ lbz r0, 4(r3) /* 802CEA30 002CA690 98 01 00 09 */ stb r0, 9(r1) /* 802CEA34 002CA694 88 03 00 05 */ lbz r0, 5(r3) /* 802CEA38 002CA698 98 01 00 08 */ stb r0, 8(r1) /* 802CEA3C 002CA69C 88 03 00 06 */ lbz r0, 6(r3) /* 802CEA40 002CA6A0 98 01 00 1F */ stb r0, 0x1f(r1) /* 802CEA44 002CA6A4 88 03 00 07 */ lbz r0, 7(r3) /* 802CEA48 002CA6A8 98 01 00 1E */ stb r0, 0x1e(r1) /* 802CEA4C 002CA6AC 88 03 00 08 */ lbz r0, 8(r3) /* 802CEA50 002CA6B0 98 01 00 1D */ stb r0, 0x1d(r1) /* 802CEA54 002CA6B4 88 03 00 09 */ lbz r0, 9(r3) /* 802CEA58 002CA6B8 98 01 00 1C */ stb r0, 0x1c(r1) /* 802CEA5C 002CA6BC 88 03 00 0A */ lbz r0, 0xa(r3) /* 802CEA60 002CA6C0 98 01 00 1B */ stb r0, 0x1b(r1) /* 802CEA64 002CA6C4 88 03 00 0B */ lbz r0, 0xb(r3) /* 802CEA68 002CA6C8 98 01 00 1A */ stb r0, 0x1a(r1) /* 802CEA6C 002CA6CC 88 03 00 0C */ lbz r0, 0xc(r3) /* 802CEA70 002CA6D0 98 01 00 19 */ stb r0, 0x19(r1) /* 802CEA74 002CA6D4 88 03 00 0D */ lbz r0, 0xd(r3) /* 802CEA78 002CA6D8 98 01 00 18 */ stb r0, 0x18(r1) /* 802CEA7C 002CA6DC 88 03 00 0E */ lbz r0, 0xe(r3) /* 802CEA80 002CA6E0 98 01 00 17 */ stb r0, 0x17(r1) /* 802CEA84 002CA6E4 88 03 00 0F */ lbz r0, 0xf(r3) /* 802CEA88 002CA6E8 98 01 00 16 */ stb r0, 0x16(r1) /* 802CEA8C 002CA6EC 88 03 00 10 */ lbz r0, 0x10(r3) /* 802CEA90 002CA6F0 98 01 00 15 */ stb r0, 0x15(r1) /* 802CEA94 002CA6F4 88 03 00 11 */ lbz r0, 0x11(r3) /* 802CEA98 002CA6F8 98 01 00 14 */ stb r0, 0x14(r1) /* 802CEA9C 002CA6FC 88 03 00 12 */ lbz r0, 0x12(r3) /* 802CEAA0 002CA700 98 01 00 13 */ stb r0, 0x13(r1) /* 802CEAA4 002CA704 88 03 00 13 */ lbz r0, 0x13(r3) /* 802CEAA8 002CA708 98 01 00 12 */ stb r0, 0x12(r1) /* 802CEAAC 002CA70C 88 03 00 14 */ lbz r0, 0x14(r3) /* 802CEAB0 002CA710 98 01 00 11 */ stb r0, 0x11(r1) /* 802CEAB4 002CA714 88 03 00 15 */ lbz r0, 0x15(r3) /* 802CEAB8 002CA718 38 61 00 08 */ addi r3, r1, 8 /* 802CEABC 002CA71C 98 01 00 10 */ stb r0, 0x10(r1) /* 802CEAC0 002CA720 88 A5 00 00 */ lbz r5, 0(r5) /* 802CEAC4 002CA724 4B FF E0 AD */ bl btm_sec_link_key_notification /* 802CEAC8 002CA728 80 01 00 24 */ lwz r0, 0x24(r1) /* 802CEACC 002CA72C 7C 08 03 A6 */ mtlr r0 /* 802CEAD0 002CA730 38 21 00 20 */ addi r1, r1, 0x20 /* 802CEAD4 002CA734 4E 80 00 20 */ blr