Subject: Re: [PATCH] [v9] net: emac: emac gigabit ethernet controller driver

From: Timur Tabi <[email-masked]>
Date: Wed, 31 Aug 2016 13:57:56 -0500

Timur Tabi wrote:
>
>> Seems that there are several unused members in the emac_stats struct:
>>
>>> +struct emac_stats {
>> ...
>> ...
>> Both rx_bcast_byte_cnt and rx_mcast_byte_cnt are not used anywhere/
>>> +       u64 rx_bcast_byte_cnt;  /* broadcast packets byte count
>>> (without FCS) */
>>> +       u64 rx_mcast_byte_cnt;  /* multicast packets byte count
>>> (without FCS) */
>> ...
>> rx_err_addr is not used
>>> +       u64 rx_err_addr;        /* packets dropped due to address
>>> filtering */
>
> I'll go through the structure and remove the unused fields.

It turns out I cannot actually strip out those "unused" fields.  They 
are all indirectly used in emac_get_stats64:

	u64 *stats_itr = &adpt->stats.rx_ok;

	while (addr <= REG_MAC_RX_STATUS_END) {
		val = readl_relaxed(adpt->base + addr);
		*stats_itr += val;
		stats_itr++;
		addr += sizeof(u32);
	}

-- 
Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm
Technologies, Inc.  Qualcomm Technologies, Inc. is a member of the
Code Aurora Forum, a Linux Foundation Collaborative Project.