Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3a0aae3d authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: ipa: Add QMI messages for moving NAT table"

parents d6959cc4 e8be6092
Loading
Loading
Loading
Loading
+51 −0
Original line number Diff line number Diff line
@@ -2717,6 +2717,54 @@ struct ipa_bw_change_ind_msg_v01 {
}; /* Message */
#define IPA_BW_CHANGE_IND_MSG_V01_MAX_MSG_LEN 14

enum ipa_move_nat_type_enum_v01 {
	QMI_IPA_MOVE_NAT_TO_DDR_V01 = 0,
	QMI_IPA_MOVE_NAT_TO_SRAM_V01 = 1,
};

/*
 * Request Message; Requestes remote IPA driver to move IPA NAT table
 * according to requested direction TO_DDR\TO_SRAM.
 */
struct ipa_move_nat_req_msg_v01 {
	enum ipa_move_nat_type_enum_v01 nat_move_direction;
};
#define IPA_MOVE_NAT_REQ_MSG_V01_MAX_MSG_LEN 8

/*
 * Response Message; Requestes remote IPA driver to move IPA NAT table
 * according to requested direction TO_DDR\TO_SRAM.
 */
struct ipa_move_nat_resp_msg_v01 {

	/* Mandatory */
	/* Result Code */
	struct ipa_qmi_response_type_v01 resp;
	/*
	 * Standard response type.
	 * Standard response type. Contains the following data members:
	 * qmi_result_type -- QMI_RESULT_SUCCESS or QMI_RESULT_FAILURE
	 * qmi_error_type  -- Error code. Possible error code values are
	 * described in the error codes section of each message definition.
	 */
};  /* Message */
#define IPA_MOVE_NAT_RESP_MSG_V01_MAX_MSG_LEN 7

    /*	Indication Message; Indication sent to the Modem IPA driver from
     *	master IPA driver about NAT table move result.
     */
struct ipa_move_nat_table_complt_ind_msg_v01 {
	/* Mandatory */
	/*  Master driver initialization completion status */
	struct ipa_qmi_response_type_v01 nat_table_move_status;
	/*	Indicates the status of nat table mvoe. If everything went
	 *	as expected, this field is set to SUCCESS. ERROR is set
	 *	otherwise. Extended error info may be used to convey
	 *	additional information about the error
	 */
};  /* Message */
#define QMI_IPA_NAT_TABLE_MOVE_COMPLETE_IND_MAX_MSG_LEN_V01 7

/*Service Message Definition*/
#define QMI_IPA_INDICATION_REGISTER_REQ_V01 0x0020
#define QMI_IPA_INDICATION_REGISTER_RESP_V01 0x0020
@@ -2772,6 +2820,9 @@ struct ipa_bw_change_ind_msg_v01 {
#define QMI_IPA_REMOVE_OFFLOAD_CONNECTION_REQ_V01 0x0042
#define QMI_IPA_REMOVE_OFFLOAD_CONNECTION_RESP_V01 0x0042
#define QMI_IPA_BW_CHANGE_INDICATION_V01 0x0044
#define QMI_IPA_MOVE_NAT_REQ_V01 0x0046
#define QMI_IPA_MOVE_NAT_RESP_V01 0x0046
#define QMI_IPA_MOVE_NAT_COMPLETE_IND_V01 0x0046

/* add for max length*/
#define QMI_IPA_INIT_MODEM_DRIVER_REQ_MAX_MSG_LEN_V01 186
+7 −1
Original line number Diff line number Diff line
@@ -828,7 +828,13 @@ enum ipa_pkt_threshold_event {
#define IPA_PKT_THRESHOLD_EVENT_MAX IPA_PKT_THRESHOLD_EVENT_MAX
};

#define IPA_EVENT_MAX_NUM (IPA_PKT_THRESHOLD_EVENT_MAX)
enum ipa_move_nat_table_event {
	IPA_MOVE_NAT_TABLE = IPA_PKT_THRESHOLD_EVENT_MAX,
	IPA_MOVE_NAT_EVENT_MAX
#define IPA_MOVE_NAT_EVENT_MAX IPA_MOVE_NAT_EVENT_MAX
};

#define IPA_EVENT_MAX_NUM (IPA_MOVE_NAT_EVENT_MAX)
#define IPA_EVENT_MAX ((int)IPA_EVENT_MAX_NUM)

/**
+6 −1
Original line number Diff line number Diff line
/* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note */
/*
 * Copyright (c) 2013-2020, The Linux Foundation. All rights reserved.
 * Copyright (c) 2013-2021, The Linux Foundation. All rights reserved.
 */

#ifndef _RMNET_IPA_FD_IOCTL_H
@@ -36,6 +36,7 @@
#define WAN_IOCTL_ADD_OFFLOAD_CONNECTION     18
#define WAN_IOCTL_RMV_OFFLOAD_CONNECTION     19
#define WAN_IOCTL_GET_WAN_MTU                20
#define WAN_IOCTL_NOTIFY_NAT_MOVE_RES        21

/* User space may not have this defined. */
#ifndef IFNAMSIZ
@@ -273,4 +274,8 @@ struct wan_ioctl_query_per_client_stats {
#define WAN_IOC_GET_WAN_MTU _IOWR(WAN_IOC_MAGIC, \
		WAN_IOCTL_GET_WAN_MTU, \
		struct ipa_mtu_info *)

#define WAN_IOC_NOTIFY_NAT_MOVE_RES _IOWR(WAN_IOC_MAGIC, \
	WAN_IOCTL_NOTIFY_NAT_MOVE_RES, \
	bool)
#endif /* _RMNET_IPA_FD_IOCTL_H */