msm: ipa3: rmnet_ipa: add IPC logging to common buffer
Add IPC logging to IPA WAN driver. IPC logging will be stored in the same log buffer as IPA IPC log. CRs-Fixed: 1005492 Change-Id: I69f3536e297eae8453370b44f66ec0f520f16cd5 Acked-by: Ady Abraham <adya@qti.qualcomm.com> Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
This commit is contained in:
parent
4ab1f7ac6e
commit
9620d3accc
4 changed files with 74 additions and 48 deletions
|
@ -356,7 +356,7 @@ static void ipa3_a5_svc_recv_msg(struct work_struct *work)
|
||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
do {
|
do {
|
||||||
IPAWANDBG("Notified about a Receive Event");
|
IPAWANDBG_LOW("Notified about a Receive Event");
|
||||||
rc = qmi_recv_msg(ipa3_svc_handle);
|
rc = qmi_recv_msg(ipa3_svc_handle);
|
||||||
} while (rc == 0);
|
} while (rc == 0);
|
||||||
if (rc != -ENOMSG)
|
if (rc != -ENOMSG)
|
||||||
|
@ -430,7 +430,7 @@ static int ipa3_check_qmi_response(int rc,
|
||||||
req_id, result, error);
|
req_id, result, error);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
IPAWANDBG("Received %s successfully\n", resp_type);
|
IPAWANDBG_LOW("Received %s successfully\n", resp_type);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -762,7 +762,7 @@ static void ipa3_q6_clnt_recv_msg(struct work_struct *work)
|
||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
do {
|
do {
|
||||||
IPAWANDBG("Notified about a Receive Event");
|
IPAWANDBG_LOW("Notified about a Receive Event");
|
||||||
rc = qmi_recv_msg(ipa_q6_clnt);
|
rc = qmi_recv_msg(ipa_q6_clnt);
|
||||||
} while (rc == 0);
|
} while (rc == 0);
|
||||||
if (rc != -ENOMSG)
|
if (rc != -ENOMSG)
|
||||||
|
@ -774,7 +774,7 @@ static void ipa3_q6_clnt_notify(struct qmi_handle *handle,
|
||||||
{
|
{
|
||||||
switch (event) {
|
switch (event) {
|
||||||
case QMI_RECV_MSG:
|
case QMI_RECV_MSG:
|
||||||
IPAWANDBG("client qmi recv message called");
|
IPAWANDBG_LOW("client qmi recv message called");
|
||||||
if (!workqueues_stopped)
|
if (!workqueues_stopped)
|
||||||
queue_delayed_work(ipa_clnt_resp_workqueue,
|
queue_delayed_work(ipa_clnt_resp_workqueue,
|
||||||
&ipa3_work_recv_msg_client, 0);
|
&ipa3_work_recv_msg_client, 0);
|
||||||
|
@ -1154,7 +1154,7 @@ int ipa3_qmi_get_data_stats(struct ipa_get_data_stats_req_msg_v01 *req,
|
||||||
resp_desc.msg_id = QMI_IPA_GET_DATA_STATS_RESP_V01;
|
resp_desc.msg_id = QMI_IPA_GET_DATA_STATS_RESP_V01;
|
||||||
resp_desc.ei_array = ipa3_get_data_stats_resp_msg_data_v01_ei;
|
resp_desc.ei_array = ipa3_get_data_stats_resp_msg_data_v01_ei;
|
||||||
|
|
||||||
IPAWANDBG("Sending QMI_IPA_GET_DATA_STATS_REQ_V01\n");
|
IPAWANDBG_LOW("Sending QMI_IPA_GET_DATA_STATS_REQ_V01\n");
|
||||||
|
|
||||||
rc = qmi_send_req_wait(ipa_q6_clnt, &req_desc, req,
|
rc = qmi_send_req_wait(ipa_q6_clnt, &req_desc, req,
|
||||||
sizeof(struct ipa_get_data_stats_req_msg_v01),
|
sizeof(struct ipa_get_data_stats_req_msg_v01),
|
||||||
|
@ -1162,7 +1162,7 @@ int ipa3_qmi_get_data_stats(struct ipa_get_data_stats_req_msg_v01 *req,
|
||||||
sizeof(struct ipa_get_data_stats_resp_msg_v01),
|
sizeof(struct ipa_get_data_stats_resp_msg_v01),
|
||||||
QMI_SEND_STATS_REQ_TIMEOUT_MS);
|
QMI_SEND_STATS_REQ_TIMEOUT_MS);
|
||||||
|
|
||||||
IPAWANDBG("QMI_IPA_GET_DATA_STATS_RESP_V01 received\n");
|
IPAWANDBG_LOW("QMI_IPA_GET_DATA_STATS_RESP_V01 received\n");
|
||||||
|
|
||||||
return ipa3_check_qmi_response(rc,
|
return ipa3_check_qmi_response(rc,
|
||||||
QMI_IPA_GET_DATA_STATS_REQ_V01, resp->resp.result,
|
QMI_IPA_GET_DATA_STATS_REQ_V01, resp->resp.result,
|
||||||
|
@ -1183,7 +1183,7 @@ int ipa3_qmi_get_network_stats(struct ipa_get_apn_data_stats_req_msg_v01 *req,
|
||||||
resp_desc.msg_id = QMI_IPA_GET_APN_DATA_STATS_RESP_V01;
|
resp_desc.msg_id = QMI_IPA_GET_APN_DATA_STATS_RESP_V01;
|
||||||
resp_desc.ei_array = ipa3_get_apn_data_stats_resp_msg_data_v01_ei;
|
resp_desc.ei_array = ipa3_get_apn_data_stats_resp_msg_data_v01_ei;
|
||||||
|
|
||||||
IPAWANDBG("Sending QMI_IPA_GET_APN_DATA_STATS_REQ_V01\n");
|
IPAWANDBG_LOW("Sending QMI_IPA_GET_APN_DATA_STATS_REQ_V01\n");
|
||||||
|
|
||||||
rc = qmi_send_req_wait(ipa_q6_clnt, &req_desc, req,
|
rc = qmi_send_req_wait(ipa_q6_clnt, &req_desc, req,
|
||||||
sizeof(struct ipa_get_apn_data_stats_req_msg_v01),
|
sizeof(struct ipa_get_apn_data_stats_req_msg_v01),
|
||||||
|
@ -1191,7 +1191,7 @@ int ipa3_qmi_get_network_stats(struct ipa_get_apn_data_stats_req_msg_v01 *req,
|
||||||
sizeof(struct ipa_get_apn_data_stats_resp_msg_v01),
|
sizeof(struct ipa_get_apn_data_stats_resp_msg_v01),
|
||||||
QMI_SEND_STATS_REQ_TIMEOUT_MS);
|
QMI_SEND_STATS_REQ_TIMEOUT_MS);
|
||||||
|
|
||||||
IPAWANDBG("QMI_IPA_GET_APN_DATA_STATS_RESP_V01 received\n");
|
IPAWANDBG_LOW("QMI_IPA_GET_APN_DATA_STATS_RESP_V01 received\n");
|
||||||
|
|
||||||
return ipa3_check_qmi_response(rc,
|
return ipa3_check_qmi_response(rc,
|
||||||
QMI_IPA_GET_APN_DATA_STATS_REQ_V01, resp->resp.result,
|
QMI_IPA_GET_APN_DATA_STATS_REQ_V01, resp->resp.result,
|
||||||
|
@ -1215,14 +1215,14 @@ int ipa3_qmi_set_data_quota(struct ipa_set_data_usage_quota_req_msg_v01 *req)
|
||||||
resp_desc.msg_id = QMI_IPA_SET_DATA_USAGE_QUOTA_RESP_V01;
|
resp_desc.msg_id = QMI_IPA_SET_DATA_USAGE_QUOTA_RESP_V01;
|
||||||
resp_desc.ei_array = ipa3_set_data_usage_quota_resp_msg_data_v01_ei;
|
resp_desc.ei_array = ipa3_set_data_usage_quota_resp_msg_data_v01_ei;
|
||||||
|
|
||||||
IPAWANDBG("Sending QMI_IPA_SET_DATA_USAGE_QUOTA_REQ_V01\n");
|
IPAWANDBG_LOW("Sending QMI_IPA_SET_DATA_USAGE_QUOTA_REQ_V01\n");
|
||||||
|
|
||||||
rc = qmi_send_req_wait(ipa_q6_clnt, &req_desc, req,
|
rc = qmi_send_req_wait(ipa_q6_clnt, &req_desc, req,
|
||||||
sizeof(struct ipa_set_data_usage_quota_req_msg_v01),
|
sizeof(struct ipa_set_data_usage_quota_req_msg_v01),
|
||||||
&resp_desc, &resp, sizeof(resp),
|
&resp_desc, &resp, sizeof(resp),
|
||||||
QMI_SEND_STATS_REQ_TIMEOUT_MS);
|
QMI_SEND_STATS_REQ_TIMEOUT_MS);
|
||||||
|
|
||||||
IPAWANDBG("QMI_IPA_SET_DATA_USAGE_QUOTA_RESP_V01 received\n");
|
IPAWANDBG_LOW("QMI_IPA_SET_DATA_USAGE_QUOTA_RESP_V01 received\n");
|
||||||
|
|
||||||
return ipa3_check_qmi_response(rc,
|
return ipa3_check_qmi_response(rc,
|
||||||
QMI_IPA_SET_DATA_USAGE_QUOTA_REQ_V01, resp.resp.result,
|
QMI_IPA_SET_DATA_USAGE_QUOTA_REQ_V01, resp.resp.result,
|
||||||
|
@ -1249,13 +1249,13 @@ int ipa3_qmi_stop_data_qouta(void)
|
||||||
resp_desc.msg_id = QMI_IPA_STOP_DATA_USAGE_QUOTA_RESP_V01;
|
resp_desc.msg_id = QMI_IPA_STOP_DATA_USAGE_QUOTA_RESP_V01;
|
||||||
resp_desc.ei_array = ipa3_stop_data_usage_quota_resp_msg_data_v01_ei;
|
resp_desc.ei_array = ipa3_stop_data_usage_quota_resp_msg_data_v01_ei;
|
||||||
|
|
||||||
IPAWANDBG("Sending QMI_IPA_STOP_DATA_USAGE_QUOTA_REQ_V01\n");
|
IPAWANDBG_LOW("Sending QMI_IPA_STOP_DATA_USAGE_QUOTA_REQ_V01\n");
|
||||||
|
|
||||||
rc = qmi_send_req_wait(ipa_q6_clnt, &req_desc, &req, sizeof(req),
|
rc = qmi_send_req_wait(ipa_q6_clnt, &req_desc, &req, sizeof(req),
|
||||||
&resp_desc, &resp, sizeof(resp),
|
&resp_desc, &resp, sizeof(resp),
|
||||||
QMI_SEND_STATS_REQ_TIMEOUT_MS);
|
QMI_SEND_STATS_REQ_TIMEOUT_MS);
|
||||||
|
|
||||||
IPAWANDBG("QMI_IPA_STOP_DATA_USAGE_QUOTA_RESP_V01 received\n");
|
IPAWANDBG_LOW("QMI_IPA_STOP_DATA_USAGE_QUOTA_RESP_V01 received\n");
|
||||||
|
|
||||||
return ipa3_check_qmi_response(rc,
|
return ipa3_check_qmi_response(rc,
|
||||||
QMI_IPA_STOP_DATA_USAGE_QUOTA_REQ_V01, resp.resp.result,
|
QMI_IPA_STOP_DATA_USAGE_QUOTA_REQ_V01, resp.resp.result,
|
||||||
|
|
|
@ -31,11 +31,39 @@
|
||||||
#define SUBSYS_MODEM "modem"
|
#define SUBSYS_MODEM "modem"
|
||||||
|
|
||||||
#define IPAWANDBG(fmt, args...) \
|
#define IPAWANDBG(fmt, args...) \
|
||||||
pr_debug(DEV_NAME " %s:%d " fmt, __func__, __LINE__, ## args)
|
do { \
|
||||||
|
pr_debug(DEV_NAME " %s:%d " fmt, __func__, __LINE__, ## args); \
|
||||||
|
IPA_IPC_LOGGING(ipa_get_ipc_logbuf(), \
|
||||||
|
DEV_NAME " %s:%d " fmt, ## args); \
|
||||||
|
IPA_IPC_LOGGING(ipa_get_ipc_logbuf_low(), \
|
||||||
|
DEV_NAME " %s:%d " fmt, ## args); \
|
||||||
|
} while (0)
|
||||||
|
|
||||||
|
|
||||||
|
#define IPAWANDBG_LOW(fmt, args...) \
|
||||||
|
do { \
|
||||||
|
pr_debug(DEV_NAME " %s:%d " fmt, __func__, __LINE__, ## args); \
|
||||||
|
IPA_IPC_LOGGING(ipa_get_ipc_logbuf_low(), \
|
||||||
|
DEV_NAME " %s:%d " fmt, ## args); \
|
||||||
|
} while (0)
|
||||||
|
|
||||||
#define IPAWANERR(fmt, args...) \
|
#define IPAWANERR(fmt, args...) \
|
||||||
pr_err(DEV_NAME " %s:%d " fmt, __func__, __LINE__, ## args)
|
do { \
|
||||||
|
pr_err(DEV_NAME " %s:%d " fmt, __func__, __LINE__, ## args); \
|
||||||
|
IPA_IPC_LOGGING(ipa_get_ipc_logbuf(), \
|
||||||
|
DEV_NAME " %s:%d " fmt, ## args); \
|
||||||
|
IPA_IPC_LOGGING(ipa_get_ipc_logbuf_low(), \
|
||||||
|
DEV_NAME " %s:%d " fmt, ## args); \
|
||||||
|
} while (0)
|
||||||
|
|
||||||
#define IPAWANINFO(fmt, args...) \
|
#define IPAWANINFO(fmt, args...) \
|
||||||
pr_info(DEV_NAME " %s:%d " fmt, __func__, __LINE__, ## args)
|
do { \
|
||||||
|
pr_info(DEV_NAME " %s:%d " fmt, __func__, __LINE__, ## args); \
|
||||||
|
IPA_IPC_LOGGING(ipa_get_ipc_logbuf(), \
|
||||||
|
DEV_NAME " %s:%d " fmt, ## args); \
|
||||||
|
IPA_IPC_LOGGING(ipa_get_ipc_logbuf_low(), \
|
||||||
|
DEV_NAME " %s:%d " fmt, ## args); \
|
||||||
|
} while (0)
|
||||||
|
|
||||||
extern struct ipa3_qmi_context *ipa3_qmi_ctx;
|
extern struct ipa3_qmi_context *ipa3_qmi_ctx;
|
||||||
|
|
||||||
|
|
|
@ -1051,7 +1051,7 @@ static int ipa3_wwan_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||||
struct ipa_tx_meta meta;
|
struct ipa_tx_meta meta;
|
||||||
|
|
||||||
if (skb->protocol != htons(ETH_P_MAP)) {
|
if (skb->protocol != htons(ETH_P_MAP)) {
|
||||||
IPAWANDBG
|
IPAWANDBG_LOW
|
||||||
("SW filtering out none QMAP packet received from %s",
|
("SW filtering out none QMAP packet received from %s",
|
||||||
current->comm);
|
current->comm);
|
||||||
return NETDEV_TX_OK;
|
return NETDEV_TX_OK;
|
||||||
|
@ -1074,11 +1074,11 @@ static int ipa3_wwan_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||||
if (atomic_read(&wwan_ptr->outstanding_pkts) >=
|
if (atomic_read(&wwan_ptr->outstanding_pkts) >=
|
||||||
wwan_ptr->outstanding_high) {
|
wwan_ptr->outstanding_high) {
|
||||||
if (!qmap_check) {
|
if (!qmap_check) {
|
||||||
IPAWANDBG("pending(%d)/(%d)- stop(%d), qmap_chk(%d)\n",
|
IPAWANDBG_LOW("pending(%d)/(%d)- stop(%d)\n",
|
||||||
atomic_read(&wwan_ptr->outstanding_pkts),
|
atomic_read(&wwan_ptr->outstanding_pkts),
|
||||||
wwan_ptr->outstanding_high,
|
wwan_ptr->outstanding_high,
|
||||||
netif_queue_stopped(dev),
|
netif_queue_stopped(dev));
|
||||||
qmap_check);
|
IPAWANDBG_LOW("qmap_chk(%d)\n", qmap_check);
|
||||||
netif_stop_queue(dev);
|
netif_stop_queue(dev);
|
||||||
return NETDEV_TX_BUSY;
|
return NETDEV_TX_BUSY;
|
||||||
}
|
}
|
||||||
|
@ -1165,7 +1165,7 @@ static void apps_ipa_tx_complete_notify(void *priv,
|
||||||
netif_queue_stopped(wwan_ptr->net) &&
|
netif_queue_stopped(wwan_ptr->net) &&
|
||||||
atomic_read(&wwan_ptr->outstanding_pkts) <
|
atomic_read(&wwan_ptr->outstanding_pkts) <
|
||||||
(wwan_ptr->outstanding_low)) {
|
(wwan_ptr->outstanding_low)) {
|
||||||
IPAWANDBG("Outstanding low (%d) - waking up queue\n",
|
IPAWANDBG_LOW("Outstanding low (%d) - waking up queue\n",
|
||||||
wwan_ptr->outstanding_low);
|
wwan_ptr->outstanding_low);
|
||||||
netif_wake_queue(wwan_ptr->net);
|
netif_wake_queue(wwan_ptr->net);
|
||||||
}
|
}
|
||||||
|
@ -1193,7 +1193,7 @@ static void apps_ipa_packet_receive_notify(void *priv,
|
||||||
int result;
|
int result;
|
||||||
unsigned int packet_len = skb->len;
|
unsigned int packet_len = skb->len;
|
||||||
|
|
||||||
IPAWANDBG("Rx packet was received");
|
IPAWANDBG_LOW("Rx packet was received");
|
||||||
if (evt != IPA_RECEIVE) {
|
if (evt != IPA_RECEIVE) {
|
||||||
IPAWANERR("A none IPA_RECEIVE event in wan_ipa_receive\n");
|
IPAWANERR("A none IPA_RECEIVE event in wan_ipa_receive\n");
|
||||||
return;
|
return;
|
||||||
|
@ -1733,10 +1733,10 @@ static void ipa3_q6_rm_notify_cb(void *user_data,
|
||||||
{
|
{
|
||||||
switch (event) {
|
switch (event) {
|
||||||
case IPA_RM_RESOURCE_GRANTED:
|
case IPA_RM_RESOURCE_GRANTED:
|
||||||
IPAWANDBG("%s: Q6_PROD GRANTED CB\n", __func__);
|
IPAWANDBG_LOW("%s: Q6_PROD GRANTED CB\n", __func__);
|
||||||
break;
|
break;
|
||||||
case IPA_RM_RESOURCE_RELEASED:
|
case IPA_RM_RESOURCE_RELEASED:
|
||||||
IPAWANDBG("%s: Q6_PROD RELEASED CB\n", __func__);
|
IPAWANDBG_LOW("%s: Q6_PROD RELEASED CB\n", __func__);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
return;
|
return;
|
||||||
|
@ -1843,7 +1843,7 @@ static void ipa3_wake_tx_queue(struct work_struct *work)
|
||||||
*/
|
*/
|
||||||
static void ipa3_rm_resource_granted(void *dev)
|
static void ipa3_rm_resource_granted(void *dev)
|
||||||
{
|
{
|
||||||
IPAWANDBG("Resource Granted - starting queue\n");
|
IPAWANDBG_LOW("Resource Granted - starting queue\n");
|
||||||
schedule_work(&ipa3_tx_wakequeue_work);
|
schedule_work(&ipa3_tx_wakequeue_work);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2209,7 +2209,7 @@ static int rmnet_ipa_ap_suspend(struct device *dev)
|
||||||
struct net_device *netdev = IPA_NETDEV();
|
struct net_device *netdev = IPA_NETDEV();
|
||||||
struct ipa3_wwan_private *wwan_ptr;
|
struct ipa3_wwan_private *wwan_ptr;
|
||||||
|
|
||||||
IPAWANDBG("Enter...\n");
|
IPAWANDBG_LOW("Enter...\n");
|
||||||
if (netdev == NULL) {
|
if (netdev == NULL) {
|
||||||
IPAWANERR("netdev is NULL.\n");
|
IPAWANERR("netdev is NULL.\n");
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -2231,7 +2231,7 @@ static int rmnet_ipa_ap_suspend(struct device *dev)
|
||||||
netif_tx_lock_bh(netdev);
|
netif_tx_lock_bh(netdev);
|
||||||
ipa_rm_release_resource(IPA_RM_RESOURCE_WWAN_0_PROD);
|
ipa_rm_release_resource(IPA_RM_RESOURCE_WWAN_0_PROD);
|
||||||
netif_tx_unlock_bh(netdev);
|
netif_tx_unlock_bh(netdev);
|
||||||
IPAWANDBG("Exit\n");
|
IPAWANDBG_LOW("Exit\n");
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -2250,10 +2250,10 @@ static int rmnet_ipa_ap_resume(struct device *dev)
|
||||||
{
|
{
|
||||||
struct net_device *netdev = IPA_NETDEV();
|
struct net_device *netdev = IPA_NETDEV();
|
||||||
|
|
||||||
IPAWANDBG("Enter...\n");
|
IPAWANDBG_LOW("Enter...\n");
|
||||||
if (netdev)
|
if (netdev)
|
||||||
netif_wake_queue(netdev);
|
netif_wake_queue(netdev);
|
||||||
IPAWANDBG("Exit\n");
|
IPAWANDBG_LOW("Exit\n");
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -2337,7 +2337,7 @@ static int ipa3_ssr_notifier_cb(struct notifier_block *this,
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
IPAWANDBG("Exit\n");
|
IPAWANDBG_LOW("Exit\n");
|
||||||
return NOTIFY_DONE;
|
return NOTIFY_DONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2614,7 +2614,7 @@ int rmnet_ipa3_query_tethering_stats(struct wan_ioctl_query_tether_stats *data,
|
||||||
IPAWANERR("reset the pipe stats\n");
|
IPAWANERR("reset the pipe stats\n");
|
||||||
} else {
|
} else {
|
||||||
/* print tethered-client enum */
|
/* print tethered-client enum */
|
||||||
IPAWANDBG("Tethered-client enum(%d)\n", data->ipa_client);
|
IPAWANDBG_LOW("Tethered-client enum(%d)\n", data->ipa_client);
|
||||||
}
|
}
|
||||||
|
|
||||||
rc = ipa3_qmi_get_data_stats(req, resp);
|
rc = ipa3_qmi_get_data_stats(req, resp);
|
||||||
|
@ -2632,16 +2632,17 @@ int rmnet_ipa3_query_tethering_stats(struct wan_ioctl_query_tether_stats *data,
|
||||||
if (resp->dl_dst_pipe_stats_list_valid) {
|
if (resp->dl_dst_pipe_stats_list_valid) {
|
||||||
for (pipe_len = 0; pipe_len < resp->dl_dst_pipe_stats_list_len;
|
for (pipe_len = 0; pipe_len < resp->dl_dst_pipe_stats_list_len;
|
||||||
pipe_len++) {
|
pipe_len++) {
|
||||||
IPAWANDBG("Check entry(%d) dl_dst_pipe(%d)\n",
|
IPAWANDBG_LOW("Check entry(%d) dl_dst_pipe(%d)\n",
|
||||||
pipe_len, resp->dl_dst_pipe_stats_list
|
pipe_len, resp->dl_dst_pipe_stats_list
|
||||||
[pipe_len].pipe_index);
|
[pipe_len].pipe_index);
|
||||||
IPAWANDBG("dl_p_v4(%lu)v6(%lu) dl_b_v4(%lu)v6(%lu)\n",
|
IPAWANDBG_LOW("dl_p_v4(%lu)v6(%lu)\n",
|
||||||
(unsigned long int) resp->
|
(unsigned long int) resp->
|
||||||
dl_dst_pipe_stats_list[pipe_len].
|
dl_dst_pipe_stats_list[pipe_len].
|
||||||
num_ipv4_packets,
|
num_ipv4_packets,
|
||||||
(unsigned long int) resp->
|
(unsigned long int) resp->
|
||||||
dl_dst_pipe_stats_list[pipe_len].
|
dl_dst_pipe_stats_list[pipe_len].
|
||||||
num_ipv6_packets,
|
num_ipv6_packets);
|
||||||
|
IPAWANDBG_LOW("dl_b_v4(%lu)v6(%lu)\n",
|
||||||
(unsigned long int) resp->
|
(unsigned long int) resp->
|
||||||
dl_dst_pipe_stats_list[pipe_len].
|
dl_dst_pipe_stats_list[pipe_len].
|
||||||
num_ipv4_bytes,
|
num_ipv4_bytes,
|
||||||
|
@ -2671,7 +2672,7 @@ int rmnet_ipa3_query_tethering_stats(struct wan_ioctl_query_tether_stats *data,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
IPAWANDBG("v4_rx_p(%lu) v6_rx_p(%lu) v4_rx_b(%lu) v6_rx_b(%lu)\n",
|
IPAWANDBG_LOW("v4_rx_p(%lu) v6_rx_p(%lu) v4_rx_b(%lu) v6_rx_b(%lu)\n",
|
||||||
(unsigned long int) data->ipv4_rx_packets,
|
(unsigned long int) data->ipv4_rx_packets,
|
||||||
(unsigned long int) data->ipv6_rx_packets,
|
(unsigned long int) data->ipv6_rx_packets,
|
||||||
(unsigned long int) data->ipv4_rx_bytes,
|
(unsigned long int) data->ipv4_rx_bytes,
|
||||||
|
@ -2680,17 +2681,18 @@ int rmnet_ipa3_query_tethering_stats(struct wan_ioctl_query_tether_stats *data,
|
||||||
if (resp->ul_src_pipe_stats_list_valid) {
|
if (resp->ul_src_pipe_stats_list_valid) {
|
||||||
for (pipe_len = 0; pipe_len < resp->ul_src_pipe_stats_list_len;
|
for (pipe_len = 0; pipe_len < resp->ul_src_pipe_stats_list_len;
|
||||||
pipe_len++) {
|
pipe_len++) {
|
||||||
IPAWANDBG("Check entry(%d) ul_dst_pipe(%d)\n",
|
IPAWANDBG_LOW("Check entry(%d) ul_dst_pipe(%d)\n",
|
||||||
pipe_len,
|
pipe_len,
|
||||||
resp->ul_src_pipe_stats_list[pipe_len].
|
resp->ul_src_pipe_stats_list[pipe_len].
|
||||||
pipe_index);
|
pipe_index);
|
||||||
IPAWANDBG("ul_p_v4(%lu)v6(%lu)ul_b_v4(%lu)v6(%lu)\n",
|
IPAWANDBG_LOW("ul_p_v4(%lu)v6(%lu)\n",
|
||||||
(unsigned long int) resp->
|
(unsigned long int) resp->
|
||||||
ul_src_pipe_stats_list[pipe_len].
|
ul_src_pipe_stats_list[pipe_len].
|
||||||
num_ipv4_packets,
|
num_ipv4_packets,
|
||||||
(unsigned long int) resp->
|
(unsigned long int) resp->
|
||||||
ul_src_pipe_stats_list[pipe_len].
|
ul_src_pipe_stats_list[pipe_len].
|
||||||
num_ipv6_packets,
|
num_ipv6_packets);
|
||||||
|
IPAWANDBG_LOW("ul_b_v4(%lu)v6(%lu)\n",
|
||||||
(unsigned long int) resp->
|
(unsigned long int) resp->
|
||||||
ul_src_pipe_stats_list[pipe_len].
|
ul_src_pipe_stats_list[pipe_len].
|
||||||
num_ipv4_bytes,
|
num_ipv4_bytes,
|
||||||
|
@ -2720,7 +2722,7 @@ int rmnet_ipa3_query_tethering_stats(struct wan_ioctl_query_tether_stats *data,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
IPAWANDBG("tx_p_v4(%lu)v6(%lu)tx_b_v4(%lu) v6(%lu)\n",
|
IPAWANDBG_LOW("tx_p_v4(%lu)v6(%lu)tx_b_v4(%lu) v6(%lu)\n",
|
||||||
(unsigned long int) data->ipv4_tx_packets,
|
(unsigned long int) data->ipv4_tx_packets,
|
||||||
(unsigned long int) data->ipv6_tx_packets,
|
(unsigned long int) data->ipv6_tx_packets,
|
||||||
(unsigned long int) data->ipv4_tx_bytes,
|
(unsigned long int) data->ipv4_tx_bytes,
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* Copyright (c) 2013-2015, The Linux Foundation. All rights reserved.
|
/* Copyright (c) 2013-2016, The Linux Foundation. All rights reserved.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License version 2 and
|
||||||
|
@ -147,8 +147,7 @@ static long ipa3_wan_ioctl(struct file *filp,
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case WAN_IOC_POLL_TETHERING_STATS:
|
case WAN_IOC_POLL_TETHERING_STATS:
|
||||||
IPAWANDBG("device %s got WAN_IOCTL_POLL_TETHERING_STATS :>>>\n",
|
IPAWANDBG_LOW("got WAN_IOCTL_POLL_TETHERING_STATS :>>>\n");
|
||||||
DRIVER_NAME);
|
|
||||||
pyld_sz = sizeof(struct wan_ioctl_poll_tethering_stats);
|
pyld_sz = sizeof(struct wan_ioctl_poll_tethering_stats);
|
||||||
param = kzalloc(pyld_sz, GFP_KERNEL);
|
param = kzalloc(pyld_sz, GFP_KERNEL);
|
||||||
if (!param) {
|
if (!param) {
|
||||||
|
@ -172,8 +171,7 @@ static long ipa3_wan_ioctl(struct file *filp,
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case WAN_IOC_SET_DATA_QUOTA:
|
case WAN_IOC_SET_DATA_QUOTA:
|
||||||
IPAWANDBG("device %s got WAN_IOCTL_SET_DATA_QUOTA :>>>\n",
|
IPAWANDBG_LOW("got WAN_IOCTL_SET_DATA_QUOTA :>>>\n");
|
||||||
DRIVER_NAME);
|
|
||||||
pyld_sz = sizeof(struct wan_ioctl_set_data_quota);
|
pyld_sz = sizeof(struct wan_ioctl_set_data_quota);
|
||||||
param = kzalloc(pyld_sz, GFP_KERNEL);
|
param = kzalloc(pyld_sz, GFP_KERNEL);
|
||||||
if (!param) {
|
if (!param) {
|
||||||
|
@ -197,8 +195,7 @@ static long ipa3_wan_ioctl(struct file *filp,
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case WAN_IOC_SET_TETHER_CLIENT_PIPE:
|
case WAN_IOC_SET_TETHER_CLIENT_PIPE:
|
||||||
IPAWANDBG("device %s got WAN_IOC_SET_TETHER_CLIENT_PIPE :>>>\n",
|
IPAWANDBG_LOW("got WAN_IOC_SET_TETHER_CLIENT_PIPE :>>>\n");
|
||||||
DRIVER_NAME);
|
|
||||||
pyld_sz = sizeof(struct wan_ioctl_set_tether_client_pipe);
|
pyld_sz = sizeof(struct wan_ioctl_set_tether_client_pipe);
|
||||||
param = kzalloc(pyld_sz, GFP_KERNEL);
|
param = kzalloc(pyld_sz, GFP_KERNEL);
|
||||||
if (!param) {
|
if (!param) {
|
||||||
|
@ -218,8 +215,7 @@ static long ipa3_wan_ioctl(struct file *filp,
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case WAN_IOC_QUERY_TETHER_STATS:
|
case WAN_IOC_QUERY_TETHER_STATS:
|
||||||
IPAWANDBG("device %s got WAN_IOC_QUERY_TETHER_STATS :>>>\n",
|
IPAWANDBG_LOW("got WAN_IOC_QUERY_TETHER_STATS :>>>\n");
|
||||||
DRIVER_NAME);
|
|
||||||
pyld_sz = sizeof(struct wan_ioctl_query_tether_stats);
|
pyld_sz = sizeof(struct wan_ioctl_query_tether_stats);
|
||||||
param = kzalloc(pyld_sz, GFP_KERNEL);
|
param = kzalloc(pyld_sz, GFP_KERNEL);
|
||||||
if (!param) {
|
if (!param) {
|
||||||
|
@ -245,7 +241,7 @@ static long ipa3_wan_ioctl(struct file *filp,
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case WAN_IOC_RESET_TETHER_STATS:
|
case WAN_IOC_RESET_TETHER_STATS:
|
||||||
IPAWANDBG("device %s got WAN_IOC_RESET_TETHER_STATS :>>>\n",
|
IPAWANDBG_LOW("device %s got WAN_IOC_RESET_TETHER_STATS :>>>\n",
|
||||||
DRIVER_NAME);
|
DRIVER_NAME);
|
||||||
pyld_sz = sizeof(struct wan_ioctl_reset_tether_stats);
|
pyld_sz = sizeof(struct wan_ioctl_reset_tether_stats);
|
||||||
param = kzalloc(pyld_sz, GFP_KERNEL);
|
param = kzalloc(pyld_sz, GFP_KERNEL);
|
||||||
|
|
Loading…
Add table
Reference in a new issue