From 251bb34fa44ef92dce1903e92af68f12a7f6d594 Mon Sep 17 00:00:00 2001 From: Rex Zhu Date: Wed, 21 Oct 2015 10:30:02 +0800 Subject: [PATCH] drm/amdgpu/powerplay: mv ppinterrupt.h to inc folder to share with other submodule. Redefine interrupt callback function in accordance with cgs. Signed-off-by: Rex Zhu Reviewed-by: Jammy Zhou Reviewed-by: Alex Deucher --- .../gpu/drm/amd/powerplay/hwmgr/tonga_hwmgr.h | 14 ++++---- .../powerplay/{hwmgr => inc}/ppinterrupt.h | 34 +++++++++++-------- 2 files changed, 26 insertions(+), 22 deletions(-) rename drivers/gpu/drm/amd/powerplay/{hwmgr => inc}/ppinterrupt.h (64%) diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/tonga_hwmgr.h b/drivers/gpu/drm/amd/powerplay/hwmgr/tonga_hwmgr.h index c3ac966bfe6b..d773d12258d2 100644 --- a/drivers/gpu/drm/amd/powerplay/hwmgr/tonga_hwmgr.h +++ b/drivers/gpu/drm/amd/powerplay/hwmgr/tonga_hwmgr.h @@ -223,17 +223,17 @@ struct tonga_hwmgr { uint32_t vddc_vddci_delta; uint32_t vddc_vddgfx_delta; - pp_interrupt_registration_info internal_high_thermal_interrupt_info; - pp_interrupt_registration_info internal_low_thermal_interrupt_info; - pp_interrupt_registration_info smc_to_host_interrupt_info; + struct pp_interrupt_registration_info internal_high_thermal_interrupt_info; + struct pp_interrupt_registration_info internal_low_thermal_interrupt_info; + struct pp_interrupt_registration_info smc_to_host_interrupt_info; uint32_t active_auto_throttle_sources; - pp_interrupt_registration_info external_throttle_interrupt; - pp_interrupt_callback external_throttle_callback; + struct pp_interrupt_registration_info external_throttle_interrupt; + irq_handler_func_t external_throttle_callback; void *external_throttle_context; - pp_interrupt_registration_info ctf_interrupt_info; - pp_interrupt_callback ctf_callback; + struct pp_interrupt_registration_info ctf_interrupt_info; + irq_handler_func_t ctf_callback; void *ctf_context; phw_tonga_clock_registers clock_registers; diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/ppinterrupt.h b/drivers/gpu/drm/amd/powerplay/inc/ppinterrupt.h similarity index 64% rename from drivers/gpu/drm/amd/powerplay/hwmgr/ppinterrupt.h rename to drivers/gpu/drm/amd/powerplay/inc/ppinterrupt.h index 7269ac1cd8b4..c067e0925b6b 100644 --- a/drivers/gpu/drm/amd/powerplay/hwmgr/ppinterrupt.h +++ b/drivers/gpu/drm/amd/powerplay/inc/ppinterrupt.h @@ -20,23 +20,27 @@ * OTHER DEALINGS IN THE SOFTWARE. * */ -#ifndef PP_INTERRUPT_H -#define PP_INTERRUPT_H -/** - * The type of the interrupt callback functions in PowerPlay - */ -typedef void (*pp_interrupt_callback) (void *context, uint32_t ul_context_data); +#ifndef _PP_INTERRUPT_H_ +#define _PP_INTERRUPT_H_ -/** - * Event Manager action chain list information - */ -struct pp_interrupt_registration_info { - pp_interrupt_callback callback; /* Pointer to callback function */ - void *context; /* Pointer to callback function context */ - uint32_t *interrupt_enable_id; /* Registered interrupt id */ +enum amd_thermal_irq { + AMD_THERMAL_IRQ_LOW_TO_HIGH = 0, + AMD_THERMAL_IRQ_HIGH_TO_LOW, + + AMD_THERMAL_IRQ_LAST }; -typedef struct pp_interrupt_registration_info pp_interrupt_registration_info; +/* The type of the interrupt callback functions in PowerPlay */ +typedef int (*irq_handler_func_t)(void *private_data, + unsigned src_id, const uint32_t *iv_entry); + +/* Event Manager action chain list information */ +struct pp_interrupt_registration_info { + irq_handler_func_t call_back; /* Pointer to callback function */ + void *context; /* Pointer to callback function context */ + uint32_t src_id; /* Registered interrupt id */ + const uint32_t *iv_entry; +}; -#endif +#endif /* _PP_INTERRUPT_H_ */ -- 2.20.1