powerpc/fsl_rio: apply changes for RIO spec rev 3
- Remove check for parallel PHY - Set LP-Serial Register Map type [akpm@linux-foundation.org: fix build] [alexandre.bounine@idt.com: fix build fix] Link: http://lkml.kernel.org/r/20160802184932.2755-1-alexandre.bounine@idt.com Link: http://lkml.kernel.org/r/1469125134-16523-13-git-send-email-alexandre.bounine@idt.com Signed-off-by: Alexandre Bounine <alexandre.bounine@idt.com> Cc: Matt Porter <mporter@kernel.crashing.org> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Michael Ellerman <mpe@ellerman.id.au> 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:

committed by
Linus Torvalds

parent
1ae842de1d
commit
adff1649e6
@@ -643,19 +643,11 @@ int fsl_rio_setup(struct platform_device *dev)
|
|||||||
port->ops = ops;
|
port->ops = ops;
|
||||||
port->priv = priv;
|
port->priv = priv;
|
||||||
port->phys_efptr = 0x100;
|
port->phys_efptr = 0x100;
|
||||||
|
port->phys_rmap = 1;
|
||||||
priv->regs_win = rio_regs_win;
|
priv->regs_win = rio_regs_win;
|
||||||
|
|
||||||
/* Probe the master port phy type */
|
|
||||||
ccsr = in_be32(priv->regs_win + RIO_CCSR + i*0x20);
|
ccsr = in_be32(priv->regs_win + RIO_CCSR + i*0x20);
|
||||||
port->phy_type = (ccsr & 1) ? RIO_PHY_SERIAL : RIO_PHY_PARALLEL;
|
|
||||||
if (port->phy_type == RIO_PHY_PARALLEL) {
|
|
||||||
dev_err(&dev->dev, "RIO: Parallel PHY type, unsupported port type!\n");
|
|
||||||
release_resource(&port->iores);
|
|
||||||
kfree(priv);
|
|
||||||
kfree(port);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
dev_info(&dev->dev, "RapidIO PHY type: Serial\n");
|
|
||||||
/* Checking the port training status */
|
/* Checking the port training status */
|
||||||
if (in_be32((priv->regs_win + RIO_ESCSR + i*0x20)) & 1) {
|
if (in_be32((priv->regs_win + RIO_ESCSR + i*0x20)) & 1) {
|
||||||
dev_err(&dev->dev, "Port %d is not ready. "
|
dev_err(&dev->dev, "Port %d is not ready. "
|
||||||
@@ -705,11 +697,9 @@ int fsl_rio_setup(struct platform_device *dev)
|
|||||||
((i == 0) ? RIO_INB_ATMU_REGS_PORT1_OFFSET :
|
((i == 0) ? RIO_INB_ATMU_REGS_PORT1_OFFSET :
|
||||||
RIO_INB_ATMU_REGS_PORT2_OFFSET));
|
RIO_INB_ATMU_REGS_PORT2_OFFSET));
|
||||||
|
|
||||||
|
/* Set to receive packets with any dest ID */
|
||||||
/* Set to receive any dist ID for serial RapidIO controller. */
|
out_be32((priv->regs_win + RIO_ISR_AACR + i*0x80),
|
||||||
if (port->phy_type == RIO_PHY_SERIAL)
|
RIO_ISR_AACR_AA);
|
||||||
out_be32((priv->regs_win
|
|
||||||
+ RIO_ISR_AACR + i*0x80), RIO_ISR_AACR_AA);
|
|
||||||
|
|
||||||
/* Configure maintenance transaction window */
|
/* Configure maintenance transaction window */
|
||||||
out_be32(&priv->maint_atmu_regs->rowbar,
|
out_be32(&priv->maint_atmu_regs->rowbar,
|
||||||
|
Reference in New Issue
Block a user