From f8e5498bdbc1f70e40d1d47390230e49d8b20d65 Mon Sep 17 00:00:00 2001 From: Rex Zhu Date: Wed, 21 Oct 2015 10:30:02 +0800 Subject: [PATCH 0783/1565] 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 --- drivers/gpu/drm/amd/powerplay/hwmgr/ppinterrupt.h | 42 --------------------- drivers/gpu/drm/amd/powerplay/hwmgr/tonga_hwmgr.h | 14 +++---- drivers/gpu/drm/amd/powerplay/inc/ppinterrupt.h | 46 +++++++++++++++++++++++ 3 files changed, 53 insertions(+), 49 deletions(-) delete mode 100644 drivers/gpu/drm/amd/powerplay/hwmgr/ppinterrupt.h create mode 100644 drivers/gpu/drm/amd/powerplay/inc/ppinterrupt.h diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/ppinterrupt.h b/drivers/gpu/drm/amd/powerplay/hwmgr/ppinterrupt.h deleted file mode 100644 index 7269ac1..0000000 --- a/drivers/gpu/drm/amd/powerplay/hwmgr/ppinterrupt.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright 2015 Advanced Micro Devices, Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * 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); - -/** - * 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 */ -}; - -typedef struct pp_interrupt_registration_info pp_interrupt_registration_info; - -#endif diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/tonga_hwmgr.h b/drivers/gpu/drm/amd/powerplay/hwmgr/tonga_hwmgr.h index c3ac966..d773d12 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/inc/ppinterrupt.h b/drivers/gpu/drm/amd/powerplay/inc/ppinterrupt.h new file mode 100644 index 0000000..c067e09 --- /dev/null +++ b/drivers/gpu/drm/amd/powerplay/inc/ppinterrupt.h @@ -0,0 +1,46 @@ +/* + * Copyright 2015 Advanced Micro Devices, Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#ifndef _PP_INTERRUPT_H_ +#define _PP_INTERRUPT_H_ + +enum amd_thermal_irq { + AMD_THERMAL_IRQ_LOW_TO_HIGH = 0, + AMD_THERMAL_IRQ_HIGH_TO_LOW, + + AMD_THERMAL_IRQ_LAST +}; + +/* 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 /* _PP_INTERRUPT_H_ */ -- 1.9.1