On Tue, 14 Sep 2010 10:59:22 -0400 Alexandre Bounine <alexandre.boun...@idt.com> wrote:
> +static int > +idtg2_route_add_entry(struct rio_mport *mport, u16 destid, u8 hopcount, > + u16 table, u16 route_destid, u8 route_port) > +{ > + /* > + * Select routing table to update > + */ > + if (table == RIO_GLOBAL_TABLE) > + table = 0; > + else > + table++; > + > + rio_mport_write_config_32(mport, destid, hopcount, > + LOCAL_RTE_CONF_DESTID_SEL, table); > + > + /* > + * Program destination port for the specified destID > + */ > + rio_mport_write_config_32(mport, destid, hopcount, > + RIO_STD_RTE_CONF_DESTID_SEL_CSR, > + (u32)route_destid); > + > + rio_mport_write_config_32(mport, destid, hopcount, > + RIO_STD_RTE_CONF_PORT_SEL_CSR, > + (u32)route_port); > + udelay(10); > + > + return 0; > +} The handling of `table' is strange. One would expect the caller of this function to provide the correct table index, and for the caller to increment that index at an appropriate time. So I take a look around but cannot find any means by which ->add_entry() is called with anything other than RIO_GLOBAL_TABLE. Maybe I missed something. Is this all dead code? _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev