1d172a5efSJohannes Berg /****************************************************************************** 2d172a5efSJohannes Berg * 3d172a5efSJohannes Berg * This file is provided under a dual BSD/GPLv2 license. When using or 4d172a5efSJohannes Berg * redistributing this file, you may do so under either license. 5d172a5efSJohannes Berg * 6d172a5efSJohannes Berg * GPL LICENSE SUMMARY 7d172a5efSJohannes Berg * 8d172a5efSJohannes Berg * Copyright(c) 2012 - 2014 Intel Corporation. All rights reserved. 9d172a5efSJohannes Berg * Copyright(c) 2013 - 2015 Intel Mobile Communications GmbH 10d172a5efSJohannes Berg * Copyright(c) 2016 - 2017 Intel Deutschland GmbH 11d172a5efSJohannes Berg * 12d172a5efSJohannes Berg * This program is free software; you can redistribute it and/or modify 13d172a5efSJohannes Berg * it under the terms of version 2 of the GNU General Public License as 14d172a5efSJohannes Berg * published by the Free Software Foundation. 15d172a5efSJohannes Berg * 16d172a5efSJohannes Berg * This program is distributed in the hope that it will be useful, but 17d172a5efSJohannes Berg * WITHOUT ANY WARRANTY; without even the implied warranty of 18d172a5efSJohannes Berg * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 19d172a5efSJohannes Berg * General Public License for more details. 20d172a5efSJohannes Berg * 21d172a5efSJohannes Berg * The full GNU General Public License is included in this distribution 22d172a5efSJohannes Berg * in the file called COPYING. 23d172a5efSJohannes Berg * 24d172a5efSJohannes Berg * Contact Information: 25d172a5efSJohannes Berg * Intel Linux Wireless <linuxwifi@intel.com> 26d172a5efSJohannes Berg * Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497 27d172a5efSJohannes Berg * 28d172a5efSJohannes Berg * BSD LICENSE 29d172a5efSJohannes Berg * 30d172a5efSJohannes Berg * Copyright(c) 2012 - 2014 Intel Corporation. All rights reserved. 31d172a5efSJohannes Berg * Copyright(c) 2013 - 2015 Intel Mobile Communications GmbH 32d172a5efSJohannes Berg * Copyright(c) 2016 - 2017 Intel Deutschland GmbH 33d172a5efSJohannes Berg * All rights reserved. 34d172a5efSJohannes Berg * 35d172a5efSJohannes Berg * Redistribution and use in source and binary forms, with or without 36d172a5efSJohannes Berg * modification, are permitted provided that the following conditions 37d172a5efSJohannes Berg * are met: 38d172a5efSJohannes Berg * 39d172a5efSJohannes Berg * * Redistributions of source code must retain the above copyright 40d172a5efSJohannes Berg * notice, this list of conditions and the following disclaimer. 41d172a5efSJohannes Berg * * Redistributions in binary form must reproduce the above copyright 42d172a5efSJohannes Berg * notice, this list of conditions and the following disclaimer in 43d172a5efSJohannes Berg * the documentation and/or other materials provided with the 44d172a5efSJohannes Berg * distribution. 45d172a5efSJohannes Berg * * Neither the name Intel Corporation nor the names of its 46d172a5efSJohannes Berg * contributors may be used to endorse or promote products derived 47d172a5efSJohannes Berg * from this software without specific prior written permission. 48d172a5efSJohannes Berg * 49d172a5efSJohannes Berg * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 50d172a5efSJohannes Berg * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 51d172a5efSJohannes Berg * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 52d172a5efSJohannes Berg * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 53d172a5efSJohannes Berg * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 54d172a5efSJohannes Berg * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 55d172a5efSJohannes Berg * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 56d172a5efSJohannes Berg * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 57d172a5efSJohannes Berg * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 58d172a5efSJohannes Berg * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 59d172a5efSJohannes Berg * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 60d172a5efSJohannes Berg * 61d172a5efSJohannes Berg *****************************************************************************/ 62d172a5efSJohannes Berg 63d172a5efSJohannes Berg #ifndef __iwl_fw_api_datapath_h__ 64d172a5efSJohannes Berg #define __iwl_fw_api_datapath_h__ 65d172a5efSJohannes Berg 66d172a5efSJohannes Berg /** 67d172a5efSJohannes Berg * enum iwl_data_path_subcmd_ids - data path group commands 68d172a5efSJohannes Berg */ 69d172a5efSJohannes Berg enum iwl_data_path_subcmd_ids { 70d172a5efSJohannes Berg /** 71d172a5efSJohannes Berg * @DQA_ENABLE_CMD: &struct iwl_dqa_enable_cmd 72d172a5efSJohannes Berg */ 73d172a5efSJohannes Berg DQA_ENABLE_CMD = 0x0, 74d172a5efSJohannes Berg 75d172a5efSJohannes Berg /** 76d172a5efSJohannes Berg * @UPDATE_MU_GROUPS_CMD: &struct iwl_mu_group_mgmt_cmd 77d172a5efSJohannes Berg */ 78d172a5efSJohannes Berg UPDATE_MU_GROUPS_CMD = 0x1, 79d172a5efSJohannes Berg 80d172a5efSJohannes Berg /** 81d172a5efSJohannes Berg * @TRIGGER_RX_QUEUES_NOTIF_CMD: &struct iwl_rxq_sync_cmd 82d172a5efSJohannes Berg */ 83d172a5efSJohannes Berg TRIGGER_RX_QUEUES_NOTIF_CMD = 0x2, 84d172a5efSJohannes Berg 85d172a5efSJohannes Berg /** 868a6171a7SLuca Coelho * @STA_HE_CTXT_CMD: &struct iwl_he_sta_context_cmd 878a6171a7SLuca Coelho */ 888a6171a7SLuca Coelho STA_HE_CTXT_CMD = 0x7, 898a6171a7SLuca Coelho 908a6171a7SLuca Coelho /** 91110b32f0SGregory Greenman * @TLC_MNG_CONFIG_CMD: &struct iwl_tlc_config_cmd 92110b32f0SGregory Greenman */ 93110b32f0SGregory Greenman TLC_MNG_CONFIG_CMD = 0xF, 94110b32f0SGregory Greenman 95110b32f0SGregory Greenman /** 9646d372afSGregory Greenman * @TLC_MNG_UPDATE_NOTIF: &struct iwl_tlc_update_notif 9746d372afSGregory Greenman */ 9846d372afSGregory Greenman TLC_MNG_UPDATE_NOTIF = 0xF7, 9946d372afSGregory Greenman 10046d372afSGregory Greenman /** 101d172a5efSJohannes Berg * @STA_PM_NOTIF: &struct iwl_mvm_pm_state_notification 102d172a5efSJohannes Berg */ 103d172a5efSJohannes Berg STA_PM_NOTIF = 0xFD, 104d172a5efSJohannes Berg 105d172a5efSJohannes Berg /** 106d172a5efSJohannes Berg * @MU_GROUP_MGMT_NOTIF: &struct iwl_mu_group_mgmt_notif 107d172a5efSJohannes Berg */ 108d172a5efSJohannes Berg MU_GROUP_MGMT_NOTIF = 0xFE, 109d172a5efSJohannes Berg 110d172a5efSJohannes Berg /** 111d172a5efSJohannes Berg * @RX_QUEUES_NOTIFICATION: &struct iwl_rxq_sync_notification 112d172a5efSJohannes Berg */ 113d172a5efSJohannes Berg RX_QUEUES_NOTIFICATION = 0xFF, 114d172a5efSJohannes Berg }; 115d172a5efSJohannes Berg 116d172a5efSJohannes Berg /** 117d172a5efSJohannes Berg * struct iwl_mu_group_mgmt_cmd - VHT MU-MIMO group configuration 118d172a5efSJohannes Berg * 119d172a5efSJohannes Berg * @reserved: reserved 120d172a5efSJohannes Berg * @membership_status: a bitmap of MU groups 121d172a5efSJohannes Berg * @user_position:the position of station in a group. If the station is in the 122d172a5efSJohannes Berg * group then bits (group * 2) is the position -1 123d172a5efSJohannes Berg */ 124d172a5efSJohannes Berg struct iwl_mu_group_mgmt_cmd { 125d172a5efSJohannes Berg __le32 reserved; 126d172a5efSJohannes Berg __le32 membership_status[2]; 127d172a5efSJohannes Berg __le32 user_position[4]; 128d172a5efSJohannes Berg } __packed; /* MU_GROUP_ID_MNG_TABLE_API_S_VER_1 */ 129d172a5efSJohannes Berg 130d172a5efSJohannes Berg /** 131d172a5efSJohannes Berg * struct iwl_mu_group_mgmt_notif - VHT MU-MIMO group id notification 132d172a5efSJohannes Berg * 133d172a5efSJohannes Berg * @membership_status: a bitmap of MU groups 134d172a5efSJohannes Berg * @user_position: the position of station in a group. If the station is in the 135d172a5efSJohannes Berg * group then bits (group * 2) is the position -1 136d172a5efSJohannes Berg */ 137d172a5efSJohannes Berg struct iwl_mu_group_mgmt_notif { 138d172a5efSJohannes Berg __le32 membership_status[2]; 139d172a5efSJohannes Berg __le32 user_position[4]; 140d172a5efSJohannes Berg } __packed; /* MU_GROUP_MNG_NTFY_API_S_VER_1 */ 141d172a5efSJohannes Berg 142d172a5efSJohannes Berg #endif /* __iwl_fw_api_datapath_h__ */ 143