|  | /* SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) */ | 
|  | /* | 
|  | * This file is provided under a dual BSD/GPLv2 license.  When using or | 
|  | * redistributing this file, you may do so under either license. | 
|  | * | 
|  | * Copyright(c) 2018 Intel Corporation. All rights reserved. | 
|  | */ | 
|  |  | 
|  | #ifndef __INCLUDE_SOUND_SOF_PM_H__ | 
|  | #define __INCLUDE_SOUND_SOF_PM_H__ | 
|  |  | 
|  | #include <sound/sof/header.h> | 
|  |  | 
|  | /* | 
|  | * PM | 
|  | */ | 
|  |  | 
|  | /* PM context element */ | 
|  | struct sof_ipc_pm_ctx_elem { | 
|  | struct sof_ipc_hdr hdr; | 
|  | uint32_t type; | 
|  | uint32_t size; | 
|  | uint64_t addr; | 
|  | }  __packed; | 
|  |  | 
|  | /* | 
|  | * PM context - SOF_IPC_PM_CTX_SAVE, SOF_IPC_PM_CTX_RESTORE, | 
|  | * SOF_IPC_PM_CTX_SIZE | 
|  | */ | 
|  | struct sof_ipc_pm_ctx { | 
|  | struct sof_ipc_cmd_hdr hdr; | 
|  | struct sof_ipc_host_buffer buffer; | 
|  | uint32_t num_elems; | 
|  | uint32_t size; | 
|  |  | 
|  | /* reserved for future use */ | 
|  | uint32_t reserved[8]; | 
|  |  | 
|  | struct sof_ipc_pm_ctx_elem elems[]; | 
|  | } __packed; | 
|  |  | 
|  | /* enable or disable cores - SOF_IPC_PM_CORE_ENABLE */ | 
|  | struct sof_ipc_pm_core_config { | 
|  | struct sof_ipc_cmd_hdr hdr; | 
|  | uint32_t enable_mask; | 
|  | } __packed; | 
|  |  | 
|  | struct sof_ipc_pm_gate { | 
|  | struct sof_ipc_cmd_hdr hdr; | 
|  | uint32_t flags;	/* platform specific */ | 
|  |  | 
|  | /* reserved for future use */ | 
|  | uint32_t reserved[5]; | 
|  | } __packed; | 
|  |  | 
|  | #endif |