linux/drivers/net/wireless/ti/wl18xx/acx.h

/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * This file is part of wl18xx
 *
 * Copyright (C) 2011 Texas Instruments. All rights reserved.
 */

#ifndef __WL18XX_ACX_H__
#define __WL18XX_ACX_H__

#include "../wlcore/wlcore.h"
#include "../wlcore/acx.h"

enum {};

/* numbers of bits the length field takes (add 1 for the actual number) */
#define WL18XX_HOST_IF_LEN_SIZE_FIELD

#define WL18XX_ACX_EVENTS_VECTOR

#define WL18XX_INTR_MASK

struct wl18xx_acx_host_config_bitmap {} __packed;

enum {};

struct wl18xx_acx_checksum_state {} __packed;


struct wl18xx_acx_error_stats {} __packed;

#define NUM_OF_RATES_INDEXES
struct wl18xx_acx_tx_stats {} __packed;

struct wl18xx_acx_rx_stats {} __packed;

struct wl18xx_acx_isr_stats {} __packed;

#define PWR_STAT_MAX_CONT_MISSED_BCNS_SPREAD

struct wl18xx_acx_pwr_stats {} __packed;

struct wl18xx_acx_rx_filter_stats {} __packed;

struct wl18xx_acx_rx_rate_stats {} __packed;

#define AGGR_STATS_TX_AGG
#define AGGR_STATS_RX_SIZE_LEN

struct wl18xx_acx_aggr_stats {} __packed;

#define PIPE_STATS_HW_FIFO

struct wl18xx_acx_pipeline_stats {} __packed;

#define DIVERSITY_STATS_NUM_OF_ANT

struct wl18xx_acx_diversity_stats {} __packed;

struct wl18xx_acx_thermal_stats {} __packed;

#define WL18XX_NUM_OF_CALIBRATIONS_ERRORS
struct wl18xx_acx_calib_failure_stats {} __packed;

struct wl18xx_roaming_stats {} __packed;

struct wl18xx_dfs_stats {} __packed;

struct wl18xx_acx_statistics {} __packed;

struct wl18xx_acx_clear_statistics {};

enum wlcore_bandwidth {};

struct wlcore_peer_ht_operation_mode {};

/*
 * ACX_PEER_CAP
 * this struct is very similar to wl1271_acx_ht_capabilities, with the
 * addition of supported rates
 */
struct wlcore_acx_peer_cap {} __packed;

/*
 * ACX_INTERRUPT_NOTIFY
 * enable/disable fast-link/PSM notification from FW
 */
struct wl18xx_acx_interrupt_notify {};

/*
 * ACX_RX_BA_FILTER
 * enable/disable RX BA filtering in FW
 */
struct wl18xx_acx_rx_ba_filter {};

struct acx_ap_sleep_cfg {} __packed;

/*
 * ACX_DYNAMIC_TRACES_CFG
 * configure the FW dynamic traces
 */
struct acx_dynamic_fw_traces_cfg {} __packed;

/*
 * ACX_TIME_SYNC_CFG
 * configure the time sync parameters
 */
struct acx_time_sync_cfg {} __packed;

int wl18xx_acx_host_if_cfg_bitmap(struct wl1271 *wl, u32 host_cfg_bitmap,
				  u32 sdio_blk_size, u32 extra_mem_blks,
				  u32 len_field_size);
int wl18xx_acx_set_checksum_state(struct wl1271 *wl);
int wl18xx_acx_clear_statistics(struct wl1271 *wl);
int wl18xx_acx_peer_ht_operation_mode(struct wl1271 *wl, u8 hlid, bool wide);
int wl18xx_acx_set_peer_cap(struct wl1271 *wl,
			    struct ieee80211_sta_ht_cap *ht_cap,
			    bool allow_ht_operation,
			    u32 rate_set, u8 hlid);
int wl18xx_acx_interrupt_notify_config(struct wl1271 *wl, bool action);
int wl18xx_acx_rx_ba_filter(struct wl1271 *wl, bool action);
int wl18xx_acx_ap_sleep(struct wl1271 *wl);
int wl18xx_acx_dynamic_fw_traces(struct wl1271 *wl);
int wl18xx_acx_time_sync_cfg(struct wl1271 *wl);

#endif /* __WL18XX_ACX_H__ */