Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) */
0002 /*
0003  * This file is provided under a dual BSD/GPLv2 license.  When using or
0004  * redistributing this file, you may do so under either license.
0005  *
0006  * Copyright(c) 2018 Intel Corporation. All rights reserved.
0007  */
0008 
0009 #ifndef __INCLUDE_SOUND_SOF_PM_H__
0010 #define __INCLUDE_SOUND_SOF_PM_H__
0011 
0012 #include <sound/sof/header.h>
0013 
0014 /*
0015  * PM
0016  */
0017 
0018 /* PM context element */
0019 struct sof_ipc_pm_ctx_elem {
0020     struct sof_ipc_hdr hdr;
0021     uint32_t type;
0022     uint32_t size;
0023     uint64_t addr;
0024 }  __packed;
0025 
0026 /*
0027  * PM context - SOF_IPC_PM_CTX_SAVE, SOF_IPC_PM_CTX_RESTORE,
0028  * SOF_IPC_PM_CTX_SIZE
0029  */
0030 struct sof_ipc_pm_ctx {
0031     struct sof_ipc_cmd_hdr hdr;
0032     struct sof_ipc_host_buffer buffer;
0033     uint32_t num_elems;
0034     uint32_t size;
0035 
0036     /* reserved for future use */
0037     uint32_t reserved[8];
0038 
0039     struct sof_ipc_pm_ctx_elem elems[];
0040 } __packed;
0041 
0042 /* enable or disable cores - SOF_IPC_PM_CORE_ENABLE */
0043 struct sof_ipc_pm_core_config {
0044     struct sof_ipc_cmd_hdr hdr;
0045     uint32_t enable_mask;
0046 } __packed;
0047 
0048 struct sof_ipc_pm_gate {
0049     struct sof_ipc_cmd_hdr hdr;
0050     uint32_t flags; /* platform specific */
0051 
0052     /* reserved for future use */
0053     uint32_t reserved[5];
0054 } __packed;
0055 
0056 #endif