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

Commit 616eae73 authored by Suraj Jaiswal's avatar Suraj Jaiswal Committed by Gerrit - the friendly Code Review server
Browse files

data-kernel: EMAC: Boot KPI marker

Add a boot marker to indicate the time
when driver probe is completed.

Change-Id: Icfe65b88fb58e68384e4a67ecc9202032afac3c6
parent 6f0bd196
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -2968,6 +2968,11 @@ static void DWC_ETH_QOS_tx_interrupt(struct net_device *dev,
#ifdef DWC_ETH_QOS_BUILTIN
			if (dev->stats.tx_packets == 1)
				EMACINFO("Transmitted First Rx packet\n");
#endif
#ifdef CONFIG_MSM_BOOT_TIME_MARKER
	if ( dev->stats.tx_packets == 1) {
		place_marker("M - Ethernet first packet transmitted");
	}
#endif
		}
#else
@@ -3885,6 +3890,11 @@ static int DWC_ETH_QOS_clean_rx_irq(struct DWC_ETH_QOS_prv_data *pdata,
#endif
				DWC_ETH_QOS_receive_skb(pdata, dev, skb, qinx);
				received++;
#ifdef CONFIG_MSM_BOOT_TIME_MARKER
				if ( dev->stats.rx_packets == 1) {
					place_marker("M - Ethernet first packet received");
				}
#endif
			} else {
				dump_rx_desc(qinx, RX_NORMAL_DESC, desc_data->cur_rx);
				if (!(RX_NORMAL_DESC->RDES3 &
+7 −0
Original line number Diff line number Diff line
@@ -996,6 +996,13 @@ void DWC_ETH_QOS_adjust_link(struct net_device *dev)
	if (new_state) {
		phy_print_status(phydev);

#ifdef CONFIG_MSM_BOOT_TIME_MARKER
		if ((phydev->link == 1) && !pdata->print_kpi) {
			place_marker("M - Ethernet is Ready.Link is UP");
			pdata->print_kpi = 1;
		}
#endif

		if (pdata->ipa_enabled && netif_running(dev)) {
			if (phydev->link == 1)
				 DWC_ETH_QOS_ipa_offload_event_handler(pdata, EV_PHY_LINK_UP);
+6 −2
Original line number Diff line number Diff line
@@ -2013,7 +2013,9 @@ static int DWC_ETH_QOS_probe(struct platform_device *pdev)
	int ret = 0;

	EMACDBG("--> DWC_ETH_QOS_probe\n");

#ifdef CONFIG_MSM_BOOT_TIME_MARKER
	place_marker("M - Ethernet probe start");
#endif
	if (of_device_is_compatible(pdev->dev.of_node, "qcom,emac-smmu-embedded"))
		return emac_emb_smmu_cb_probe(pdev);

@@ -2309,7 +2311,9 @@ static INT DWC_ETH_QOS_suspend(struct platform_device *pdev, pm_message_t state)
	DWC_ETH_QOS_suspend_clks(pdata);

	EMACDBG("<--DWC_ETH_QOS_suspend ret = %d\n", ret);

#ifdef CONFIG_MSM_BOOT_TIME_MARKER
	pdata->print_kpi = 0;
#endif
	return ret;
}

+4 −2
Original line number Diff line number Diff line
@@ -130,7 +130,9 @@
#include <net/ipv6.h>
#include <linux/inet.h>
#include <asm/uaccess.h>

#ifdef CONFIG_MSM_BOOT_TIME_MARKER
#include <soc/qcom/boot_stats.h>
#endif
/* QOS Version Control Macros */
/* #define DWC_ETH_QOS_VER_4_0 */
/* Default Configuration is for QOS version 4.1 and above */
@@ -1868,8 +1870,8 @@ struct DWC_ETH_QOS_prv_data {
	dev_t avb_class_b_dev_t;
	struct cdev* avb_class_b_cdev;
	struct class* avb_class_b_class;

	struct delayed_work ipv6_addr_assign_wq;
	bool print_kpi;
};

struct ip_params {