lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:	Wed, 3 Feb 2016 10:03:41 -0800
From:	David Daney <ddaney@...iumnetworks.com>
To:	Zubair Lutfullah Kakakhel <Zubair.Kakakhel@...tec.com>
CC:	<david.daney@...ium.com>, <janne.huttunen@...ia.com>,
	<aaro.koskinen@...ia.com>, <ralf@...ux-mips.org>,
	<linux-mips@...ux-mips.org>, <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v2] MIPS: Octeon: Add Octeon III CN7xxx interface detection

On 02/03/2016 10:01 AM, Zubair Lutfullah Kakakhel wrote:
> Add basic CN7XXX interface detection.
>
> This allows the kernel to boot with ethernet working as it initializes
> the ethernet ports with SGMII instead of defaulting to RGMII routines.
>
> Tested on the utm8 from Rhino Labs with a CN7130.
>
> Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@...tec.com>

Acked-by: David Daney <david.daney@...ium.com>


>
> ---
> V1 -> V2
> - Rebase to v4.5-rc2
> - Used switch instead of too many if-else.
> - Change subject from XXX to xxx as lkml bounced the mail..  ¯\_(ツ)_/¯
> ---
>   arch/mips/cavium-octeon/executive/cvmx-helper.c | 43 +++++++++++++++++++++++++
>   1 file changed, 43 insertions(+)
>
> diff --git a/arch/mips/cavium-octeon/executive/cvmx-helper.c b/arch/mips/cavium-octeon/executive/cvmx-helper.c
> index 376701f..ff26d02 100644
> --- a/arch/mips/cavium-octeon/executive/cvmx-helper.c
> +++ b/arch/mips/cavium-octeon/executive/cvmx-helper.c
> @@ -87,6 +87,8 @@ int cvmx_helper_get_number_of_interfaces(void)
>   		return 9;
>   	if (OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN52XX))
>   		return 4;
> +	if (OCTEON_IS_MODEL(OCTEON_CN7XXX))
> +		return 5;
>   	else
>   		return 3;
>   }
> @@ -260,6 +262,41 @@ static cvmx_helper_interface_mode_t __cvmx_get_mode_octeon2(int interface)
>   }
>
>   /**
> + * @INTERNAL
> + * Return interface mode for CN7XXX.
> + */
> +static cvmx_helper_interface_mode_t __cvmx_get_mode_cn7xxx(int interface)
> +{
> +	union cvmx_gmxx_inf_mode mode;
> +
> +	mode.u64 = cvmx_read_csr(CVMX_GMXX_INF_MODE(interface));
> +
> +	switch (interface) {
> +	case 0:
> +	case 1:
> +		switch (mode.cn68xx.mode) {
> +		case 0:
> +			return CVMX_HELPER_INTERFACE_MODE_DISABLED;
> +		case 1:
> +		case 2:
> +			return CVMX_HELPER_INTERFACE_MODE_SGMII;
> +		case 3:
> +			return CVMX_HELPER_INTERFACE_MODE_XAUI;
> +		default:
> +			return CVMX_HELPER_INTERFACE_MODE_SGMII;
> +		}
> +	case 2:
> +		return CVMX_HELPER_INTERFACE_MODE_NPI;
> +	case 3:
> +		return CVMX_HELPER_INTERFACE_MODE_LOOP;
> +	case 4:
> +		return CVMX_HELPER_INTERFACE_MODE_RGMII;
> +	default:
> +		return CVMX_HELPER_INTERFACE_MODE_DISABLED;
> +	}
> +}
> +
> +/**
>    * Get the operating mode of an interface. Depending on the Octeon
>    * chip and configuration, this function returns an enumeration
>    * of the type of packet I/O supported by an interface.
> @@ -278,6 +315,12 @@ cvmx_helper_interface_mode_t cvmx_helper_interface_get_mode(int interface)
>   		return CVMX_HELPER_INTERFACE_MODE_DISABLED;
>
>   	/*
> +	 * OCTEON III models
> +	 */
> +	if (OCTEON_IS_MODEL(OCTEON_CN7XXX))
> +		return __cvmx_get_mode_cn7xxx(interface);
> +
> +	/*
>   	 * Octeon II models
>   	 */
>   	if (OCTEON_IS_MODEL(OCTEON_CN6XXX) || OCTEON_IS_MODEL(OCTEON_CNF71XX))
>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ