Support for multiple port's

Thomas Taranowski tom at baringforge.com
Sat Oct 30 10:09:58 EST 2010


Going through the code, it looks like the rapidio driver assumes
there's only going to be a single Port implemented.

Snapshot of code assumes a single port atmu configuration block, which
is wrong for the p2020, and probably other QorIQ processors.

<snip>
priv->atmu_regs = (struct rio_atmu_regs *)(priv->regs_win
					+ RIO_ATMU_REGS_OFFSET);
priv->maint_atmu_regs = priv->atmu_regs + 1;
priv->dbell_atmu_regs = priv->atmu_regs + 2;
priv->msg_regs = (struct rio_msg_regs *)(priv->regs_win +
			((port->phy_type == RIO_PHY_SERIAL) ?
			RIO_S_MSG_REGS_OFFSET : RIO_P_MSG_REGS_OFFSET));
<snip>

On the newer QorIQ P2020 processors there are 2 sets of port
registers, so the current code lays the dbell_atmu_regs structure on
top of the second set of atmu_regs.  There are probably other issues
as well.

Are there any patch sets available that support the newer processors,
and multi-port ( multi-homed? ) RapidIO configurations?

Thanks!


More information about the Linuxppc-dev mailing list