MIPS: Octeon: Support interfaces 4 and 5
authorJanne Huttunen <janne.huttunen@nokia.com>
Thu, 13 Aug 2015 13:21:45 +0000 (16:21 +0300)
committerRalf Baechle <ralf@linux-mips.org>
Thu, 3 Sep 2015 10:08:11 +0000 (12:08 +0200)
Add the support for mapping between interface/port numbers and IPD port
numbers also for the additional interfaces some Octeon II models have.

Signed-off-by: Janne Huttunen <janne.huttunen@nokia.com>
Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com>
Acked-by: David Daney <david.daney@cavium.com>
Cc: David Daney <ddaney.cavm@gmail.com>
Cc: linux-mips@linux-mips.org
Cc: Janne Huttunen <janne.huttunen@nokia.com>
Cc: Aaro Koskinen <aaro.koskinen@nokia.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: devel@driverdev.osuosl.org
Patchwork: https://patchwork.linux-mips.org/patch/10967/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/cavium-octeon/executive/cvmx-helper-util.c

index 402959605276cc94a541943357848f35bd8fd946..b45b2975746db79342e74bb9146c167824786e87 100644 (file)
@@ -382,6 +382,10 @@ int cvmx_helper_get_ipd_port(int interface, int port)
                return port + 32;
        case 3:
                return port + 36;
                return port + 32;
        case 3:
                return port + 36;
+       case 4:
+               return port + 40;
+       case 5:
+               return port + 44;
        }
        return -1;
 }
        }
        return -1;
 }
@@ -404,6 +408,10 @@ int cvmx_helper_get_interface_num(int ipd_port)
                return 2;
        else if (ipd_port < 40)
                return 3;
                return 2;
        else if (ipd_port < 40)
                return 3;
+       else if (ipd_port < 44)
+               return 4;
+       else if (ipd_port < 48)
+               return 5;
        else
                cvmx_dprintf("cvmx_helper_get_interface_num: Illegal IPD "
                             "port number\n");
        else
                cvmx_dprintf("cvmx_helper_get_interface_num: Illegal IPD "
                             "port number\n");
@@ -428,6 +436,10 @@ int cvmx_helper_get_interface_index_num(int ipd_port)
                return ipd_port & 3;
        else if (ipd_port < 40)
                return ipd_port & 3;
                return ipd_port & 3;
        else if (ipd_port < 40)
                return ipd_port & 3;
+       else if (ipd_port < 44)
+               return ipd_port & 3;
+       else if (ipd_port < 48)
+               return ipd_port & 3;
        else
                cvmx_dprintf("cvmx_helper_get_interface_index_num: "
                             "Illegal IPD port number\n");
        else
                cvmx_dprintf("cvmx_helper_get_interface_index_num: "
                             "Illegal IPD port number\n");