Patch "net: phy: realtek: add support for RTL8366S Gigabit PHY" has been added to the 6.6-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    net: phy: realtek: add support for RTL8366S Gigabit PHY

to the 6.6-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     net-phy-realtek-add-support-for-rtl8366s-gigabit-phy.patch
and it can be found in the queue-6.6 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit b72cf9aaed4d23da94bc82db5050b25d91ccb98d
Author: Mark Mentovai <mark@xxxxxxxxxxxx>
Date:   Thu Jul 25 16:41:44 2024 -0400

    net: phy: realtek: add support for RTL8366S Gigabit PHY
    
    [ Upstream commit 225990c487c1023e7b3aa89beb6a68011fbc0461 ]
    
    The PHY built in to the Realtek RTL8366S switch controller was
    previously supported by genphy_driver. This PHY does not implement MMD
    operations. Since commit 9b01c885be36 ("net: phy: c22: migrate to
    genphy_c45_write_eee_adv()"), MMD register reads have been made during
    phy_probe to determine EEE support. For genphy_driver, these reads are
    transformed into 802.3 annex 22D clause 45-over-clause 22
    mmd_phy_indirect operations that perform MII register writes to
    MII_MMD_CTRL and MII_MMD_DATA. This overwrites those two MII registers,
    which on this PHY are reserved and have another function, rendering the
    PHY unusable while so configured.
    
    Proper support for this PHY is restored by providing a phy_driver that
    declares MMD operations as unsupported by using the helper functions
    provided for that purpose, while remaining otherwise identical to
    genphy_driver.
    
    Fixes: 9b01c885be36 ("net: phy: c22: migrate to genphy_c45_write_eee_adv()")
    Reported-by: Russell Senior <russell@xxxxxxxxxxxxxxxxx>
    Closes: https://github.com/openwrt/openwrt/issues/15981
    Link: https://github.com/openwrt/openwrt/issues/15739
    Signed-off-by: Mark Mentovai <mark@xxxxxxxxxxxx>
    Reviewed-by: Maxime Chevallier <maxime.chevallier@xxxxxxxxxxx>
    Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/net/phy/realtek.c b/drivers/net/phy/realtek.c
index 337899c69738e..2604d9663a5b2 100644
--- a/drivers/net/phy/realtek.c
+++ b/drivers/net/phy/realtek.c
@@ -1083,6 +1083,13 @@ static struct phy_driver realtek_drvs[] = {
 		.handle_interrupt = genphy_handle_interrupt_no_ack,
 		.suspend	= genphy_suspend,
 		.resume		= genphy_resume,
+	}, {
+		PHY_ID_MATCH_EXACT(0x001cc960),
+		.name		= "RTL8366S Gigabit Ethernet",
+		.suspend	= genphy_suspend,
+		.resume		= genphy_resume,
+		.read_mmd	= genphy_read_mmd_unsupported,
+		.write_mmd	= genphy_write_mmd_unsupported,
 	},
 };
 




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux