summaryrefslogtreecommitdiff
path: root/fs/freevxfs
diff options
context:
space:
mode:
authorFurong Xu <0x1207@gmail.com>2024-09-06 17:30:08 +0300
committerJakub Kicinski <kuba@kernel.org>2024-09-11 02:42:11 +0300
commit8d43e99a5a03ae8307b2d588ec080308f35ebc9e (patch)
tree5483e40cb8c6282abf7dba12ae2dd0f5488ef5a8 /fs/freevxfs
parent59dd7fc932e54083b0e7d3e1f4ddf6ba3a158b0e (diff)
downloadlinux-8d43e99a5a03ae8307b2d588ec080308f35ebc9e.tar.xz
net: stmmac: refactor FPE verification process
Drop driver defined stmmac_fpe_state, and switch to common ethtool_mm_verify_status for local TX verification status. Local side and remote side verification processes are completely independent. There is no reason at all to keep a local state and a remote state. Add a spinlock to avoid races among ISR, timer, link update and register configuration. This patch is based on Vladimir Oltean's proposal. Vladimir Oltean says: ==================== In the INITIAL state, the timer sends MPACKET_VERIFY. Eventually the stmmac_fpe_event_status() IRQ fires and advances the state to VERIFYING, then rearms the timer after verify_time ms. If a subsequent IRQ comes in and modifies the state to SUCCEEDED after getting MPACKET_RESPONSE, the timer sees this. It must enable the EFPE bit now. Otherwise, it decrements the verify_limit counter and tries again. Eventually it moves the status to FAILED, from which the IRQ cannot move it anywhere else, except for another stmmac_fpe_apply() call. ==================== Co-developed-by: Vladimir Oltean <vladimir.oltean@nxp.com> Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Signed-off-by: Furong Xu <0x1207@gmail.com> Reviewed-by: Vladimir Oltean <olteanv@gmail.com> Link: https://patch.msgid.link/151f86c8428eba967039718c6bf90a7d841e703b.1725631883.git.0x1207@gmail.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'fs/freevxfs')
0 files changed, 0 insertions, 0 deletions