69 rindas
1.7 KiB
C
69 rindas
1.7 KiB
C
/*
|
|
* Copyright (c) 2020-2021, The Linux Foundation. All rights reserved.
|
|
* Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License version 2 and
|
|
* only version 2 as published by the Free Software Foundation.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*/
|
|
|
|
#ifndef __RMNET_QMAP_H
|
|
#define __RMNET_QMAP_H
|
|
|
|
#include "qmi_rmnet_i.h"
|
|
|
|
#define QMAP_CMD_DONE -1
|
|
#define QMAP_CMD_ACK_INBAND -2
|
|
|
|
#define QMAP_CMD_REQUEST 0
|
|
#define QMAP_CMD_ACK 1
|
|
#define QMAP_CMD_UNSUPPORTED 2
|
|
#define QMAP_CMD_INVALID 3
|
|
|
|
struct qmap_hdr {
|
|
u8 cd_pad;
|
|
u8 mux_id;
|
|
__be16 pkt_len;
|
|
} __aligned(1);
|
|
|
|
#define QMAP_HDR_LEN sizeof(struct qmap_hdr)
|
|
|
|
struct qmap_cmd_hdr {
|
|
u8 pad_len:6;
|
|
u8 reserved_bit:1;
|
|
u8 cd_bit:1;
|
|
u8 mux_id;
|
|
__be16 pkt_len;
|
|
u8 cmd_name;
|
|
u8 cmd_type:2;
|
|
u8 reserved:6;
|
|
u16 reserved2;
|
|
__be32 tx_id;
|
|
} __aligned(1);
|
|
|
|
int rmnet_qmap_init(void *port);
|
|
void rmnet_qmap_exit(void);
|
|
int rmnet_qmap_next_txid(void);
|
|
int rmnet_qmap_send(struct sk_buff *skb, u8 ch, bool flush);
|
|
struct net_device *rmnet_qmap_get_dev(u8 mux_id);
|
|
|
|
#define QMAP_DFC_CONFIG 10
|
|
#define QMAP_DFC_IND 11
|
|
#define QMAP_DFC_QUERY 12
|
|
#define QMAP_DFC_END_MARKER 13
|
|
#define QMAP_DFC_POWERSAVE 14
|
|
int dfc_qmap_cmd_handler(struct sk_buff *skb);
|
|
|
|
#define QMAP_LL_SWITCH 25
|
|
#define QMAP_LL_SWITCH_STATUS 26
|
|
int ll_qmap_cmd_handler(struct sk_buff *skb);
|
|
|
|
#define QMAP_DATA_REPORT 34
|
|
|
|
#endif /* __RMNET_QMAP_H */
|