for (i = 0; i < priv->num_channels; i++) {
ch = priv->channel[i];
seq_printf(file, "%3s%d%6d%16d%16llu%16llu%16llu%16llu%16d\n", "CH#", i, ch->ch_id,
ch->nctx.desired_cpu,
ch->stats.dequeue_portal_busy,
ch->stats.frames,
ch->stats.cdan,
div64_u64(ch->stats.frames, ch->stats.cdan),
ch->buf_count);
}
return 0;
}
DEFINE_SHOW_ATTRIBUTE(dpaa2_dbg_ch);
staticint dpaa2_dbg_bp_show(struct seq_file *file, void *offset)
{ struct dpaa2_eth_priv *priv = (struct dpaa2_eth_priv *)file->private; int i, j, num_queues, buf_cnt; struct dpaa2_eth_bp *bp; char ch_name[10]; int err;
/* Print out the header */
seq_printf(file, "Buffer pool info for %s:\n", priv->net_dev->name);
seq_printf(file, "%s %10s%15s", "IDX", "BPID", "Buf count");
num_queues = dpaa2_eth_queue_count(priv); for (i = 0; i < num_queues; i++) {
snprintf(ch_name, sizeof(ch_name), "CH#%d", i);
seq_printf(file, "%10s", ch_name);
}
seq_printf(file, "\n");
/* For each buffer pool, print out its BPID, the number of buffers in * that buffer pool and the channels which are using it.
*/ for (i = 0; i < priv->num_bps; i++) {
bp = priv->bp[i];
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.