1*4a5fb1bbSJérôme Pouiller /* SPDX-License-Identifier: GPL-2.0-only */ 2*4a5fb1bbSJérôme Pouiller /* 3*4a5fb1bbSJérôme Pouiller * Implementation of the host-to-chip MIBs of the hardware API. 4*4a5fb1bbSJérôme Pouiller * 5*4a5fb1bbSJérôme Pouiller * Copyright (c) 2017-2020, Silicon Laboratories, Inc. 6*4a5fb1bbSJérôme Pouiller * Copyright (c) 2010, ST-Ericsson 7*4a5fb1bbSJérôme Pouiller * Copyright (C) 2010, ST-Ericsson SA 8*4a5fb1bbSJérôme Pouiller */ 9*4a5fb1bbSJérôme Pouiller #ifndef WFX_HIF_TX_MIB_H 10*4a5fb1bbSJérôme Pouiller #define WFX_HIF_TX_MIB_H 11*4a5fb1bbSJérôme Pouiller 12*4a5fb1bbSJérôme Pouiller #include <linux/types.h> 13*4a5fb1bbSJérôme Pouiller 14*4a5fb1bbSJérôme Pouiller struct sk_buff; 15*4a5fb1bbSJérôme Pouiller struct wfx_vif; 16*4a5fb1bbSJérôme Pouiller struct wfx_dev; 17*4a5fb1bbSJérôme Pouiller struct wfx_hif_ie_table_entry; 18*4a5fb1bbSJérôme Pouiller struct wfx_hif_mib_extended_count_table; 19*4a5fb1bbSJérôme Pouiller 20*4a5fb1bbSJérôme Pouiller int wfx_hif_set_output_power(struct wfx_vif *wvif, int val); 21*4a5fb1bbSJérôme Pouiller int wfx_hif_set_beacon_wakeup_period(struct wfx_vif *wvif, 22*4a5fb1bbSJérôme Pouiller unsigned int dtim_interval, unsigned int listen_interval); 23*4a5fb1bbSJérôme Pouiller int wfx_hif_set_rcpi_rssi_threshold(struct wfx_vif *wvif, int rssi_thold, int rssi_hyst); 24*4a5fb1bbSJérôme Pouiller int wfx_hif_get_counters_table(struct wfx_dev *wdev, int vif_id, 25*4a5fb1bbSJérôme Pouiller struct wfx_hif_mib_extended_count_table *arg); 26*4a5fb1bbSJérôme Pouiller int wfx_hif_set_macaddr(struct wfx_vif *wvif, u8 *mac); 27*4a5fb1bbSJérôme Pouiller int wfx_hif_set_rx_filter(struct wfx_vif *wvif, bool filter_bssid, bool fwd_probe_req); 28*4a5fb1bbSJérôme Pouiller int wfx_hif_set_beacon_filter_table(struct wfx_vif *wvif, int tbl_len, 29*4a5fb1bbSJérôme Pouiller const struct wfx_hif_ie_table_entry *tbl); 30*4a5fb1bbSJérôme Pouiller int wfx_hif_beacon_filter_control(struct wfx_vif *wvif, int enable, int beacon_count); 31*4a5fb1bbSJérôme Pouiller int wfx_hif_set_operational_mode(struct wfx_dev *wdev, enum wfx_hif_op_power_mode mode); 32*4a5fb1bbSJérôme Pouiller int wfx_hif_set_template_frame(struct wfx_vif *wvif, struct sk_buff *skb, 33*4a5fb1bbSJérôme Pouiller u8 frame_type, int init_rate); 34*4a5fb1bbSJérôme Pouiller int wfx_hif_set_mfp(struct wfx_vif *wvif, bool capable, bool required); 35*4a5fb1bbSJérôme Pouiller int wfx_hif_set_block_ack_policy(struct wfx_vif *wvif, u8 tx_tid_policy, u8 rx_tid_policy); 36*4a5fb1bbSJérôme Pouiller int wfx_hif_set_association_mode(struct wfx_vif *wvif, int ampdu_density, 37*4a5fb1bbSJérôme Pouiller bool greenfield, bool short_preamble); 38*4a5fb1bbSJérôme Pouiller int wfx_hif_set_tx_rate_retry_policy(struct wfx_vif *wvif, int policy_index, u8 *rates); 39*4a5fb1bbSJérôme Pouiller int wfx_hif_keep_alive_period(struct wfx_vif *wvif, int period); 40*4a5fb1bbSJérôme Pouiller int wfx_hif_set_arp_ipv4_filter(struct wfx_vif *wvif, int idx, __be32 *addr); 41*4a5fb1bbSJérôme Pouiller int wfx_hif_use_multi_tx_conf(struct wfx_dev *wdev, bool enable); 42*4a5fb1bbSJérôme Pouiller int wfx_hif_set_uapsd_info(struct wfx_vif *wvif, unsigned long val); 43*4a5fb1bbSJérôme Pouiller int wfx_hif_erp_use_protection(struct wfx_vif *wvif, bool enable); 44*4a5fb1bbSJérôme Pouiller int wfx_hif_slot_time(struct wfx_vif *wvif, int val); 45*4a5fb1bbSJérôme Pouiller int wfx_hif_wep_default_key_id(struct wfx_vif *wvif, int val); 46*4a5fb1bbSJérôme Pouiller int wfx_hif_rts_threshold(struct wfx_vif *wvif, int val); 47*4a5fb1bbSJérôme Pouiller 48*4a5fb1bbSJérôme Pouiller #endif 49