Skip to content

Commit 3568bdf

Browse files
Uwe Kleine-Königdavem330
authored andcommitted
net: davinci_cpdma: remove excessive dump of register values to kernel log
Such a big dump of register values is hardly useful on a production system. Another downside of the now removed functions is that calling emac_dump_regs resulted in at least 87 calls to dev_info while holding a spinlock and having irqs off which is a big source of latency. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent 9b8ac4f commit 3568bdf

File tree

3 files changed

+0
-219
lines changed

3 files changed

+0
-219
lines changed

drivers/net/ethernet/ti/davinci_cpdma.c

Lines changed: 0 additions & 121 deletions
Original file line numberDiff line numberDiff line change
@@ -97,8 +97,6 @@ enum cpdma_state {
9797
CPDMA_STATE_TEARDOWN,
9898
};
9999

100-
static const char *cpdma_state_str[] = { "idle", "active", "teardown" };
101-
102100
struct cpdma_ctlr {
103101
enum cpdma_state state;
104102
struct cpdma_params params;
@@ -357,77 +355,6 @@ int cpdma_ctlr_stop(struct cpdma_ctlr *ctlr)
357355
}
358356
EXPORT_SYMBOL_GPL(cpdma_ctlr_stop);
359357

360-
int cpdma_ctlr_dump(struct cpdma_ctlr *ctlr)
361-
{
362-
struct device *dev = ctlr->dev;
363-
unsigned long flags;
364-
int i;
365-
366-
spin_lock_irqsave(&ctlr->lock, flags);
367-
368-
dev_info(dev, "CPDMA: state: %s", cpdma_state_str[ctlr->state]);
369-
370-
dev_info(dev, "CPDMA: txidver: %x",
371-
dma_reg_read(ctlr, CPDMA_TXIDVER));
372-
dev_info(dev, "CPDMA: txcontrol: %x",
373-
dma_reg_read(ctlr, CPDMA_TXCONTROL));
374-
dev_info(dev, "CPDMA: txteardown: %x",
375-
dma_reg_read(ctlr, CPDMA_TXTEARDOWN));
376-
dev_info(dev, "CPDMA: rxidver: %x",
377-
dma_reg_read(ctlr, CPDMA_RXIDVER));
378-
dev_info(dev, "CPDMA: rxcontrol: %x",
379-
dma_reg_read(ctlr, CPDMA_RXCONTROL));
380-
dev_info(dev, "CPDMA: softreset: %x",
381-
dma_reg_read(ctlr, CPDMA_SOFTRESET));
382-
dev_info(dev, "CPDMA: rxteardown: %x",
383-
dma_reg_read(ctlr, CPDMA_RXTEARDOWN));
384-
dev_info(dev, "CPDMA: txintstatraw: %x",
385-
dma_reg_read(ctlr, CPDMA_TXINTSTATRAW));
386-
dev_info(dev, "CPDMA: txintstatmasked: %x",
387-
dma_reg_read(ctlr, CPDMA_TXINTSTATMASKED));
388-
dev_info(dev, "CPDMA: txintmaskset: %x",
389-
dma_reg_read(ctlr, CPDMA_TXINTMASKSET));
390-
dev_info(dev, "CPDMA: txintmaskclear: %x",
391-
dma_reg_read(ctlr, CPDMA_TXINTMASKCLEAR));
392-
dev_info(dev, "CPDMA: macinvector: %x",
393-
dma_reg_read(ctlr, CPDMA_MACINVECTOR));
394-
dev_info(dev, "CPDMA: maceoivector: %x",
395-
dma_reg_read(ctlr, CPDMA_MACEOIVECTOR));
396-
dev_info(dev, "CPDMA: rxintstatraw: %x",
397-
dma_reg_read(ctlr, CPDMA_RXINTSTATRAW));
398-
dev_info(dev, "CPDMA: rxintstatmasked: %x",
399-
dma_reg_read(ctlr, CPDMA_RXINTSTATMASKED));
400-
dev_info(dev, "CPDMA: rxintmaskset: %x",
401-
dma_reg_read(ctlr, CPDMA_RXINTMASKSET));
402-
dev_info(dev, "CPDMA: rxintmaskclear: %x",
403-
dma_reg_read(ctlr, CPDMA_RXINTMASKCLEAR));
404-
dev_info(dev, "CPDMA: dmaintstatraw: %x",
405-
dma_reg_read(ctlr, CPDMA_DMAINTSTATRAW));
406-
dev_info(dev, "CPDMA: dmaintstatmasked: %x",
407-
dma_reg_read(ctlr, CPDMA_DMAINTSTATMASKED));
408-
dev_info(dev, "CPDMA: dmaintmaskset: %x",
409-
dma_reg_read(ctlr, CPDMA_DMAINTMASKSET));
410-
dev_info(dev, "CPDMA: dmaintmaskclear: %x",
411-
dma_reg_read(ctlr, CPDMA_DMAINTMASKCLEAR));
412-
413-
if (!ctlr->params.has_ext_regs) {
414-
dev_info(dev, "CPDMA: dmacontrol: %x",
415-
dma_reg_read(ctlr, CPDMA_DMACONTROL));
416-
dev_info(dev, "CPDMA: dmastatus: %x",
417-
dma_reg_read(ctlr, CPDMA_DMASTATUS));
418-
dev_info(dev, "CPDMA: rxbuffofs: %x",
419-
dma_reg_read(ctlr, CPDMA_RXBUFFOFS));
420-
}
421-
422-
for (i = 0; i < ARRAY_SIZE(ctlr->channels); i++)
423-
if (ctlr->channels[i])
424-
cpdma_chan_dump(ctlr->channels[i]);
425-
426-
spin_unlock_irqrestore(&ctlr->lock, flags);
427-
return 0;
428-
}
429-
EXPORT_SYMBOL_GPL(cpdma_ctlr_dump);
430-
431358
int cpdma_ctlr_destroy(struct cpdma_ctlr *ctlr)
432359
{
433360
unsigned long flags;
@@ -569,54 +496,6 @@ int cpdma_chan_get_stats(struct cpdma_chan *chan,
569496
}
570497
EXPORT_SYMBOL_GPL(cpdma_chan_get_stats);
571498

572-
int cpdma_chan_dump(struct cpdma_chan *chan)
573-
{
574-
unsigned long flags;
575-
struct device *dev = chan->ctlr->dev;
576-
577-
spin_lock_irqsave(&chan->lock, flags);
578-
579-
dev_info(dev, "channel %d (%s %d) state %s",
580-
chan->chan_num, is_rx_chan(chan) ? "rx" : "tx",
581-
chan_linear(chan), cpdma_state_str[chan->state]);
582-
dev_info(dev, "\thdp: %x\n", chan_read(chan, hdp));
583-
dev_info(dev, "\tcp: %x\n", chan_read(chan, cp));
584-
if (chan->rxfree) {
585-
dev_info(dev, "\trxfree: %x\n",
586-
chan_read(chan, rxfree));
587-
}
588-
589-
dev_info(dev, "\tstats head_enqueue: %d\n",
590-
chan->stats.head_enqueue);
591-
dev_info(dev, "\tstats tail_enqueue: %d\n",
592-
chan->stats.tail_enqueue);
593-
dev_info(dev, "\tstats pad_enqueue: %d\n",
594-
chan->stats.pad_enqueue);
595-
dev_info(dev, "\tstats misqueued: %d\n",
596-
chan->stats.misqueued);
597-
dev_info(dev, "\tstats desc_alloc_fail: %d\n",
598-
chan->stats.desc_alloc_fail);
599-
dev_info(dev, "\tstats pad_alloc_fail: %d\n",
600-
chan->stats.pad_alloc_fail);
601-
dev_info(dev, "\tstats runt_receive_buff: %d\n",
602-
chan->stats.runt_receive_buff);
603-
dev_info(dev, "\tstats runt_transmit_buff: %d\n",
604-
chan->stats.runt_transmit_buff);
605-
dev_info(dev, "\tstats empty_dequeue: %d\n",
606-
chan->stats.empty_dequeue);
607-
dev_info(dev, "\tstats busy_dequeue: %d\n",
608-
chan->stats.busy_dequeue);
609-
dev_info(dev, "\tstats good_dequeue: %d\n",
610-
chan->stats.good_dequeue);
611-
dev_info(dev, "\tstats requeue: %d\n",
612-
chan->stats.requeue);
613-
dev_info(dev, "\tstats teardown_dequeue: %d\n",
614-
chan->stats.teardown_dequeue);
615-
616-
spin_unlock_irqrestore(&chan->lock, flags);
617-
return 0;
618-
}
619-
620499
static void __cpdma_chan_submit(struct cpdma_chan *chan,
621500
struct cpdma_desc __iomem *desc)
622501
{

drivers/net/ethernet/ti/davinci_cpdma.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,15 +77,13 @@ struct cpdma_ctlr *cpdma_ctlr_create(struct cpdma_params *params);
7777
int cpdma_ctlr_destroy(struct cpdma_ctlr *ctlr);
7878
int cpdma_ctlr_start(struct cpdma_ctlr *ctlr);
7979
int cpdma_ctlr_stop(struct cpdma_ctlr *ctlr);
80-
int cpdma_ctlr_dump(struct cpdma_ctlr *ctlr);
8180

8281
struct cpdma_chan *cpdma_chan_create(struct cpdma_ctlr *ctlr, int chan_num,
8382
cpdma_handler_fn handler);
8483
int cpdma_chan_get_rx_buf_num(struct cpdma_ctlr *ctlr);
8584
int cpdma_chan_destroy(struct cpdma_chan *chan);
8685
int cpdma_chan_start(struct cpdma_chan *chan);
8786
int cpdma_chan_stop(struct cpdma_chan *chan);
88-
int cpdma_chan_dump(struct cpdma_chan *chan);
8987

9088
int cpdma_chan_get_stats(struct cpdma_chan *chan,
9189
struct cpdma_chan_stats *stats);

drivers/net/ethernet/ti/davinci_emac.c

Lines changed: 0 additions & 96 deletions
Original file line numberDiff line numberDiff line change
@@ -378,97 +378,6 @@ static char *emac_rxhost_errcodes[16] = {
378378
#define emac_ctrl_read(reg) ioread32((priv->ctrl_base + (reg)))
379379
#define emac_ctrl_write(reg, val) iowrite32(val, (priv->ctrl_base + (reg)))
380380

381-
/**
382-
* emac_dump_regs - Dump important EMAC registers to debug terminal
383-
* @priv: The DaVinci EMAC private adapter structure
384-
*
385-
* Executes ethtool set cmd & sets phy mode
386-
*
387-
*/
388-
static void emac_dump_regs(struct emac_priv *priv)
389-
{
390-
struct device *emac_dev = &priv->ndev->dev;
391-
392-
/* Print important registers in EMAC */
393-
dev_info(emac_dev, "EMAC Basic registers\n");
394-
if (priv->version == EMAC_VERSION_1) {
395-
dev_info(emac_dev, "EMAC: EWCTL: %08X, EWINTTCNT: %08X\n",
396-
emac_ctrl_read(EMAC_CTRL_EWCTL),
397-
emac_ctrl_read(EMAC_CTRL_EWINTTCNT));
398-
}
399-
dev_info(emac_dev, "EMAC: EmuControl:%08X, FifoControl: %08X\n",
400-
emac_read(EMAC_EMCONTROL), emac_read(EMAC_FIFOCONTROL));
401-
dev_info(emac_dev, "EMAC: MBPEnable:%08X, RXUnicastSet: %08X, "\
402-
"RXMaxLen=%08X\n", emac_read(EMAC_RXMBPENABLE),
403-
emac_read(EMAC_RXUNICASTSET), emac_read(EMAC_RXMAXLEN));
404-
dev_info(emac_dev, "EMAC: MacControl:%08X, MacStatus: %08X, "\
405-
"MacConfig=%08X\n", emac_read(EMAC_MACCONTROL),
406-
emac_read(EMAC_MACSTATUS), emac_read(EMAC_MACCONFIG));
407-
dev_info(emac_dev, "EMAC Statistics\n");
408-
dev_info(emac_dev, "EMAC: rx_good_frames:%d\n",
409-
emac_read(EMAC_RXGOODFRAMES));
410-
dev_info(emac_dev, "EMAC: rx_broadcast_frames:%d\n",
411-
emac_read(EMAC_RXBCASTFRAMES));
412-
dev_info(emac_dev, "EMAC: rx_multicast_frames:%d\n",
413-
emac_read(EMAC_RXMCASTFRAMES));
414-
dev_info(emac_dev, "EMAC: rx_pause_frames:%d\n",
415-
emac_read(EMAC_RXPAUSEFRAMES));
416-
dev_info(emac_dev, "EMAC: rx_crcerrors:%d\n",
417-
emac_read(EMAC_RXCRCERRORS));
418-
dev_info(emac_dev, "EMAC: rx_align_code_errors:%d\n",
419-
emac_read(EMAC_RXALIGNCODEERRORS));
420-
dev_info(emac_dev, "EMAC: rx_oversized_frames:%d\n",
421-
emac_read(EMAC_RXOVERSIZED));
422-
dev_info(emac_dev, "EMAC: rx_jabber_frames:%d\n",
423-
emac_read(EMAC_RXJABBER));
424-
dev_info(emac_dev, "EMAC: rx_undersized_frames:%d\n",
425-
emac_read(EMAC_RXUNDERSIZED));
426-
dev_info(emac_dev, "EMAC: rx_fragments:%d\n",
427-
emac_read(EMAC_RXFRAGMENTS));
428-
dev_info(emac_dev, "EMAC: rx_filtered_frames:%d\n",
429-
emac_read(EMAC_RXFILTERED));
430-
dev_info(emac_dev, "EMAC: rx_qos_filtered_frames:%d\n",
431-
emac_read(EMAC_RXQOSFILTERED));
432-
dev_info(emac_dev, "EMAC: rx_octets:%d\n",
433-
emac_read(EMAC_RXOCTETS));
434-
dev_info(emac_dev, "EMAC: tx_goodframes:%d\n",
435-
emac_read(EMAC_TXGOODFRAMES));
436-
dev_info(emac_dev, "EMAC: tx_bcastframes:%d\n",
437-
emac_read(EMAC_TXBCASTFRAMES));
438-
dev_info(emac_dev, "EMAC: tx_mcastframes:%d\n",
439-
emac_read(EMAC_TXMCASTFRAMES));
440-
dev_info(emac_dev, "EMAC: tx_pause_frames:%d\n",
441-
emac_read(EMAC_TXPAUSEFRAMES));
442-
dev_info(emac_dev, "EMAC: tx_deferred_frames:%d\n",
443-
emac_read(EMAC_TXDEFERRED));
444-
dev_info(emac_dev, "EMAC: tx_collision_frames:%d\n",
445-
emac_read(EMAC_TXCOLLISION));
446-
dev_info(emac_dev, "EMAC: tx_single_coll_frames:%d\n",
447-
emac_read(EMAC_TXSINGLECOLL));
448-
dev_info(emac_dev, "EMAC: tx_mult_coll_frames:%d\n",
449-
emac_read(EMAC_TXMULTICOLL));
450-
dev_info(emac_dev, "EMAC: tx_excessive_collisions:%d\n",
451-
emac_read(EMAC_TXEXCESSIVECOLL));
452-
dev_info(emac_dev, "EMAC: tx_late_collisions:%d\n",
453-
emac_read(EMAC_TXLATECOLL));
454-
dev_info(emac_dev, "EMAC: tx_underrun:%d\n",
455-
emac_read(EMAC_TXUNDERRUN));
456-
dev_info(emac_dev, "EMAC: tx_carrier_sense_errors:%d\n",
457-
emac_read(EMAC_TXCARRIERSENSE));
458-
dev_info(emac_dev, "EMAC: tx_octets:%d\n",
459-
emac_read(EMAC_TXOCTETS));
460-
dev_info(emac_dev, "EMAC: net_octets:%d\n",
461-
emac_read(EMAC_NETOCTETS));
462-
dev_info(emac_dev, "EMAC: rx_sof_overruns:%d\n",
463-
emac_read(EMAC_RXSOFOVERRUNS));
464-
dev_info(emac_dev, "EMAC: rx_mof_overruns:%d\n",
465-
emac_read(EMAC_RXMOFOVERRUNS));
466-
dev_info(emac_dev, "EMAC: rx_dma_overruns:%d\n",
467-
emac_read(EMAC_RXDMAOVERRUNS));
468-
469-
cpdma_ctlr_dump(priv->dma);
470-
}
471-
472381
/**
473382
* emac_get_drvinfo - Get EMAC driver information
474383
* @ndev: The DaVinci EMAC network adapter
@@ -1096,8 +1005,6 @@ static void emac_dev_tx_timeout(struct net_device *ndev)
10961005
if (netif_msg_tx_err(priv))
10971006
dev_err(emac_dev, "DaVinci EMAC: xmit timeout, restarting TX");
10981007

1099-
emac_dump_regs(priv);
1100-
11011008
ndev->stats.tx_errors++;
11021009
emac_int_disable(priv);
11031010
cpdma_chan_stop(priv->txchan);
@@ -1617,9 +1524,6 @@ static int emac_dev_open(struct net_device *ndev)
16171524
emac_update_phystatus(priv);
16181525
}
16191526

1620-
if (!netif_running(ndev)) /* debug only - to avoid compiler warning */
1621-
emac_dump_regs(priv);
1622-
16231527
if (netif_msg_drv(priv))
16241528
dev_notice(emac_dev, "DaVinci EMAC: Opened %s\n", ndev->name);
16251529

0 commit comments

Comments
 (0)