[PATCH 1/7] RapidIO: Add IDT CPS/TSI switches

Bounine, Alexandre Alexandre.Bounine at IDT.COM
Fri Feb 26 01:18:49 EST 2010


Micha Nelissen wrote:
> Alexandre Bounine wrote:
> > @@ -369,6 +380,10 @@ static struct rio_dev __devinit *rio_set
> >  			     rdev->rswitch->switchid);
> >  		rio_route_set_ops(rdev);
> >
> > +		if (do_enum && rdev->rswitch->clr_table)
> > +			rdev->rswitch->clr_table(port, destid, hopcount,
> > +						 RIO_GLOBAL_TABLE);
> > +
> >  		list_add_tail(&rswitch->node, &rio_switches);
> >
> >  	} else
> 
> Why clear the tables here, why not in rio_enum_peer?

I prefer to keep it together with route table image initialization. 

> 
> > +DECLARE_RIO_ROUTE_OPS(RIO_VID_TUNDRA, RIO_DID_TSI572,
tsi57x_route_add_entry,
> tsi57x_route_get_entry, tsi57x_route_clr_table);
> > +DECLARE_RIO_ROUTE_OPS(RIO_VID_TUNDRA, RIO_DID_TSI574,
tsi57x_route_add_entry,
> tsi57x_route_get_entry, tsi57x_route_clr_table);
> > +DECLARE_RIO_ROUTE_OPS(RIO_VID_TUNDRA, RIO_DID_TSI577,
tsi57x_route_add_entry,
> tsi57x_route_get_entry, tsi57x_route_clr_table);
> > +DECLARE_RIO_ROUTE_OPS(RIO_VID_TUNDRA, RIO_DID_TSI578,
tsi57x_route_add_entry,
> tsi57x_route_get_entry, tsi57x_route_clr_table);
> 
> Can the 568 and 578 driver be shared? Have a 5xx driver?

For route table operations this will work. But there are Error
Management functions added in follow-up patches, which are different for
Tsi568. I prefer to keep them in different files to avoid hiding the
differences. Plus, it makes easier for end-user to remove from the build
drivers for switches that are not used in their system. I do not want to
add new configuration options for switch selection at this moment but we
may consider it later. 

Alex.
  


More information about the Linuxppc-dev mailing list