.. | .. |
---|
1 | 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ |
---|
2 | 2 | /* |
---|
3 | 3 | * |
---|
4 | | - * (C) COPYRIGHT 2020-2021 ARM Limited. All rights reserved. |
---|
| 4 | + * (C) COPYRIGHT 2020-2022 ARM Limited. All rights reserved. |
---|
5 | 5 | * |
---|
6 | 6 | * This program is free software and is provided to you under the terms of the |
---|
7 | 7 | * GNU General Public License version 2 as published by the Free Software |
---|
.. | .. |
---|
25 | 25 | * this header file. This header file can be included multiple times in the |
---|
26 | 26 | * same compilation unit with different definitions of KBASEP_MCU_STATE(). |
---|
27 | 27 | * |
---|
28 | | - * @OFF: The MCU is powered off. |
---|
29 | | - * @PEND_ON_RELOAD: The warm boot of MCU or cold boot of MCU (with |
---|
30 | | - * firmware reloading) is in progress. |
---|
31 | | - * @ON_GLB_REINIT_PEND: The MCU is enabled and Global configuration |
---|
32 | | - * requests have been sent to the firmware. |
---|
33 | | - * @ON_HWCNT_ENABLE: The Global requests have completed and MCU is now |
---|
34 | | - * ready for use and hwcnt is being enabled. |
---|
35 | | - * @ON: The MCU is active and hwcnt has been enabled. |
---|
36 | | - * @ON_CORE_ATTR_UPDATE_PEND: The MCU is active and mask of enabled shader cores |
---|
37 | | - * is being updated. |
---|
38 | | - * @ON_HWCNT_DISABLE: The MCU is on and hwcnt is being disabled. |
---|
39 | | - * @ON_HALT: The MCU is on and hwcnt has been disabled, MCU |
---|
40 | | - * halt would be triggered. |
---|
41 | | - * @ON_PEND_HALT: MCU halt in progress, confirmation pending. |
---|
42 | | - * @POWER_DOWN: MCU halted operations, pending being disabled. |
---|
43 | | - * @PEND_OFF: MCU is being disabled, pending on powering off. |
---|
44 | | - * @RESET_WAIT: The GPU is resetting, MCU state is unknown. |
---|
| 28 | + * @OFF: The MCU is powered off. |
---|
| 29 | + * @PEND_ON_RELOAD: The warm boot of MCU or cold boot of MCU (with |
---|
| 30 | + * firmware reloading) is in progress. |
---|
| 31 | + * @ON_GLB_REINIT_PEND: The MCU is enabled and Global configuration |
---|
| 32 | + * requests have been sent to the firmware. |
---|
| 33 | + * @ON_HWCNT_ENABLE: The Global requests have completed and MCU is now |
---|
| 34 | + * ready for use and hwcnt is being enabled. |
---|
| 35 | + * @ON: The MCU is active and hwcnt has been enabled. |
---|
| 36 | + * @ON_CORE_ATTR_UPDATE_PEND: The MCU is active and mask of enabled shader cores |
---|
| 37 | + * is being updated. |
---|
| 38 | + * @ON_HWCNT_DISABLE: The MCU is on and hwcnt is being disabled. |
---|
| 39 | + * @ON_HALT: The MCU is on and hwcnt has been disabled, MCU |
---|
| 40 | + * halt would be triggered. |
---|
| 41 | + * @ON_PEND_HALT: MCU halt in progress, confirmation pending. |
---|
| 42 | + * @POWER_DOWN: MCU halted operations, pending being disabled. |
---|
| 43 | + * @PEND_OFF: MCU is being disabled, pending on powering off. |
---|
| 44 | + * @RESET_WAIT: The GPU is resetting, MCU state is unknown. |
---|
| 45 | + * @HCTL_SHADERS_PEND_ON: Global configuration requests sent to the firmware |
---|
| 46 | + * have completed and shaders have been requested to |
---|
| 47 | + * power on. |
---|
| 48 | + * @HCTL_CORES_NOTIFY_PEND: Shader cores have powered up and firmware is being |
---|
| 49 | + * notified of the mask of enabled shader cores. |
---|
| 50 | + * @HCTL_MCU_ON_RECHECK: MCU is on and hwcnt disabling is triggered |
---|
| 51 | + * and checks are done to update the number of |
---|
| 52 | + * enabled cores. |
---|
| 53 | + * @HCTL_SHADERS_READY_OFF: MCU has halted and cores need to be powered down |
---|
| 54 | + * @HCTL_SHADERS_PEND_OFF: Cores are transitioning to power down. |
---|
| 55 | + * @HCTL_CORES_DOWN_SCALE_NOTIFY_PEND: Firmware has been informed to stop using |
---|
| 56 | + * specific cores, due to core_mask change request. |
---|
| 57 | + * After the ACK from FW, the wait will be done for |
---|
| 58 | + * undesired cores to become inactive. |
---|
| 59 | + * @HCTL_CORE_INACTIVE_PEND: Waiting for specific cores to become inactive. |
---|
| 60 | + * Once the cores become inactive their power down |
---|
| 61 | + * will be initiated. |
---|
| 62 | + * @HCTL_SHADERS_CORE_OFF_PEND: Waiting for specific cores to complete the |
---|
| 63 | + * transition to power down. Once powered down, |
---|
| 64 | + * HW counters will be re-enabled. |
---|
| 65 | + * @ON_SLEEP_INITIATE: MCU is on and hwcnt has been disabled and MCU |
---|
| 66 | + * is being put to sleep. |
---|
| 67 | + * @ON_PEND_SLEEP: MCU sleep is in progress. |
---|
| 68 | + * @IN_SLEEP: Sleep request is completed and MCU has halted. |
---|
| 69 | + * @ON_PMODE_ENTER_CORESIGHT_DISABLE: The MCU is on, protected mode enter is about to |
---|
| 70 | + * be requested, Coresight is being disabled. |
---|
| 71 | + * @ON_PMODE_EXIT_CORESIGHT_ENABLE : The MCU is on, protected mode exit has happened |
---|
| 72 | + * Coresight is being enabled. |
---|
| 73 | + * @CORESIGHT_DISABLE: The MCU is on and Coresight is being disabled. |
---|
| 74 | + * @CORESIGHT_ENABLE: The MCU is on, host does not have control and |
---|
| 75 | + * Coresight is being enabled. |
---|
45 | 76 | */ |
---|
46 | 77 | KBASEP_MCU_STATE(OFF) |
---|
47 | 78 | KBASEP_MCU_STATE(PEND_ON_RELOAD) |
---|
.. | .. |
---|
61 | 92 | KBASEP_MCU_STATE(HCTL_MCU_ON_RECHECK) |
---|
62 | 93 | KBASEP_MCU_STATE(HCTL_SHADERS_READY_OFF) |
---|
63 | 94 | KBASEP_MCU_STATE(HCTL_SHADERS_PEND_OFF) |
---|
| 95 | +KBASEP_MCU_STATE(HCTL_CORES_DOWN_SCALE_NOTIFY_PEND) |
---|
| 96 | +KBASEP_MCU_STATE(HCTL_CORE_INACTIVE_PEND) |
---|
| 97 | +KBASEP_MCU_STATE(HCTL_SHADERS_CORE_OFF_PEND) |
---|
| 98 | +/* Additional MCU states to support GPU sleep feature */ |
---|
| 99 | +KBASEP_MCU_STATE(ON_SLEEP_INITIATE) |
---|
| 100 | +KBASEP_MCU_STATE(ON_PEND_SLEEP) |
---|
| 101 | +KBASEP_MCU_STATE(IN_SLEEP) |
---|
| 102 | +#if IS_ENABLED(CONFIG_MALI_CORESIGHT) |
---|
| 103 | +/* Additional MCU states for Coresight */ |
---|
| 104 | +KBASEP_MCU_STATE(ON_PMODE_ENTER_CORESIGHT_DISABLE) |
---|
| 105 | +KBASEP_MCU_STATE(ON_PMODE_EXIT_CORESIGHT_ENABLE) |
---|
| 106 | +KBASEP_MCU_STATE(CORESIGHT_DISABLE) |
---|
| 107 | +KBASEP_MCU_STATE(CORESIGHT_ENABLE) |
---|
| 108 | +#endif /* IS_ENABLED(CONFIG_MALI_CORESIGHT) */ |
---|