<feed xmlns='http://www.w3.org/2005/Atom'>
<title>BMC/Intel-BMC/linux.git/include/linux/phy.h, branch v4.10.16</title>
<subtitle>Intel OpenBMC Linux kernel source tree (mirror)</subtitle>
<id>https://git.radix-linux.su/BMC/Intel-BMC/linux.git/atom?h=v4.10.16</id>
<link rel='self' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/atom?h=v4.10.16'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/'/>
<updated>2017-05-03T15:37:42+00:00</updated>
<entry>
<title>net: phy: fix auto-negotiation stall due to unavailable interrupt</title>
<updated>2017-05-03T15:37:42+00:00</updated>
<author>
<name>Alexander Kochetkov</name>
<email>al.kochet@gmail.com</email>
</author>
<published>2017-04-20T11:00:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=683f8d60761cb22413e25ce0d58c8499bfc875c0'/>
<id>urn:sha1:683f8d60761cb22413e25ce0d58c8499bfc875c0</id>
<content type='text'>
[ Upstream commit f555f34fdc586a56204cd16d9a7c104ec6cb6650 ]

The Ethernet link on an interrupt driven PHY was not coming up if the Ethernet
cable was plugged before the Ethernet interface was brought up.

The patch trigger PHY state machine to update link state if PHY was requested to
do auto-negotiation and auto-negotiation complete flag already set.

During power-up cycle the PHY do auto-negotiation, generate interrupt and set
auto-negotiation complete flag. Interrupt is handled by PHY state machine but
doesn't update link state because PHY is in PHY_READY state. After some time
MAC bring up, start and request PHY to do auto-negotiation. If there are no new
settings to advertise genphy_config_aneg() doesn't start PHY auto-negotiation.
PHY continue to stay in auto-negotiation complete state and doesn't fire
interrupt. At the same time PHY state machine expect that PHY started
auto-negotiation and is waiting for interrupt from PHY and it won't get it.

Fixes: 321beec5047a ("net: phy: Use interrupts when available in NOLINK state")
Signed-off-by: Alexander Kochetkov &lt;al.kochet@gmail.com&gt;
Cc: stable &lt;stable@vger.kernel.org&gt; # v4.9+
Tested-by: Roger Quadros &lt;rogerq@ti.com&gt;
Tested-by: Alexandre Belloni &lt;alexandre.belloni@free-electrons.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>net: phy: leds: Break dependency of phy.h on phy_led_triggers.h</title>
<updated>2017-01-25T19:40:19+00:00</updated>
<author>
<name>Geert Uytterhoeven</name>
<email>geert+renesas@glider.be</email>
</author>
<published>2017-01-25T10:39:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=d6f8cfa3dea294eabf8f302e90176dd6381fb66e'/>
<id>urn:sha1:d6f8cfa3dea294eabf8f302e90176dd6381fb66e</id>
<content type='text'>
&lt;linux/phy.h&gt; includes &lt;linux/phy_led_triggers.h&gt;, which is not really
needed.  Drop the include from &lt;linux/phy.h&gt;, and add it to all users
that didn't include it explicitly.

Suggested-by: Andrew Lunn &lt;andrew@lunn.ch&gt;
Signed-off-by: Geert Uytterhoeven &lt;geert+renesas@glider.be&gt;
Reviewed-by: Andrew Lunn &lt;andrew@lunn.ch&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>phy: add phy fixup unregister functions</title>
<updated>2016-12-08T19:21:47+00:00</updated>
<author>
<name>Woojung.Huh@microchip.com</name>
<email>Woojung.Huh@microchip.com</email>
</author>
<published>2016-12-07T20:26:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=f38e7a32ee4fc9c8aeeac59e6e0462cd281586e3'/>
<id>urn:sha1:f38e7a32ee4fc9c8aeeac59e6e0462cd281586e3</id>
<content type='text'>
&gt;From : Woojung Huh &lt;woojung.huh@microchip.com&gt;

Add functions to unregister phy fixup for modules.

int phy_unregister_fixup(const char *bus_id, u32 phy_uid, u32 phy_uid_mask)
	Unregister phy fixup from phy_fixup_list per bus_id, phy_uid &amp;
	phy_uid_mask

int phy_unregister_fixup_for_uid(u32 phy_uid, u32 phy_uid_mask)
	Unregister phy fixup from phy_fixup_list.
	Use it for fixup registered by phy_register_fixup_for_uid()

int phy_unregister_fixup_for_id(const char *bus_id)
	Unregister phy fixup from phy_fixup_list.
	Use it for fixup registered by phy_register_fixup_for_id()

Signed-off-by: Woojung Huh &lt;woojung.huh@microchip.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: phy: add mdix_ctrl to hold the user configuration.</title>
<updated>2016-12-01T16:26:47+00:00</updated>
<author>
<name>Raju Lakkaraju</name>
<email>Raju.Lakkaraju@microsemi.com</email>
</author>
<published>2016-11-29T09:46:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=f4ed2fe34fb793755ef8cfc3509e783c4709ffc1'/>
<id>urn:sha1:f4ed2fe34fb793755ef8cfc3509e783c4709ffc1</id>
<content type='text'>
Add new parameter mdix_ctrl to hold the user configuration.
Existing mdix maintain the current status of MDI(X) crossover performed or
not.
mdix_ctrl can configure either ETH_TP_MDI or ETH_TP_MDI_X orETH_TP_MDI_AUTO.

Signed-off-by: Raju Lakkaraju &lt;Raju.Lakkaraju@microsemi.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: phy: add an option to disable EEE advertisement</title>
<updated>2016-11-30T00:38:31+00:00</updated>
<author>
<name>jbrunet</name>
<email>jbrunet@baylibre.com</email>
</author>
<published>2016-11-28T09:46:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=d853d145ea3e63387a2ac759aa41d5e43876e561'/>
<id>urn:sha1:d853d145ea3e63387a2ac759aa41d5e43876e561</id>
<content type='text'>
This patch adds an option to disable EEE advertisement in the generic PHY
by providing a mask of prohibited modes corresponding to the value found in
the MDIO_AN_EEE_ADV register.

On some platforms, PHY Low power idle seems to be causing issues, even
breaking the link some cases. The patch provides a convenient way for these
platforms to disable EEE advertisement and work around the issue.

Signed-off-by: Jerome Brunet &lt;jbrunet@baylibre.com&gt;
Tested-by: Yegor Yefremov &lt;yegorslists@googlemail.com&gt;
Tested-by: Andreas Färber &lt;afaerber@suse.de&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>ethtool: Implements ETHTOOL_PHY_GTUNABLE/ETHTOOL_PHY_STUNABLE</title>
<updated>2016-11-18T17:12:14+00:00</updated>
<author>
<name>Raju Lakkaraju</name>
<email>Raju.Lakkaraju@microsemi.com</email>
</author>
<published>2016-11-17T12:07:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=968ad9da7e0e333e25442950e10a1b631981ce84'/>
<id>urn:sha1:968ad9da7e0e333e25442950e10a1b631981ce84</id>
<content type='text'>
Adding get_tunable/set_tunable function pointer to the phy_driver
structure, and uses these function pointers to implement the
ETHTOOL_PHY_GTUNABLE/ETHTOOL_PHY_STUNABLE ioctls.

Signed-off-by: Raju Lakkaraju &lt;Raju.Lakkaraju@microsemi.com&gt;
Reviewed-by: Andrew Lunn &lt;andrew@lunn.ch&gt;
Signed-off-by: Allan W. Nielsen &lt;allan.nielsen@microsemi.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: phy: Add phy_ethtool_nway_reset</title>
<updated>2016-11-15T21:33:35+00:00</updated>
<author>
<name>Florian Fainelli</name>
<email>f.fainelli@gmail.com</email>
</author>
<published>2016-11-15T18:06:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=e86a8987e458a1826f509c41494b0b29a61144a7'/>
<id>urn:sha1:e86a8987e458a1826f509c41494b0b29a61144a7</id>
<content type='text'>
This function just calls into genphy_restart_aneg() to perform an
autonegotation restart.

Signed-off-by: Florian Fainelli &lt;f.fainelli@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: phy: expose phy_aneg_done API for use by drivers</title>
<updated>2016-11-13T05:56:26+00:00</updated>
<author>
<name>Lendacky, Thomas</name>
<email>Thomas.Lendacky@amd.com</email>
</author>
<published>2016-11-10T23:10:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=372788f964c95a6fa0f677c43d6153c27896ef42'/>
<id>urn:sha1:372788f964c95a6fa0f677c43d6153c27896ef42</id>
<content type='text'>
Make phy_aneg_done() available to drivers so that the result of the
auto-negotiation initiated by phy_start_aneg() can be determined.

Remove the local implementation of phy_aneg_done() from the Aeroflex
driver and use the phy library version.

Signed-off-by: Tom Lendacky &lt;thomas.lendacky@amd.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: phy: leds: add support for led triggers on phy link state change</title>
<updated>2016-10-18T15:56:31+00:00</updated>
<author>
<name>Zach Brown</name>
<email>zach.brown@ni.com</email>
</author>
<published>2016-10-17T15:49:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=2e0bc452f4721520502575362a9cd3c1248d2337'/>
<id>urn:sha1:2e0bc452f4721520502575362a9cd3c1248d2337</id>
<content type='text'>
Create an option CONFIG_LED_TRIGGER_PHY (default n), which will create a
set of led triggers for each instantiated PHY device. There is one LED
trigger per link-speed, per-phy.
The triggers are registered during phy_attach and unregistered during
phy_detach.

This allows for a user to configure their system to allow a set of LEDs
not controlled by the phy to represent link state changes on the phy.
LEDS controlled by the phy are unaffected.

For example, we have a board where some of the leds in the
RJ45 socket are controlled by the phy, but others are not. Using the
triggers provided by this patch the leds not controlled by the phy can
be configured to show the current speed of the ethernet connection. The
leds controlled by the phy are unaffected.

Signed-off-by: Josh Cartwright &lt;josh.cartwright@ni.com&gt;
Signed-off-by: Nathan Sullivan &lt;nathan.sullivan@ni.com&gt;
Signed-off-by: Zach Brown &lt;zach.brown@ni.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: phy: Create phy_supported_speeds function which lists speeds currently supported by a phydevice</title>
<updated>2016-10-18T15:56:31+00:00</updated>
<author>
<name>Zach Brown</name>
<email>zach.brown@ni.com</email>
</author>
<published>2016-10-17T15:49:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=1f9127caece42514a47011326b83ad93d95cd5d7'/>
<id>urn:sha1:1f9127caece42514a47011326b83ad93d95cd5d7</id>
<content type='text'>
phy_supported_speeds provides a means to get a list of all the speeds a
phy device currently supports.

Signed-off-by: Zach Brown &lt;zach.brown@ni.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
