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.

Reply via email to