summaryrefslogtreecommitdiff
path: root/drivers/gpu/mali/mali400ko/driver/src/devicedrv/mali/common/pmm/mali_pmm.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/mali/mali400ko/driver/src/devicedrv/mali/common/pmm/mali_pmm.h')
-rw-r--r--drivers/gpu/mali/mali400ko/driver/src/devicedrv/mali/common/pmm/mali_pmm.h45
1 files changed, 35 insertions, 10 deletions
diff --git a/drivers/gpu/mali/mali400ko/driver/src/devicedrv/mali/common/pmm/mali_pmm.h b/drivers/gpu/mali/mali400ko/driver/src/devicedrv/mali/common/pmm/mali_pmm.h
index fe7a046cb47..6157746da0c 100644
--- a/drivers/gpu/mali/mali400ko/driver/src/devicedrv/mali/common/pmm/mali_pmm.h
+++ b/drivers/gpu/mali/mali400ko/driver/src/devicedrv/mali/common/pmm/mali_pmm.h
@@ -18,6 +18,7 @@
/* For mali_pmm_message_data and MALI_PMM_EVENT_UK_* defines */
#include "mali_uk_types.h"
+#include "mali_platform.h"
#ifdef __cplusplus
extern "C"
@@ -40,7 +41,7 @@ extern "C"
/** @brief Compile option to switch between always on or job control PMM policy */
#define MALI_PMM_ALWAYS_ON 0
-/** @brief Overrides hardware PMU and uses software simulation instead
+/** @brief Overrides hardware PMU and uses software simulation instead
* @note This even stops intialization of PMU and cores being powered on at start up
*/
#define MALI_PMM_NO_PMU 0
@@ -52,7 +53,7 @@ extern "C"
/** @brief power management event message identifiers.
*/
-/* These must match up with the pmm_trace_events & pmm_trace_events_internal
+/* These must match up with the pmm_trace_events & pmm_trace_events_internal
* arrays
*/
typedef enum mali_pmm_event_id
@@ -95,6 +96,7 @@ typedef enum mali_pmm_core_id_tag
MALI_PMM_CORE_PP_ALL = 0x0000003C /**< Mali 200 pixel processors 0-3 */
} mali_pmm_core_id;
+
/* @brief PMM bitmask of mali_pmm_core_ids
*/
typedef u32 mali_pmm_core_mask;
@@ -137,6 +139,23 @@ typedef enum mali_pmm_policy_tag
MALI_PMM_POLICY_RUNTIME_JOB_CONTROL = 3 /**< Run time power management control policy */
} mali_pmm_policy;
+/** @brief Function to power up MALI
+ *
+ * @param cores core mask to power up the cores
+ *
+ * @return error code if MALI fails to power up
+ */
+_mali_osk_errcode_t malipmm_powerup( u32 cores );
+
+/** @brief Function to power down MALI
+ *
+ * @param cores core mask to power down the cores
+ * @param The power mode to which MALI transitions
+ *
+ * @return error code if MALI fails to power down
+ */
+_mali_osk_errcode_t malipmm_powerdown( u32 cores, mali_power_mode power_mode );
+
/** @brief Function to report to the OS when the power down has finished
*
* @param data The event message data that initiated the power down
@@ -149,7 +168,7 @@ void _mali_osk_pmm_power_down_done(mali_pmm_message_data data);
*/
void _mali_osk_pmm_power_up_done(mali_pmm_message_data data);
-/** @brief Function to report that DVFS operation done
+/** @brief Function to report that DVFS operation done
*
* @param data The event message data
*/
@@ -164,6 +183,12 @@ void _mali_osk_pmm_policy_events_notifications(mali_pmm_event_id event_id);
#endif
+/** @brief Function to power up MALI
+ *
+ * @note powers up the MALI during MALI device driver is unloaded
+ */
+void malipmm_force_powerup( void );
+
/** @brief Function to report the OS that device is idle
*
* @note inform the OS that device is idle
@@ -176,6 +201,12 @@ _mali_osk_errcode_t _mali_osk_pmm_dev_idle( void );
*/
void _mali_osk_pmm_dev_activate( void );
+/** @brief Function to report OS PMM for cleanup
+ *
+ * @note Function to report OS PMM for cleanup
+ */
+void _mali_osk_pmm_ospmm_cleanup( void );
+
/** @brief Queries the current state of the PMM software
*
* @note the state of the PMM can change after this call has returned
@@ -305,15 +336,9 @@ void _mali_pmm_trace_event_message( mali_pmm_message_t *event, mali_bool receive
/** @brief Dumps the current state of OS PMM thread
*/
#if MALI_STATE_TRACKING
-void mali_pmm_dump_os_thread_state( void );
+u32 mali_pmm_dump_os_thread_state( char *buf, u32 size );
#endif /* MALI_STATE_TRACKING */
-#if (defined(DEBUG) || MALI_STATE_TRACKING)
-/** @brief Dumps the current state of the PMM
- */
-void malipmm_state_dump( void );
-#endif
-
/** @} */ /* end group pmmapi */
#ifdef __cplusplus