/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ /* * * (C) COPYRIGHT 2020-2021 ARM Limited. All rights reserved. * * This program is free software and is provided to you under the terms of the * GNU General Public License version 2 as published by the Free Software * Foundation, and any use by you of this program is subject to the terms * of such GNU license. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, you can access it online at * http://www.gnu.org/licenses/gpl-2.0.html. * */ /* * Backend-specific Power Manager MCU state definitions. * The function-like macro KBASEP_MCU_STATE() must be defined before including * this header file. This header file can be included multiple times in the * same compilation unit with different definitions of KBASEP_MCU_STATE(). * * @OFF: The MCU is powered off. * @PEND_ON_RELOAD: The warm boot of MCU or cold boot of MCU (with * firmware reloading) is in progress. * @ON_GLB_REINIT_PEND: The MCU is enabled and Global configuration * requests have been sent to the firmware. * @ON_HWCNT_ENABLE: The Global requests have completed and MCU is now * ready for use and hwcnt is being enabled. * @ON: The MCU is active and hwcnt has been enabled. * @ON_CORE_ATTR_UPDATE_PEND: The MCU is active and mask of enabled shader cores * is being updated. * @ON_HWCNT_DISABLE: The MCU is on and hwcnt is being disabled. * @ON_HALT: The MCU is on and hwcnt has been disabled, MCU * halt would be triggered. * @ON_PEND_HALT: MCU halt in progress, confirmation pending. * @POWER_DOWN: MCU halted operations, pending being disabled. * @PEND_OFF: MCU is being disabled, pending on powering off. * @RESET_WAIT: The GPU is resetting, MCU state is unknown. */ KBASEP_MCU_STATE(OFF) KBASEP_MCU_STATE(PEND_ON_RELOAD) KBASEP_MCU_STATE(ON_GLB_REINIT_PEND) KBASEP_MCU_STATE(ON_HWCNT_ENABLE) KBASEP_MCU_STATE(ON) KBASEP_MCU_STATE(ON_CORE_ATTR_UPDATE_PEND) KBASEP_MCU_STATE(ON_HWCNT_DISABLE) KBASEP_MCU_STATE(ON_HALT) KBASEP_MCU_STATE(ON_PEND_HALT) KBASEP_MCU_STATE(POWER_DOWN) KBASEP_MCU_STATE(PEND_OFF) KBASEP_MCU_STATE(RESET_WAIT) /* Additional MCU states with HOST_CONTROL_SHADERS */ KBASEP_MCU_STATE(HCTL_SHADERS_PEND_ON) KBASEP_MCU_STATE(HCTL_CORES_NOTIFY_PEND) KBASEP_MCU_STATE(HCTL_MCU_ON_RECHECK) KBASEP_MCU_STATE(HCTL_SHADERS_READY_OFF) KBASEP_MCU_STATE(HCTL_SHADERS_PEND_OFF)