On 30/3/21 12:27 pm, Vijay Kumar Banerjee wrote: > From: till straumann <till.straum...@alumni.tu-berlin.de> > > Update #4344 > --- > bsps/powerpc/beatnik/net/if_mve/mv643xx_eth.c | 59 +++++++++++++++---- > .../beatnik/net/if_mve/mv643xx_eth_bsdnet.c | 1 - > 2 files changed, 47 insertions(+), 13 deletions(-) > > diff --git a/bsps/powerpc/beatnik/net/if_mve/mv643xx_eth.c > b/bsps/powerpc/beatnik/net/if_mve/mv643xx_eth.c > index 26fe7db9e6..9d23d22898 100644 > --- a/bsps/powerpc/beatnik/net/if_mve/mv643xx_eth.c > +++ b/bsps/powerpc/beatnik/net/if_mve/mv643xx_eth.c > @@ -108,16 +108,10 @@ > /* Compile-time debugging features */ > > /* Enable paranoia assertions and checks; reduce # of descriptors to minimum > for stressing */ > -#undef MVETH_TESTING > +#define MVETH_TESTING > > /* Enable debugging messages and some support routines (dump rings etc.) > */ > -#undef MVETH_DEBUG > - > -/* Hack for driver development; rtems bsdnet doesn't implement detaching an > interface :-( > - * but this hack allows us to unload/reload the driver module which makes > development > - * a lot less painful. > - */ > -#undef MVETH_DETACH_HACK > +#define MVETH_DEBUG
Is this suppose to be enabled? Chris > > /* Ring sizes */ > > @@ -790,6 +784,15 @@ static const char *mibfmt[] = { > > /* forward decls + implementation for IRQ API funcs */ > > +STATIC int > +mveth_init_rx_desc_ring(struct mveth_private *mp); > + > +STATIC int > +mveth_init_tx_desc_ring(struct mveth_private *mp); > + > +int > +BSP_mve_dring_nonsync(struct mveth_private *mp); > + > static void mveth_isr(rtems_irq_hdl_param unit); > static void noop(const rtems_irq_connect_data *unused) {} > static int noop1(const rtems_irq_connect_data *unused) { return 0; } > @@ -1747,7 +1750,7 @@ MveEthBufIter head = *it; > > #ifdef MVETH_TESTING > assert( !h->buf_ptr ); > - assert( !h->mb ); > + assert( !h->u_buf ); > #endif > > /* Don't use the first descriptor yet because BSP_mve_swipe_tx() > @@ -1778,7 +1781,7 @@ MveEthBufIter head = *it; > */ > for ( l = NEXT_TXD(h); l!=d; l=NEXT_TXD(l) ) { > #ifdef MVETH_TESTING > - assert( l->mb == 0 ); > + assert( l->u_buf == 0 ); > #endif > l->buf_ptr = 0; > l->cmd_sts = 0; > @@ -1870,7 +1873,7 @@ int frst_len; > rval = 0; > > #ifdef MVETH_TESTING > - assert(header || data); > + assert(head_p || data_p); > #endif > > needed = head_p && data_p ? 2 : 1; > @@ -1887,7 +1890,7 @@ int frst_len; > > #ifdef MVETH_TESTING > assert( !h->buf_ptr ); > - assert( !h->mb ); > + assert( !h->u_buf ); > #endif > > /* find the 'first' user buffer */ > @@ -2359,3 +2362,35 @@ uint32_t v; > } > fprintf(f, "\n"); > } > + > +#ifdef MVETH_DEBUG > +/* Display/dump descriptor rings */ > + > +/* These low-level routines need to be synchronized with > + * any Tx/Rx threads! > + */ > +int > +BSP_mve_dring_nonsync(struct mveth_private *mp) > +{ > +int i; > +if (1) { > +MvEthRxDesc pr; > +printf("RX:\n"); > + > + for (i=0, pr=mp->rx_ring; i<mp->rbuf_count; i++, pr++) { > + printf("cnt: 0x%04x, size: 0x%04x, stat: 0x%08x, next: 0x%08x, > buf: 0x%08x\n", > + pr->byte_cnt, pr->buf_size, pr->cmd_sts, > (uint32_t)pr->next_desc_ptr, pr->buf_ptr); > + } > +} > +if (1) { > +MvEthTxDesc pt; > +printf("TX:\n"); > + for (i=0, pt=mp->tx_ring; i<mp->xbuf_count; i++, pt++) { > + printf("cnt: 0x%04x, stat: 0x%08x, next: 0x%08x, buf: 0x%08x, > mb: 0x%08x\n", > + pt->byte_cnt, pt->cmd_sts, (uint32_t)pt->next_desc_ptr, > pt->buf_ptr, > + (uint32_t)pt->u_buf); > + } > +} > + return 0; > +} > +#endif > diff --git a/bsps/powerpc/beatnik/net/if_mve/mv643xx_eth_bsdnet.c > b/bsps/powerpc/beatnik/net/if_mve/mv643xx_eth_bsdnet.c > index 2e841c5e8b..3f85e2c78a 100644 > --- a/bsps/powerpc/beatnik/net/if_mve/mv643xx_eth_bsdnet.c > +++ b/bsps/powerpc/beatnik/net/if_mve/mv643xx_eth_bsdnet.c > @@ -135,7 +135,6 @@ > /* Enable Hardware Snooping; if this is disabled (undefined), > * cache coherency is maintained by software. > */ > -#undef ENABLE_HW_SNOOPING > > /* Compile-time debugging features */ > > _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel