aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu.h')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu.h10
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
1153struct amdgpu_gfx_funcs {
1154 /* get the gpu clock counter */
1155 uint64_t (*get_gpu_clock_counter)(struct amdgpu_device *adev);
1156};
1157
1153struct amdgpu_gfx { 1158struct 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
1191int amdgpu_ib_get(struct amdgpu_device *adev, struct amdgpu_vm *vm, 1197int 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 ? \