<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-stable.git/include/linux/stmmac.h, branch v5.13.2</title>
<subtitle>Linux kernel stable tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/'/>
<entry>
<title>net: stmmac: Add HW descriptor prefetch setting for DWMAC Core 5.20 onwards</title>
<updated>2021-04-22T22:02:40+00:00</updated>
<author>
<name>Mohammad Athari Bin Ismail</name>
<email>mohammad.athari.ismail@intel.com</email>
</author>
<published>2021-04-22T07:55:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=96874c619c200bc704ae2d8e34a3746350922135'/>
<id>96874c619c200bc704ae2d8e34a3746350922135</id>
<content type='text'>
DWMAC Core 5.20 onwards supports HW descriptor prefetching.
Additionally, it also depends on platform specific RTL configuration.
This capability could be enabled by setting DMA_Mode bit-19 (DCHE).

So, to enable this cability, platform must set plat-&gt;dma_cfg-&gt;dche = true
and the DWMAC core version must be 5.20 onwards. Else, this capability
wouldn`t be configured

Signed-off-by: Mohammad Athari Bin Ismail &lt;mohammad.athari.ismail@intel.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
DWMAC Core 5.20 onwards supports HW descriptor prefetching.
Additionally, it also depends on platform specific RTL configuration.
This capability could be enabled by setting DMA_Mode bit-19 (DCHE).

So, to enable this cability, platform must set plat-&gt;dma_cfg-&gt;dche = true
and the DWMAC core version must be 5.20 onwards. Else, this capability
wouldn`t be configured

Signed-off-by: Mohammad Athari Bin Ismail &lt;mohammad.athari.ismail@intel.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>net: stmmac: Add support for external trigger timestamping</title>
<updated>2021-04-14T19:57:45+00:00</updated>
<author>
<name>Tan Tee Min</name>
<email>tee.min.tan@intel.com</email>
</author>
<published>2021-04-14T00:16:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=f4da56529da602010979e8497d1f02eaf5df8883'/>
<id>f4da56529da602010979e8497d1f02eaf5df8883</id>
<content type='text'>
The Synopsis MAC controller supports auxiliary snapshot feature that
allows user to store a snapshot of the system time based on an external
event.

This patch add supports to the above mentioned feature. Users will be
able to triggered capturing the time snapshot from user-space using
application such as testptp or any other applications that uses the
PTP_EXTTS_REQUEST ioctl request.

Cc: Richard Cochran &lt;richardcochran@gmail.com&gt;
Signed-off-by: Tan Tee Min &lt;tee.min.tan@intel.com&gt;
Co-developed-by: Wong Vee Khee &lt;vee.khee.wong@linux.intel.com&gt;
Signed-off-by: Wong Vee Khee &lt;vee.khee.wong@linux.intel.com&gt;
Acked-by: Richard Cochran &lt;richardcochran@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The Synopsis MAC controller supports auxiliary snapshot feature that
allows user to store a snapshot of the system time based on an external
event.

This patch add supports to the above mentioned feature. Users will be
able to triggered capturing the time snapshot from user-space using
application such as testptp or any other applications that uses the
PTP_EXTTS_REQUEST ioctl request.

Cc: Richard Cochran &lt;richardcochran@gmail.com&gt;
Signed-off-by: Tan Tee Min &lt;tee.min.tan@intel.com&gt;
Co-developed-by: Wong Vee Khee &lt;vee.khee.wong@linux.intel.com&gt;
Signed-off-by: Wong Vee Khee &lt;vee.khee.wong@linux.intel.com&gt;
Acked-by: Richard Cochran &lt;richardcochran@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>net: stmmac: use interrupt mode INTM=1 for multi-MSI</title>
<updated>2021-03-26T00:37:30+00:00</updated>
<author>
<name>Wong, Vee Khee</name>
<email>vee.khee.wong@intel.com</email>
</author>
<published>2021-03-25T17:39:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=6ccf12ae111e49324b439410066e8cc359aeee6d'/>
<id>6ccf12ae111e49324b439410066e8cc359aeee6d</id>
<content type='text'>
For interrupt mode INTM=0, TX/RX transfer complete will trigger signal
not only on sbd_perch_[tx|rx]_intr_o (Transmit/Receive Per Channel) but
also on the sbd_intr_o (Common).

As for multi-MSI implementation, setting interrupt mode INTM=1 is more
efficient as each TX intr and RX intr (TI/RI) will be handled by TX/RX ISR
without the need of calling the common MAC ISR.

Updated the TX/RX NORMAL interrupts status checking process as the
NIS status bit is not asserted for any RI/TI events for INTM=1.

Signed-off-by: Wong, Vee Khee &lt;vee.khee.wong@intel.com&gt;
Co-developed-by: Voon Weifeng &lt;weifeng.voon@intel.com&gt;
Signed-off-by: Voon Weifeng &lt;weifeng.voon@intel.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
For interrupt mode INTM=0, TX/RX transfer complete will trigger signal
not only on sbd_perch_[tx|rx]_intr_o (Transmit/Receive Per Channel) but
also on the sbd_intr_o (Common).

As for multi-MSI implementation, setting interrupt mode INTM=1 is more
efficient as each TX intr and RX intr (TI/RI) will be handled by TX/RX ISR
without the need of calling the common MAC ISR.

Updated the TX/RX NORMAL interrupts status checking process as the
NIS status bit is not asserted for any RI/TI events for INTM=1.

Signed-off-by: Wong, Vee Khee &lt;vee.khee.wong@intel.com&gt;
Co-developed-by: Voon Weifeng &lt;weifeng.voon@intel.com&gt;
Signed-off-by: Voon Weifeng &lt;weifeng.voon@intel.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>net: stmmac: introduce MSI Interrupt routines for mac, safety, RX &amp; TX</title>
<updated>2021-03-26T00:37:30+00:00</updated>
<author>
<name>Ong Boon Leong</name>
<email>boon.leong.ong@intel.com</email>
</author>
<published>2021-03-25T17:39:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=8532f613bc78b6e0e32b486e720848d3f5569287'/>
<id>8532f613bc78b6e0e32b486e720848d3f5569287</id>
<content type='text'>
Now we introduce MSI interrupt service routines and hook these routines
up if stmmac_open() sees valid irq line being requested:-

stmmac_mac_interrupt()    :- MAC (dev-&gt;irq), WOL (wol_irq), LPI (lpi_irq)
stmmac_safety_interrupt() :- Safety Feat Correctible Error (sfty_ce_irq)
                             &amp; Uncorrectible Error (sfty_ue_irq)
stmmac_msi_intr_rx()      :- For all RX MSI irq (rx_irq)
stmmac_msi_intr_tx()      :- For all TX MSI irq (tx_irq)

Each of IRQs will have its unique name so that we can differentiate
them easily under /proc/interrupts.

Signed-off-by: Ong Boon Leong &lt;boon.leong.ong@intel.com&gt;
Signed-off-by: Voon Weifeng &lt;weifeng.voon@intel.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Now we introduce MSI interrupt service routines and hook these routines
up if stmmac_open() sees valid irq line being requested:-

stmmac_mac_interrupt()    :- MAC (dev-&gt;irq), WOL (wol_irq), LPI (lpi_irq)
stmmac_safety_interrupt() :- Safety Feat Correctible Error (sfty_ce_irq)
                             &amp; Uncorrectible Error (sfty_ue_irq)
stmmac_msi_intr_rx()      :- For all RX MSI irq (rx_irq)
stmmac_msi_intr_tx()      :- For all TX MSI irq (tx_irq)

Each of IRQs will have its unique name so that we can differentiate
them easily under /proc/interrupts.

Signed-off-by: Ong Boon Leong &lt;boon.leong.ong@intel.com&gt;
Signed-off-by: Voon Weifeng &lt;weifeng.voon@intel.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>net: stmmac: support FPE link partner hand-shaking procedure</title>
<updated>2021-03-25T00:58:13+00:00</updated>
<author>
<name>Ong Boon Leong</name>
<email>boon.leong.ong@intel.com</email>
</author>
<published>2021-03-24T09:07:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=5a5586112b929546e16029261a987c9197bfdfa2'/>
<id>5a5586112b929546e16029261a987c9197bfdfa2</id>
<content type='text'>
In order to discover whether remote station supports frame preemption,
local station sends verify mPacket and expects response mPacket in
return from the remote station.

So, we add the functions to send and handle event when verify mPacket
and response mPacket are exchanged between the networked stations.

The mechanism to handle different FPE states between local and remote
station (link partner) is implemented using workqueue which starts a
task each time there is some sign of verify &amp; response mPacket exchange
as check in FPE IRQ event. The task retries couple of times to try to
spot the states that both stations are ready to enter FPE ON. This allows
different end points to enable FPE at different time and verify-response
mPacket can happen asynchronously. Ultimately, the task will only turn
FPE ON when local station have both exchange response in both directions.

Thanks to Voon Weifeng for implementing the core functions for detecting
FPE events and send mPacket and phylink related change.

Signed-off-by: Ong Boon Leong &lt;boon.leong.ong@intel.com&gt;
Co-developed-by: Voon Weifeng &lt;weifeng.voon@intel.com&gt;
Signed-off-by: Voon Weifeng &lt;weifeng.voon@intel.com&gt;
Co-developed-by: Tan Tee Min &lt;tee.min.tan@intel.com&gt;
Signed-off-by: Tan Tee Min &lt;tee.min.tan@intel.com&gt;
Co-developed-by: Mohammad Athari Bin Ismail &lt;mohammad.athari.ismail@intel.com&gt;
Signed-off-by: Mohammad Athari Bin Ismail &lt;mohammad.athari.ismail@intel.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In order to discover whether remote station supports frame preemption,
local station sends verify mPacket and expects response mPacket in
return from the remote station.

So, we add the functions to send and handle event when verify mPacket
and response mPacket are exchanged between the networked stations.

The mechanism to handle different FPE states between local and remote
station (link partner) is implemented using workqueue which starts a
task each time there is some sign of verify &amp; response mPacket exchange
as check in FPE IRQ event. The task retries couple of times to try to
spot the states that both stations are ready to enter FPE ON. This allows
different end points to enable FPE at different time and verify-response
mPacket can happen asynchronously. Ultimately, the task will only turn
FPE ON when local station have both exchange response in both directions.

Thanks to Voon Weifeng for implementing the core functions for detecting
FPE events and send mPacket and phylink related change.

Signed-off-by: Ong Boon Leong &lt;boon.leong.ong@intel.com&gt;
Co-developed-by: Voon Weifeng &lt;weifeng.voon@intel.com&gt;
Signed-off-by: Voon Weifeng &lt;weifeng.voon@intel.com&gt;
Co-developed-by: Tan Tee Min &lt;tee.min.tan@intel.com&gt;
Signed-off-by: Tan Tee Min &lt;tee.min.tan@intel.com&gt;
Co-developed-by: Mohammad Athari Bin Ismail &lt;mohammad.athari.ismail@intel.com&gt;
Signed-off-by: Mohammad Athari Bin Ismail &lt;mohammad.athari.ismail@intel.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>net: stmmac: Add hardware supported cross-timestamp</title>
<updated>2021-03-24T22:12:36+00:00</updated>
<author>
<name>Tan Tee Min</name>
<email>tee.min.tan@intel.com</email>
</author>
<published>2021-03-23T11:07:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=341f67e424e572bfc034daa534c6fa667533e6a4'/>
<id>341f67e424e572bfc034daa534c6fa667533e6a4</id>
<content type='text'>
Cross timestamping is supported on Integrated Ethernet Controller in
Intel SoC such as EHL and TGL with Always Running Timer.

The hardware cross-timestamp result is made available to
applications through the PTP_SYS_OFFSET_PRECISE ioctl which calls
stmmac_getcrosststamp().

Device time is stored in the MAC Auxiliary register. The 64-bit System
time (ART timestamp) is stored in registers that are only addressable
by using MDIO space.

Signed-off-by: Tan Tee Min &lt;tee.min.tan@intel.com&gt;
Co-developed-by: Wong Vee Khee &lt;vee.khee.wong@linux.intel.com&gt;
Signed-off-by: Wong Vee Khee &lt;vee.khee.wong@linux.intel.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Cross timestamping is supported on Integrated Ethernet Controller in
Intel SoC such as EHL and TGL with Always Running Timer.

The hardware cross-timestamp result is made available to
applications through the PTP_SYS_OFFSET_PRECISE ioctl which calls
stmmac_getcrosststamp().

Device time is stored in the MAC Auxiliary register. The 64-bit System
time (ART timestamp) is stored in registers that are only addressable
by using MDIO space.

Signed-off-by: Tan Tee Min &lt;tee.min.tan@intel.com&gt;
Co-developed-by: Wong Vee Khee &lt;vee.khee.wong@linux.intel.com&gt;
Signed-off-by: Wong Vee Khee &lt;vee.khee.wong@linux.intel.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>stmmac: intel: Add PSE and PCH PTP clock source selection</title>
<updated>2021-03-19T02:10:51+00:00</updated>
<author>
<name>Wong, Vee Khee</name>
<email>vee.khee.wong@intel.com</email>
</author>
<published>2021-03-17T01:32:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=76da35dc99afb460b9c335182ba6a3e7ff924186'/>
<id>76da35dc99afb460b9c335182ba6a3e7ff924186</id>
<content type='text'>
Intel mGbE variant implemented in EHL and TGL can be set to select
different clock frequency based on GPO bits in MAC_GPIO_STATUS register.

We introduce a new "void (*ptp_clk_freq_config)(void *priv)" in platform
data so that if a platform is required to configure the frequency of clock
source, in this case Intel mGBE does, the platform-specific configuration
of the PTP clock setting is done when stmmac_ptp_register() is called.

Signed-off-by: Wong, Vee Khee &lt;vee.khee.wong@intel.com&gt;
Signed-off-by: Voon Weifeng &lt;weifeng.voon@intel.com&gt;
Co-developed-by: Ong Boon Leong &lt;boon.leong.ong@intel.com&gt;
Signed-off-by: Ong Boon Leong &lt;boon.leong.ong@intel.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Intel mGbE variant implemented in EHL and TGL can be set to select
different clock frequency based on GPO bits in MAC_GPIO_STATUS register.

We introduce a new "void (*ptp_clk_freq_config)(void *priv)" in platform
data so that if a platform is required to configure the frequency of clock
source, in this case Intel mGBE does, the platform-specific configuration
of the PTP clock setting is done when stmmac_ptp_register() is called.

Signed-off-by: Wong, Vee Khee &lt;vee.khee.wong@intel.com&gt;
Signed-off-by: Voon Weifeng &lt;weifeng.voon@intel.com&gt;
Co-developed-by: Ong Boon Leong &lt;boon.leong.ong@intel.com&gt;
Signed-off-by: Ong Boon Leong &lt;boon.leong.ong@intel.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>net: stmmac: add platform level clocks management</title>
<updated>2021-03-15T21:46:21+00:00</updated>
<author>
<name>Joakim Zhang</name>
<email>qiangqing.zhang@nxp.com</email>
</author>
<published>2021-03-15T12:16:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=b4d45aee6635197d257f3469413837cd94fc11f4'/>
<id>b4d45aee6635197d257f3469413837cd94fc11f4</id>
<content type='text'>
This patch intends to add platform level clocks management. Some
platforms may have their own special clocks, they also need to be
managed dynamically. If you want to manage such clocks, please implement
clks_config callback.

Reviewed-by: Andrew Lunn &lt;andrew@lunn.ch&gt;
Signed-off-by: Joakim Zhang &lt;qiangqing.zhang@nxp.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch intends to add platform level clocks management. Some
platforms may have their own special clocks, they also need to be
managed dynamically. If you want to manage such clocks, please implement
clks_config callback.

Reviewed-by: Andrew Lunn &lt;andrew@lunn.ch&gt;
Signed-off-by: Joakim Zhang &lt;qiangqing.zhang@nxp.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>net: stmmac: make in-band AN mode parsing is supported for non-DT</title>
<updated>2021-03-15T19:53:12+00:00</updated>
<author>
<name>Ong Boon Leong</name>
<email>boon.leong.ong@intel.com</email>
</author>
<published>2021-03-15T05:27:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=e5e5b771f684c22b25c67df85d2deb43901f7b95'/>
<id>e5e5b771f684c22b25c67df85d2deb43901f7b95</id>
<content type='text'>
Not all platform uses DT, so phylink_parse_mode() will skip in-band setup
of pl-&gt;supported and pl-&gt;link_config.advertising entirely. So, we add the
setting of ovr_an_inband flag to make it works for non-DT platform.

Signed-off-by: Ong Boon Leong &lt;boon.leong.ong@intel.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Not all platform uses DT, so phylink_parse_mode() will skip in-band setup
of pl-&gt;supported and pl-&gt;link_config.advertising entirely. So, we add the
setting of ovr_an_inband flag to make it works for non-DT platform.

Signed-off-by: Ong Boon Leong &lt;boon.leong.ong@intel.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>net: stmmac: Add PCI bus info to ethtool driver query output</title>
<updated>2021-02-17T22:25:50+00:00</updated>
<author>
<name>Wong Vee Khee</name>
<email>vee.khee.wong@intel.com</email>
</author>
<published>2021-02-17T09:57:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=20e07e2c3cf310578ef19fb4f1e64dc9832abd9d'/>
<id>20e07e2c3cf310578ef19fb4f1e64dc9832abd9d</id>
<content type='text'>
This patch populates the PCI bus info in the ethtool driver query data.

Users will be able to view PCI bus info using 'ethtool -i &lt;interface&gt;'.

Signed-off-by: Wong Vee Khee &lt;vee.khee.wong@intel.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch populates the PCI bus info in the ethtool driver query data.

Users will be able to view PCI bus info using 'ethtool -i &lt;interface&gt;'.

Signed-off-by: Wong Vee Khee &lt;vee.khee.wong@intel.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
</feed>
