78 lines
2.4 KiB
C
Executable File
78 lines
2.4 KiB
C
Executable File
/*
|
|
* Broadcom Dongle Host Driver (DHD), CSI
|
|
*
|
|
* Copyright (C) 1999-2018, Broadcom.
|
|
*
|
|
* Unless you and Broadcom execute a separate written software license
|
|
* agreement governing use of this software, this software is licensed to you
|
|
* under the terms of the GNU General Public License version 2 (the "GPL"),
|
|
* available at http://www.broadcom.com/licenses/GPLv2.php, with the
|
|
* following added to such license:
|
|
*
|
|
* As a special exception, the copyright holders of this software give you
|
|
* permission to link this software with independent modules, and to copy and
|
|
* distribute the resulting executable under terms of your choice, provided that
|
|
* you also meet, for each linked independent module, the terms and conditions of
|
|
* the license of that module. An independent module is a module which is not
|
|
* derived from this software. The special exception does not apply to any
|
|
* modifications of the software.
|
|
*
|
|
* Notwithstanding the above, under no circumstances may you combine this
|
|
* software in any way with any other Broadcom software provided under a license
|
|
* other than the GPL, without Broadcom's express prior written consent.
|
|
*
|
|
* $Id: dhd_csi.h 558438 2015-05-22 06:05:11Z $
|
|
*/
|
|
#ifndef __DHD_CSI_H__
|
|
#define __DHD_CSI_H__
|
|
|
|
/* Maxinum csi file dump size */
|
|
#define MAX_CSI_FILESZ (32 * 1024)
|
|
/* Maxinum subcarrier number */
|
|
#define MAXINUM_CFR_DATA 256 * 4
|
|
#define CSI_DUMP_PATH "/sys/bcm-dhd/csi"
|
|
#define MAX_EVENT_SIZE 1400
|
|
/* maximun csi number stored at dhd */
|
|
#define MAX_CSI_NUM 8
|
|
|
|
typedef struct cfr_dump_header {
|
|
/* 0 - successful; 1 - Failed */
|
|
uint8 status;
|
|
/* Peer MAC address */
|
|
uint8 peer_macaddr[6];
|
|
/* Number of Space Time Streams */
|
|
uint8 sts;
|
|
/* Number of RX chain */
|
|
uint8 num_rx;
|
|
/* Number of subcarrier */
|
|
uint16 num_carrier;
|
|
/* Length of the CSI dump */
|
|
uint32 cfr_dump_length;
|
|
/* remain unsend CSI data length */
|
|
uint32 remain_length;
|
|
/* RSSI */
|
|
int8 rssi;
|
|
} __attribute__((packed)) cfr_dump_header_t;
|
|
|
|
typedef struct cfr_dump_data {
|
|
cfr_dump_header_t header;
|
|
uint32 data[MAXINUM_CFR_DATA];
|
|
} cfr_dump_data_t;
|
|
|
|
typedef struct {
|
|
struct list_head list;
|
|
cfr_dump_data_t entry;
|
|
} cfr_dump_list_t;
|
|
|
|
int dhd_csi_event_handler(dhd_pub_t *dhd, wl_event_msg_t *event, void *event_data);
|
|
|
|
int dhd_csi_init(dhd_pub_t *dhd);
|
|
|
|
int dhd_csi_deinit(dhd_pub_t *dhd);
|
|
|
|
void dhd_csi_clean_list(dhd_pub_t *dhd);
|
|
|
|
int dhd_csi_dump_list(dhd_pub_t *dhd, char *buf);
|
|
#endif /* __DHD_CSI_H__ */
|
|
|