rapidio: modify for rev.3 specification changes
Implement changes made in RapidIO specification rev.3 to LP-Serial Physical Layer register definitions: - use per-port register offset calculations based on LP-Serial Extended Features Block (EFB) Register Map type (I or II) with different per-port offset step (0x20 vs 0x40 respectfully). - remove deprecated Parallel Physical layer definitions and related code. [alexandre.bounine@idt.com: fix DocBook warning for gen3 update] Link: http://lkml.kernel.org/r/1469191173-19338-1-git-send-email-alexandre.bounine@idt.com Link: http://lkml.kernel.org/r/1469125134-16523-12-git-send-email-alexandre.bounine@idt.com Signed-off-by: Alexandre Bounine <alexandre.bounine@idt.com> Tested-by: Barry Wood <barry.wood@idt.com> Cc: Matt Porter <mporter@kernel.crashing.org> Cc: Andre van Herk <andre.van.herk@prodrive-technologies.com> Cc: Barry Wood <barry.wood@idt.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:

committato da
Linus Torvalds

parent
a057a52e94
commit
1ae842de1d
@@ -1813,7 +1813,7 @@ static int rio_mport_add_riodev(struct mport_cdev_priv *priv,
|
||||
if (rdev->pef & RIO_PEF_EXT_FEATURES) {
|
||||
rdev->efptr = rval & 0xffff;
|
||||
rdev->phys_efptr = rio_mport_get_physefb(mport, 0, destid,
|
||||
hopcount);
|
||||
hopcount, &rdev->phys_rmap);
|
||||
|
||||
rdev->em_efptr = rio_mport_get_feature(mport, 0, destid,
|
||||
hopcount, RIO_EFB_ERR_MGMNT);
|
||||
|
@@ -2555,11 +2555,11 @@ static int tsi721_query_mport(struct rio_mport *mport,
|
||||
struct tsi721_device *priv = mport->priv;
|
||||
u32 rval;
|
||||
|
||||
rval = ioread32(priv->regs + (0x100 + RIO_PORT_N_ERR_STS_CSR(0)));
|
||||
rval = ioread32(priv->regs + 0x100 + RIO_PORT_N_ERR_STS_CSR(0, 0));
|
||||
if (rval & RIO_PORT_N_ERR_STS_PORT_OK) {
|
||||
rval = ioread32(priv->regs + (0x100 + RIO_PORT_N_CTL2_CSR(0)));
|
||||
rval = ioread32(priv->regs + 0x100 + RIO_PORT_N_CTL2_CSR(0, 0));
|
||||
attr->link_speed = (rval & RIO_PORT_N_CTL2_SEL_BAUD) >> 28;
|
||||
rval = ioread32(priv->regs + (0x100 + RIO_PORT_N_CTL_CSR(0)));
|
||||
rval = ioread32(priv->regs + 0x100 + RIO_PORT_N_CTL_CSR(0, 0));
|
||||
attr->link_width = (rval & RIO_PORT_N_CTL_IPW) >> 27;
|
||||
} else
|
||||
attr->link_speed = RIO_LINK_DOWN;
|
||||
@@ -2673,9 +2673,9 @@ static int tsi721_setup_mport(struct tsi721_device *priv)
|
||||
mport->ops = &tsi721_rio_ops;
|
||||
mport->index = 0;
|
||||
mport->sys_size = 0; /* small system */
|
||||
mport->phy_type = RIO_PHY_SERIAL;
|
||||
mport->priv = (void *)priv;
|
||||
mport->phys_efptr = 0x100;
|
||||
mport->phys_rmap = 1;
|
||||
mport->dev.parent = &pdev->dev;
|
||||
mport->dev.release = tsi721_mport_release;
|
||||
|
||||
|
Fai riferimento in un nuovo problema
Block a user