Patch "phy: qcom-qmp-usb: fix register offsets for ipq8074/ipq6018" has been added to the 6.7-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

    phy: qcom-qmp-usb: fix register offsets for ipq8074/ipq6018

to the 6.7-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:
     phy-qcom-qmp-usb-fix-register-offsets-for-ipq8074-ip.patch
and it can be found in the queue-6.7 subdirectory.

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



commit 22e14995d5484ed396ea4792fe8a0fff4cc4653b
Author: Mantas Pucka <mantas@xxxxxxxxxxxx>
Date:   Tue Jan 23 18:09:19 2024 +0200

    phy: qcom-qmp-usb: fix register offsets for ipq8074/ipq6018
    
    [ Upstream commit f74c35b630d40d414ca6b53f7b1b468dd4abf478 ]
    
    Commit 2be22aae6b18 ("phy: qcom-qmp-usb: populate offsets configuration")
    introduced register offsets to the driver but for ipq8074/ipq6018 they do
    not match what was in the old style device tree. Example from old
    ipq6018.dtsi:
    
    <0x00078200 0x130>,     /* Tx */
    <0x00078400 0x200>,     /* Rx */
    <0x00078800 0x1f8>,     /* PCS */
    <0x00078600 0x044>;     /* PCS misc */
    
    which would translate to:
    {.., .pcs = 0x800, .pcs_misc = 0x600, .tx = 0x200, .rx = 0x400 }
    
    but was translated to:
    {.., .pcs = 0x600, .tx = 0x200, .rx = 0x400 }
    
    So split usb_offsets and fix USB initialization for IPQ8074 and IPQ6018.
    Tested only on IPQ6018
    
    Fixes: 2be22aae6b18 ("phy: qcom-qmp-usb: populate offsets configuration")
    Signed-off-by: Mantas Pucka <mantas@xxxxxxxxxxxx>
    Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx>
    Link: https://lore.kernel.org/r/1706026160-17520-2-git-send-email-mantas@xxxxxxxxxxxx
    Signed-off-by: Vinod Koul <vkoul@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/phy/qualcomm/phy-qcom-qmp-usb.c b/drivers/phy/qualcomm/phy-qcom-qmp-usb.c
index 02f156298e77..896a37c1e592 100644
--- a/drivers/phy/qualcomm/phy-qcom-qmp-usb.c
+++ b/drivers/phy/qualcomm/phy-qcom-qmp-usb.c
@@ -1276,6 +1276,14 @@ static const char * const qmp_phy_vreg_l[] = {
 	"vdda-phy", "vdda-pll",
 };
 
+static const struct qmp_usb_offsets qmp_usb_offsets_ipq8074 = {
+	.serdes		= 0,
+	.pcs		= 0x800,
+	.pcs_misc	= 0x600,
+	.tx		= 0x200,
+	.rx		= 0x400,
+};
+
 static const struct qmp_usb_offsets qmp_usb_offsets_ipq9574 = {
 	.serdes		= 0,
 	.pcs		= 0x800,
@@ -1320,7 +1328,7 @@ static const struct qmp_usb_offsets qmp_usb_offsets_v5 = {
 static const struct qmp_phy_cfg ipq8074_usb3phy_cfg = {
 	.lanes			= 1,
 
-	.offsets		= &qmp_usb_offsets_v3,
+	.offsets		= &qmp_usb_offsets_ipq8074,
 
 	.serdes_tbl		= ipq8074_usb3_serdes_tbl,
 	.serdes_tbl_num		= ARRAY_SIZE(ipq8074_usb3_serdes_tbl),




[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