powerpc/fsl_rio: apply changes for RIO spec rev 3
authorAlexandre Bounine <alexandre.bounine@idt.com>
Tue, 2 Aug 2016 21:07:00 +0000 (14:07 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 2 Aug 2016 23:35:38 +0000 (19:35 -0400)
 - 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>
arch/powerpc/sysdev/fsl_rio.c

index 386790cfa16ee7c5b2c031674d6a7183bc961e3d..984e816f3fafaaf7e40dfa85a5a45462a70c23ae 100644 (file)
@@ -643,19 +643,11 @@ int fsl_rio_setup(struct platform_device *dev)
                port->ops = ops;
                port->priv = priv;
                port->phys_efptr = 0x100;
+               port->phys_rmap = 1;
                priv->regs_win = rio_regs_win;
 
-               /* Probe the master port phy type */
                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 */
                if (in_be32((priv->regs_win + RIO_ESCSR + i*0x20)) & 1) {
                        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 :
                        RIO_INB_ATMU_REGS_PORT2_OFFSET));
 
-
-               /* Set to receive any dist ID for serial RapidIO controller. */
-               if (port->phy_type == RIO_PHY_SERIAL)
-                       out_be32((priv->regs_win
-                               + RIO_ISR_AACR + i*0x80), RIO_ISR_AACR_AA);
+               /* Set to receive packets with any dest ID */
+               out_be32((priv->regs_win + RIO_ISR_AACR + i*0x80),
+                        RIO_ISR_AACR_AA);
 
                /* Configure maintenance transaction window */
                out_be32(&priv->maint_atmu_regs->rowbar,