Commit 6a143a7c authored by Alexander Duyck's avatar Alexander Duyck Committed by David S. Miller
Browse files

nfp: Replace nfp_pr_et with ethtool_sprintf



The nfp_pr_et function is nearly identical to ethtool_sprintf except for
the fact that it passes the pointer by value and as a return whereas
ethtool_sprintf passes it as a pointer.

Since they are so close just update nfp to make use of ethtool_sprintf

Reviewed-by: default avatarSimon Horman <simon.horman@netronome.com>
Signed-off-by: default avatarAlexander Duyck <alexanderduyck@fb.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent c8d4725e
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -419,8 +419,8 @@ nfp_abm_port_get_stats_strings(struct nfp_app *app, struct nfp_port *port,
		return data;
	alink = repr->app_priv;
	for (i = 0; i < alink->vnic->dp.num_r_vecs; i++) {
		data = nfp_pr_et(data, "q%u_no_wait", i);
		data = nfp_pr_et(data, "q%u_delayed", i);
		ethtool_sprintf(&data, "q%u_no_wait", i);
		ethtool_sprintf(&data, "q%u_delayed", i);
	}
	return data;
}
+34 −45
Original line number Diff line number Diff line
@@ -429,17 +429,6 @@ static int nfp_net_set_ringparam(struct net_device *netdev,
	return nfp_net_set_ring_size(nn, rxd_cnt, txd_cnt);
}

__printf(2, 3) u8 *nfp_pr_et(u8 *data, const char *fmt, ...)
{
	va_list args;

	va_start(args, fmt);
	vsnprintf(data, ETH_GSTRING_LEN, fmt, args);
	va_end(args);

	return data + ETH_GSTRING_LEN;
}

static unsigned int nfp_vnic_get_sw_stats_count(struct net_device *netdev)
{
	struct nfp_net *nn = netdev_priv(netdev);
@@ -454,29 +443,29 @@ static u8 *nfp_vnic_get_sw_stats_strings(struct net_device *netdev, u8 *data)
	int i;

	for (i = 0; i < nn->max_r_vecs; i++) {
		data = nfp_pr_et(data, "rvec_%u_rx_pkts", i);
		data = nfp_pr_et(data, "rvec_%u_tx_pkts", i);
		data = nfp_pr_et(data, "rvec_%u_tx_busy", i);
	}

	data = nfp_pr_et(data, "hw_rx_csum_ok");
	data = nfp_pr_et(data, "hw_rx_csum_inner_ok");
	data = nfp_pr_et(data, "hw_rx_csum_complete");
	data = nfp_pr_et(data, "hw_rx_csum_err");
	data = nfp_pr_et(data, "rx_replace_buf_alloc_fail");
	data = nfp_pr_et(data, "rx_tls_decrypted_packets");
	data = nfp_pr_et(data, "hw_tx_csum");
	data = nfp_pr_et(data, "hw_tx_inner_csum");
	data = nfp_pr_et(data, "tx_gather");
	data = nfp_pr_et(data, "tx_lso");
	data = nfp_pr_et(data, "tx_tls_encrypted_packets");
	data = nfp_pr_et(data, "tx_tls_ooo");
	data = nfp_pr_et(data, "tx_tls_drop_no_sync_data");

	data = nfp_pr_et(data, "hw_tls_no_space");
	data = nfp_pr_et(data, "rx_tls_resync_req_ok");
	data = nfp_pr_et(data, "rx_tls_resync_req_ign");
	data = nfp_pr_et(data, "rx_tls_resync_sent");
		ethtool_sprintf(&data, "rvec_%u_rx_pkts", i);
		ethtool_sprintf(&data, "rvec_%u_tx_pkts", i);
		ethtool_sprintf(&data, "rvec_%u_tx_busy", i);
	}

	ethtool_sprintf(&data, "hw_rx_csum_ok");
	ethtool_sprintf(&data, "hw_rx_csum_inner_ok");
	ethtool_sprintf(&data, "hw_rx_csum_complete");
	ethtool_sprintf(&data, "hw_rx_csum_err");
	ethtool_sprintf(&data, "rx_replace_buf_alloc_fail");
	ethtool_sprintf(&data, "rx_tls_decrypted_packets");
	ethtool_sprintf(&data, "hw_tx_csum");
	ethtool_sprintf(&data, "hw_tx_inner_csum");
	ethtool_sprintf(&data, "tx_gather");
	ethtool_sprintf(&data, "tx_lso");
	ethtool_sprintf(&data, "tx_tls_encrypted_packets");
	ethtool_sprintf(&data, "tx_tls_ooo");
	ethtool_sprintf(&data, "tx_tls_drop_no_sync_data");

	ethtool_sprintf(&data, "hw_tls_no_space");
	ethtool_sprintf(&data, "rx_tls_resync_req_ok");
	ethtool_sprintf(&data, "rx_tls_resync_req_ign");
	ethtool_sprintf(&data, "rx_tls_resync_sent");

	return data;
}
@@ -550,19 +539,19 @@ nfp_vnic_get_hw_stats_strings(u8 *data, unsigned int num_vecs, bool repr)
	swap_off = repr * NN_ET_SWITCH_STATS_LEN;

	for (i = 0; i < NN_ET_SWITCH_STATS_LEN; i++)
		data = nfp_pr_et(data, nfp_net_et_stats[i + swap_off].name);
		ethtool_sprintf(&data, nfp_net_et_stats[i + swap_off].name);

	for (i = NN_ET_SWITCH_STATS_LEN; i < NN_ET_SWITCH_STATS_LEN * 2; i++)
		data = nfp_pr_et(data, nfp_net_et_stats[i - swap_off].name);
		ethtool_sprintf(&data, nfp_net_et_stats[i - swap_off].name);

	for (i = NN_ET_SWITCH_STATS_LEN * 2; i < NN_ET_GLOBAL_STATS_LEN; i++)
		data = nfp_pr_et(data, nfp_net_et_stats[i].name);
		ethtool_sprintf(&data, nfp_net_et_stats[i].name);

	for (i = 0; i < num_vecs; i++) {
		data = nfp_pr_et(data, "rxq_%u_pkts", i);
		data = nfp_pr_et(data, "rxq_%u_bytes", i);
		data = nfp_pr_et(data, "txq_%u_pkts", i);
		data = nfp_pr_et(data, "txq_%u_bytes", i);
		ethtool_sprintf(&data, "rxq_%u_pkts", i);
		ethtool_sprintf(&data, "rxq_%u_bytes", i);
		ethtool_sprintf(&data, "txq_%u_pkts", i);
		ethtool_sprintf(&data, "txq_%u_bytes", i);
	}

	return data;
@@ -610,15 +599,15 @@ static u8 *nfp_vnic_get_tlv_stats_strings(struct nfp_net *nn, u8 *data)
			memcpy(data, nfp_tlv_stat_names[id], ETH_GSTRING_LEN);
			data += ETH_GSTRING_LEN;
		} else {
			data = nfp_pr_et(data, "dev_unknown_stat%u", id);
			ethtool_sprintf(&data, "dev_unknown_stat%u", id);
		}
	}

	for (i = 0; i < nn->max_r_vecs; i++) {
		data = nfp_pr_et(data, "rxq_%u_pkts", i);
		data = nfp_pr_et(data, "rxq_%u_bytes", i);
		data = nfp_pr_et(data, "txq_%u_pkts", i);
		data = nfp_pr_et(data, "txq_%u_bytes", i);
		ethtool_sprintf(&data, "rxq_%u_pkts", i);
		ethtool_sprintf(&data, "rxq_%u_bytes", i);
		ethtool_sprintf(&data, "txq_%u_pkts", i);
		ethtool_sprintf(&data, "txq_%u_bytes", i);
	}

	return data;
@@ -666,7 +655,7 @@ static u8 *nfp_mac_get_stats_strings(struct net_device *netdev, u8 *data)
		return data;

	for (i = 0; i < ARRAY_SIZE(nfp_mac_et_stats); i++)
		data = nfp_pr_et(data, "mac.%s", nfp_mac_et_stats[i].name);
		ethtool_sprintf(&data, "mac.%s", nfp_mac_et_stats[i].name);

	return data;
}
+0 −2
Original line number Diff line number Diff line
@@ -92,8 +92,6 @@ struct nfp_port {

extern const struct ethtool_ops nfp_port_ethtool_ops;

__printf(2, 3) u8 *nfp_pr_et(u8 *data, const char *fmt, ...);

int nfp_port_setup_tc(struct net_device *netdev, enum tc_setup_type type,
		      void *type_data);