Skip to content

Commit

Permalink
cxgb4: display number of rx and tx pages free
Browse files Browse the repository at this point in the history
display free rx and tx page count in the meminfo of
an adapter.

Signed-off-by: Casey Leedom <leedom@chelsio.com>
Signed-off-by: Ganesh Goudar <ganeshgr@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Ganesh Goudar authored and David S. Miller committed Jul 18, 2018
1 parent 98e60dc commit fa145d5
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 7 deletions.
22 changes: 15 additions & 7 deletions drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
Original file line number Diff line number Diff line change
Expand Up @@ -2858,6 +2858,7 @@ static int meminfo_show(struct seq_file *seq, void *v)
{
static const char * const memory[] = { "EDC0:", "EDC1:", "MC:",
"MC0:", "MC1:", "HMA:"};
unsigned int free_rx_cnt, free_tx_cnt;
struct adapter *adap = seq->private;
struct cudbg_meminfo meminfo;
int i, rc;
Expand Down Expand Up @@ -2889,13 +2890,20 @@ static int meminfo_show(struct seq_file *seq, void *v)
mem_region_show(seq, "uP Extmem2:", meminfo.up_extmem2_lo,
meminfo.up_extmem2_hi);

seq_printf(seq, "\n%u Rx pages of size %uKiB for %u channels\n",
meminfo.rx_pages_data[0], meminfo.rx_pages_data[1],
meminfo.rx_pages_data[2]);

seq_printf(seq, "%u Tx pages of size %u%ciB for %u channels\n",
meminfo.tx_pages_data[0], meminfo.tx_pages_data[1],
meminfo.tx_pages_data[2], meminfo.tx_pages_data[3]);
for (i = 0, free_rx_cnt = 0; i < 2; i++)
free_rx_cnt += FREERXPAGECOUNT_G
(t4_read_reg(adap, TP_FLM_FREE_RX_CNT_A));
seq_printf(seq, "\n%u Rx pages (%u free) of size %uKiB for %u channels\n",
meminfo.rx_pages_data[0], free_rx_cnt,
meminfo.rx_pages_data[1], meminfo.rx_pages_data[2]);

for (i = 0, free_tx_cnt = 0; i < 4; i++)
free_tx_cnt += FREETXPAGECOUNT_G
(t4_read_reg(adap, TP_FLM_FREE_TX_CNT_A));
seq_printf(seq, "%u Tx pages (%u free) of size %u%ciB for %u channels\n",
meminfo.tx_pages_data[0], free_tx_cnt,
meminfo.tx_pages_data[1], meminfo.tx_pages_data[2],
meminfo.tx_pages_data[3]);

seq_printf(seq, "%u p-structs\n\n", meminfo.p_structs);

Expand Down
14 changes: 14 additions & 0 deletions drivers/net/ethernet/chelsio/cxgb4/t4_regs.h
Original file line number Diff line number Diff line change
Expand Up @@ -1502,6 +1502,20 @@
#define TP_MIB_DATA_A 0x7e54
#define TP_INT_CAUSE_A 0x7e74

#define TP_FLM_FREE_RX_CNT_A 0x7e84

#define FREERXPAGECOUNT_S 0
#define FREERXPAGECOUNT_M 0x1fffffU
#define FREERXPAGECOUNT_V(x) ((x) << FREERXPAGECOUNT_S)
#define FREERXPAGECOUNT_G(x) (((x) >> FREERXPAGECOUNT_S) & FREERXPAGECOUNT_M)

#define TP_FLM_FREE_TX_CNT_A 0x7e88

#define FREETXPAGECOUNT_S 0
#define FREETXPAGECOUNT_M 0x1fffffU
#define FREETXPAGECOUNT_V(x) ((x) << FREETXPAGECOUNT_S)
#define FREETXPAGECOUNT_G(x) (((x) >> FREETXPAGECOUNT_S) & FREETXPAGECOUNT_M)

#define FLMTXFLSTEMPTY_S 30
#define FLMTXFLSTEMPTY_V(x) ((x) << FLMTXFLSTEMPTY_S)
#define FLMTXFLSTEMPTY_F FLMTXFLSTEMPTY_V(1U)
Expand Down

0 comments on commit fa145d5

Please sign in to comment.