Patch "phy: dphy: Correct lpx parameter and its derivatives(ta_{get,go,sure})" has been added to the 5.15-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: dphy: Correct lpx parameter and its derivatives(ta_{get,go,sure})

to the 5.15-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-dphy-correct-lpx-parameter-and-its-derivatives-t.patch
and it can be found in the queue-5.15 subdirectory.

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



commit 62b9ad218583e667c0d7e7a9cf672e7e7fd50e60
Author: Liu Ying <victor.liu@xxxxxxx>
Date:   Wed Feb 16 15:12:57 2022 +0800

    phy: dphy: Correct lpx parameter and its derivatives(ta_{get,go,sure})
    
    [ Upstream commit 3153fa38e38af566cf6454a03b1dbadaf6f323c0 ]
    
    According to the comment of the function phy_mipi_dphy_get_default_config(),
    it uses minimum D-PHY timings based on MIPI D-PHY specification.  They are
    derived from the valid ranges specified in Section 6.9, Table 14, Page 41
    of the D-PHY specification (v1.2).  The table 14 explicitly mentions that
    the minimum T-LPX parameter is 50 nanoseconds and the minimum TA-SURE
    parameter is T-LPX nanoseconds.  Likewise, the kernel doc of the 'lpx' and
    'ta_sure' members of struct phy_configure_opts_mipi_dphy mentions that
    the minimum values are 50000 picoseconds and @lpx picoseconds respectively.
    Also, the function phy_mipi_dphy_config_validate() checks if cfg->lpx is
    less than 50000 picoseconds and if cfg->ta_sure is less than cfg->lpx,
    which hints the same minimum values.
    
    Without this patch, the function phy_mipi_dphy_get_default_config()
    wrongly sets cfg->lpx to 60000 picoseconds and cfg->ta_sure to 2 * cfg->lpx.
    So, let's correct them to 50000 picoseconds and cfg->lpx respectively.
    
    Note that I've only tested the patch with RM67191 DSI panel on i.MX8mq EVK.
    Help is needed to test with other i.MX8mq, Meson and Rockchip platforms,
    as I don't have the hardwares.
    
    Fixes: dddc97e82303 ("phy: dphy: Add configuration helpers")
    Cc: Andrzej Hajda <andrzej.hajda@xxxxxxxxx>
    Cc: Neil Armstrong <narmstrong@xxxxxxxxxxxx>
    Cc: Laurent Pinchart <Laurent.pinchart@xxxxxxxxxxxxxxxx>
    Cc: Kishon Vijay Abraham I <kishon@xxxxxx>
    Cc: Vinod Koul <vkoul@xxxxxxxxxx>
    Cc: Heiko Stuebner <heiko@xxxxxxxxx>
    Cc: Maxime Ripard <mripard@xxxxxxxxxx>
    Cc: Guido Günther <agx@xxxxxxxxxxx>
    Signed-off-by: Liu Ying <victor.liu@xxxxxxx>
    Link: https://lore.kernel.org/r/20220216071257.1647703-1-victor.liu@xxxxxxx
    Signed-off-by: Vinod Koul <vkoul@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/phy/phy-core-mipi-dphy.c b/drivers/phy/phy-core-mipi-dphy.c
index ccb4045685cd..929e86d6558e 100644
--- a/drivers/phy/phy-core-mipi-dphy.c
+++ b/drivers/phy/phy-core-mipi-dphy.c
@@ -64,10 +64,10 @@ int phy_mipi_dphy_get_default_config(unsigned long pixel_clock,
 	cfg->hs_trail = max(4 * 8 * ui, 60000 + 4 * 4 * ui);
 
 	cfg->init = 100;
-	cfg->lpx = 60000;
+	cfg->lpx = 50000;
 	cfg->ta_get = 5 * cfg->lpx;
 	cfg->ta_go = 4 * cfg->lpx;
-	cfg->ta_sure = 2 * cfg->lpx;
+	cfg->ta_sure = cfg->lpx;
 	cfg->wakeup = 1000;
 
 	cfg->hs_clk_rate = hs_clk_rate;



[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