Files
android_kernel_samsung_sm86…/core/rmnet_qmap.h
Weiyi Chen a7f008617a rmnet_core: Data report commands
Support data report QMAP commands.

Change-Id: I49d6e02bc36165f21731b982969c74b93c6de269
2023-04-11 13:27:21 -07:00

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 */