	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function a5xx_rbbm_err_irq
_a5xx_rbbm_err_irq:                     ## @a5xx_rbbm_err_irq
	.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	%rbx
	pushq	%rax
	.cfi_offset %rbx, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movl	%esi, %r14d
	movq	%rdi, %rbx
	movq	_A5XX_RBBM_INT_0_MASK_RBBM_AHB_ERROR@GOTPCREL(%rip), %r15
	testl	%esi, (%r15)
	je	LBB0_2
## %bb.1:
	movq	_REG_A5XX_RBBM_AHB_ERROR_STATUS@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%rbx, %rdi
	callq	_gpu_read
	movq	(%rbx), %rcx
	movl	(%rcx), %edi
	testl	$268435456, %eax                ## imm = 0x10000000
	leaq	L_.str.2(%rip), %rcx
	leaq	L_.str.1(%rip), %rdx
	cmoveq	%rcx, %rdx
	movl	%eax, %ecx
	shrl	$2, %ecx
	andl	$262143, %ecx                   ## imm = 0x3FFFF
	movl	%eax, %r8d
	shrl	$20, %r8d
	andl	$3, %r8d
	shrl	$24, %eax
	andl	$15, %eax
	leaq	L_.str(%rip), %rsi
	movl	%eax, %r9d
	xorl	%eax, %eax
	callq	_dev_err_ratelimited
	movq	_REG_A5XX_RBBM_AHB_CMD@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%rbx, %rdi
	movl	$16, %edx
	callq	_gpu_write
	movq	_REG_A5XX_RBBM_INT_CLEAR_CMD@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movl	(%r15), %edx
	movq	%rbx, %rdi
	callq	_gpu_write
LBB0_2:
	movq	_A5XX_RBBM_INT_0_MASK_RBBM_TRANSFER_TIMEOUT@GOTPCREL(%rip), %rax
	testl	%r14d, (%rax)
	je	LBB0_4
## %bb.3:
	movq	(%rbx), %rax
	movl	(%rax), %edi
	leaq	L_.str.3(%rip), %rsi
	xorl	%eax, %eax
	callq	_dev_err_ratelimited
LBB0_4:
	movq	_A5XX_RBBM_INT_0_MASK_RBBM_ME_MS_TIMEOUT@GOTPCREL(%rip), %rax
	testl	%r14d, (%rax)
	je	LBB0_6
## %bb.5:
	movq	(%rbx), %rax
	movl	(%rax), %r15d
	movq	_REG_A5XX_RBBM_AHB_ME_SPLIT_STATUS@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%rbx, %rdi
	callq	_gpu_read
	leaq	L_.str.4(%rip), %rsi
	movl	%r15d, %edi
	movl	%eax, %edx
	xorl	%eax, %eax
	callq	_dev_err_ratelimited
LBB0_6:
	movq	_A5XX_RBBM_INT_0_MASK_RBBM_PFP_MS_TIMEOUT@GOTPCREL(%rip), %rax
	testl	%r14d, (%rax)
	je	LBB0_8
## %bb.7:
	movq	(%rbx), %rax
	movl	(%rax), %r15d
	movq	_REG_A5XX_RBBM_AHB_PFP_SPLIT_STATUS@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%rbx, %rdi
	callq	_gpu_read
	leaq	L_.str.5(%rip), %rsi
	movl	%r15d, %edi
	movl	%eax, %edx
	xorl	%eax, %eax
	callq	_dev_err_ratelimited
LBB0_8:
	movq	_A5XX_RBBM_INT_0_MASK_RBBM_ETS_MS_TIMEOUT@GOTPCREL(%rip), %rax
	testl	%r14d, (%rax)
	je	LBB0_10
## %bb.9:
	movq	(%rbx), %rax
	movl	(%rax), %r15d
	movq	_REG_A5XX_RBBM_AHB_ETS_SPLIT_STATUS@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%rbx, %rdi
	callq	_gpu_read
	leaq	L_.str.6(%rip), %rsi
	movl	%r15d, %edi
	movl	%eax, %edx
	xorl	%eax, %eax
	callq	_dev_err_ratelimited
LBB0_10:
	movq	_A5XX_RBBM_INT_0_MASK_RBBM_ATB_ASYNC_OVERFLOW@GOTPCREL(%rip), %rax
	testl	%r14d, (%rax)
	je	LBB0_12
## %bb.11:
	movq	(%rbx), %rax
	movl	(%rax), %edi
	leaq	L_.str.7(%rip), %rsi
	xorl	%eax, %eax
	callq	_dev_err_ratelimited
LBB0_12:
	movq	_A5XX_RBBM_INT_0_MASK_RBBM_ATB_BUS_OVERFLOW@GOTPCREL(%rip), %rax
	testl	%r14d, (%rax)
	je	LBB0_13
## %bb.14:
	movq	(%rbx), %rax
	movl	(%rax), %edi
	leaq	L_.str.8(%rip), %rsi
	xorl	%eax, %eax
	addq	$8, %rsp
	popq	%rbx
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_dev_err_ratelimited            ## TAILCALL
LBB0_13:
	addq	$8, %rsp
	popq	%rbx
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_A5XX_RBBM_INT_0_MASK_RBBM_AHB_ERROR,4,2 ## @A5XX_RBBM_INT_0_MASK_RBBM_AHB_ERROR
	.comm	_REG_A5XX_RBBM_AHB_ERROR_STATUS,4,2 ## @REG_A5XX_RBBM_AHB_ERROR_STATUS
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"RBBM | AHB bus error | %s | addr=0x%X | ports=0x%X:0x%X\n"

L_.str.1:                               ## @.str.1
	.asciz	"WRITE"

L_.str.2:                               ## @.str.2
	.asciz	"READ"

	.comm	_REG_A5XX_RBBM_AHB_CMD,4,2      ## @REG_A5XX_RBBM_AHB_CMD
	.comm	_REG_A5XX_RBBM_INT_CLEAR_CMD,4,2 ## @REG_A5XX_RBBM_INT_CLEAR_CMD
	.comm	_A5XX_RBBM_INT_0_MASK_RBBM_TRANSFER_TIMEOUT,4,2 ## @A5XX_RBBM_INT_0_MASK_RBBM_TRANSFER_TIMEOUT
L_.str.3:                               ## @.str.3
	.asciz	"RBBM | AHB transfer timeout\n"

	.comm	_A5XX_RBBM_INT_0_MASK_RBBM_ME_MS_TIMEOUT,4,2 ## @A5XX_RBBM_INT_0_MASK_RBBM_ME_MS_TIMEOUT
L_.str.4:                               ## @.str.4
	.asciz	"RBBM | ME master split | status=0x%X\n"

	.comm	_REG_A5XX_RBBM_AHB_ME_SPLIT_STATUS,4,2 ## @REG_A5XX_RBBM_AHB_ME_SPLIT_STATUS
	.comm	_A5XX_RBBM_INT_0_MASK_RBBM_PFP_MS_TIMEOUT,4,2 ## @A5XX_RBBM_INT_0_MASK_RBBM_PFP_MS_TIMEOUT
L_.str.5:                               ## @.str.5
	.asciz	"RBBM | PFP master split | status=0x%X\n"

	.comm	_REG_A5XX_RBBM_AHB_PFP_SPLIT_STATUS,4,2 ## @REG_A5XX_RBBM_AHB_PFP_SPLIT_STATUS
	.comm	_A5XX_RBBM_INT_0_MASK_RBBM_ETS_MS_TIMEOUT,4,2 ## @A5XX_RBBM_INT_0_MASK_RBBM_ETS_MS_TIMEOUT
L_.str.6:                               ## @.str.6
	.asciz	"RBBM | ETS master split | status=0x%X\n"

	.comm	_REG_A5XX_RBBM_AHB_ETS_SPLIT_STATUS,4,2 ## @REG_A5XX_RBBM_AHB_ETS_SPLIT_STATUS
	.comm	_A5XX_RBBM_INT_0_MASK_RBBM_ATB_ASYNC_OVERFLOW,4,2 ## @A5XX_RBBM_INT_0_MASK_RBBM_ATB_ASYNC_OVERFLOW
L_.str.7:                               ## @.str.7
	.asciz	"RBBM | ATB ASYNC overflow\n"

	.comm	_A5XX_RBBM_INT_0_MASK_RBBM_ATB_BUS_OVERFLOW,4,2 ## @A5XX_RBBM_INT_0_MASK_RBBM_ATB_BUS_OVERFLOW
L_.str.8:                               ## @.str.8
	.asciz	"RBBM | ATB bus overflow\n"

	.no_dead_strip	_a5xx_rbbm_err_irq
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function a5xx_rbbm_err_irq
_a5xx_rbbm_err_irq:                     ; @a5xx_rbbm_err_irq
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #80
	.cfi_def_cfa_offset 80
	stp	x22, x21, [sp, #32]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #48]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #64]             ; 16-byte Folded Spill
	add	x29, sp, #64
	.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
	mov	x20, x1
	mov	x19, x0
Lloh0:
	adrp	x21, _A5XX_RBBM_INT_0_MASK_RBBM_AHB_ERROR@GOTPAGE
Lloh1:
	ldr	x21, [x21, _A5XX_RBBM_INT_0_MASK_RBBM_AHB_ERROR@GOTPAGEOFF]
	ldr	w8, [x21]
	tst	w8, w1
	b.eq	LBB0_2
; %bb.1:
Lloh2:
	adrp	x8, _REG_A5XX_RBBM_AHB_ERROR_STATUS@GOTPAGE
Lloh3:
	ldr	x8, [x8, _REG_A5XX_RBBM_AHB_ERROR_STATUS@GOTPAGEOFF]
Lloh4:
	ldr	w1, [x8]
	mov	x0, x19
	bl	_gpu_read
	ldr	x8, [x19]
Lloh5:
	adrp	x9, l_.str.1@PAGE
Lloh6:
	add	x9, x9, l_.str.1@PAGEOFF
Lloh7:
	adrp	x10, l_.str.2@PAGE
Lloh8:
	add	x10, x10, l_.str.2@PAGEOFF
	ldr	w8, [x8]
	ubfx	w11, w0, #2, #18
	tst	w0, #0x10000000
	csel	x9, x10, x9, eq
	ubfx	w10, w0, #20, #2
	ubfx	w12, w0, #24, #4
	stp	x10, x12, [sp, #16]
	stp	x9, x11, [sp]
Lloh9:
	adrp	x1, l_.str@PAGE
Lloh10:
	add	x1, x1, l_.str@PAGEOFF
	mov	x0, x8
	bl	_dev_err_ratelimited
Lloh11:
	adrp	x8, _REG_A5XX_RBBM_AHB_CMD@GOTPAGE
Lloh12:
	ldr	x8, [x8, _REG_A5XX_RBBM_AHB_CMD@GOTPAGEOFF]
Lloh13:
	ldr	w1, [x8]
	mov	x0, x19
	mov	w2, #16
	bl	_gpu_write
Lloh14:
	adrp	x8, _REG_A5XX_RBBM_INT_CLEAR_CMD@GOTPAGE
Lloh15:
	ldr	x8, [x8, _REG_A5XX_RBBM_INT_CLEAR_CMD@GOTPAGEOFF]
Lloh16:
	ldr	w1, [x8]
	ldr	w2, [x21]
	mov	x0, x19
	bl	_gpu_write
LBB0_2:
Lloh17:
	adrp	x8, _A5XX_RBBM_INT_0_MASK_RBBM_TRANSFER_TIMEOUT@GOTPAGE
Lloh18:
	ldr	x8, [x8, _A5XX_RBBM_INT_0_MASK_RBBM_TRANSFER_TIMEOUT@GOTPAGEOFF]
Lloh19:
	ldr	w8, [x8]
	tst	w8, w20
	b.eq	LBB0_4
; %bb.3:
	ldr	x8, [x19]
	ldr	w0, [x8]
Lloh20:
	adrp	x1, l_.str.3@PAGE
Lloh21:
	add	x1, x1, l_.str.3@PAGEOFF
	bl	_dev_err_ratelimited
LBB0_4:
Lloh22:
	adrp	x8, _A5XX_RBBM_INT_0_MASK_RBBM_ME_MS_TIMEOUT@GOTPAGE
Lloh23:
	ldr	x8, [x8, _A5XX_RBBM_INT_0_MASK_RBBM_ME_MS_TIMEOUT@GOTPAGEOFF]
Lloh24:
	ldr	w8, [x8]
	tst	w8, w20
	b.eq	LBB0_6
; %bb.5:
	ldr	x8, [x19]
	ldr	w21, [x8]
Lloh25:
	adrp	x8, _REG_A5XX_RBBM_AHB_ME_SPLIT_STATUS@GOTPAGE
Lloh26:
	ldr	x8, [x8, _REG_A5XX_RBBM_AHB_ME_SPLIT_STATUS@GOTPAGEOFF]
Lloh27:
	ldr	w1, [x8]
	mov	x0, x19
	bl	_gpu_read
                                        ; kill: def $w0 killed $w0 def $x0
	str	x0, [sp]
Lloh28:
	adrp	x1, l_.str.4@PAGE
Lloh29:
	add	x1, x1, l_.str.4@PAGEOFF
	mov	x0, x21
	bl	_dev_err_ratelimited
LBB0_6:
Lloh30:
	adrp	x8, _A5XX_RBBM_INT_0_MASK_RBBM_PFP_MS_TIMEOUT@GOTPAGE
Lloh31:
	ldr	x8, [x8, _A5XX_RBBM_INT_0_MASK_RBBM_PFP_MS_TIMEOUT@GOTPAGEOFF]
Lloh32:
	ldr	w8, [x8]
	tst	w8, w20
	b.eq	LBB0_8
; %bb.7:
	ldr	x8, [x19]
	ldr	w21, [x8]
Lloh33:
	adrp	x8, _REG_A5XX_RBBM_AHB_PFP_SPLIT_STATUS@GOTPAGE
Lloh34:
	ldr	x8, [x8, _REG_A5XX_RBBM_AHB_PFP_SPLIT_STATUS@GOTPAGEOFF]
Lloh35:
	ldr	w1, [x8]
	mov	x0, x19
	bl	_gpu_read
                                        ; kill: def $w0 killed $w0 def $x0
	str	x0, [sp]
Lloh36:
	adrp	x1, l_.str.5@PAGE
Lloh37:
	add	x1, x1, l_.str.5@PAGEOFF
	mov	x0, x21
	bl	_dev_err_ratelimited
LBB0_8:
Lloh38:
	adrp	x8, _A5XX_RBBM_INT_0_MASK_RBBM_ETS_MS_TIMEOUT@GOTPAGE
Lloh39:
	ldr	x8, [x8, _A5XX_RBBM_INT_0_MASK_RBBM_ETS_MS_TIMEOUT@GOTPAGEOFF]
Lloh40:
	ldr	w8, [x8]
	tst	w8, w20
	b.eq	LBB0_10
; %bb.9:
	ldr	x8, [x19]
	ldr	w21, [x8]
Lloh41:
	adrp	x8, _REG_A5XX_RBBM_AHB_ETS_SPLIT_STATUS@GOTPAGE
Lloh42:
	ldr	x8, [x8, _REG_A5XX_RBBM_AHB_ETS_SPLIT_STATUS@GOTPAGEOFF]
Lloh43:
	ldr	w1, [x8]
	mov	x0, x19
	bl	_gpu_read
                                        ; kill: def $w0 killed $w0 def $x0
	str	x0, [sp]
Lloh44:
	adrp	x1, l_.str.6@PAGE
Lloh45:
	add	x1, x1, l_.str.6@PAGEOFF
	mov	x0, x21
	bl	_dev_err_ratelimited
LBB0_10:
Lloh46:
	adrp	x8, _A5XX_RBBM_INT_0_MASK_RBBM_ATB_ASYNC_OVERFLOW@GOTPAGE
Lloh47:
	ldr	x8, [x8, _A5XX_RBBM_INT_0_MASK_RBBM_ATB_ASYNC_OVERFLOW@GOTPAGEOFF]
Lloh48:
	ldr	w8, [x8]
	tst	w8, w20
	b.eq	LBB0_12
; %bb.11:
	ldr	x8, [x19]
	ldr	w0, [x8]
Lloh49:
	adrp	x1, l_.str.7@PAGE
Lloh50:
	add	x1, x1, l_.str.7@PAGEOFF
	bl	_dev_err_ratelimited
LBB0_12:
Lloh51:
	adrp	x8, _A5XX_RBBM_INT_0_MASK_RBBM_ATB_BUS_OVERFLOW@GOTPAGE
Lloh52:
	ldr	x8, [x8, _A5XX_RBBM_INT_0_MASK_RBBM_ATB_BUS_OVERFLOW@GOTPAGEOFF]
Lloh53:
	ldr	w8, [x8]
	tst	w8, w20
	b.eq	LBB0_14
; %bb.13:
	ldr	x8, [x19]
	ldr	w0, [x8]
Lloh54:
	adrp	x1, l_.str.8@PAGE
Lloh55:
	add	x1, x1, l_.str.8@PAGEOFF
	ldp	x29, x30, [sp, #64]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #48]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #32]             ; 16-byte Folded Reload
	add	sp, sp, #80
	b	_dev_err_ratelimited
LBB0_14:
	ldp	x29, x30, [sp, #64]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #48]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #32]             ; 16-byte Folded Reload
	add	sp, sp, #80
	ret
	.loh AdrpLdrGot	Lloh0, Lloh1
	.loh AdrpLdrGotLdr	Lloh14, Lloh15, Lloh16
	.loh AdrpLdrGotLdr	Lloh11, Lloh12, Lloh13
	.loh AdrpAdd	Lloh9, Lloh10
	.loh AdrpAdd	Lloh7, Lloh8
	.loh AdrpAdd	Lloh5, Lloh6
	.loh AdrpLdrGotLdr	Lloh2, Lloh3, Lloh4
	.loh AdrpLdrGotLdr	Lloh17, Lloh18, Lloh19
	.loh AdrpAdd	Lloh20, Lloh21
	.loh AdrpLdrGotLdr	Lloh22, Lloh23, Lloh24
	.loh AdrpAdd	Lloh28, Lloh29
	.loh AdrpLdrGotLdr	Lloh25, Lloh26, Lloh27
	.loh AdrpLdrGotLdr	Lloh30, Lloh31, Lloh32
	.loh AdrpAdd	Lloh36, Lloh37
	.loh AdrpLdrGotLdr	Lloh33, Lloh34, Lloh35
	.loh AdrpLdrGotLdr	Lloh38, Lloh39, Lloh40
	.loh AdrpAdd	Lloh44, Lloh45
	.loh AdrpLdrGotLdr	Lloh41, Lloh42, Lloh43
	.loh AdrpLdrGotLdr	Lloh46, Lloh47, Lloh48
	.loh AdrpAdd	Lloh49, Lloh50
	.loh AdrpLdrGotLdr	Lloh51, Lloh52, Lloh53
	.loh AdrpAdd	Lloh54, Lloh55
	.cfi_endproc
                                        ; -- End function
	.comm	_A5XX_RBBM_INT_0_MASK_RBBM_AHB_ERROR,4,2 ; @A5XX_RBBM_INT_0_MASK_RBBM_AHB_ERROR
	.comm	_REG_A5XX_RBBM_AHB_ERROR_STATUS,4,2 ; @REG_A5XX_RBBM_AHB_ERROR_STATUS
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"RBBM | AHB bus error | %s | addr=0x%X | ports=0x%X:0x%X\n"

l_.str.1:                               ; @.str.1
	.asciz	"WRITE"

l_.str.2:                               ; @.str.2
	.asciz	"READ"

	.comm	_REG_A5XX_RBBM_AHB_CMD,4,2      ; @REG_A5XX_RBBM_AHB_CMD
	.comm	_REG_A5XX_RBBM_INT_CLEAR_CMD,4,2 ; @REG_A5XX_RBBM_INT_CLEAR_CMD
	.comm	_A5XX_RBBM_INT_0_MASK_RBBM_TRANSFER_TIMEOUT,4,2 ; @A5XX_RBBM_INT_0_MASK_RBBM_TRANSFER_TIMEOUT
l_.str.3:                               ; @.str.3
	.asciz	"RBBM | AHB transfer timeout\n"

	.comm	_A5XX_RBBM_INT_0_MASK_RBBM_ME_MS_TIMEOUT,4,2 ; @A5XX_RBBM_INT_0_MASK_RBBM_ME_MS_TIMEOUT
l_.str.4:                               ; @.str.4
	.asciz	"RBBM | ME master split | status=0x%X\n"

	.comm	_REG_A5XX_RBBM_AHB_ME_SPLIT_STATUS,4,2 ; @REG_A5XX_RBBM_AHB_ME_SPLIT_STATUS
	.comm	_A5XX_RBBM_INT_0_MASK_RBBM_PFP_MS_TIMEOUT,4,2 ; @A5XX_RBBM_INT_0_MASK_RBBM_PFP_MS_TIMEOUT
l_.str.5:                               ; @.str.5
	.asciz	"RBBM | PFP master split | status=0x%X\n"

	.comm	_REG_A5XX_RBBM_AHB_PFP_SPLIT_STATUS,4,2 ; @REG_A5XX_RBBM_AHB_PFP_SPLIT_STATUS
	.comm	_A5XX_RBBM_INT_0_MASK_RBBM_ETS_MS_TIMEOUT,4,2 ; @A5XX_RBBM_INT_0_MASK_RBBM_ETS_MS_TIMEOUT
l_.str.6:                               ; @.str.6
	.asciz	"RBBM | ETS master split | status=0x%X\n"

	.comm	_REG_A5XX_RBBM_AHB_ETS_SPLIT_STATUS,4,2 ; @REG_A5XX_RBBM_AHB_ETS_SPLIT_STATUS
	.comm	_A5XX_RBBM_INT_0_MASK_RBBM_ATB_ASYNC_OVERFLOW,4,2 ; @A5XX_RBBM_INT_0_MASK_RBBM_ATB_ASYNC_OVERFLOW
l_.str.7:                               ; @.str.7
	.asciz	"RBBM | ATB ASYNC overflow\n"

	.comm	_A5XX_RBBM_INT_0_MASK_RBBM_ATB_BUS_OVERFLOW,4,2 ; @A5XX_RBBM_INT_0_MASK_RBBM_ATB_BUS_OVERFLOW
l_.str.8:                               ; @.str.8
	.asciz	"RBBM | ATB bus overflow\n"

	.no_dead_strip	_a5xx_rbbm_err_irq
.subsections_via_symbols
