diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu.h')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu.h | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h index dcda843468e3..04696ad2720f 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h | |||
@@ -1150,6 +1150,11 @@ struct amdgpu_cu_info { | |||
1150 | uint32_t bitmap[4][4]; | 1150 | uint32_t bitmap[4][4]; |
1151 | }; | 1151 | }; |
1152 | 1152 | ||
1153 | struct amdgpu_gfx_funcs { | ||
1154 | /* get the gpu clock counter */ | ||
1155 | uint64_t (*get_gpu_clock_counter)(struct amdgpu_device *adev); | ||
1156 | }; | ||
1157 | |||
1153 | struct amdgpu_gfx { | 1158 | struct amdgpu_gfx { |
1154 | struct mutex gpu_clock_mutex; | 1159 | struct mutex gpu_clock_mutex; |
1155 | struct amdgpu_gca_config config; | 1160 | struct amdgpu_gca_config config; |
@@ -1186,6 +1191,7 @@ struct amdgpu_gfx { | |||
1186 | /* ce ram size*/ | 1191 | /* ce ram size*/ |
1187 | unsigned ce_ram_size; | 1192 | unsigned ce_ram_size; |
1188 | struct amdgpu_cu_info cu_info; | 1193 | struct amdgpu_cu_info cu_info; |
1194 | const struct amdgpu_gfx_funcs *funcs; | ||
1189 | }; | 1195 | }; |
1190 | 1196 | ||
1191 | int amdgpu_ib_get(struct amdgpu_device *adev, struct amdgpu_vm *vm, | 1197 | int amdgpu_ib_get(struct amdgpu_device *adev, struct amdgpu_vm *vm, |
@@ -1829,8 +1835,6 @@ struct amdgpu_asic_funcs { | |||
1829 | int (*reset)(struct amdgpu_device *adev); | 1835 | int (*reset)(struct amdgpu_device *adev); |
1830 | /* get the reference clock */ | 1836 | /* get the reference clock */ |
1831 | u32 (*get_xclk)(struct amdgpu_device *adev); | 1837 | u32 (*get_xclk)(struct amdgpu_device *adev); |
1832 | /* get the gpu clock counter */ | ||
1833 | uint64_t (*get_gpu_clock_counter)(struct amdgpu_device *adev); | ||
1834 | /* MM block clocks */ | 1838 | /* MM block clocks */ |
1835 | int (*set_uvd_clocks)(struct amdgpu_device *adev, u32 vclk, u32 dclk); | 1839 | int (*set_uvd_clocks)(struct amdgpu_device *adev, u32 vclk, u32 dclk); |
1836 | int (*set_vce_clocks)(struct amdgpu_device *adev, u32 evclk, u32 ecclk); | 1840 | int (*set_vce_clocks)(struct amdgpu_device *adev, u32 evclk, u32 ecclk); |
@@ -2225,7 +2229,6 @@ amdgpu_get_sdma_instance(struct amdgpu_ring *ring) | |||
2225 | #define amdgpu_asic_set_uvd_clocks(adev, v, d) (adev)->asic_funcs->set_uvd_clocks((adev), (v), (d)) | 2229 | #define amdgpu_asic_set_uvd_clocks(adev, v, d) (adev)->asic_funcs->set_uvd_clocks((adev), (v), (d)) |
2226 | #define amdgpu_asic_set_vce_clocks(adev, ev, ec) (adev)->asic_funcs->set_vce_clocks((adev), (ev), (ec)) | 2230 | #define amdgpu_asic_set_vce_clocks(adev, ev, ec) (adev)->asic_funcs->set_vce_clocks((adev), (ev), (ec)) |
2227 | #define amdgpu_asic_get_virtual_caps(adev) ((adev)->asic_funcs->get_virtual_caps((adev))) | 2231 | #define amdgpu_asic_get_virtual_caps(adev) ((adev)->asic_funcs->get_virtual_caps((adev))) |
2228 | #define amdgpu_asic_get_gpu_clock_counter(adev) (adev)->asic_funcs->get_gpu_clock_counter((adev)) | ||
2229 | #define amdgpu_asic_read_disabled_bios(adev) (adev)->asic_funcs->read_disabled_bios((adev)) | 2232 | #define amdgpu_asic_read_disabled_bios(adev) (adev)->asic_funcs->read_disabled_bios((adev)) |
2230 | #define amdgpu_asic_read_bios_from_rom(adev, b, l) (adev)->asic_funcs->read_bios_from_rom((adev), (b), (l)) | 2233 | #define amdgpu_asic_read_bios_from_rom(adev, b, l) (adev)->asic_funcs->read_bios_from_rom((adev), (b), (l)) |
2231 | #define amdgpu_asic_read_register(adev, se, sh, offset, v)((adev)->asic_funcs->read_register((adev), (se), (sh), (offset), (v))) | 2234 | #define amdgpu_asic_read_register(adev, se, sh, offset, v)((adev)->asic_funcs->read_register((adev), (se), (sh), (offset), (v))) |
@@ -2278,6 +2281,7 @@ amdgpu_get_sdma_instance(struct amdgpu_ring *ring) | |||
2278 | #define amdgpu_dpm_print_power_state(adev, ps) (adev)->pm.funcs->print_power_state((adev), (ps)) | 2281 | #define amdgpu_dpm_print_power_state(adev, ps) (adev)->pm.funcs->print_power_state((adev), (ps)) |
2279 | #define amdgpu_dpm_vblank_too_short(adev) (adev)->pm.funcs->vblank_too_short((adev)) | 2282 | #define amdgpu_dpm_vblank_too_short(adev) (adev)->pm.funcs->vblank_too_short((adev)) |
2280 | #define amdgpu_dpm_enable_bapm(adev, e) (adev)->pm.funcs->enable_bapm((adev), (e)) | 2283 | #define amdgpu_dpm_enable_bapm(adev, e) (adev)->pm.funcs->enable_bapm((adev), (e)) |
2284 | #define amdgpu_gfx_get_gpu_clock_counter(adev) (adev)->gfx.funcs->get_gpu_clock_counter((adev)) | ||
2281 | 2285 | ||
2282 | #define amdgpu_dpm_get_temperature(adev) \ | 2286 | #define amdgpu_dpm_get_temperature(adev) \ |
2283 | ((adev)->pp_enabled ? \ | 2287 | ((adev)->pp_enabled ? \ |