stat_name
#define STATS_OFFSET32(stat_name) \
(offsetof(struct bnx2x_eth_stats, stat_name) / 4)
#define Q_STATS_OFFSET32(stat_name) \
(offsetof(struct bnx2x_eth_q_stats, stat_name) / 4)
#define RMON_UPDATE(mac, name, stat_name) \
(mac)->stats.stat_name = (u64)(val0 & 0xffff) | \
((mac)->stats.stat_name & \
(mac)->stats.stat_name += 1ULL << 40; \
#define HW_STAT(reg, stat_name) \
{ reg, offsetof(struct cmac_statistics, stat_name) / sizeof(u64) }
__be32 stat_name;
u32 stat_name = be32_to_cpu(report_stats[stats_idx].stat_name);
if (stat_name == 0) {
u32 stat_name = be32_to_cpu(report_stats[stats_idx].stat_name);
if (stat_name == 0) {
.stat_name = cpu_to_be32(TX_WAKE_CNT),
.stat_name = cpu_to_be32(TX_STOP_CNT),
.stat_name = cpu_to_be32(TX_FRAMES_SENT),
.stat_name = cpu_to_be32(TX_BYTES_SENT),
.stat_name = cpu_to_be32(TX_LAST_COMPLETION_PROCESSED),
.stat_name = cpu_to_be32(TX_TIMEOUT_CNT),
.stat_name = cpu_to_be32(RX_NEXT_EXPECTED_SEQUENCE),
.stat_name = cpu_to_be32(RX_BUFFERS_POSTED),
.name = #stat_name, \
.offset = IONIC_STAT_TO_OFFSET(type, stat_name) \
#define IONIC_PORT_STAT_DESC(stat_name) \
IONIC_STAT_DESC(struct ionic_port_stats, stat_name)
#define IONIC_LIF_STAT_DESC(stat_name) \
IONIC_STAT_DESC(struct ionic_lif_sw_stats, stat_name)
#define IONIC_TX_STAT_DESC(stat_name) \
IONIC_STAT_DESC(struct ionic_tx_stats, stat_name)
#define IONIC_RX_STAT_DESC(stat_name) \
IONIC_STAT_DESC(struct ionic_rx_stats, stat_name)
#define IONIC_TX_Q_STAT_DESC(stat_name) \
IONIC_STAT_DESC(struct ionic_queue, stat_name)
#define IONIC_CQ_STAT_DESC(stat_name) \
IONIC_STAT_DESC(struct ionic_cq, stat_name)
#define IONIC_INTR_STAT_DESC(stat_name) \
IONIC_STAT_DESC(struct ionic_intr_info, stat_name)
#define IONIC_NAPI_STAT_DESC(stat_name) \
IONIC_STAT_DESC(struct ionic_napi_stats, stat_name)
#define IONIC_STAT_TO_OFFSET(type, stat_name) (offsetof(type, stat_name))
#define IONIC_STAT_DESC(type, stat_name) { \
#define QEDE_RQSTAT_OFFSET(stat_name) \
(offsetof(struct qede_rx_queue, stat_name))
#define QEDE_RQSTAT_STRING(stat_name) (#stat_name)
#define QEDE_RQSTAT(stat_name) \
{QEDE_RQSTAT_OFFSET(stat_name), QEDE_RQSTAT_STRING(stat_name)}
#define QEDE_TQSTAT_OFFSET(stat_name) \
(offsetof(struct qede_tx_queue, stat_name))
#define QEDE_TQSTAT_STRING(stat_name) (#stat_name)
#define QEDE_TQSTAT(stat_name) \
{QEDE_TQSTAT_OFFSET(stat_name), QEDE_TQSTAT_STRING(stat_name)}
#define QEDE_STAT_OFFSET(stat_name, type, base) \
(offsetof(type, stat_name) + (base))
#define QEDE_STAT_STRING(stat_name) (#stat_name)
#define _QEDE_STAT(stat_name, type, base, attr) \
{QEDE_STAT_OFFSET(stat_name, type, base), \
QEDE_STAT_STRING(stat_name), \
#define QEDE_STAT(stat_name) \
_QEDE_STAT(stat_name, struct qede_stats_common, 0, 0x0)
#define QEDE_PF_STAT(stat_name) \
_QEDE_STAT(stat_name, struct qede_stats_common, 0, \
#define QEDE_PF_BB_STAT(stat_name) \
_QEDE_STAT(stat_name, struct qede_stats_bb, \
#define QEDE_PF_AH_STAT(stat_name) \
_QEDE_STAT(stat_name, struct qede_stats_ah, \
#define EFX_ETHTOOL_STAT(stat_name, source_name, field, field_type, \
.name = #stat_name, \
#define EF4_ETHTOOL_STAT(stat_name, source_name, field, field_type, \
.name = #stat_name, \
#define EFX_ETHTOOL_STAT(stat_name, source_name, field, field_type, \
.name = #stat_name, \
int emac_get_stat_by_name(struct prueth_emac *emac, char *stat_name);
int emac_get_stat_by_name(struct prueth_emac *emac, char *stat_name)
if (!strcmp(icssg_all_miig_stats[i].name, stat_name))
if (!strcmp(icssg_all_pa_stats[i].name, stat_name))
netdev_err(emac->ndev, "Invalid stats %s\n", stat_name);
#define qtnf_chan_stat_avail(stat_name, bitn) \
(offsetofend(struct qlink_chan_stats, stat_name) <= stats_len))
#define qtnf_sta_stat_avail(stat_name, bitn) \
(offsetofend(struct qlink_sta_stats, stat_name) <= stats_len))
path->name, stat_name(path->status));
overlay->path->name, stat_name(overlay->status));
static int parse_stat(const char *stat_name, struct stat_specs *specs)
size_t len = strlen(stat_name);
if (len > 1 && (is_asc_sym(stat_name[len - 1]) || is_desc_sym(stat_name[len - 1]))) {
is_asc = is_asc_sym(stat_name[len - 1]);
if (!parse_stat_id_var(stat_name, len, &id, &var, &is_abs)) {
fprintf(stderr, "Unrecognized stat name '%s'\n", stat_name);