summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/include/cgs_common.h
diff options
context:
space:
mode:
authorMonk Liu <Monk.Liu@amd.com>2016-05-31 13:44:30 +0800
committerAlex Deucher <alexander.deucher@amd.com>2016-06-09 10:49:13 -0400
commita392746a8c38de494a1a2d00c5cfd34a05449e35 (patch)
treea139ea9f9034bf7072e5e13fd5022d86ca5678e3 /drivers/gpu/drm/amd/include/cgs_common.h
parent86e4cdd675f489e0b3deaa3d6b75cddadd16e71c (diff)
downloadop-kernel-dev-a392746a8c38de494a1a2d00c5cfd34a05449e35.zip
op-kernel-dev-a392746a8c38de494a1a2d00c5cfd34a05449e35.tar.gz
drm/amdgpu: add release firmware for cgs
Powerplay uses cgs to load the firmware so add a function to release it as well to avoid leaking it on driver unload. Signed-off-by: Monk Liu <Monk.Liu@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/include/cgs_common.h')
-rw-r--r--drivers/gpu/drm/amd/include/cgs_common.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/include/cgs_common.h b/drivers/gpu/drm/amd/include/cgs_common.h
index a461e15..7464daf 100644
--- a/drivers/gpu/drm/amd/include/cgs_common.h
+++ b/drivers/gpu/drm/amd/include/cgs_common.h
@@ -581,6 +581,9 @@ typedef int (*cgs_get_firmware_info)(struct cgs_device *cgs_device,
enum cgs_ucode_id type,
struct cgs_firmware_info *info);
+typedef int (*cgs_rel_firmware)(struct cgs_device *cgs_device,
+ enum cgs_ucode_id type);
+
typedef int(*cgs_set_powergating_state)(struct cgs_device *cgs_device,
enum amd_ip_block_type block_type,
enum amd_powergating_state state);
@@ -645,6 +648,7 @@ struct cgs_ops {
cgs_set_camera_voltages_t set_camera_voltages;
/* Firmware Info */
cgs_get_firmware_info get_firmware_info;
+ cgs_rel_firmware rel_firmware;
/* cg pg interface*/
cgs_set_powergating_state set_powergating_state;
cgs_set_clockgating_state set_clockgating_state;
@@ -738,6 +742,8 @@ struct cgs_device
CGS_CALL(set_camera_voltages,dev,mask,voltages)
#define cgs_get_firmware_info(dev, type, info) \
CGS_CALL(get_firmware_info, dev, type, info)
+#define cgs_rel_firmware(dev, type) \
+ CGS_CALL(rel_firmware, dev, type)
#define cgs_set_powergating_state(dev, block_type, state) \
CGS_CALL(set_powergating_state, dev, block_type, state)
#define cgs_set_clockgating_state(dev, block_type, state) \
OpenPOWER on IntegriCloud