xref: /openbmc/linux/drivers/net/wireless/intel/iwlwifi/fw/api/paging.h (revision cdd38c5f1ce4398ec58fec95904b75824daab7b5)
1*8e99ea8dSJohannes Berg /* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
2*8e99ea8dSJohannes Berg /*
3*8e99ea8dSJohannes Berg  * Copyright (C) 2005-2014 Intel Corporation
4*8e99ea8dSJohannes Berg  * Copyright (C) 2013-2015 Intel Mobile Communications GmbH
5*8e99ea8dSJohannes Berg  * Copyright (C) 2016-2017 Intel Deutschland GmbH
6*8e99ea8dSJohannes Berg  */
7d172a5efSJohannes Berg #ifndef __iwl_fw_api_paging_h__
8d172a5efSJohannes Berg #define __iwl_fw_api_paging_h__
9d172a5efSJohannes Berg 
10d172a5efSJohannes Berg #define NUM_OF_FW_PAGING_BLOCKS	33 /* 32 for data and 1 block for CSS */
11d172a5efSJohannes Berg 
12d172a5efSJohannes Berg /**
13d172a5efSJohannes Berg  * struct iwl_fw_paging_cmd - paging layout
14d172a5efSJohannes Berg  *
15d172a5efSJohannes Berg  * Send to FW the paging layout in the driver.
16d172a5efSJohannes Berg  *
17d172a5efSJohannes Berg  * @flags: various flags for the command
18d172a5efSJohannes Berg  * @block_size: the block size in powers of 2
19d172a5efSJohannes Berg  * @block_num: number of blocks specified in the command.
20d172a5efSJohannes Berg  * @device_phy_addr: virtual addresses from device side
21d172a5efSJohannes Berg  */
22d172a5efSJohannes Berg struct iwl_fw_paging_cmd {
23d172a5efSJohannes Berg 	__le32 flags;
24d172a5efSJohannes Berg 	__le32 block_size;
25d172a5efSJohannes Berg 	__le32 block_num;
26d172a5efSJohannes Berg 	__le32 device_phy_addr[NUM_OF_FW_PAGING_BLOCKS];
27d172a5efSJohannes Berg } __packed; /* FW_PAGING_BLOCK_CMD_API_S_VER_1 */
28d172a5efSJohannes Berg 
29d172a5efSJohannes Berg #endif /* __iwl_fw_api_paging_h__ */
30