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  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Sat, 4 Jun 2016 14:43:11 +0000
From:	"Langer, Thomas" <thomas.langer@...el.com>
To:	Hauke Mehrtens <hauke@...ke-m.de>,
	"f.fainelli@...il.com" <f.fainelli@...il.com>
CC:	"alexander.stein@...tec-electronic.com" 
	<alexander.stein@...tec-electronic.com>,
	"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
	"andrew@...n.ch" <andrew@...n.ch>,
	"john@...ozen.org" <john@...ozen.org>,
	"openwrt@...sin.me" <openwrt@...sin.me>,
	"Mehrtens, Hauke" <hauke.mehrtens@...el.com>,
	"daniel.schwierzeck@...il.com" <daniel.schwierzeck@...il.com>,
	"eckert.florian@...glemail.com" <eckert.florian@...glemail.com>,
	"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>
Subject: RE: [RFC v3 1/3] NET: PHY: adds driver for Intel XWAY PHY

Hello Hauke,

[...]
> +
> +static int xway_gphy_ack_interrupt(struct phy_device *phydev)
> +{
> +	int reg;
> +
> +	/**
> +	 * Possible IRQ numbers:
> +	 * - IM3_IRL18 for GPHY0
> +	 * - IM3_IRL17 for GPHY1

These are references to the SoC interrupts.

> +	 *
> +	 * Due to a silicon bug IRQ lines are not really independent from
> +	 * each other. Sometimes the two lines are driven at the same time
> +	 * if only one GPHY core raises the interrupt.

So this errata sounds like a SoC errata, not an errata for the PHY.

> +	 */
> +	reg = phy_read(phydev, XWAY_MDIO_ISTAT);
> +
> +	return (reg < 0) ? reg : 0;
> +}
> +
[...]
> +
> +static struct phy_driver xway_gphy[] = {
> +	{
> +		.phy_id		= PHY_ID_PHY11G_1_3,
> +		.phy_id_mask	= 0xffffffff,
> +		.name		= "Intel XWAY PHY11G (PEF 7071/PEF 7072)
> v1.3",
> +		.features	= (PHY_GBIT_FEATURES |
> SUPPORTED_Pause |
> +				   SUPPORTED_Asym_Pause),
> +		 /* there is an errata regarding irqs in this rev */

And then this is comment is also now valid.
What about a system with a single external phy connected,
on a non-Lantiq/Intel SoC?

I think the feasibility of using interrupts is not related to the phy version,
but indirectly by the version of the SoC it is integrated.

So maybe he use of interrupts (on these SoCs) should be controlled by devicetree or
network driver, where the SoC type and version can be handled?

> +		.flags		= 0,
> +		.config_init	= xway_gphy_config_init,
> +		.config_aneg	= xway_gphy14_config_aneg,
> +		.read_status	= genphy_read_status,
> +		.ack_interrupt	= xway_gphy_ack_interrupt,
> +		.did_interrupt	= xway_gphy_did_interrupt,
> +		.config_intr	= xway_gphy_config_intr,
> +		.suspend	= genphy_suspend,
> +		.resume		= genphy_resume,
> +	}, {
[...]

Regards,
Thomas

Powered by blists - more mailing lists