	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function adap_init0_config
_adap_init0_config:                     ## @adap_init0_config
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%r15
	pushq	%r14
	pushq	%r13
	pushq	%r12
	pushq	%rbx
	subq	$472, %rsp                      ## imm = 0x1D8
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rdi, %r13
	movq	___stack_chk_guard@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, -48(%rbp)
	testl	%esi, %esi
	je	LBB0_2
## %bb.1:
	movl	4(%r13), %esi
	movq	_PIORSTMODE_F@GOTPCREL(%rip), %rax
	movq	_PIORST_F@GOTPCREL(%rip), %rcx
	movl	(%rcx), %edx
	orl	(%rax), %edx
	movq	%r13, %rdi
	callq	_t4_fw_reset
	testl	%eax, %eax
	js	LBB0_11
LBB0_2:
	movq	24(%r13), %rax
	movl	(%rax), %edi
	callq	_is_10gbt_device
	testq	%rax, %rax
	je	LBB0_4
## %bb.3:
	movq	%r13, %rdi
	callq	_adap_init0_phy
	testl	%eax, %eax
	js	LBB0_11
LBB0_4:
	movl	8(%r13), %edi
	callq	_CHELSIO_CHIP_VERSION
	addl	$-128, %eax
	cmpl	$3, %eax
	jae	LBB0_9
## %bb.5:
	cltq
	leaq	l_switch.table.adap_init0_config(%rip), %rcx
	movq	(%rcx,%rax,8), %rax
	movq	(%rax), %rbx
	movl	(%r13), %edx
	leaq	-456(%rbp), %rdi
	movq	%rbx, %rsi
	callq	_request_firmware
	testl	%eax, %eax
	js	LBB0_12
## %bb.6:
	leaq	L_.str.2(%rip), %rsi
	leaq	-304(%rbp), %r14
	movq	%r14, %rdi
	movq	%rbx, %rdx
	callq	_sprintf
	movq	-456(%rbp), %rdi
	movl	(%rdi), %eax
	movq	_FLASH_CFG_MAX_SIZE@GOTPCREL(%rip), %rcx
	cmpl	(%rcx), %eax
	jge	LBB0_13
## %bb.7:
	movq	_FW_PARAMS_MNEM_DEV@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_FW_PARAMS_MNEM_V
	movq	%rax, %rbx
	movq	_FW_PARAMS_PARAM_DEV_CF@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_FW_PARAMS_PARAM_X_V
	orq	%rbx, %rax
	movq	%rax, -368(%rbp)
	movl	4(%r13), %esi
	movl	12(%r13), %edx
	leaq	-432(%rbp), %rax
	movq	%rax, (%rsp)
	leaq	-368(%rbp), %r9
	movq	%r13, %rdi
	xorl	%ecx, %ecx
	movl	$1, %r8d
	callq	_t4_query_params
	movq	-456(%rbp), %rdi
	testl	%eax, %eax
	je	LBB0_14
## %bb.8:
	movl	%eax, %ebx
	callq	_release_firmware
	jmp	LBB0_38
LBB0_11:
	movl	%eax, %ebx
	jmp	LBB0_38
LBB0_9:
	movl	(%r13), %edi
	movq	24(%r13), %rax
	movl	(%rax), %edx
	leaq	L_.str(%rip), %rsi
	callq	_dev_err
	movq	_EINVAL@GOTPCREL(%rip), %rax
	xorl	%ebx, %ebx
	subl	(%rax), %ebx
	jmp	LBB0_38
LBB0_12:
	movq	_FW_MEMTYPE_CF_FLASH@GOTPCREL(%rip), %rax
	movq	(%rax), %r15
	movq	%r13, %rdi
	callq	_t4_flash_cfg_addr
	movq	%rax, %r12
	leaq	L_.str.1(%rip), %r14
	jmp	LBB0_19
LBB0_13:
	movq	_ENOMEM@GOTPCREL(%rip), %rax
	xorl	%r12d, %r12d
	xorl	%ebx, %ebx
	subl	(%rax), %ebx
	xorl	%r15d, %r15d
	jmp	LBB0_18
LBB0_14:
	movl	(%rdi), %r15d
	movslq	%r15d, %r14
	andq	$-4, %r14
	movq	8(%rdi), %rax
	movq	%rax, -464(%rbp)                ## 8-byte Spill
	movq	-432(%rbp), %rdi
	callq	_FW_PARAMS_PARAM_Y_G
	movq	%rax, %rbx
	movq	-432(%rbp), %rdi
	callq	_FW_PARAMS_PARAM_Z_G
	shll	$16, %eax
	movslq	%eax, %r12
	leaq	16(%r13), %rdi
	movq	%rdi, -472(%rbp)                ## 8-byte Spill
	callq	_spin_lock
	movq	_T4_MEMORY_WRITE@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, (%rsp)
	movq	%r13, %rdi
	xorl	%esi, %esi
	movq	%rbx, -440(%rbp)                ## 8-byte Spill
	movq	%rbx, %rdx
	movq	%r12, %rcx
	movl	%r14d, %r8d
	movq	-464(%rbp), %r9                 ## 8-byte Reload
	callq	_t4_memory_rw
	movl	%eax, %ebx
	testl	%eax, %eax
	jne	LBB0_17
## %bb.15:
	andl	$3, %r15d
	testl	%r15d, %r15d
	je	LBB0_17
## %bb.16:
	movq	-464(%rbp), %rax                ## 8-byte Reload
	movl	(%rax,%r14), %eax
	movl	%eax, -448(%rbp)
	leaq	(%r15,%rbp), %rdi
	addq	$-448, %rdi                     ## imm = 0xFE40
	movl	$4, %esi
	subl	%r15d, %esi
	callq	___bzero
	addq	%r12, %r14
	movq	_T4_MEMORY_WRITE@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, (%rsp)
	leaq	-448(%rbp), %r9
	movq	%r13, %rdi
	xorl	%esi, %esi
	movq	-440(%rbp), %rdx                ## 8-byte Reload
	movq	%r14, %rcx
	movl	$4, %r8d
	callq	_t4_memory_rw
	movl	%eax, %ebx
LBB0_17:
	movq	-472(%rbp), %rdi                ## 8-byte Reload
	callq	_spin_unlock
	movq	-456(%rbp), %rdi
	leaq	-304(%rbp), %r14
	movq	-440(%rbp), %r15                ## 8-byte Reload
LBB0_18:
	callq	_release_firmware
	testl	%ebx, %ebx
	jne	LBB0_38
LBB0_19:
	movq	%r14, -440(%rbp)                ## 8-byte Spill
	movq	$0, -448(%rbp)
	movq	_FW_PARAMS_MNEM_DEV@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_FW_PARAMS_MNEM_V
	movq	%rax, %rbx
	movq	_FW_PARAMS_PARAM_DEV_HASHFILTER_WITH_OFLD@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_FW_PARAMS_PARAM_X_V
	orq	%rbx, %rax
	movq	%rax, -432(%rbp)
	movl	4(%r13), %esi
	movl	12(%r13), %edx
	leaq	-448(%rbp), %rax
	movq	%rax, (%rsp)
	leaq	-432(%rbp), %r9
	movq	%r13, %rdi
	xorl	%ecx, %ecx
	movl	$1, %r8d
	callq	_t4_set_params
	testl	%eax, %eax
	jns	LBB0_21
## %bb.20:
	movl	(%r13), %edi
	leaq	L_.str.3(%rip), %rsi
	xorl	%eax, %eax
	callq	_dev_warn
LBB0_21:
	leaq	-368(%rbp), %r14
	movq	%r14, %rdi
	xorl	%esi, %esi
	movl	$32, %edx
	callq	_memset
	movq	_FW_CAPS_CONFIG_CMD@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_FW_CMD_OP_V
	movq	_FW_CMD_REQUEST_F@GOTPCREL(%rip), %rcx
	orl	(%rcx), %eax
	movq	_FW_CMD_READ_F@GOTPCREL(%rip), %rcx
	orl	(%rcx), %eax
	movl	%eax, %edi
	callq	_htonl
	movq	%rax, -360(%rbp)
	movq	_FW_CAPS_CONFIG_CMD_CFVALID_F@GOTPCREL(%rip), %rax
	movl	(%rax), %ebx
	movq	%r15, %rdi
	callq	_FW_CAPS_CONFIG_CMD_MEMTYPE_CF_V
	movl	%eax, %r15d
	shrq	$16, %r12
	movq	%r12, %rdi
	callq	_FW_CAPS_CONFIG_CMD_MEMADDR64K_CF_V
	orl	%eax, %ebx
	orl	%r15d, %ebx
	movups	-368(%rbp), %xmm0
	movups	-352(%rbp), %xmm1
	movups	%xmm1, 16(%rsp)
	movups	%xmm0, (%rsp)
	callq	_FW_LEN16
	orl	%eax, %ebx
	movl	%ebx, %edi
	callq	_htonl
	movq	%rax, -368(%rbp)
	movl	4(%r13), %esi
	movq	%r13, %rdi
	movq	%r14, %rdx
	movl	$32, %ecx
	movq	%r14, %r8
	callq	_t4_wr_mbox
	movl	%eax, %ebx
	movq	_ENOENT@GOTPCREL(%rip), %r14
	addl	(%r14), %eax
	jne	LBB0_23
## %bb.22:
	leaq	-368(%rbp), %rbx
	movq	%rbx, %rdi
	xorl	%esi, %esi
	movl	$32, %edx
	callq	_memset
	movq	_FW_CAPS_CONFIG_CMD@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_FW_CMD_OP_V
	movq	_FW_CMD_REQUEST_F@GOTPCREL(%rip), %rcx
	orl	(%rcx), %eax
	movq	_FW_CMD_READ_F@GOTPCREL(%rip), %rcx
	orl	(%rcx), %eax
	movl	%eax, %edi
	callq	_htonl
	movq	%rax, -360(%rbp)
	movups	-368(%rbp), %xmm0
	movups	-352(%rbp), %xmm1
	movups	%xmm1, 16(%rsp)
	movups	%xmm0, (%rsp)
	callq	_FW_LEN16
	movl	%eax, %edi
	callq	_htonl
	movq	%rax, -368(%rbp)
	movl	4(%r13), %esi
	movq	%r13, %rdi
	movq	%rbx, %rdx
	movl	$32, %ecx
	movq	%rbx, %r8
	callq	_t4_wr_mbox
	movl	%eax, %ebx
	leaq	L_.str.4(%rip), %rax
	movq	%rax, -440(%rbp)                ## 8-byte Spill
LBB0_23:
	testl	%ebx, %ebx
	js	LBB0_36
## %bb.24:
	movl	-344(%rbp), %edi
	callq	_ntohl
	movq	%rax, %r15
	movl	-348(%rbp), %edi
	callq	_ntohl
	movq	%rax, %rbx
	movl	-352(%rbp), %edi
	callq	_ntohl
	movq	%rax, %r12
	cmpq	%rax, %rbx
	je	LBB0_26
## %bb.25:
	movl	(%r13), %edi
	leaq	L_.str.5(%rip), %rsi
	movq	%rbx, %rdx
	movq	%r12, %rcx
	xorl	%eax, %eax
	callq	_dev_warn
LBB0_26:
	movq	_FW_CAPS_CONFIG_CMD@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_FW_CMD_OP_V
	movq	_FW_CMD_REQUEST_F@GOTPCREL(%rip), %rcx
	orl	(%rcx), %eax
	movq	_FW_CMD_WRITE_F@GOTPCREL(%rip), %rcx
	orl	(%rcx), %eax
	movl	%eax, %edi
	callq	_htonl
	movq	%rax, -360(%rbp)
	movups	-368(%rbp), %xmm0
	movups	-352(%rbp), %xmm1
	movups	%xmm1, 16(%rsp)
	movups	%xmm0, (%rsp)
	callq	_FW_LEN16
	movl	%eax, %edi
	callq	_htonl
	movq	%rax, -368(%rbp)
	movl	4(%r13), %esi
	leaq	-368(%rbp), %rdx
	movq	%r13, %rdi
	movl	$32, %ecx
	xorl	%r8d, %r8d
	callq	_t4_wr_mbox
	testl	%eax, %eax
	js	LBB0_35
## %bb.27:
	movq	%r13, %rdi
	callq	_adap_init0_tweaks
	testl	%eax, %eax
	js	LBB0_35
## %bb.28:
	movq	%r13, %rdi
	callq	_adap_config_hma
	testl	%eax, %eax
	je	LBB0_30
## %bb.29:
	movl	(%r13), %edi
	leaq	L_.str.6(%rip), %rsi
	movl	%eax, %edx
	callq	_dev_err
LBB0_30:
	movl	8(%r13), %edi
	callq	_is_t6
	testq	%rax, %rax
	je	LBB0_33
## %bb.31:
	movq	%r13, %rdi
	callq	_setup_ppod_edram
	testl	%eax, %eax
	jne	LBB0_33
## %bb.32:
	movl	(%r13), %edi
	leaq	L_.str.7(%rip), %rsi
	xorl	%eax, %eax
	callq	_dev_info
LBB0_33:
	movl	4(%r13), %esi
	movq	%r13, %rdi
	callq	_t4_fw_initialize
	testl	%eax, %eax
	js	LBB0_35
## %bb.34:
	movl	(%r13), %edi
	leaq	L_.str.8(%rip), %rsi
	xorl	%ebx, %ebx
	movq	-440(%rbp), %rdx                ## 8-byte Reload
	movq	%r15, %rcx
	movq	%r12, %r8
	xorl	%eax, %eax
	callq	_dev_info
	jmp	LBB0_38
LBB0_35:
	movl	%eax, %ebx
LBB0_36:
	movl	(%r14), %eax
	addl	%ebx, %eax
	je	LBB0_38
## %bb.37:
	movl	(%r13), %edi
	movl	%ebx, %ecx
	negl	%ecx
	leaq	L_.str.9(%rip), %rsi
	movq	-440(%rbp), %rdx                ## 8-byte Reload
	xorl	%eax, %eax
	callq	_dev_warn
LBB0_38:
	movq	___stack_chk_guard@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	cmpq	-48(%rbp), %rax
	jne	LBB0_40
## %bb.39:
	movl	%ebx, %eax
	addq	$472, %rsp                      ## imm = 0x1D8
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_40:
	callq	___stack_chk_fail
	.cfi_endproc
                                        ## -- End function
	.comm	_PIORSTMODE_F,4,2               ## @PIORSTMODE_F
	.comm	_PIORST_F,4,2                   ## @PIORST_F
	.comm	_FW4_CFNAME,8,3                 ## @FW4_CFNAME
	.comm	_FW5_CFNAME,8,3                 ## @FW5_CFNAME
	.comm	_FW6_CFNAME,8,3                 ## @FW6_CFNAME
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"Device %d is not supported\n"

	.comm	_EINVAL,4,2                     ## @EINVAL
L_.str.1:                               ## @.str.1
	.asciz	"On FLASH"

	.comm	_FW_MEMTYPE_CF_FLASH,8,3        ## @FW_MEMTYPE_CF_FLASH
L_.str.2:                               ## @.str.2
	.asciz	"/lib/firmware/%s"

	.comm	_FLASH_CFG_MAX_SIZE,4,2         ## @FLASH_CFG_MAX_SIZE
	.comm	_ENOMEM,4,2                     ## @ENOMEM
	.comm	_FW_PARAMS_MNEM_DEV,4,2         ## @FW_PARAMS_MNEM_DEV
	.comm	_FW_PARAMS_PARAM_DEV_CF,4,2     ## @FW_PARAMS_PARAM_DEV_CF
	.comm	_T4_MEMORY_WRITE,4,2            ## @T4_MEMORY_WRITE
	.comm	_FW_PARAMS_PARAM_DEV_HASHFILTER_WITH_OFLD,4,2 ## @FW_PARAMS_PARAM_DEV_HASHFILTER_WITH_OFLD
L_.str.3:                               ## @.str.3
	.asciz	"Hash filter with ofld is not supported by FW\n"

	.comm	_FW_CAPS_CONFIG_CMD,4,2         ## @FW_CAPS_CONFIG_CMD
	.comm	_FW_CMD_REQUEST_F,4,2           ## @FW_CMD_REQUEST_F
	.comm	_FW_CMD_READ_F,4,2              ## @FW_CMD_READ_F
	.comm	_FW_CAPS_CONFIG_CMD_CFVALID_F,4,2 ## @FW_CAPS_CONFIG_CMD_CFVALID_F
	.comm	_ENOENT,4,2                     ## @ENOENT
L_.str.4:                               ## @.str.4
	.asciz	"Firmware Default"

L_.str.5:                               ## @.str.5
	.asciz	"Configuration File checksum mismatch: [fini] csum=%#x, computed csum=%#x\n"

	.comm	_FW_CMD_WRITE_F,4,2             ## @FW_CMD_WRITE_F
L_.str.6:                               ## @.str.6
	.asciz	"HMA configuration failed with error %d\n"

L_.str.7:                               ## @.str.7
	.asciz	"Successfully enabled ppod edram feature\n"

L_.str.8:                               ## @.str.8
	.asciz	"Successfully configured using Firmware Configuration File \"%s\", version %#x, computed checksum %#x\n"

L_.str.9:                               ## @.str.9
	.asciz	"\"%s\" configuration file error %d\n"

	.no_dead_strip	_adap_init0_config
	.section	__DATA,__const
	.p2align	3                               ## @switch.table.adap_init0_config
l_switch.table.adap_init0_config:
	.quad	_FW6_CFNAME
	.quad	_FW5_CFNAME
	.quad	_FW4_CFNAME

.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function adap_init0_config
_adap_init0_config:                     ; @adap_init0_config
	.cfi_startproc
; %bb.0:
	stp	x28, x27, [sp, #-96]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 96
	stp	x26, x25, [sp, #16]             ; 16-byte Folded Spill
	stp	x24, x23, [sp, #32]             ; 16-byte Folded Spill
	stp	x22, x21, [sp, #48]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #64]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #80]             ; 16-byte Folded Spill
	add	x29, sp, #80
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
	.cfi_offset w21, -40
	.cfi_offset w22, -48
	.cfi_offset w23, -56
	.cfi_offset w24, -64
	.cfi_offset w25, -72
	.cfi_offset w26, -80
	.cfi_offset w27, -88
	.cfi_offset w28, -96
	sub	sp, sp, #432
	mov	x19, x0
Lloh0:
	adrp	x8, ___stack_chk_guard@GOTPAGE
Lloh1:
	ldr	x8, [x8, ___stack_chk_guard@GOTPAGEOFF]
Lloh2:
	ldr	x8, [x8]
	stur	x8, [x29, #-88]
	cbz	w1, LBB0_2
; %bb.1:
Lloh3:
	adrp	x8, _PIORSTMODE_F@GOTPAGE
Lloh4:
	ldr	x8, [x8, _PIORSTMODE_F@GOTPAGEOFF]
	ldr	w1, [x19, #4]
Lloh5:
	ldr	w8, [x8]
Lloh6:
	adrp	x9, _PIORST_F@GOTPAGE
Lloh7:
	ldr	x9, [x9, _PIORST_F@GOTPAGEOFF]
Lloh8:
	ldr	w9, [x9]
	orr	w2, w9, w8
	mov	x0, x19
	bl	_t4_fw_reset
	tbnz	w0, #31, LBB0_9
LBB0_2:
	ldr	x8, [x19, #24]
	ldr	w0, [x8]
	bl	_is_10gbt_device
	cbz	x0, LBB0_4
; %bb.3:
	mov	x0, x19
	bl	_adap_init0_phy
	tbnz	w0, #31, LBB0_9
LBB0_4:
	ldr	w0, [x19, #8]
	bl	_CHELSIO_CHIP_VERSION
	sub	w8, w0, #128
	cmp	w8, #3
	b.hs	LBB0_10
; %bb.5:
Lloh9:
	adrp	x9, l_switch.table.adap_init0_config@PAGE
Lloh10:
	add	x9, x9, l_switch.table.adap_init0_config@PAGEOFF
	ldr	x8, [x9, w8, sxtw #3]
	ldr	x20, [x8]
	ldr	w2, [x19]
	add	x0, sp, #24
	mov	x1, x20
	bl	_request_firmware
	tbnz	w0, #31, LBB0_13
; %bb.6:
Lloh11:
	adrp	x1, l_.str.2@PAGE
Lloh12:
	add	x1, x1, l_.str.2@PAGEOFF
	add	x0, sp, #168
	mov	x2, x20
	bl	_sprintf
	ldr	x0, [sp, #24]
	ldr	w8, [x0]
Lloh13:
	adrp	x9, _FLASH_CFG_MAX_SIZE@GOTPAGE
Lloh14:
	ldr	x9, [x9, _FLASH_CFG_MAX_SIZE@GOTPAGEOFF]
Lloh15:
	ldr	w9, [x9]
	cmp	w8, w9
	b.ge	LBB0_14
; %bb.7:
Lloh16:
	adrp	x8, _FW_PARAMS_MNEM_DEV@GOTPAGE
Lloh17:
	ldr	x8, [x8, _FW_PARAMS_MNEM_DEV@GOTPAGEOFF]
Lloh18:
	ldr	w0, [x8]
	bl	_FW_PARAMS_MNEM_V
	mov	x20, x0
Lloh19:
	adrp	x8, _FW_PARAMS_PARAM_DEV_CF@GOTPAGE
Lloh20:
	ldr	x8, [x8, _FW_PARAMS_PARAM_DEV_CF@GOTPAGEOFF]
Lloh21:
	ldr	w0, [x8]
	bl	_FW_PARAMS_PARAM_X_V
	orr	x8, x0, x20
	str	x8, [sp, #112]
	ldr	w1, [x19, #4]
	ldr	w2, [x19, #12]
	add	x5, sp, #112
	add	x6, sp, #48
	mov	x0, x19
	mov	w3, #0
	mov	w4, #1
	bl	_t4_query_params
	mov	x22, x0
	ldr	x0, [sp, #24]
	cbz	w22, LBB0_15
; %bb.8:
	bl	_release_firmware
	b	LBB0_11
LBB0_9:
	mov	x22, x0
	b	LBB0_11
LBB0_10:
	ldr	w0, [x19]
	ldr	x8, [x19, #24]
	ldr	w2, [x8]
Lloh22:
	adrp	x1, l_.str@PAGE
Lloh23:
	add	x1, x1, l_.str@PAGEOFF
	bl	_dev_err
Lloh24:
	adrp	x8, _EINVAL@GOTPAGE
Lloh25:
	ldr	x8, [x8, _EINVAL@GOTPAGEOFF]
Lloh26:
	ldr	w8, [x8]
	neg	w22, w8
LBB0_11:
	ldur	x8, [x29, #-88]
Lloh27:
	adrp	x9, ___stack_chk_guard@GOTPAGE
Lloh28:
	ldr	x9, [x9, ___stack_chk_guard@GOTPAGEOFF]
Lloh29:
	ldr	x9, [x9]
	cmp	x9, x8
	b.ne	LBB0_39
; %bb.12:
	mov	x0, x22
	add	sp, sp, #432
	ldp	x29, x30, [sp, #80]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #64]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #48]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #32]             ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #16]             ; 16-byte Folded Reload
	ldp	x28, x27, [sp], #96             ; 16-byte Folded Reload
	ret
LBB0_13:
Lloh30:
	adrp	x8, _FW_MEMTYPE_CF_FLASH@GOTPAGE
Lloh31:
	ldr	x8, [x8, _FW_MEMTYPE_CF_FLASH@GOTPAGEOFF]
Lloh32:
	ldr	x20, [x8]
	mov	x0, x19
	bl	_t4_flash_cfg_addr
	mov	x21, x0
Lloh33:
	adrp	x23, l_.str.1@PAGE
Lloh34:
	add	x23, x23, l_.str.1@PAGEOFF
	b	LBB0_20
LBB0_14:
	mov	x21, #0
	mov	x20, #0
Lloh35:
	adrp	x8, _ENOMEM@GOTPAGE
Lloh36:
	ldr	x8, [x8, _ENOMEM@GOTPAGEOFF]
Lloh37:
	ldr	w8, [x8]
	neg	w22, w8
	bl	_release_firmware
	cbnz	w22, LBB0_11
	b	LBB0_19
LBB0_15:
	ldr	w26, [x0]
	sxtw	x8, w26
	and	x24, x8, #0xfffffffffffffffc
	ldr	x25, [x0, #8]
	ldr	x0, [sp, #48]
	bl	_FW_PARAMS_PARAM_Y_G
	mov	x20, x0
	ldr	x0, [sp, #48]
	bl	_FW_PARAMS_PARAM_Z_G
	lsl	w8, w0, #16
	sxtw	x21, w8
	add	x23, x19, #16
	mov	x0, x23
	bl	_spin_lock
Lloh38:
	adrp	x27, _T4_MEMORY_WRITE@GOTPAGE
Lloh39:
	ldr	x27, [x27, _T4_MEMORY_WRITE@GOTPAGEOFF]
	ldr	w6, [x27]
	mov	x0, x19
	mov	w1, #0
	mov	x2, x20
	mov	x3, x21
	mov	x4, x24
	mov	x5, x25
	bl	_t4_memory_rw
	mov	x22, x0
	cbnz	w0, LBB0_18
; %bb.16:
	and	x8, x26, #0x3
	cbz	w8, LBB0_18
; %bb.17:
	ldr	w9, [x25, x24]
	str	w9, [sp, #40]
	add	x9, sp, #40
	orr	x0, x9, x8
	mov	w9, #4
	sub	w1, w9, w8
	bl	_bzero
	add	x3, x21, x24
	ldr	w6, [x27]
	add	x5, sp, #40
	mov	x0, x19
	mov	w1, #0
	mov	x2, x20
	mov	w4, #4
	bl	_t4_memory_rw
	mov	x22, x0
LBB0_18:
	mov	x0, x23
	bl	_spin_unlock
	ldr	x0, [sp, #24]
	bl	_release_firmware
	cbnz	w22, LBB0_11
LBB0_19:
	add	x23, sp, #168
LBB0_20:
	str	xzr, [sp, #32]
Lloh40:
	adrp	x8, _FW_PARAMS_MNEM_DEV@GOTPAGE
Lloh41:
	ldr	x8, [x8, _FW_PARAMS_MNEM_DEV@GOTPAGEOFF]
Lloh42:
	ldr	w0, [x8]
	bl	_FW_PARAMS_MNEM_V
	mov	x22, x0
Lloh43:
	adrp	x8, _FW_PARAMS_PARAM_DEV_HASHFILTER_WITH_OFLD@GOTPAGE
Lloh44:
	ldr	x8, [x8, _FW_PARAMS_PARAM_DEV_HASHFILTER_WITH_OFLD@GOTPAGEOFF]
Lloh45:
	ldr	w0, [x8]
	bl	_FW_PARAMS_PARAM_X_V
	orr	x8, x0, x22
	str	x8, [sp, #40]
	ldr	w1, [x19, #4]
	ldr	w2, [x19, #12]
	add	x5, sp, #40
	add	x6, sp, #32
	mov	x0, x19
	mov	w3, #0
	mov	w4, #1
	bl	_t4_set_params
	tbz	w0, #31, LBB0_22
; %bb.21:
	ldr	w0, [x19]
Lloh46:
	adrp	x1, l_.str.3@PAGE
Lloh47:
	add	x1, x1, l_.str.3@PAGEOFF
	bl	_dev_warn
LBB0_22:
	add	x0, sp, #112
	mov	w1, #0
	mov	w2, #32
	bl	_memset
Lloh48:
	adrp	x25, _FW_CAPS_CONFIG_CMD@GOTPAGE
Lloh49:
	ldr	x25, [x25, _FW_CAPS_CONFIG_CMD@GOTPAGEOFF]
	ldr	w0, [x25]
	bl	_FW_CMD_OP_V
Lloh50:
	adrp	x26, _FW_CMD_REQUEST_F@GOTPAGE
Lloh51:
	ldr	x26, [x26, _FW_CMD_REQUEST_F@GOTPAGEOFF]
	ldr	w8, [x26]
	orr	w8, w8, w0
Lloh52:
	adrp	x27, _FW_CMD_READ_F@GOTPAGE
Lloh53:
	ldr	x27, [x27, _FW_CMD_READ_F@GOTPAGEOFF]
	ldr	w9, [x27]
	orr	w0, w8, w9
	bl	_htonl
	str	x0, [sp, #120]
Lloh54:
	adrp	x8, _FW_CAPS_CONFIG_CMD_CFVALID_F@GOTPAGE
Lloh55:
	ldr	x8, [x8, _FW_CAPS_CONFIG_CMD_CFVALID_F@GOTPAGEOFF]
Lloh56:
	ldr	w22, [x8]
	mov	x0, x20
	bl	_FW_CAPS_CONFIG_CMD_MEMTYPE_CF_V
	orr	w20, w0, w22
	lsr	x0, x21, #16
	bl	_FW_CAPS_CONFIG_CMD_MEMADDR64K_CF_V
	orr	w20, w20, w0
	ldp	q0, q1, [sp, #112]
	stp	q0, q1, [sp, #48]
	add	x0, sp, #48
	bl	_FW_LEN16
	orr	w0, w20, w0
	bl	_htonl
	str	x0, [sp, #112]
	ldr	w1, [x19, #4]
	add	x2, sp, #112
	add	x4, sp, #112
	mov	x0, x19
	mov	w3, #32
	bl	_t4_wr_mbox
	mov	x22, x0
Lloh57:
	adrp	x24, _ENOENT@GOTPAGE
Lloh58:
	ldr	x24, [x24, _ENOENT@GOTPAGEOFF]
	ldr	w8, [x24]
	cmn	w0, w8
	b.ne	LBB0_24
; %bb.23:
	add	x0, sp, #112
	mov	w1, #0
	mov	w2, #32
	bl	_memset
	ldr	w0, [x25]
	bl	_FW_CMD_OP_V
	ldr	w8, [x26]
	orr	w8, w8, w0
	ldr	w9, [x27]
	orr	w0, w8, w9
	bl	_htonl
	str	x0, [sp, #120]
	ldp	q0, q1, [sp, #112]
	stp	q0, q1, [sp, #48]
	add	x0, sp, #48
	bl	_FW_LEN16
	bl	_htonl
	str	x0, [sp, #112]
	ldr	w1, [x19, #4]
	add	x2, sp, #112
	add	x4, sp, #112
	mov	x0, x19
	mov	w3, #32
	bl	_t4_wr_mbox
	mov	x22, x0
Lloh59:
	adrp	x23, l_.str.4@PAGE
Lloh60:
	add	x23, x23, l_.str.4@PAGEOFF
LBB0_24:
	tbnz	w22, #31, LBB0_37
; %bb.25:
	ldr	w0, [sp, #136]
	bl	_ntohl
	mov	x20, x0
	ldr	w0, [sp, #132]
	bl	_ntohl
	mov	x22, x0
	ldr	w0, [sp, #128]
	bl	_ntohl
	mov	x21, x0
	cmp	x22, x0
	b.eq	LBB0_27
; %bb.26:
	ldr	w0, [x19]
	stp	x22, x21, [sp]
Lloh61:
	adrp	x1, l_.str.5@PAGE
Lloh62:
	add	x1, x1, l_.str.5@PAGEOFF
	bl	_dev_warn
LBB0_27:
	ldr	w0, [x25]
	bl	_FW_CMD_OP_V
	ldr	w8, [x26]
	orr	w8, w8, w0
Lloh63:
	adrp	x9, _FW_CMD_WRITE_F@GOTPAGE
Lloh64:
	ldr	x9, [x9, _FW_CMD_WRITE_F@GOTPAGEOFF]
Lloh65:
	ldr	w9, [x9]
	orr	w0, w8, w9
	bl	_htonl
	str	x0, [sp, #120]
	ldp	q0, q1, [sp, #112]
	stp	q0, q1, [sp, #48]
	add	x0, sp, #48
	bl	_FW_LEN16
	bl	_htonl
	str	x0, [sp, #112]
	ldr	w1, [x19, #4]
	add	x2, sp, #112
	mov	x0, x19
	mov	w3, #32
	mov	x4, #0
	bl	_t4_wr_mbox
	tbnz	w0, #31, LBB0_36
; %bb.28:
	mov	x0, x19
	bl	_adap_init0_tweaks
	tbnz	w0, #31, LBB0_36
; %bb.29:
	mov	x0, x19
	bl	_adap_config_hma
	cbz	w0, LBB0_31
; %bb.30:
	mov	x2, x0
	ldr	w0, [x19]
Lloh66:
	adrp	x1, l_.str.6@PAGE
Lloh67:
	add	x1, x1, l_.str.6@PAGEOFF
	bl	_dev_err
LBB0_31:
	ldr	w0, [x19, #8]
	bl	_is_t6
	cbz	x0, LBB0_34
; %bb.32:
	mov	x0, x19
	bl	_setup_ppod_edram
	cbnz	w0, LBB0_34
; %bb.33:
	ldr	w0, [x19]
Lloh68:
	adrp	x1, l_.str.7@PAGE
Lloh69:
	add	x1, x1, l_.str.7@PAGEOFF
	bl	_dev_info
LBB0_34:
	ldr	w1, [x19, #4]
	mov	x0, x19
	bl	_t4_fw_initialize
	tbnz	w0, #31, LBB0_36
; %bb.35:
	ldr	w0, [x19]
	stp	x20, x21, [sp, #8]
	str	x23, [sp]
Lloh70:
	adrp	x1, l_.str.8@PAGE
Lloh71:
	add	x1, x1, l_.str.8@PAGEOFF
	bl	_dev_info
	mov	w22, #0
	b	LBB0_11
LBB0_36:
	mov	x22, x0
LBB0_37:
	ldr	w8, [x24]
	cmn	w22, w8
	b.eq	LBB0_11
; %bb.38:
	ldr	w0, [x19]
	neg	w8, w22
	stp	x23, x8, [sp]
Lloh72:
	adrp	x1, l_.str.9@PAGE
Lloh73:
	add	x1, x1, l_.str.9@PAGEOFF
	bl	_dev_warn
	b	LBB0_11
LBB0_39:
	bl	___stack_chk_fail
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpAdd	Lloh9, Lloh10
	.loh AdrpLdrGotLdr	Lloh13, Lloh14, Lloh15
	.loh AdrpAdd	Lloh11, Lloh12
	.loh AdrpLdrGotLdr	Lloh19, Lloh20, Lloh21
	.loh AdrpLdrGotLdr	Lloh16, Lloh17, Lloh18
	.loh AdrpLdrGotLdr	Lloh24, Lloh25, Lloh26
	.loh AdrpAdd	Lloh22, Lloh23
	.loh AdrpLdrGotLdr	Lloh27, Lloh28, Lloh29
	.loh AdrpAdd	Lloh33, Lloh34
	.loh AdrpLdrGotLdr	Lloh30, Lloh31, Lloh32
	.loh AdrpLdrGotLdr	Lloh35, Lloh36, Lloh37
	.loh AdrpLdrGot	Lloh38, Lloh39
	.loh AdrpLdrGotLdr	Lloh43, Lloh44, Lloh45
	.loh AdrpLdrGotLdr	Lloh40, Lloh41, Lloh42
	.loh AdrpAdd	Lloh46, Lloh47
	.loh AdrpLdrGot	Lloh57, Lloh58
	.loh AdrpLdrGotLdr	Lloh54, Lloh55, Lloh56
	.loh AdrpLdrGot	Lloh52, Lloh53
	.loh AdrpLdrGot	Lloh50, Lloh51
	.loh AdrpLdrGot	Lloh48, Lloh49
	.loh AdrpAdd	Lloh59, Lloh60
	.loh AdrpAdd	Lloh61, Lloh62
	.loh AdrpLdrGotLdr	Lloh63, Lloh64, Lloh65
	.loh AdrpAdd	Lloh66, Lloh67
	.loh AdrpAdd	Lloh68, Lloh69
	.loh AdrpAdd	Lloh70, Lloh71
	.loh AdrpAdd	Lloh72, Lloh73
	.cfi_endproc
                                        ; -- End function
	.comm	_PIORSTMODE_F,4,2               ; @PIORSTMODE_F
	.comm	_PIORST_F,4,2                   ; @PIORST_F
	.comm	_FW4_CFNAME,8,3                 ; @FW4_CFNAME
	.comm	_FW5_CFNAME,8,3                 ; @FW5_CFNAME
	.comm	_FW6_CFNAME,8,3                 ; @FW6_CFNAME
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"Device %d is not supported\n"

	.comm	_EINVAL,4,2                     ; @EINVAL
l_.str.1:                               ; @.str.1
	.asciz	"On FLASH"

	.comm	_FW_MEMTYPE_CF_FLASH,8,3        ; @FW_MEMTYPE_CF_FLASH
l_.str.2:                               ; @.str.2
	.asciz	"/lib/firmware/%s"

	.comm	_FLASH_CFG_MAX_SIZE,4,2         ; @FLASH_CFG_MAX_SIZE
	.comm	_ENOMEM,4,2                     ; @ENOMEM
	.comm	_FW_PARAMS_MNEM_DEV,4,2         ; @FW_PARAMS_MNEM_DEV
	.comm	_FW_PARAMS_PARAM_DEV_CF,4,2     ; @FW_PARAMS_PARAM_DEV_CF
	.comm	_T4_MEMORY_WRITE,4,2            ; @T4_MEMORY_WRITE
	.comm	_FW_PARAMS_PARAM_DEV_HASHFILTER_WITH_OFLD,4,2 ; @FW_PARAMS_PARAM_DEV_HASHFILTER_WITH_OFLD
l_.str.3:                               ; @.str.3
	.asciz	"Hash filter with ofld is not supported by FW\n"

	.comm	_FW_CAPS_CONFIG_CMD,4,2         ; @FW_CAPS_CONFIG_CMD
	.comm	_FW_CMD_REQUEST_F,4,2           ; @FW_CMD_REQUEST_F
	.comm	_FW_CMD_READ_F,4,2              ; @FW_CMD_READ_F
	.comm	_FW_CAPS_CONFIG_CMD_CFVALID_F,4,2 ; @FW_CAPS_CONFIG_CMD_CFVALID_F
	.comm	_ENOENT,4,2                     ; @ENOENT
l_.str.4:                               ; @.str.4
	.asciz	"Firmware Default"

l_.str.5:                               ; @.str.5
	.asciz	"Configuration File checksum mismatch: [fini] csum=%#x, computed csum=%#x\n"

	.comm	_FW_CMD_WRITE_F,4,2             ; @FW_CMD_WRITE_F
l_.str.6:                               ; @.str.6
	.asciz	"HMA configuration failed with error %d\n"

l_.str.7:                               ; @.str.7
	.asciz	"Successfully enabled ppod edram feature\n"

l_.str.8:                               ; @.str.8
	.asciz	"Successfully configured using Firmware Configuration File \"%s\", version %#x, computed checksum %#x\n"

l_.str.9:                               ; @.str.9
	.asciz	"\"%s\" configuration file error %d\n"

	.no_dead_strip	_adap_init0_config
	.section	__DATA,__const
	.p2align	3                               ; @switch.table.adap_init0_config
l_switch.table.adap_init0_config:
	.quad	_FW6_CFNAME
	.quad	_FW5_CFNAME
	.quad	_FW4_CFNAME

.subsections_via_symbols
