	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_amdgpu_pm_sysfs_init           ## -- Begin function amdgpu_pm_sysfs_init
	.p2align	4, 0x90
_amdgpu_pm_sysfs_init:                  ## @amdgpu_pm_sysfs_init
	.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
	pushq	%rax
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	xorl	%r14d, %r14d
	cmpl	$0, 16(%rdi)
	je	LBB0_1
LBB0_63:
	movl	%r14d, %eax
	addq	$8, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_1:
	movq	%rdi, %rbx
	cmpq	$0, 24(%rdi)
	je	LBB0_63
## %bb.2:
	movq	64(%rbx), %r13
	movl	40(%rbx), %edi
	movq	_DRIVER_NAME@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_hwmon_groups@GOTPCREL(%rip), %rax
	movl	(%rax), %ecx
	movq	%rbx, %rdx
	callq	_hwmon_device_register_with_groups
	movl	%eax, 32(%rbx)
	movl	%eax, %edi
	callq	_IS_ERR
	testq	%rax, %rax
	je	LBB0_4
## %bb.3:
	movl	32(%rbx), %edi
	callq	_PTR_ERR
	movl	%eax, %r14d
	movl	40(%rbx), %edi
	leaq	L_.str(%rip), %rsi
	movl	%eax, %edx
	callq	_dev_err
	jmp	LBB0_63
LBB0_4:
	leaq	40(%rbx), %r12
	movl	(%r12), %edi
	movq	_dev_attr_power_dpm_state@GOTPCREL(%rip), %rsi
	callq	_device_create_file
	testl	%eax, %eax
	jne	LBB0_5
## %bb.7:
	movl	(%r12), %edi
	movq	_dev_attr_power_dpm_force_performance_level@GOTPCREL(%rip), %rsi
	callq	_device_create_file
	testl	%eax, %eax
	je	LBB0_8
LBB0_5:
	movl	%eax, %r15d
	leaq	L_.str.1(%rip), %rdi
LBB0_6:
	callq	_DRM_ERROR
	movl	%r15d, %r14d
	jmp	LBB0_63
LBB0_8:
	movl	(%r12), %edi
	movq	_dev_attr_pp_num_states@GOTPCREL(%rip), %rsi
	callq	_device_create_file
	testl	%eax, %eax
	je	LBB0_10
## %bb.9:
	movl	%eax, %r15d
	leaq	L_.str.2(%rip), %rdi
	jmp	LBB0_6
LBB0_10:
	movl	(%r12), %edi
	movq	_dev_attr_pp_cur_state@GOTPCREL(%rip), %rsi
	callq	_device_create_file
	testl	%eax, %eax
	je	LBB0_12
## %bb.11:
	movl	%eax, %r15d
	leaq	L_.str.3(%rip), %rdi
	jmp	LBB0_6
LBB0_12:
	movl	(%r12), %edi
	movq	_dev_attr_pp_force_state@GOTPCREL(%rip), %rsi
	callq	_device_create_file
	testl	%eax, %eax
	je	LBB0_14
## %bb.13:
	movl	%eax, %r15d
	leaq	L_.str.4(%rip), %rdi
	jmp	LBB0_6
LBB0_14:
	movl	(%r12), %edi
	movq	_dev_attr_pp_table@GOTPCREL(%rip), %rsi
	callq	_device_create_file
	testl	%eax, %eax
	je	LBB0_16
## %bb.15:
	movl	%eax, %r15d
	leaq	L_.str.5(%rip), %rdi
	jmp	LBB0_6
LBB0_16:
	movl	(%r12), %edi
	movq	_dev_attr_pp_dpm_sclk@GOTPCREL(%rip), %rsi
	callq	_device_create_file
	testl	%eax, %eax
	je	LBB0_18
## %bb.17:
	movl	%eax, %r15d
	leaq	L_.str.6(%rip), %rdi
	jmp	LBB0_6
LBB0_18:
	movl	(%r12), %edi
	movq	_dev_attr_pp_dpm_mclk@GOTPCREL(%rip), %rsi
	callq	_device_create_file
	testl	%eax, %eax
	je	LBB0_20
## %bb.19:
	movl	%eax, %r15d
	leaq	L_.str.7(%rip), %rdi
	jmp	LBB0_6
LBB0_20:
	movq	(%rbx), %rax
	movq	_CHIP_VEGA10@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jge	LBB0_21
LBB0_26:
	movq	_CHIP_VEGA20@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jl	LBB0_29
## %bb.27:
	movl	(%r12), %edi
	movq	_dev_attr_pp_dpm_fclk@GOTPCREL(%rip), %rsi
	callq	_device_create_file
	testl	%eax, %eax
	je	LBB0_28
## %bb.65:
	movl	%eax, %r15d
	leaq	L_.str.10(%rip), %rdi
	jmp	LBB0_6
LBB0_21:
	movl	(%r12), %edi
	movq	_dev_attr_pp_dpm_socclk@GOTPCREL(%rip), %rsi
	callq	_device_create_file
	testl	%eax, %eax
	je	LBB0_23
## %bb.22:
	movl	%eax, %r15d
	leaq	L_.str.8(%rip), %rdi
	jmp	LBB0_6
LBB0_23:
	movq	(%rbx), %rax
	movq	_CHIP_ARCTURUS@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	je	LBB0_26
## %bb.24:
	movl	(%r12), %edi
	movq	_dev_attr_pp_dpm_dcefclk@GOTPCREL(%rip), %rsi
	callq	_device_create_file
	testl	%eax, %eax
	je	LBB0_25
## %bb.64:
	movl	%eax, %r15d
	leaq	L_.str.9(%rip), %rdi
	jmp	LBB0_6
LBB0_28:
	movq	(%rbx), %rax
LBB0_29:
	movq	_CHIP_ARCTURUS@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	je	LBB0_32
## %bb.30:
	movl	(%r12), %edi
	movq	_dev_attr_pp_dpm_pcie@GOTPCREL(%rip), %rsi
	callq	_device_create_file
	testl	%eax, %eax
	je	LBB0_32
## %bb.31:
	movl	%eax, %r15d
	leaq	L_.str.11(%rip), %rdi
	jmp	LBB0_6
LBB0_32:
	movl	(%r12), %edi
	movq	_dev_attr_pp_sclk_od@GOTPCREL(%rip), %rsi
	callq	_device_create_file
	testl	%eax, %eax
	je	LBB0_34
## %bb.33:
	movl	%eax, %r15d
	leaq	L_.str.12(%rip), %rdi
	jmp	LBB0_6
LBB0_34:
	movl	(%r12), %edi
	movq	_dev_attr_pp_mclk_od@GOTPCREL(%rip), %rsi
	callq	_device_create_file
	testl	%eax, %eax
	je	LBB0_36
## %bb.35:
	movl	%eax, %r15d
	leaq	L_.str.13(%rip), %rdi
	jmp	LBB0_6
LBB0_36:
	movl	(%r12), %edi
	movq	_dev_attr_pp_power_profile_mode@GOTPCREL(%rip), %rsi
	callq	_device_create_file
	testl	%eax, %eax
	je	LBB0_38
## %bb.37:
	movl	%eax, %r15d
	leaq	L_.str.14(%rip), %rdi
	jmp	LBB0_6
LBB0_25:
	movq	(%rbx), %rax
	jmp	LBB0_26
LBB0_38:
	movq	%rbx, %rdi
	callq	_is_support_sw_smu
	testq	%rax, %rax
	je	LBB0_40
## %bb.39:
	cmpq	$0, 56(%rbx)
	jne	LBB0_42
LBB0_40:
	movq	%rbx, %rdi
	callq	_is_support_sw_smu
	testq	%rax, %rax
	jne	LBB0_44
## %bb.41:
	cmpq	$0, (%r13)
	je	LBB0_44
LBB0_42:
	movl	(%r12), %edi
	movq	_dev_attr_pp_od_clk_voltage@GOTPCREL(%rip), %rsi
	callq	_device_create_file
	testl	%eax, %eax
	je	LBB0_44
## %bb.43:
	movl	%eax, %r15d
	leaq	L_.str.15(%rip), %rdi
	jmp	LBB0_6
LBB0_44:
	movl	(%r12), %edi
	movq	_dev_attr_gpu_busy_percent@GOTPCREL(%rip), %rsi
	callq	_device_create_file
	testl	%eax, %eax
	je	LBB0_46
## %bb.45:
	movl	%eax, %r15d
	leaq	L_.str.16(%rip), %rdi
	jmp	LBB0_6
LBB0_46:
	movl	8(%rbx), %eax
	movq	_AMD_IS_APU@GOTPCREL(%rip), %r13
	movl	(%r13), %ecx
	testl	%eax, %ecx
	jne	LBB0_50
## %bb.47:
	movq	(%rbx), %rdx
	movq	_CHIP_VEGA10@GOTPCREL(%rip), %rsi
	cmpq	(%rsi), %rdx
	je	LBB0_50
## %bb.48:
	movl	(%r12), %edi
	movq	_dev_attr_mem_busy_percent@GOTPCREL(%rip), %rsi
	callq	_device_create_file
	testl	%eax, %eax
	je	LBB0_49
## %bb.66:
	movl	%eax, %r15d
	leaq	L_.str.17(%rip), %rdi
	jmp	LBB0_6
LBB0_49:
	movl	8(%rbx), %eax
	movl	(%r13), %ecx
LBB0_50:
	testl	%eax, %ecx
	je	LBB0_51
LBB0_53:
	cmpq	$0, 48(%rbx)
	je	LBB0_56
## %bb.54:
	movl	(%r12), %edi
	movq	_dev_attr_unique_id@GOTPCREL(%rip), %rsi
	callq	_device_create_file
	testl	%eax, %eax
	je	LBB0_56
## %bb.55:
	movl	%eax, %r15d
	leaq	L_.str.19(%rip), %rdi
	jmp	LBB0_6
LBB0_56:
	movq	%rbx, %rdi
	callq	_amdgpu_debugfs_pm_init
	testl	%eax, %eax
	je	LBB0_58
## %bb.57:
	movl	%eax, %r15d
	leaq	L_.str.20(%rip), %rdi
	jmp	LBB0_6
LBB0_51:
	movl	(%r12), %edi
	movq	_dev_attr_pcie_bw@GOTPCREL(%rip), %rsi
	callq	_device_create_file
	testl	%eax, %eax
	je	LBB0_53
## %bb.52:
	movl	%eax, %r15d
	leaq	L_.str.18(%rip), %rdi
	jmp	LBB0_6
LBB0_58:
	movq	(%rbx), %rax
	movq	_CHIP_VEGA10@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jl	LBB0_62
## %bb.59:
	movl	(%r13), %eax
	testl	%eax, 8(%rbx)
	je	LBB0_60
LBB0_62:
	movl	$1, 16(%rbx)
	jmp	LBB0_63
LBB0_60:
	movl	(%r12), %edi
	movq	_dev_attr_pp_features@GOTPCREL(%rip), %rsi
	callq	_device_create_file
	testl	%eax, %eax
	je	LBB0_62
## %bb.61:
	movl	%eax, %r15d
	leaq	L_.str.21(%rip), %rdi
	jmp	LBB0_6
	.cfi_endproc
                                        ## -- End function
	.comm	_DRIVER_NAME,4,2                ## @DRIVER_NAME
	.comm	_hwmon_groups,4,2               ## @hwmon_groups
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"Unable to register hwmon device: %d\n"

	.comm	_dev_attr_power_dpm_state,4,2   ## @dev_attr_power_dpm_state
L_.str.1:                               ## @.str.1
	.asciz	"failed to create device file for dpm state\n"

	.comm	_dev_attr_power_dpm_force_performance_level,4,2 ## @dev_attr_power_dpm_force_performance_level
	.comm	_dev_attr_pp_num_states,4,2     ## @dev_attr_pp_num_states
L_.str.2:                               ## @.str.2
	.asciz	"failed to create device file pp_num_states\n"

	.comm	_dev_attr_pp_cur_state,4,2      ## @dev_attr_pp_cur_state
L_.str.3:                               ## @.str.3
	.asciz	"failed to create device file pp_cur_state\n"

	.comm	_dev_attr_pp_force_state,4,2    ## @dev_attr_pp_force_state
L_.str.4:                               ## @.str.4
	.asciz	"failed to create device file pp_force_state\n"

	.comm	_dev_attr_pp_table,4,2          ## @dev_attr_pp_table
L_.str.5:                               ## @.str.5
	.asciz	"failed to create device file pp_table\n"

	.comm	_dev_attr_pp_dpm_sclk,4,2       ## @dev_attr_pp_dpm_sclk
L_.str.6:                               ## @.str.6
	.asciz	"failed to create device file pp_dpm_sclk\n"

	.comm	_dev_attr_pp_dpm_mclk,4,2       ## @dev_attr_pp_dpm_mclk
L_.str.7:                               ## @.str.7
	.asciz	"failed to create device file pp_dpm_mclk\n"

	.comm	_CHIP_VEGA10,8,3                ## @CHIP_VEGA10
	.comm	_dev_attr_pp_dpm_socclk,4,2     ## @dev_attr_pp_dpm_socclk
L_.str.8:                               ## @.str.8
	.asciz	"failed to create device file pp_dpm_socclk\n"

	.comm	_CHIP_ARCTURUS,8,3              ## @CHIP_ARCTURUS
	.comm	_dev_attr_pp_dpm_dcefclk,4,2    ## @dev_attr_pp_dpm_dcefclk
L_.str.9:                               ## @.str.9
	.asciz	"failed to create device file pp_dpm_dcefclk\n"

	.comm	_CHIP_VEGA20,8,3                ## @CHIP_VEGA20
	.comm	_dev_attr_pp_dpm_fclk,4,2       ## @dev_attr_pp_dpm_fclk
L_.str.10:                              ## @.str.10
	.asciz	"failed to create device file pp_dpm_fclk\n"

	.comm	_dev_attr_pp_dpm_pcie,4,2       ## @dev_attr_pp_dpm_pcie
L_.str.11:                              ## @.str.11
	.asciz	"failed to create device file pp_dpm_pcie\n"

	.comm	_dev_attr_pp_sclk_od,4,2        ## @dev_attr_pp_sclk_od
L_.str.12:                              ## @.str.12
	.asciz	"failed to create device file pp_sclk_od\n"

	.comm	_dev_attr_pp_mclk_od,4,2        ## @dev_attr_pp_mclk_od
L_.str.13:                              ## @.str.13
	.asciz	"failed to create device file pp_mclk_od\n"

	.comm	_dev_attr_pp_power_profile_mode,4,2 ## @dev_attr_pp_power_profile_mode
L_.str.14:                              ## @.str.14
	.asciz	"failed to create device file\tpp_power_profile_mode\n"

	.comm	_dev_attr_pp_od_clk_voltage,4,2 ## @dev_attr_pp_od_clk_voltage
L_.str.15:                              ## @.str.15
	.asciz	"failed to create device file\tpp_od_clk_voltage\n"

	.comm	_dev_attr_gpu_busy_percent,4,2  ## @dev_attr_gpu_busy_percent
L_.str.16:                              ## @.str.16
	.asciz	"failed to create device file\tgpu_busy_level\n"

	.comm	_AMD_IS_APU,4,2                 ## @AMD_IS_APU
	.comm	_dev_attr_mem_busy_percent,4,2  ## @dev_attr_mem_busy_percent
L_.str.17:                              ## @.str.17
	.asciz	"failed to create device file\tmem_busy_percent\n"

	.comm	_dev_attr_pcie_bw,4,2           ## @dev_attr_pcie_bw
L_.str.18:                              ## @.str.18
	.asciz	"failed to create device file pcie_bw\n"

	.comm	_dev_attr_unique_id,4,2         ## @dev_attr_unique_id
L_.str.19:                              ## @.str.19
	.asciz	"failed to create device file unique_id\n"

L_.str.20:                              ## @.str.20
	.asciz	"Failed to register debugfs file for dpm!\n"

	.comm	_dev_attr_pp_features,4,2       ## @dev_attr_pp_features
L_.str.21:                              ## @.str.21
	.asciz	"failed to create device file\tpp_features\n"

.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_amdgpu_pm_sysfs_init           ; -- Begin function amdgpu_pm_sysfs_init
	.p2align	2
_amdgpu_pm_sysfs_init:                  ; @amdgpu_pm_sysfs_init
	.cfi_startproc
; %bb.0:
	stp	x24, x23, [sp, #-64]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 64
	stp	x22, x21, [sp, #16]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #32]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #48]             ; 16-byte Folded Spill
	add	x29, sp, #48
	.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
	ldr	w8, [x0, #16]
	cbz	w8, LBB0_3
LBB0_1:
	mov	w20, #0
LBB0_2:
	mov	x0, x20
	ldp	x29, x30, [sp, #48]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #32]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #16]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp], #64             ; 16-byte Folded Reload
	ret
LBB0_3:
	mov	x19, x0
	ldr	x8, [x0, #24]
	cbz	x8, LBB0_1
; %bb.4:
	ldr	x22, [x19, #64]
	mov	x21, x19
	ldr	w0, [x21, #40]!
Lloh0:
	adrp	x8, _DRIVER_NAME@GOTPAGE
Lloh1:
	ldr	x8, [x8, _DRIVER_NAME@GOTPAGEOFF]
Lloh2:
	ldr	w1, [x8]
Lloh3:
	adrp	x8, _hwmon_groups@GOTPAGE
Lloh4:
	ldr	x8, [x8, _hwmon_groups@GOTPAGEOFF]
Lloh5:
	ldr	w3, [x8]
	mov	x2, x19
	bl	_hwmon_device_register_with_groups
	str	w0, [x19, #32]
	bl	_IS_ERR
	cbz	x0, LBB0_6
; %bb.5:
	ldr	w0, [x19, #32]
	bl	_PTR_ERR
	mov	x20, x0
	ldr	w0, [x19, #40]
Lloh6:
	adrp	x1, l_.str@PAGE
Lloh7:
	add	x1, x1, l_.str@PAGEOFF
	mov	x2, x20
	bl	_dev_err
	b	LBB0_2
LBB0_6:
	ldr	w0, [x21]
Lloh8:
	adrp	x1, _dev_attr_power_dpm_state@GOTPAGE
Lloh9:
	ldr	x1, [x1, _dev_attr_power_dpm_state@GOTPAGEOFF]
	bl	_device_create_file
	cbnz	w0, LBB0_8
; %bb.7:
	ldr	w0, [x21]
Lloh10:
	adrp	x1, _dev_attr_power_dpm_force_performance_level@GOTPAGE
Lloh11:
	ldr	x1, [x1, _dev_attr_power_dpm_force_performance_level@GOTPAGEOFF]
	bl	_device_create_file
	cbz	w0, LBB0_9
LBB0_8:
	mov	x20, x0
Lloh12:
	adrp	x0, l_.str.1@PAGE
Lloh13:
	add	x0, x0, l_.str.1@PAGEOFF
	bl	_DRM_ERROR
	b	LBB0_2
LBB0_9:
	ldr	w0, [x21]
Lloh14:
	adrp	x1, _dev_attr_pp_num_states@GOTPAGE
Lloh15:
	ldr	x1, [x1, _dev_attr_pp_num_states@GOTPAGEOFF]
	bl	_device_create_file
	cbz	w0, LBB0_11
; %bb.10:
	mov	x20, x0
Lloh16:
	adrp	x0, l_.str.2@PAGE
Lloh17:
	add	x0, x0, l_.str.2@PAGEOFF
	bl	_DRM_ERROR
	b	LBB0_2
LBB0_11:
	ldr	w0, [x21]
Lloh18:
	adrp	x1, _dev_attr_pp_cur_state@GOTPAGE
Lloh19:
	ldr	x1, [x1, _dev_attr_pp_cur_state@GOTPAGEOFF]
	bl	_device_create_file
	cbz	w0, LBB0_13
; %bb.12:
	mov	x20, x0
Lloh20:
	adrp	x0, l_.str.3@PAGE
Lloh21:
	add	x0, x0, l_.str.3@PAGEOFF
	bl	_DRM_ERROR
	b	LBB0_2
LBB0_13:
	ldr	w0, [x21]
Lloh22:
	adrp	x1, _dev_attr_pp_force_state@GOTPAGE
Lloh23:
	ldr	x1, [x1, _dev_attr_pp_force_state@GOTPAGEOFF]
	bl	_device_create_file
	cbz	w0, LBB0_15
; %bb.14:
	mov	x20, x0
Lloh24:
	adrp	x0, l_.str.4@PAGE
Lloh25:
	add	x0, x0, l_.str.4@PAGEOFF
	bl	_DRM_ERROR
	b	LBB0_2
LBB0_15:
	ldr	w0, [x21]
Lloh26:
	adrp	x1, _dev_attr_pp_table@GOTPAGE
Lloh27:
	ldr	x1, [x1, _dev_attr_pp_table@GOTPAGEOFF]
	bl	_device_create_file
	cbz	w0, LBB0_17
; %bb.16:
	mov	x20, x0
Lloh28:
	adrp	x0, l_.str.5@PAGE
Lloh29:
	add	x0, x0, l_.str.5@PAGEOFF
	bl	_DRM_ERROR
	b	LBB0_2
LBB0_17:
	ldr	w0, [x21]
Lloh30:
	adrp	x1, _dev_attr_pp_dpm_sclk@GOTPAGE
Lloh31:
	ldr	x1, [x1, _dev_attr_pp_dpm_sclk@GOTPAGEOFF]
	bl	_device_create_file
	cbz	w0, LBB0_19
; %bb.18:
	mov	x20, x0
Lloh32:
	adrp	x0, l_.str.6@PAGE
Lloh33:
	add	x0, x0, l_.str.6@PAGEOFF
	bl	_DRM_ERROR
	b	LBB0_2
LBB0_19:
	ldr	w0, [x21]
Lloh34:
	adrp	x1, _dev_attr_pp_dpm_mclk@GOTPAGE
Lloh35:
	ldr	x1, [x1, _dev_attr_pp_dpm_mclk@GOTPAGEOFF]
	bl	_device_create_file
	cbz	w0, LBB0_21
; %bb.20:
	mov	x20, x0
Lloh36:
	adrp	x0, l_.str.7@PAGE
Lloh37:
	add	x0, x0, l_.str.7@PAGEOFF
	bl	_DRM_ERROR
	b	LBB0_2
LBB0_21:
	ldr	x8, [x19]
Lloh38:
	adrp	x23, _CHIP_VEGA10@GOTPAGE
Lloh39:
	ldr	x23, [x23, _CHIP_VEGA10@GOTPAGEOFF]
	ldr	x9, [x23]
	cmp	x8, x9
	b.ge	LBB0_25
LBB0_22:
Lloh40:
	adrp	x9, _CHIP_VEGA20@GOTPAGE
Lloh41:
	ldr	x9, [x9, _CHIP_VEGA20@GOTPAGEOFF]
Lloh42:
	ldr	x9, [x9]
	cmp	x8, x9
	b.lt	LBB0_31
; %bb.23:
	ldr	w0, [x21]
Lloh43:
	adrp	x1, _dev_attr_pp_dpm_fclk@GOTPAGE
Lloh44:
	ldr	x1, [x1, _dev_attr_pp_dpm_fclk@GOTPAGEOFF]
	bl	_device_create_file
	cbz	w0, LBB0_30
; %bb.24:
	mov	x20, x0
Lloh45:
	adrp	x0, l_.str.10@PAGE
Lloh46:
	add	x0, x0, l_.str.10@PAGEOFF
	bl	_DRM_ERROR
	b	LBB0_2
LBB0_25:
	ldr	w0, [x21]
Lloh47:
	adrp	x1, _dev_attr_pp_dpm_socclk@GOTPAGE
Lloh48:
	ldr	x1, [x1, _dev_attr_pp_dpm_socclk@GOTPAGEOFF]
	bl	_device_create_file
	cbz	w0, LBB0_27
; %bb.26:
	mov	x20, x0
Lloh49:
	adrp	x0, l_.str.8@PAGE
Lloh50:
	add	x0, x0, l_.str.8@PAGEOFF
	bl	_DRM_ERROR
	b	LBB0_2
LBB0_27:
	ldr	x8, [x19]
Lloh51:
	adrp	x9, _CHIP_ARCTURUS@GOTPAGE
Lloh52:
	ldr	x9, [x9, _CHIP_ARCTURUS@GOTPAGEOFF]
Lloh53:
	ldr	x9, [x9]
	cmp	x8, x9
	b.eq	LBB0_22
; %bb.28:
	ldr	w0, [x21]
Lloh54:
	adrp	x1, _dev_attr_pp_dpm_dcefclk@GOTPAGE
Lloh55:
	ldr	x1, [x1, _dev_attr_pp_dpm_dcefclk@GOTPAGEOFF]
	bl	_device_create_file
	cbz	w0, LBB0_40
; %bb.29:
	mov	x20, x0
Lloh56:
	adrp	x0, l_.str.9@PAGE
Lloh57:
	add	x0, x0, l_.str.9@PAGEOFF
	bl	_DRM_ERROR
	b	LBB0_2
LBB0_30:
	ldr	x8, [x19]
LBB0_31:
Lloh58:
	adrp	x9, _CHIP_ARCTURUS@GOTPAGE
Lloh59:
	ldr	x9, [x9, _CHIP_ARCTURUS@GOTPAGEOFF]
Lloh60:
	ldr	x9, [x9]
	cmp	x8, x9
	b.eq	LBB0_34
; %bb.32:
	ldr	w0, [x21]
Lloh61:
	adrp	x1, _dev_attr_pp_dpm_pcie@GOTPAGE
Lloh62:
	ldr	x1, [x1, _dev_attr_pp_dpm_pcie@GOTPAGEOFF]
	bl	_device_create_file
	cbz	w0, LBB0_34
; %bb.33:
	mov	x20, x0
Lloh63:
	adrp	x0, l_.str.11@PAGE
Lloh64:
	add	x0, x0, l_.str.11@PAGEOFF
	bl	_DRM_ERROR
	b	LBB0_2
LBB0_34:
	ldr	w0, [x21]
Lloh65:
	adrp	x1, _dev_attr_pp_sclk_od@GOTPAGE
Lloh66:
	ldr	x1, [x1, _dev_attr_pp_sclk_od@GOTPAGEOFF]
	bl	_device_create_file
	cbz	w0, LBB0_36
; %bb.35:
	mov	x20, x0
Lloh67:
	adrp	x0, l_.str.12@PAGE
Lloh68:
	add	x0, x0, l_.str.12@PAGEOFF
	bl	_DRM_ERROR
	b	LBB0_2
LBB0_36:
	ldr	w0, [x21]
Lloh69:
	adrp	x1, _dev_attr_pp_mclk_od@GOTPAGE
Lloh70:
	ldr	x1, [x1, _dev_attr_pp_mclk_od@GOTPAGEOFF]
	bl	_device_create_file
	cbz	w0, LBB0_38
; %bb.37:
	mov	x20, x0
Lloh71:
	adrp	x0, l_.str.13@PAGE
Lloh72:
	add	x0, x0, l_.str.13@PAGEOFF
	bl	_DRM_ERROR
	b	LBB0_2
LBB0_38:
	ldr	w0, [x21]
Lloh73:
	adrp	x1, _dev_attr_pp_power_profile_mode@GOTPAGE
Lloh74:
	ldr	x1, [x1, _dev_attr_pp_power_profile_mode@GOTPAGEOFF]
	bl	_device_create_file
	cbz	w0, LBB0_41
; %bb.39:
	mov	x20, x0
Lloh75:
	adrp	x0, l_.str.14@PAGE
Lloh76:
	add	x0, x0, l_.str.14@PAGEOFF
	bl	_DRM_ERROR
	b	LBB0_2
LBB0_40:
	ldr	x8, [x19]
	b	LBB0_22
LBB0_41:
	mov	x0, x19
	bl	_is_support_sw_smu
	cbz	x0, LBB0_43
; %bb.42:
	ldr	x8, [x19, #56]
	cbnz	x8, LBB0_45
LBB0_43:
	mov	x0, x19
	bl	_is_support_sw_smu
	cbnz	x0, LBB0_47
; %bb.44:
	ldr	x8, [x22]
	cbz	x8, LBB0_47
LBB0_45:
	ldr	w0, [x21]
Lloh77:
	adrp	x1, _dev_attr_pp_od_clk_voltage@GOTPAGE
Lloh78:
	ldr	x1, [x1, _dev_attr_pp_od_clk_voltage@GOTPAGEOFF]
	bl	_device_create_file
	cbz	w0, LBB0_47
; %bb.46:
	mov	x20, x0
Lloh79:
	adrp	x0, l_.str.15@PAGE
Lloh80:
	add	x0, x0, l_.str.15@PAGEOFF
	bl	_DRM_ERROR
	b	LBB0_2
LBB0_47:
	ldr	w0, [x21]
Lloh81:
	adrp	x1, _dev_attr_gpu_busy_percent@GOTPAGE
Lloh82:
	ldr	x1, [x1, _dev_attr_gpu_busy_percent@GOTPAGEOFF]
	bl	_device_create_file
	cbz	w0, LBB0_49
; %bb.48:
	mov	x20, x0
Lloh83:
	adrp	x0, l_.str.16@PAGE
Lloh84:
	add	x0, x0, l_.str.16@PAGEOFF
	bl	_DRM_ERROR
	b	LBB0_2
LBB0_49:
	ldr	w8, [x19, #8]
Lloh85:
	adrp	x22, _AMD_IS_APU@GOTPAGE
Lloh86:
	ldr	x22, [x22, _AMD_IS_APU@GOTPAGEOFF]
	ldr	w9, [x22]
	tst	w9, w8
	b.ne	LBB0_54
; %bb.50:
	ldr	x10, [x19]
	ldr	x11, [x23]
	cmp	x10, x11
	b.eq	LBB0_54
; %bb.51:
	ldr	w0, [x21]
Lloh87:
	adrp	x1, _dev_attr_mem_busy_percent@GOTPAGE
Lloh88:
	ldr	x1, [x1, _dev_attr_mem_busy_percent@GOTPAGEOFF]
	bl	_device_create_file
	cbz	w0, LBB0_53
; %bb.52:
	mov	x20, x0
Lloh89:
	adrp	x0, l_.str.17@PAGE
Lloh90:
	add	x0, x0, l_.str.17@PAGEOFF
	bl	_DRM_ERROR
	b	LBB0_2
LBB0_53:
	ldr	w8, [x19, #8]
	ldr	w9, [x22]
LBB0_54:
	tst	w9, w8
	b.eq	LBB0_60
LBB0_55:
	ldr	x8, [x19, #48]
	cbz	x8, LBB0_58
; %bb.56:
	ldr	w0, [x21]
Lloh91:
	adrp	x1, _dev_attr_unique_id@GOTPAGE
Lloh92:
	ldr	x1, [x1, _dev_attr_unique_id@GOTPAGEOFF]
	bl	_device_create_file
	cbz	w0, LBB0_58
; %bb.57:
	mov	x20, x0
Lloh93:
	adrp	x0, l_.str.19@PAGE
Lloh94:
	add	x0, x0, l_.str.19@PAGEOFF
	bl	_DRM_ERROR
	b	LBB0_2
LBB0_58:
	mov	x0, x19
	bl	_amdgpu_debugfs_pm_init
	cbz	w0, LBB0_62
; %bb.59:
	mov	x20, x0
Lloh95:
	adrp	x0, l_.str.20@PAGE
Lloh96:
	add	x0, x0, l_.str.20@PAGEOFF
	bl	_DRM_ERROR
	b	LBB0_2
LBB0_60:
	ldr	w0, [x21]
Lloh97:
	adrp	x1, _dev_attr_pcie_bw@GOTPAGE
Lloh98:
	ldr	x1, [x1, _dev_attr_pcie_bw@GOTPAGEOFF]
	bl	_device_create_file
	cbz	w0, LBB0_55
; %bb.61:
	mov	x20, x0
Lloh99:
	adrp	x0, l_.str.18@PAGE
Lloh100:
	add	x0, x0, l_.str.18@PAGEOFF
	bl	_DRM_ERROR
	b	LBB0_2
LBB0_62:
	ldr	x8, [x19]
	ldr	x9, [x23]
	cmp	x8, x9
	b.lt	LBB0_64
; %bb.63:
	ldr	w8, [x19, #8]
	ldr	w9, [x22]
	tst	w9, w8
	b.eq	LBB0_65
LBB0_64:
	mov	w20, #0
	mov	w8, #1
	str	w8, [x19, #16]
	b	LBB0_2
LBB0_65:
	ldr	w0, [x21]
Lloh101:
	adrp	x1, _dev_attr_pp_features@GOTPAGE
Lloh102:
	ldr	x1, [x1, _dev_attr_pp_features@GOTPAGEOFF]
	bl	_device_create_file
	cbz	w0, LBB0_64
; %bb.66:
	mov	x20, x0
Lloh103:
	adrp	x0, l_.str.21@PAGE
Lloh104:
	add	x0, x0, l_.str.21@PAGEOFF
	bl	_DRM_ERROR
	b	LBB0_2
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpAdd	Lloh6, Lloh7
	.loh AdrpLdrGot	Lloh8, Lloh9
	.loh AdrpLdrGot	Lloh10, Lloh11
	.loh AdrpAdd	Lloh12, Lloh13
	.loh AdrpLdrGot	Lloh14, Lloh15
	.loh AdrpAdd	Lloh16, Lloh17
	.loh AdrpLdrGot	Lloh18, Lloh19
	.loh AdrpAdd	Lloh20, Lloh21
	.loh AdrpLdrGot	Lloh22, Lloh23
	.loh AdrpAdd	Lloh24, Lloh25
	.loh AdrpLdrGot	Lloh26, Lloh27
	.loh AdrpAdd	Lloh28, Lloh29
	.loh AdrpLdrGot	Lloh30, Lloh31
	.loh AdrpAdd	Lloh32, Lloh33
	.loh AdrpLdrGot	Lloh34, Lloh35
	.loh AdrpAdd	Lloh36, Lloh37
	.loh AdrpLdrGot	Lloh38, Lloh39
	.loh AdrpLdrGotLdr	Lloh40, Lloh41, Lloh42
	.loh AdrpLdrGot	Lloh43, Lloh44
	.loh AdrpAdd	Lloh45, Lloh46
	.loh AdrpLdrGot	Lloh47, Lloh48
	.loh AdrpAdd	Lloh49, Lloh50
	.loh AdrpLdrGotLdr	Lloh51, Lloh52, Lloh53
	.loh AdrpLdrGot	Lloh54, Lloh55
	.loh AdrpAdd	Lloh56, Lloh57
	.loh AdrpLdrGotLdr	Lloh58, Lloh59, Lloh60
	.loh AdrpLdrGot	Lloh61, Lloh62
	.loh AdrpAdd	Lloh63, Lloh64
	.loh AdrpLdrGot	Lloh65, Lloh66
	.loh AdrpAdd	Lloh67, Lloh68
	.loh AdrpLdrGot	Lloh69, Lloh70
	.loh AdrpAdd	Lloh71, Lloh72
	.loh AdrpLdrGot	Lloh73, Lloh74
	.loh AdrpAdd	Lloh75, Lloh76
	.loh AdrpLdrGot	Lloh77, Lloh78
	.loh AdrpAdd	Lloh79, Lloh80
	.loh AdrpLdrGot	Lloh81, Lloh82
	.loh AdrpAdd	Lloh83, Lloh84
	.loh AdrpLdrGot	Lloh85, Lloh86
	.loh AdrpLdrGot	Lloh87, Lloh88
	.loh AdrpAdd	Lloh89, Lloh90
	.loh AdrpLdrGot	Lloh91, Lloh92
	.loh AdrpAdd	Lloh93, Lloh94
	.loh AdrpAdd	Lloh95, Lloh96
	.loh AdrpLdrGot	Lloh97, Lloh98
	.loh AdrpAdd	Lloh99, Lloh100
	.loh AdrpLdrGot	Lloh101, Lloh102
	.loh AdrpAdd	Lloh103, Lloh104
	.cfi_endproc
                                        ; -- End function
	.comm	_DRIVER_NAME,4,2                ; @DRIVER_NAME
	.comm	_hwmon_groups,4,2               ; @hwmon_groups
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"Unable to register hwmon device: %d\n"

	.comm	_dev_attr_power_dpm_state,4,2   ; @dev_attr_power_dpm_state
l_.str.1:                               ; @.str.1
	.asciz	"failed to create device file for dpm state\n"

	.comm	_dev_attr_power_dpm_force_performance_level,4,2 ; @dev_attr_power_dpm_force_performance_level
	.comm	_dev_attr_pp_num_states,4,2     ; @dev_attr_pp_num_states
l_.str.2:                               ; @.str.2
	.asciz	"failed to create device file pp_num_states\n"

	.comm	_dev_attr_pp_cur_state,4,2      ; @dev_attr_pp_cur_state
l_.str.3:                               ; @.str.3
	.asciz	"failed to create device file pp_cur_state\n"

	.comm	_dev_attr_pp_force_state,4,2    ; @dev_attr_pp_force_state
l_.str.4:                               ; @.str.4
	.asciz	"failed to create device file pp_force_state\n"

	.comm	_dev_attr_pp_table,4,2          ; @dev_attr_pp_table
l_.str.5:                               ; @.str.5
	.asciz	"failed to create device file pp_table\n"

	.comm	_dev_attr_pp_dpm_sclk,4,2       ; @dev_attr_pp_dpm_sclk
l_.str.6:                               ; @.str.6
	.asciz	"failed to create device file pp_dpm_sclk\n"

	.comm	_dev_attr_pp_dpm_mclk,4,2       ; @dev_attr_pp_dpm_mclk
l_.str.7:                               ; @.str.7
	.asciz	"failed to create device file pp_dpm_mclk\n"

	.comm	_CHIP_VEGA10,8,3                ; @CHIP_VEGA10
	.comm	_dev_attr_pp_dpm_socclk,4,2     ; @dev_attr_pp_dpm_socclk
l_.str.8:                               ; @.str.8
	.asciz	"failed to create device file pp_dpm_socclk\n"

	.comm	_CHIP_ARCTURUS,8,3              ; @CHIP_ARCTURUS
	.comm	_dev_attr_pp_dpm_dcefclk,4,2    ; @dev_attr_pp_dpm_dcefclk
l_.str.9:                               ; @.str.9
	.asciz	"failed to create device file pp_dpm_dcefclk\n"

	.comm	_CHIP_VEGA20,8,3                ; @CHIP_VEGA20
	.comm	_dev_attr_pp_dpm_fclk,4,2       ; @dev_attr_pp_dpm_fclk
l_.str.10:                              ; @.str.10
	.asciz	"failed to create device file pp_dpm_fclk\n"

	.comm	_dev_attr_pp_dpm_pcie,4,2       ; @dev_attr_pp_dpm_pcie
l_.str.11:                              ; @.str.11
	.asciz	"failed to create device file pp_dpm_pcie\n"

	.comm	_dev_attr_pp_sclk_od,4,2        ; @dev_attr_pp_sclk_od
l_.str.12:                              ; @.str.12
	.asciz	"failed to create device file pp_sclk_od\n"

	.comm	_dev_attr_pp_mclk_od,4,2        ; @dev_attr_pp_mclk_od
l_.str.13:                              ; @.str.13
	.asciz	"failed to create device file pp_mclk_od\n"

	.comm	_dev_attr_pp_power_profile_mode,4,2 ; @dev_attr_pp_power_profile_mode
l_.str.14:                              ; @.str.14
	.asciz	"failed to create device file\tpp_power_profile_mode\n"

	.comm	_dev_attr_pp_od_clk_voltage,4,2 ; @dev_attr_pp_od_clk_voltage
l_.str.15:                              ; @.str.15
	.asciz	"failed to create device file\tpp_od_clk_voltage\n"

	.comm	_dev_attr_gpu_busy_percent,4,2  ; @dev_attr_gpu_busy_percent
l_.str.16:                              ; @.str.16
	.asciz	"failed to create device file\tgpu_busy_level\n"

	.comm	_AMD_IS_APU,4,2                 ; @AMD_IS_APU
	.comm	_dev_attr_mem_busy_percent,4,2  ; @dev_attr_mem_busy_percent
l_.str.17:                              ; @.str.17
	.asciz	"failed to create device file\tmem_busy_percent\n"

	.comm	_dev_attr_pcie_bw,4,2           ; @dev_attr_pcie_bw
l_.str.18:                              ; @.str.18
	.asciz	"failed to create device file pcie_bw\n"

	.comm	_dev_attr_unique_id,4,2         ; @dev_attr_unique_id
l_.str.19:                              ; @.str.19
	.asciz	"failed to create device file unique_id\n"

l_.str.20:                              ; @.str.20
	.asciz	"Failed to register debugfs file for dpm!\n"

	.comm	_dev_attr_pp_features,4,2       ; @dev_attr_pp_features
l_.str.21:                              ; @.str.21
	.asciz	"failed to create device file\tpp_features\n"

.subsections_via_symbols
