.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global port_select_mtu port_select_mtu: /* 802DCDA4 002D8A04 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802DCDA8 002D8A08 7C 08 02 A6 */ mflr r0 /* 802DCDAC 002D8A0C 90 01 00 14 */ stw r0, 0x14(r1) /* 802DCDB0 002D8A10 93 E1 00 0C */ stw r31, 0xc(r1) /* 802DCDB4 002D8A14 3F E0 80 44 */ lis r31, lbl_80444590@ha /* 802DCDB8 002D8A18 3B FF 45 90 */ addi r31, r31, lbl_80444590@l /* 802DCDBC 002D8A1C 93 C1 00 08 */ stw r30, 8(r1) /* 802DCDC0 002D8A20 7C 7E 1B 78 */ mr r30, r3 /* 802DCDC4 002D8A24 A0 A3 00 12 */ lhz r5, 0x12(r3) /* 802DCDC8 002D8A28 2C 05 00 00 */ cmpwi r5, 0 /* 802DCDCC 002D8A2C 40 82 00 C0 */ bne lbl_802DCE8C /* 802DCDD0 002D8A30 38 63 00 06 */ addi r3, r3, 6 /* 802DCDD4 002D8A34 4B FE 79 59 */ bl btm_get_max_packet_size /* 802DCDD8 002D8A38 54 65 04 3F */ clrlwi. r5, r3, 0x10 /* 802DCDDC 002D8A3C 40 82 00 34 */ bne lbl_802DCE10 /* 802DCDE0 002D8A40 3C 60 80 57 */ lis r3, lbl_8056C428@ha /* 802DCDE4 002D8A44 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l /* 802DCDE8 002D8A48 88 03 04 14 */ lbz r0, 0x414(r3) /* 802DCDEC 002D8A4C 28 00 00 02 */ cmplwi r0, 2 /* 802DCDF0 002D8A50 41 80 00 14 */ blt lbl_802DCE04 /* 802DCDF4 002D8A54 3C 60 00 09 */ lis r3, 0x00090001@ha /* 802DCDF8 002D8A58 38 9F 00 00 */ addi r4, r31, 0 /* 802DCDFC 002D8A5C 38 63 00 01 */ addi r3, r3, 0x00090001@l /* 802DCE00 002D8A60 4B FE 01 11 */ bl LogMsg_0 lbl_802DCE04: /* 802DCE04 002D8A64 38 00 00 7F */ li r0, 0x7f /* 802DCE08 002D8A68 B0 1E 00 12 */ sth r0, 0x12(r30) /* 802DCE0C 002D8A6C 48 00 00 A4 */ b lbl_802DCEB0 lbl_802DCE10: /* 802DCE10 002D8A70 28 05 06 9F */ cmplwi r5, 0x69f /* 802DCE14 002D8A74 41 81 00 44 */ bgt lbl_802DCE58 /* 802DCE18 002D8A78 38 00 06 9F */ li r0, 0x69f /* 802DCE1C 002D8A7C 3C 80 80 57 */ lis r4, lbl_8056C428@ha /* 802DCE20 002D8A80 7C 00 2B D6 */ divw r0, r0, r5 /* 802DCE24 002D8A84 38 84 C4 28 */ addi r4, r4, lbl_8056C428@l /* 802DCE28 002D8A88 7C 60 19 D6 */ mullw r3, r0, r3 /* 802DCE2C 002D8A8C 38 A3 FF F6 */ addi r5, r3, -10 /* 802DCE30 002D8A90 B0 BE 00 12 */ sth r5, 0x12(r30) /* 802DCE34 002D8A94 88 04 04 14 */ lbz r0, 0x414(r4) /* 802DCE38 002D8A98 28 00 00 05 */ cmplwi r0, 5 /* 802DCE3C 002D8A9C 41 80 00 74 */ blt lbl_802DCEB0 /* 802DCE40 002D8AA0 3C 60 00 09 */ lis r3, 0x00090004@ha /* 802DCE44 002D8AA4 38 9F 00 20 */ addi r4, r31, 0x20 /* 802DCE48 002D8AA8 38 63 00 04 */ addi r3, r3, 0x00090004@l /* 802DCE4C 002D8AAC 54 A5 04 3E */ clrlwi r5, r5, 0x10 /* 802DCE50 002D8AB0 4B FE 00 D9 */ bl LogMsg_1 /* 802DCE54 002D8AB4 48 00 00 5C */ b lbl_802DCEB0 lbl_802DCE58: /* 802DCE58 002D8AB8 38 00 06 95 */ li r0, 0x695 /* 802DCE5C 002D8ABC 3C 60 80 57 */ lis r3, lbl_8056C428@ha /* 802DCE60 002D8AC0 B0 1E 00 12 */ sth r0, 0x12(r30) /* 802DCE64 002D8AC4 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l /* 802DCE68 002D8AC8 88 03 04 14 */ lbz r0, 0x414(r3) /* 802DCE6C 002D8ACC 28 00 00 05 */ cmplwi r0, 5 /* 802DCE70 002D8AD0 41 80 00 40 */ blt lbl_802DCEB0 /* 802DCE74 002D8AD4 3C 60 00 09 */ lis r3, 0x00090004@ha /* 802DCE78 002D8AD8 38 9F 00 58 */ addi r4, r31, 0x58 /* 802DCE7C 002D8ADC 38 63 00 04 */ addi r3, r3, 0x00090004@l /* 802DCE80 002D8AE0 38 A0 06 95 */ li r5, 0x695 /* 802DCE84 002D8AE4 4B FE 00 A5 */ bl LogMsg_1 /* 802DCE88 002D8AE8 48 00 00 28 */ b lbl_802DCEB0 lbl_802DCE8C: /* 802DCE8C 002D8AEC 3C 60 80 57 */ lis r3, lbl_8056C428@ha /* 802DCE90 002D8AF0 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l /* 802DCE94 002D8AF4 88 03 04 14 */ lbz r0, 0x414(r3) /* 802DCE98 002D8AF8 28 00 00 05 */ cmplwi r0, 5 /* 802DCE9C 002D8AFC 41 80 00 14 */ blt lbl_802DCEB0 /* 802DCEA0 002D8B00 3C 60 00 09 */ lis r3, 0x00090004@ha /* 802DCEA4 002D8B04 38 9F 00 90 */ addi r4, r31, 0x90 /* 802DCEA8 002D8B08 38 63 00 04 */ addi r3, r3, 0x00090004@l /* 802DCEAC 002D8B0C 4B FE 00 7D */ bl LogMsg_1 lbl_802DCEB0: /* 802DCEB0 002D8B10 A0 FE 00 12 */ lhz r7, 0x12(r30) /* 802DCEB4 002D8B14 38 60 1F 40 */ li r3, 0x1f40 /* 802DCEB8 002D8B18 38 80 13 88 */ li r4, 0x1388 /* 802DCEBC 002D8B1C 38 00 2E E0 */ li r0, 0x2ee0 /* 802DCEC0 002D8B20 7C A3 3B D6 */ divw r5, r3, r7 /* 802DCEC4 002D8B24 3C 60 80 57 */ lis r3, lbl_8056C428@ha /* 802DCEC8 002D8B28 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l /* 802DCECC 002D8B2C 7C C4 3B D6 */ divw r6, r4, r7 /* 802DCED0 002D8B30 B0 BE 00 9C */ sth r5, 0x9c(r30) /* 802DCED4 002D8B34 7C E0 3B D6 */ divw r7, r0, r7 /* 802DCED8 002D8B38 B0 DE 00 9E */ sth r6, 0x9e(r30) /* 802DCEDC 002D8B3C B0 FE 00 A0 */ sth r7, 0xa0(r30) /* 802DCEE0 002D8B40 88 03 04 14 */ lbz r0, 0x414(r3) /* 802DCEE4 002D8B44 28 00 00 05 */ cmplwi r0, 5 /* 802DCEE8 002D8B48 41 80 00 20 */ blt lbl_802DCF08 /* 802DCEEC 002D8B4C 3C 60 00 09 */ lis r3, 0x00090004@ha /* 802DCEF0 002D8B50 38 9F 00 B8 */ addi r4, r31, 0xb8 /* 802DCEF4 002D8B54 38 63 00 04 */ addi r3, r3, 0x00090004@l /* 802DCEF8 002D8B58 54 A5 04 3E */ clrlwi r5, r5, 0x10 /* 802DCEFC 002D8B5C 54 C6 04 3E */ clrlwi r6, r6, 0x10 /* 802DCF00 002D8B60 54 E7 04 3E */ clrlwi r7, r7, 0x10 /* 802DCF04 002D8B64 4B FE 00 55 */ bl LogMsg_3 lbl_802DCF08: /* 802DCF08 002D8B68 80 01 00 14 */ lwz r0, 0x14(r1) /* 802DCF0C 002D8B6C 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802DCF10 002D8B70 83 C1 00 08 */ lwz r30, 8(r1) /* 802DCF14 002D8B74 7C 08 03 A6 */ mtlr r0 /* 802DCF18 002D8B78 38 21 00 10 */ addi r1, r1, 0x10 /* 802DCF1C 002D8B7C 4E 80 00 20 */ blr .global port_release_port port_release_port: /* 802DCF20 002D8B80 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802DCF24 002D8B84 7C 08 02 A6 */ mflr r0 /* 802DCF28 002D8B88 90 01 00 14 */ stw r0, 0x14(r1) /* 802DCF2C 002D8B8C 93 E1 00 0C */ stw r31, 0xc(r1) /* 802DCF30 002D8B90 7C 7F 1B 78 */ mr r31, r3 /* 802DCF34 002D8B94 48 00 00 08 */ b lbl_802DCF3C lbl_802DCF38: /* 802DCF38 002D8B98 4B FD CD FD */ bl GKI_freebuf lbl_802DCF3C: /* 802DCF3C 002D8B9C 38 7F 00 30 */ addi r3, r31, 0x30 /* 802DCF40 002D8BA0 4B FD D4 91 */ bl GKI_dequeue /* 802DCF44 002D8BA4 2C 03 00 00 */ cmpwi r3, 0 /* 802DCF48 002D8BA8 40 82 FF F0 */ bne lbl_802DCF38 /* 802DCF4C 002D8BAC 38 00 00 00 */ li r0, 0 /* 802DCF50 002D8BB0 90 1F 00 40 */ stw r0, 0x40(r31) /* 802DCF54 002D8BB4 48 00 00 08 */ b lbl_802DCF5C lbl_802DCF58: /* 802DCF58 002D8BB8 4B FD CD DD */ bl GKI_freebuf lbl_802DCF5C: /* 802DCF5C 002D8BBC 38 7F 00 18 */ addi r3, r31, 0x18 /* 802DCF60 002D8BC0 4B FD D4 71 */ bl GKI_dequeue /* 802DCF64 002D8BC4 2C 03 00 00 */ cmpwi r3, 0 /* 802DCF68 002D8BC8 40 82 FF F0 */ bne lbl_802DCF58 /* 802DCF6C 002D8BCC 88 1F 00 68 */ lbz r0, 0x68(r31) /* 802DCF70 002D8BD0 38 60 00 00 */ li r3, 0 /* 802DCF74 002D8BD4 90 7F 00 28 */ stw r3, 0x28(r31) /* 802DCF78 002D8BD8 2C 00 00 00 */ cmpwi r0, 0 /* 802DCF7C 002D8BDC 98 7F 00 02 */ stb r3, 2(r31) /* 802DCF80 002D8BE0 40 82 00 68 */ bne lbl_802DCFE8 /* 802DCF84 002D8BE4 3C 60 80 57 */ lis r3, lbl_8056C428@ha /* 802DCF88 002D8BE8 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l /* 802DCF8C 002D8BEC 88 03 04 14 */ lbz r0, 0x414(r3) /* 802DCF90 002D8BF0 28 00 00 05 */ cmplwi r0, 5 /* 802DCF94 002D8BF4 41 80 00 18 */ blt lbl_802DCFAC /* 802DCF98 002D8BF8 3C 60 00 09 */ lis r3, 0x00090004@ha /* 802DCF9C 002D8BFC 3C 80 80 44 */ lis r4, lbl_80444690@ha /* 802DCFA0 002D8C00 38 63 00 04 */ addi r3, r3, 0x00090004@l /* 802DCFA4 002D8C04 38 84 46 90 */ addi r4, r4, lbl_80444690@l /* 802DCFA8 002D8C08 4B FD FF 69 */ bl LogMsg_0 lbl_802DCFAC: /* 802DCFAC 002D8C0C 80 7F 00 6C */ lwz r3, 0x6c(r31) /* 802DCFB0 002D8C10 2C 03 00 00 */ cmpwi r3, 0 /* 802DCFB4 002D8C14 41 82 00 1C */ beq lbl_802DCFD0 /* 802DCFB8 002D8C18 88 1F 00 0D */ lbz r0, 0xd(r31) /* 802DCFBC 002D8C1C 38 80 00 00 */ li r4, 0 /* 802DCFC0 002D8C20 7C 63 02 14 */ add r3, r3, r0 /* 802DCFC4 002D8C24 98 83 00 24 */ stb r4, 0x24(r3) /* 802DCFC8 002D8C28 80 7F 00 6C */ lwz r3, 0x6c(r31) /* 802DCFCC 002D8C2C 48 00 4A 45 */ bl rfc_check_mcb_active lbl_802DCFD0: /* 802DCFD0 002D8C30 7F E3 FB 78 */ mr r3, r31 /* 802DCFD4 002D8C34 48 00 49 E5 */ bl rfc_port_timer_stop /* 802DCFD8 002D8C38 7F E3 FB 78 */ mr r3, r31 /* 802DCFDC 002D8C3C 38 80 00 00 */ li r4, 0 /* 802DCFE0 002D8C40 38 A0 00 A4 */ li r5, 0xa4 /* 802DCFE4 002D8C44 4B D2 71 21 */ bl memset lbl_802DCFE8: /* 802DCFE8 002D8C48 80 01 00 14 */ lwz r0, 0x14(r1) /* 802DCFEC 002D8C4C 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802DCFF0 002D8C50 7C 08 03 A6 */ mtlr r0 /* 802DCFF4 002D8C54 38 21 00 10 */ addi r1, r1, 0x10 /* 802DCFF8 002D8C58 4E 80 00 20 */ blr .global port_find_mcb_dlci_port port_find_mcb_dlci_port: /* 802DCFFC 002D8C5C 2C 03 00 00 */ cmpwi r3, 0 /* 802DD000 002D8C60 40 82 00 0C */ bne lbl_802DD00C /* 802DD004 002D8C64 38 60 00 00 */ li r3, 0 /* 802DD008 002D8C68 4E 80 00 20 */ blr lbl_802DD00C: /* 802DD00C 002D8C6C 28 04 00 3D */ cmplwi r4, 0x3d /* 802DD010 002D8C70 40 81 00 0C */ ble lbl_802DD01C /* 802DD014 002D8C74 38 60 00 00 */ li r3, 0 /* 802DD018 002D8C78 4E 80 00 20 */ blr lbl_802DD01C: /* 802DD01C 002D8C7C 7C 63 22 14 */ add r3, r3, r4 /* 802DD020 002D8C80 88 63 00 24 */ lbz r3, 0x24(r3) /* 802DD024 002D8C84 2C 03 00 00 */ cmpwi r3, 0 /* 802DD028 002D8C88 40 82 00 0C */ bne lbl_802DD034 /* 802DD02C 002D8C8C 38 60 00 00 */ li r3, 0 /* 802DD030 002D8C90 4E 80 00 20 */ blr lbl_802DD034: /* 802DD034 002D8C94 38 03 FF FF */ addi r0, r3, -1 /* 802DD038 002D8C98 3C 60 80 57 */ lis r3, lbl_8056C428@ha /* 802DD03C 002D8C9C 1C 00 00 A4 */ mulli r0, r0, 0xa4 /* 802DD040 002D8CA0 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l /* 802DD044 002D8CA4 7C 63 02 14 */ add r3, r3, r0 /* 802DD048 002D8CA8 38 63 00 68 */ addi r3, r3, 0x68 /* 802DD04C 002D8CAC 4E 80 00 20 */ blr .global port_find_dlci_port port_find_dlci_port: /* 802DD050 002D8CB0 3C A0 80 57 */ lis r5, lbl_8056C428@ha /* 802DD054 002D8CB4 38 00 00 05 */ li r0, 5 /* 802DD058 002D8CB8 54 66 07 FE */ clrlwi r6, r3, 0x1f /* 802DD05C 002D8CBC 38 E3 FF FF */ addi r7, r3, -1 /* 802DD060 002D8CC0 38 A5 C4 28 */ addi r5, r5, lbl_8056C428@l /* 802DD064 002D8CC4 39 00 00 00 */ li r8, 0 /* 802DD068 002D8CC8 7C 09 03 A6 */ mtctr r0 lbl_802DD06C: /* 802DD06C 002D8CCC 55 00 04 3E */ clrlwi r0, r8, 0x10 /* 802DD070 002D8CD0 1C 00 00 A4 */ mulli r0, r0, 0xa4 /* 802DD074 002D8CD4 7C 85 02 14 */ add r4, r5, r0 /* 802DD078 002D8CD8 88 04 00 69 */ lbz r0, 0x69(r4) /* 802DD07C 002D8CDC 39 24 00 68 */ addi r9, r4, 0x68 /* 802DD080 002D8CE0 2C 00 00 00 */ cmpwi r0, 0 /* 802DD084 002D8CE4 41 82 00 44 */ beq lbl_802DD0C8 /* 802DD088 002D8CE8 80 09 00 6C */ lwz r0, 0x6c(r9) /* 802DD08C 002D8CEC 2C 00 00 00 */ cmpwi r0, 0 /* 802DD090 002D8CF0 40 82 00 38 */ bne lbl_802DD0C8 /* 802DD094 002D8CF4 88 89 00 0D */ lbz r4, 0xd(r9) /* 802DD098 002D8CF8 7C 04 18 40 */ cmplw r4, r3 /* 802DD09C 002D8CFC 40 82 00 0C */ bne lbl_802DD0A8 /* 802DD0A0 002D8D00 7D 23 4B 78 */ mr r3, r9 /* 802DD0A4 002D8D04 4E 80 00 20 */ blr lbl_802DD0A8: /* 802DD0A8 002D8D08 2C 06 00 00 */ cmpwi r6, 0 /* 802DD0AC 002D8D0C 41 82 00 1C */ beq lbl_802DD0C8 /* 802DD0B0 002D8D10 7C 04 38 00 */ cmpw r4, r7 /* 802DD0B4 002D8D14 40 82 00 14 */ bne lbl_802DD0C8 /* 802DD0B8 002D8D18 38 04 00 01 */ addi r0, r4, 1 /* 802DD0BC 002D8D1C 7D 23 4B 78 */ mr r3, r9 /* 802DD0C0 002D8D20 98 09 00 0D */ stb r0, 0xd(r9) /* 802DD0C4 002D8D24 4E 80 00 20 */ blr lbl_802DD0C8: /* 802DD0C8 002D8D28 39 08 00 01 */ addi r8, r8, 1 /* 802DD0CC 002D8D2C 42 00 FF A0 */ bdnz lbl_802DD06C /* 802DD0D0 002D8D30 38 60 00 00 */ li r3, 0 /* 802DD0D4 002D8D34 4E 80 00 20 */ blr .global port_flow_control_user port_flow_control_user: /* 802DD0D8 002D8D38 88 03 00 24 */ lbz r0, 0x24(r3) /* 802DD0DC 002D8D3C 38 A0 00 00 */ li r5, 0 /* 802DD0E0 002D8D40 2C 00 00 00 */ cmpwi r0, 0 /* 802DD0E4 002D8D44 40 82 00 34 */ bne lbl_802DD118 /* 802DD0E8 002D8D48 80 83 00 6C */ lwz r4, 0x6c(r3) /* 802DD0EC 002D8D4C 2C 04 00 00 */ cmpwi r4, 0 /* 802DD0F0 002D8D50 41 82 00 28 */ beq lbl_802DD118 /* 802DD0F4 002D8D54 88 04 00 71 */ lbz r0, 0x71(r4) /* 802DD0F8 002D8D58 2C 00 00 00 */ cmpwi r0, 0 /* 802DD0FC 002D8D5C 41 82 00 1C */ beq lbl_802DD118 /* 802DD100 002D8D60 80 03 00 28 */ lwz r0, 0x28(r3) /* 802DD104 002D8D64 28 00 1F 40 */ cmplwi r0, 0x1f40 /* 802DD108 002D8D68 41 81 00 10 */ bgt lbl_802DD118 /* 802DD10C 002D8D6C A0 03 00 20 */ lhz r0, 0x20(r3) /* 802DD110 002D8D70 28 00 00 10 */ cmplwi r0, 0x10 /* 802DD114 002D8D74 40 81 00 08 */ ble lbl_802DD11C lbl_802DD118: /* 802DD118 002D8D78 38 A0 00 01 */ li r5, 1 lbl_802DD11C: /* 802DD11C 002D8D7C 88 03 00 25 */ lbz r0, 0x25(r3) /* 802DD120 002D8D80 7C 00 28 40 */ cmplw r0, r5 /* 802DD124 002D8D84 40 82 00 0C */ bne lbl_802DD130 /* 802DD128 002D8D88 38 60 00 00 */ li r3, 0 /* 802DD12C 002D8D8C 4E 80 00 20 */ blr lbl_802DD130: /* 802DD130 002D8D90 2C 05 00 00 */ cmpwi r5, 0 /* 802DD134 002D8D94 98 A3 00 25 */ stb r5, 0x25(r3) /* 802DD138 002D8D98 3C 60 00 03 */ lis r3, 3 /* 802DD13C 002D8D9C 4D 82 00 20 */ beqlr /* 802DD140 002D8DA0 3C 60 00 01 */ lis r3, 1 /* 802DD144 002D8DA4 4E 80 00 20 */ blr .global port_get_signal_changes port_get_signal_changes: /* 802DD148 002D8DA8 7C A4 22 78 */ xor r4, r5, r4 /* 802DD14C 002D8DAC 38 C0 00 00 */ li r6, 0 /* 802DD150 002D8DB0 54 80 07 FF */ clrlwi. r0, r4, 0x1f /* 802DD154 002D8DB4 41 82 00 14 */ beq lbl_802DD168 /* 802DD158 002D8DB8 54 A0 07 FF */ clrlwi. r0, r5, 0x1f /* 802DD15C 002D8DBC 60 C6 00 10 */ ori r6, r6, 0x10 /* 802DD160 002D8DC0 41 82 00 08 */ beq lbl_802DD168 /* 802DD164 002D8DC4 60 C6 08 00 */ ori r6, r6, 0x800 lbl_802DD168: /* 802DD168 002D8DC8 54 80 07 BD */ rlwinm. r0, r4, 0, 0x1e, 0x1e /* 802DD16C 002D8DCC 41 82 00 14 */ beq lbl_802DD180 /* 802DD170 002D8DD0 54 A0 07 BD */ rlwinm. r0, r5, 0, 0x1e, 0x1e /* 802DD174 002D8DD4 60 C6 00 08 */ ori r6, r6, 8 /* 802DD178 002D8DD8 41 82 00 08 */ beq lbl_802DD180 /* 802DD17C 002D8DDC 60 C6 04 00 */ ori r6, r6, 0x400 lbl_802DD180: /* 802DD180 002D8DE0 54 80 07 7B */ rlwinm. r0, r4, 0, 0x1d, 0x1d /* 802DD184 002D8DE4 41 82 00 08 */ beq lbl_802DD18C /* 802DD188 002D8DE8 60 C6 01 00 */ ori r6, r6, 0x100 lbl_802DD18C: /* 802DD18C 002D8DEC 54 80 07 39 */ rlwinm. r0, r4, 0, 0x1c, 0x1c /* 802DD190 002D8DF0 41 82 00 14 */ beq lbl_802DD1A4 /* 802DD194 002D8DF4 54 A0 07 39 */ rlwinm. r0, r5, 0, 0x1c, 0x1c /* 802DD198 002D8DF8 60 C6 00 20 */ ori r6, r6, 0x20 /* 802DD19C 002D8DFC 41 82 00 08 */ beq lbl_802DD1A4 /* 802DD1A0 002D8E00 60 C6 10 00 */ ori r6, r6, 0x1000 lbl_802DD1A4: /* 802DD1A4 002D8E04 80 03 00 88 */ lwz r0, 0x88(r3) /* 802DD1A8 002D8E08 7C 03 30 38 */ and r3, r0, r6 /* 802DD1AC 002D8E0C 4E 80 00 20 */ blr .global port_flow_control_peer port_flow_control_peer: /* 802DD1B0 002D8E10 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802DD1B4 002D8E14 7C 08 02 A6 */ mflr r0 /* 802DD1B8 002D8E18 90 01 00 14 */ stw r0, 0x14(r1) /* 802DD1BC 002D8E1C 93 E1 00 0C */ stw r31, 0xc(r1) /* 802DD1C0 002D8E20 7C 7F 1B 78 */ mr r31, r3 /* 802DD1C4 002D8E24 80 C3 00 6C */ lwz r6, 0x6c(r3) /* 802DD1C8 002D8E28 2C 06 00 00 */ cmpwi r6, 0 /* 802DD1CC 002D8E2C 41 82 01 9C */ beq lbl_802DD368 /* 802DD1D0 002D8E30 88 06 00 72 */ lbz r0, 0x72(r6) /* 802DD1D4 002D8E34 28 00 00 02 */ cmplwi r0, 2 /* 802DD1D8 002D8E38 40 82 00 B0 */ bne lbl_802DD288 /* 802DD1DC 002D8E3C 2C 04 00 00 */ cmpwi r4, 0 /* 802DD1E0 002D8E40 41 82 00 74 */ beq lbl_802DD254 /* 802DD1E4 002D8E44 A0 03 00 9A */ lhz r0, 0x9a(r3) /* 802DD1E8 002D8E48 7C 05 00 40 */ cmplw r5, r0 /* 802DD1EC 002D8E4C 40 81 00 10 */ ble lbl_802DD1FC /* 802DD1F0 002D8E50 38 00 00 00 */ li r0, 0 /* 802DD1F4 002D8E54 B0 03 00 9A */ sth r0, 0x9a(r3) /* 802DD1F8 002D8E58 48 00 00 0C */ b lbl_802DD204 lbl_802DD1FC: /* 802DD1FC 002D8E5C 7C 05 00 50 */ subf r0, r5, r0 /* 802DD200 002D8E60 B0 03 00 9A */ sth r0, 0x9a(r3) lbl_802DD204: /* 802DD204 002D8E64 A0 83 00 9A */ lhz r4, 0x9a(r3) /* 802DD208 002D8E68 A0 03 00 9E */ lhz r0, 0x9e(r3) /* 802DD20C 002D8E6C 7C 04 00 40 */ cmplw r4, r0 /* 802DD210 002D8E70 41 81 01 58 */ bgt lbl_802DD368 /* 802DD214 002D8E74 88 03 00 3D */ lbz r0, 0x3d(r3) /* 802DD218 002D8E78 2C 00 00 00 */ cmpwi r0, 0 /* 802DD21C 002D8E7C 40 82 01 4C */ bne lbl_802DD368 /* 802DD220 002D8E80 A0 03 00 9C */ lhz r0, 0x9c(r3) /* 802DD224 002D8E84 7C 00 20 40 */ cmplw r0, r4 /* 802DD228 002D8E88 40 81 01 40 */ ble lbl_802DD368 /* 802DD22C 002D8E8C 7C 04 00 50 */ subf r0, r4, r0 /* 802DD230 002D8E90 80 63 00 6C */ lwz r3, 0x6c(r3) /* 802DD234 002D8E94 88 9F 00 0D */ lbz r4, 0xd(r31) /* 802DD238 002D8E98 54 05 06 3E */ clrlwi r5, r0, 0x18 /* 802DD23C 002D8E9C 48 00 37 75 */ bl rfc_send_credit /* 802DD240 002D8EA0 A0 7F 00 9C */ lhz r3, 0x9c(r31) /* 802DD244 002D8EA4 38 00 00 00 */ li r0, 0 /* 802DD248 002D8EA8 98 1F 00 3C */ stb r0, 0x3c(r31) /* 802DD24C 002D8EAC B0 7F 00 9A */ sth r3, 0x9a(r31) /* 802DD250 002D8EB0 48 00 01 18 */ b lbl_802DD368 lbl_802DD254: /* 802DD254 002D8EB4 80 03 00 94 */ lwz r0, 0x94(r3) /* 802DD258 002D8EB8 2C 00 00 00 */ cmpwi r0, 0 /* 802DD25C 002D8EBC 41 82 00 10 */ beq lbl_802DD26C /* 802DD260 002D8EC0 38 00 00 01 */ li r0, 1 /* 802DD264 002D8EC4 98 03 00 3C */ stb r0, 0x3c(r3) /* 802DD268 002D8EC8 48 00 01 00 */ b lbl_802DD368 lbl_802DD26C: /* 802DD26C 002D8ECC A0 83 00 38 */ lhz r4, 0x38(r3) /* 802DD270 002D8ED0 A0 03 00 9C */ lhz r0, 0x9c(r3) /* 802DD274 002D8ED4 7C 04 00 40 */ cmplw r4, r0 /* 802DD278 002D8ED8 41 80 00 F0 */ blt lbl_802DD368 /* 802DD27C 002D8EDC 38 00 00 01 */ li r0, 1 /* 802DD280 002D8EE0 98 03 00 3C */ stb r0, 0x3c(r3) /* 802DD284 002D8EE4 48 00 00 E4 */ b lbl_802DD368 lbl_802DD288: /* 802DD288 002D8EE8 2C 04 00 00 */ cmpwi r4, 0 /* 802DD28C 002D8EEC 41 82 00 50 */ beq lbl_802DD2DC /* 802DD290 002D8EF0 88 03 00 3C */ lbz r0, 0x3c(r3) /* 802DD294 002D8EF4 2C 00 00 00 */ cmpwi r0, 0 /* 802DD298 002D8EF8 41 82 00 D0 */ beq lbl_802DD368 /* 802DD29C 002D8EFC 80 03 00 40 */ lwz r0, 0x40(r3) /* 802DD2A0 002D8F00 28 00 13 88 */ cmplwi r0, 0x1388 /* 802DD2A4 002D8F04 40 80 00 C4 */ bge lbl_802DD368 /* 802DD2A8 002D8F08 A0 03 00 38 */ lhz r0, 0x38(r3) /* 802DD2AC 002D8F0C 28 00 00 08 */ cmplwi r0, 8 /* 802DD2B0 002D8F10 40 80 00 B8 */ bge lbl_802DD368 /* 802DD2B4 002D8F14 88 03 00 3D */ lbz r0, 0x3d(r3) /* 802DD2B8 002D8F18 38 80 00 00 */ li r4, 0 /* 802DD2BC 002D8F1C 98 83 00 3C */ stb r4, 0x3c(r3) /* 802DD2C0 002D8F20 2C 00 00 00 */ cmpwi r0, 0 /* 802DD2C4 002D8F24 40 82 00 A4 */ bne lbl_802DD368 /* 802DD2C8 002D8F28 88 9F 00 0D */ lbz r4, 0xd(r31) /* 802DD2CC 002D8F2C 7C C3 33 78 */ mr r3, r6 /* 802DD2D0 002D8F30 38 A0 00 01 */ li r5, 1 /* 802DD2D4 002D8F34 48 00 2B 4D */ bl RFCOMM_FlowReq /* 802DD2D8 002D8F38 48 00 00 90 */ b lbl_802DD368 lbl_802DD2DC: /* 802DD2DC 002D8F3C 80 03 00 94 */ lwz r0, 0x94(r3) /* 802DD2E0 002D8F40 2C 00 00 00 */ cmpwi r0, 0 /* 802DD2E4 002D8F44 41 82 00 20 */ beq lbl_802DD304 /* 802DD2E8 002D8F48 38 00 00 01 */ li r0, 1 /* 802DD2EC 002D8F4C 88 9F 00 0D */ lbz r4, 0xd(r31) /* 802DD2F0 002D8F50 98 03 00 3C */ stb r0, 0x3c(r3) /* 802DD2F4 002D8F54 7C C3 33 78 */ mr r3, r6 /* 802DD2F8 002D8F58 38 A0 00 00 */ li r5, 0 /* 802DD2FC 002D8F5C 48 00 2B 25 */ bl RFCOMM_FlowReq /* 802DD300 002D8F60 48 00 00 68 */ b lbl_802DD368 lbl_802DD304: /* 802DD304 002D8F64 80 03 00 40 */ lwz r0, 0x40(r3) /* 802DD308 002D8F68 28 00 1F 40 */ cmplwi r0, 0x1f40 /* 802DD30C 002D8F6C 41 81 00 10 */ bgt lbl_802DD31C /* 802DD310 002D8F70 A0 03 00 38 */ lhz r0, 0x38(r3) /* 802DD314 002D8F74 28 00 00 10 */ cmplwi r0, 0x10 /* 802DD318 002D8F78 40 81 00 50 */ ble lbl_802DD368 lbl_802DD31C: /* 802DD31C 002D8F7C 88 03 00 3C */ lbz r0, 0x3c(r3) /* 802DD320 002D8F80 2C 00 00 00 */ cmpwi r0, 0 /* 802DD324 002D8F84 40 82 00 44 */ bne lbl_802DD368 /* 802DD328 002D8F88 3C 60 80 57 */ lis r3, lbl_8056C428@ha /* 802DD32C 002D8F8C 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l /* 802DD330 002D8F90 88 03 04 14 */ lbz r0, 0x414(r3) /* 802DD334 002D8F94 28 00 00 04 */ cmplwi r0, 4 /* 802DD338 002D8F98 41 80 00 18 */ blt lbl_802DD350 /* 802DD33C 002D8F9C 3C 60 00 09 */ lis r3, 0x00090003@ha /* 802DD340 002D8FA0 3C 80 80 44 */ lis r4, lbl_804446A8@ha /* 802DD344 002D8FA4 38 63 00 03 */ addi r3, r3, 0x00090003@l /* 802DD348 002D8FA8 38 84 46 A8 */ addi r4, r4, lbl_804446A8@l /* 802DD34C 002D8FAC 4B FD FB C5 */ bl LogMsg_0 lbl_802DD350: /* 802DD350 002D8FB0 38 00 00 01 */ li r0, 1 /* 802DD354 002D8FB4 80 7F 00 6C */ lwz r3, 0x6c(r31) /* 802DD358 002D8FB8 98 1F 00 3C */ stb r0, 0x3c(r31) /* 802DD35C 002D8FBC 38 A0 00 00 */ li r5, 0 /* 802DD360 002D8FC0 88 9F 00 0D */ lbz r4, 0xd(r31) /* 802DD364 002D8FC4 48 00 2A BD */ bl RFCOMM_FlowReq lbl_802DD368: /* 802DD368 002D8FC8 80 01 00 14 */ lwz r0, 0x14(r1) /* 802DD36C 002D8FCC 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802DD370 002D8FD0 7C 08 03 A6 */ mtlr r0 /* 802DD374 002D8FD4 38 21 00 10 */ addi r1, r1, 0x10 /* 802DD378 002D8FD8 4E 80 00 20 */ blr