From 2f7c68cb55ecb7331f2381deb497c27155f32faf Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Wed, 03 Jan 2024 09:43:39 +0000
Subject: [PATCH] update kernel to 5.10.198

---
 kernel/drivers/phy/rockchip/phy-rockchip-samsung-dcphy.c |   16 ++++++++--------
 1 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/kernel/drivers/phy/rockchip/phy-rockchip-samsung-dcphy.c b/kernel/drivers/phy/rockchip/phy-rockchip-samsung-dcphy.c
index 8e9e719..bd8a0ac 100644
--- a/kernel/drivers/phy/rockchip/phy-rockchip-samsung-dcphy.c
+++ b/kernel/drivers/phy/rockchip/phy-rockchip-samsung-dcphy.c
@@ -1269,9 +1269,9 @@
 	{ 500,  0x102}, { 990, 0x002}, { 2500, 0x001},
 };
 
-static void samsung_mipi_dcphy_bias_block_enable(struct samsung_mipi_dcphy *samsung)
+static void samsung_mipi_dcphy_bias_block_enable(struct samsung_mipi_dcphy *samsung,
+						 struct csi2_dphy *csi_dphy)
 {
-	struct csi2_dphy *csi_dphy = samsung->dphy_dev[0];
 	u32 bias_con2 = 0x3223;
 
 	if (csi_dphy &&
@@ -1466,9 +1466,9 @@
 
 	/*
 	 * Divide-by-2 Clock from Serial Clock. Use this when data rate is under
-	 * 1500Mbps, otherwise divide-by-16 Clock from Serial Clock
+	 * 500Msps, otherwise divide-by-16 Clock from Serial Clock
 	 */
-	if (lane_hs_rate < 1500)
+	if (lane_hs_rate < 500)
 		val = HSTX_CLK_SEL;
 
 	val |= T_LPX(timing->lpx);
@@ -1701,7 +1701,7 @@
 {
 	reset_control_assert(samsung->m_phy_rst);
 
-	samsung_mipi_dcphy_bias_block_enable(samsung);
+	samsung_mipi_dcphy_bias_block_enable(samsung, NULL);
 	samsung_mipi_dcphy_pll_configure(samsung);
 	samsung_mipi_dphy_clk_lane_timing_init(samsung);
 	samsung_mipi_dphy_data_lane_timing_init(samsung);
@@ -1721,7 +1721,7 @@
 	regmap_write(samsung->grf_regmap, MIPI_DCPHY_GRF_CON0, M_CPHY_MODE);
 	reset_control_assert(samsung->m_phy_rst);
 
-	samsung_mipi_dcphy_bias_block_enable(samsung);
+	samsung_mipi_dcphy_bias_block_enable(samsung, NULL);
 	samsung_mipi_dcphy_hs_vreg_amp_configure(samsung);
 	samsung_mipi_dcphy_pll_configure(samsung);
 	samsung_mipi_cphy_timing_init(samsung);
@@ -1744,7 +1744,7 @@
 	reset_control_assert(samsung->apb_rst);
 	udelay(1);
 	reset_control_deassert(samsung->apb_rst);
-	if (atomic_read(&samsung->stream_cnt)) {
+	if (atomic_read(&samsung->stream_cnt) && samsung->dphy_dev[0]) {
 		sensor_sd = get_remote_sensor(&samsung->dphy_dev[0]->sd);
 		samsung->stream_off(samsung->dphy_dev[0], &samsung->dphy_dev[0]->sd);
 		if (sensor_sd)
@@ -2207,7 +2207,7 @@
 	if (samsung->s_phy_rst)
 		reset_control_assert(samsung->s_phy_rst);
 
-	samsung_mipi_dcphy_bias_block_enable(samsung);
+	samsung_mipi_dcphy_bias_block_enable(samsung, dphy);
 	ret = samsung_dcphy_rx_config_common(dphy, sensor);
 	if (ret)
 		goto out_streamon;

--
Gitblit v1.6.2