[RFC PATCH 04/11] MIPS: OCTEON: move interface enumeration helpers to cvmx-helper

2015-05-01 Thread Aaro Koskinen
Move interface enumeration helpers to cvmx-helper.

Signed-off-by: Aaro Koskinen 
---
 .../mips/cavium-octeon/executive/cvmx-helper-npi.c |  38 ---
 .../cavium-octeon/executive/cvmx-helper-rgmii.c|  46 
 .../cavium-octeon/executive/cvmx-helper-sgmii.c|   4 -
 .../mips/cavium-octeon/executive/cvmx-helper-spi.c |  10 --
 .../cavium-octeon/executive/cvmx-helper-xaui.c |  12 ---
 arch/mips/cavium-octeon/executive/cvmx-helper.c| 117 +
 arch/mips/include/asm/octeon/cvmx-helper-loop.h|   1 -
 7 files changed, 117 insertions(+), 111 deletions(-)

diff --git a/arch/mips/cavium-octeon/executive/cvmx-helper-npi.c 
b/arch/mips/cavium-octeon/executive/cvmx-helper-npi.c
index cc94cfa..9f7bcc4 100644
--- a/arch/mips/cavium-octeon/executive/cvmx-helper-npi.c
+++ b/arch/mips/cavium-octeon/executive/cvmx-helper-npi.c
@@ -38,44 +38,6 @@
 #include 
 
 /**
- * Probe a NPI interface and determine the number of ports
- * connected to it. The NPI interface should still be down
- * after this call.
- *
- * @interface: Interface to probe
- *
- * Returns Number of ports on the interface. Zero to disable.
- */
-int __cvmx_helper_npi_probe(int interface)
-{
-#if CVMX_PKO_QUEUES_PER_PORT_PCI > 0
-   if (OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN58XX))
-   return 4;
-   else if (OCTEON_IS_MODEL(OCTEON_CN56XX)
-&& !OCTEON_IS_MODEL(OCTEON_CN56XX_PASS1_X))
-   /* The packet engines didn't exist before pass 2 */
-   return 4;
-   else if (OCTEON_IS_MODEL(OCTEON_CN52XX)
-&& !OCTEON_IS_MODEL(OCTEON_CN52XX_PASS1_X))
-   /* The packet engines didn't exist before pass 2 */
-   return 4;
-#if 0
-   /*
-* Technically CN30XX, CN31XX, and CN50XX contain packet
-* engines, but nobody ever uses them. Since this is the case,
-* we disable them here.
-*/
-   else if (OCTEON_IS_MODEL(OCTEON_CN31XX)
-|| OCTEON_IS_MODEL(OCTEON_CN50XX))
-   return 2;
-   else if (OCTEON_IS_MODEL(OCTEON_CN30XX))
-   return 1;
-#endif
-#endif
-   return 0;
-}
-
-/**
  * Bringup and enable a NPI interface. After this call packet
  * I/O should be fully functional. This is called with IPD
  * enabled but PKO disabled.
diff --git a/arch/mips/cavium-octeon/executive/cvmx-helper-rgmii.c 
b/arch/mips/cavium-octeon/executive/cvmx-helper-rgmii.c
index f59c88e..730812c 100644
--- a/arch/mips/cavium-octeon/executive/cvmx-helper-rgmii.c
+++ b/arch/mips/cavium-octeon/executive/cvmx-helper-rgmii.c
@@ -48,52 +48,6 @@ void __cvmx_interrupt_gmxx_enable(int interface);
 void __cvmx_interrupt_asxx_enable(int block);
 
 /**
- * Probe RGMII ports and determine the number present
- *
- * @interface: Interface to probe
- *
- * Returns Number of RGMII/GMII/MII ports (0-4).
- */
-int __cvmx_helper_rgmii_probe(int interface)
-{
-   int num_ports = 0;
-   union cvmx_gmxx_inf_mode mode;
-   mode.u64 = cvmx_read_csr(CVMX_GMXX_INF_MODE(interface));
-
-   if (mode.s.type) {
-   if (OCTEON_IS_MODEL(OCTEON_CN38XX)
-   || OCTEON_IS_MODEL(OCTEON_CN58XX)) {
-   cvmx_dprintf("ERROR: RGMII initialize called in "
-"SPI interface\n");
-   } else if (OCTEON_IS_MODEL(OCTEON_CN31XX)
-  || OCTEON_IS_MODEL(OCTEON_CN30XX)
-  || OCTEON_IS_MODEL(OCTEON_CN50XX)) {
-   /*
-* On these chips "type" says we're in
-* GMII/MII mode. This limits us to 2 ports
-*/
-   num_ports = 2;
-   } else {
-   cvmx_dprintf("ERROR: Unsupported Octeon model in %s\n",
-__func__);
-   }
-   } else {
-   if (OCTEON_IS_MODEL(OCTEON_CN38XX)
-   || OCTEON_IS_MODEL(OCTEON_CN58XX)) {
-   num_ports = 4;
-   } else if (OCTEON_IS_MODEL(OCTEON_CN31XX)
-  || OCTEON_IS_MODEL(OCTEON_CN30XX)
-  || OCTEON_IS_MODEL(OCTEON_CN50XX)) {
-   num_ports = 3;
-   } else {
-   cvmx_dprintf("ERROR: Unsupported Octeon model in %s\n",
-__func__);
-   }
-   }
-   return num_ports;
-}
-
-/**
  * Put an RGMII interface in loopback mode. Internal packets sent
  * out will be received back again on the same port. Externally
  * received packets will echo back out.
diff --git a/arch/mips/cavium-octeon/executive/cvmx-helper-sgmii.c 
b/arch/mips/cavium-octeon/executive/cvmx-helper-sgmii.c
index 6a47b04..03ae748 100644
--- a/arch/mips/cavium-octeon/executive/cvmx-helper-sgmii.c
+++ b/arch/mips/cavium-octeon/executive/cvmx-helper-sgmii.c
@@ -330,10 +330,6 @@ static 

[RFC PATCH 04/11] MIPS: OCTEON: move interface enumeration helpers to cvmx-helper

2015-05-01 Thread Aaro Koskinen
Move interface enumeration helpers to cvmx-helper.

Signed-off-by: Aaro Koskinen aaro.koski...@iki.fi
---
 .../mips/cavium-octeon/executive/cvmx-helper-npi.c |  38 ---
 .../cavium-octeon/executive/cvmx-helper-rgmii.c|  46 
 .../cavium-octeon/executive/cvmx-helper-sgmii.c|   4 -
 .../mips/cavium-octeon/executive/cvmx-helper-spi.c |  10 --
 .../cavium-octeon/executive/cvmx-helper-xaui.c |  12 ---
 arch/mips/cavium-octeon/executive/cvmx-helper.c| 117 +
 arch/mips/include/asm/octeon/cvmx-helper-loop.h|   1 -
 7 files changed, 117 insertions(+), 111 deletions(-)

diff --git a/arch/mips/cavium-octeon/executive/cvmx-helper-npi.c 
b/arch/mips/cavium-octeon/executive/cvmx-helper-npi.c
index cc94cfa..9f7bcc4 100644
--- a/arch/mips/cavium-octeon/executive/cvmx-helper-npi.c
+++ b/arch/mips/cavium-octeon/executive/cvmx-helper-npi.c
@@ -38,44 +38,6 @@
 #include asm/octeon/cvmx-pip-defs.h
 
 /**
- * Probe a NPI interface and determine the number of ports
- * connected to it. The NPI interface should still be down
- * after this call.
- *
- * @interface: Interface to probe
- *
- * Returns Number of ports on the interface. Zero to disable.
- */
-int __cvmx_helper_npi_probe(int interface)
-{
-#if CVMX_PKO_QUEUES_PER_PORT_PCI  0
-   if (OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN58XX))
-   return 4;
-   else if (OCTEON_IS_MODEL(OCTEON_CN56XX)
- !OCTEON_IS_MODEL(OCTEON_CN56XX_PASS1_X))
-   /* The packet engines didn't exist before pass 2 */
-   return 4;
-   else if (OCTEON_IS_MODEL(OCTEON_CN52XX)
- !OCTEON_IS_MODEL(OCTEON_CN52XX_PASS1_X))
-   /* The packet engines didn't exist before pass 2 */
-   return 4;
-#if 0
-   /*
-* Technically CN30XX, CN31XX, and CN50XX contain packet
-* engines, but nobody ever uses them. Since this is the case,
-* we disable them here.
-*/
-   else if (OCTEON_IS_MODEL(OCTEON_CN31XX)
-|| OCTEON_IS_MODEL(OCTEON_CN50XX))
-   return 2;
-   else if (OCTEON_IS_MODEL(OCTEON_CN30XX))
-   return 1;
-#endif
-#endif
-   return 0;
-}
-
-/**
  * Bringup and enable a NPI interface. After this call packet
  * I/O should be fully functional. This is called with IPD
  * enabled but PKO disabled.
diff --git a/arch/mips/cavium-octeon/executive/cvmx-helper-rgmii.c 
b/arch/mips/cavium-octeon/executive/cvmx-helper-rgmii.c
index f59c88e..730812c 100644
--- a/arch/mips/cavium-octeon/executive/cvmx-helper-rgmii.c
+++ b/arch/mips/cavium-octeon/executive/cvmx-helper-rgmii.c
@@ -48,52 +48,6 @@ void __cvmx_interrupt_gmxx_enable(int interface);
 void __cvmx_interrupt_asxx_enable(int block);
 
 /**
- * Probe RGMII ports and determine the number present
- *
- * @interface: Interface to probe
- *
- * Returns Number of RGMII/GMII/MII ports (0-4).
- */
-int __cvmx_helper_rgmii_probe(int interface)
-{
-   int num_ports = 0;
-   union cvmx_gmxx_inf_mode mode;
-   mode.u64 = cvmx_read_csr(CVMX_GMXX_INF_MODE(interface));
-
-   if (mode.s.type) {
-   if (OCTEON_IS_MODEL(OCTEON_CN38XX)
-   || OCTEON_IS_MODEL(OCTEON_CN58XX)) {
-   cvmx_dprintf(ERROR: RGMII initialize called in 
-SPI interface\n);
-   } else if (OCTEON_IS_MODEL(OCTEON_CN31XX)
-  || OCTEON_IS_MODEL(OCTEON_CN30XX)
-  || OCTEON_IS_MODEL(OCTEON_CN50XX)) {
-   /*
-* On these chips type says we're in
-* GMII/MII mode. This limits us to 2 ports
-*/
-   num_ports = 2;
-   } else {
-   cvmx_dprintf(ERROR: Unsupported Octeon model in %s\n,
-__func__);
-   }
-   } else {
-   if (OCTEON_IS_MODEL(OCTEON_CN38XX)
-   || OCTEON_IS_MODEL(OCTEON_CN58XX)) {
-   num_ports = 4;
-   } else if (OCTEON_IS_MODEL(OCTEON_CN31XX)
-  || OCTEON_IS_MODEL(OCTEON_CN30XX)
-  || OCTEON_IS_MODEL(OCTEON_CN50XX)) {
-   num_ports = 3;
-   } else {
-   cvmx_dprintf(ERROR: Unsupported Octeon model in %s\n,
-__func__);
-   }
-   }
-   return num_ports;
-}
-
-/**
  * Put an RGMII interface in loopback mode. Internal packets sent
  * out will be received back again on the same port. Externally
  * received packets will echo back out.
diff --git a/arch/mips/cavium-octeon/executive/cvmx-helper-sgmii.c 
b/arch/mips/cavium-octeon/executive/cvmx-helper-sgmii.c
index 6a47b04..03ae748 100644
--- a/arch/mips/cavium-octeon/executive/cvmx-helper-sgmii.c
+++