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]
Message-ID: <CAGm1_kuDsWHxnwEm=odgafSHvf_9KoxUCLN4++C0UW8zGft+4Q@mail.gmail.com>
Date:	Fri, 7 Nov 2014 17:27:23 +0100
From:	Yegor Yefremov <yegorslists@...glemail.com>
To:	Mugunthan V N <mugunthanvnm@...com>
Cc:	Florian Fainelli <f.fainelli@...il.com>,
	netdev <netdev@...r.kernel.org>, mpa@...gutronix.de,
	lsorense@...lub.uwaterloo.ca, Daniel Mack <zonque@...il.com>
Subject: Re: am335x: cpsw: phy ignores max-speed setting

On Fri, Nov 7, 2014 at 5:11 PM, Mugunthan V N <mugunthanvnm@...com> wrote:
> On Friday 07 November 2014 12:41 PM, Yegor Yefremov wrote:
>> On Thu, Nov 6, 2014 at 5:58 PM, Florian Fainelli <f.fainelli@...il.com> wrote:
>>> On 11/06/2014 08:25 AM, Yegor Yefremov wrote:
>>>> I' m trying to override max-speed setting for both CPSW connected
>>>> PHYs. This is my DTS section for configuring CPSW:
>>>>
>>>> &mac {
>>>>         pinctrl-names = "default", "sleep";
>>>>         pinctrl-0 = <&cpsw_default>;
>>>>         pinctrl-1 = <&cpsw_sleep>;
>>>>         dual_emac = <1>;
>>>>
>>>>         status = "okay";
>>>> };
>>>>
>>>> &davinci_mdio {
>>>>         pinctrl-names = "default", "sleep";
>>>>         pinctrl-0 = <&davinci_mdio_default>;
>>>>         pinctrl-1 = <&davinci_mdio_sleep>;
>>>>
>>>>         status = "okay";
>>>> };
>>>>
>>>> &cpsw_emac0 {
>>>>         phy_id = <&davinci_mdio>, <0>;
>>>>         phy-mode = "rgmii-id";
>>>>         dual_emac_res_vlan = <1>;
>>>>         max-speed = <100>;
>>>> };
>>>>
>>>> &cpsw_emac1 {
>>>>         phy_id = <&davinci_mdio>, <1>;
>>>>         phy-mode = "rgmii-id";
>>>>         dual_emac_res_vlan = <2>;
>>>>         max-speed = <100>;
>>>> };
>>>>
>>>> But in drivers/net/phy/phy_device.c->of_set_phy_supported() routine I
>>>> don't get through node check, i.e. node == NULL. Any idea why?
>>>
>>> Yes, because the 'max-speed' property is placed at the Ethernet MAC node
>>> level, not the PHY node as of_set_phy_supported() expect its.
>>>
>>> This driver does not appear to use the standard Ethernet PHY device tree
>>> node, so I am not sure what are your options here.
>>
>> The SoC has a complex structure, i.e. Ethernet controller has a switch
>> inside with two slaves.
>>
>> A workaround would be perhaps to handle this option in cpsw driver.
>>
>> Mugunthan, what do you think about this?
>
> Yes, CPSW is different from what linux networking is designed for, it
> has two ethernet slave and acts as a Layer 2 switch.
>
> * If you need on a run time basis you can change the supported speed via
> ethtool advertise interface
> * If needed on boot for nfs then need to think of how it can be achieved
> in cpsw driver. Will have a look and update this thread.

ethtool is working, but requires a custom script, so DTS solution
would suite better.

Thanks.

Yegor
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ