hc
2024-01-03 2f7c68cb55ecb7331f2381deb497c27155f32faf
kernel/drivers/mfd/rkx110_x120/rkx110_dsi_rx.c
....@@ -55,7 +55,9 @@
5555
5656 void rkx110_dsi_rx_enable(struct rk_serdes *ser, struct rk_serdes_route *route, int id)
5757 {
58
- struct rkx110_dsi_rx *dsi = &ser->dsi_rx;
58
+ struct rk_serdes_panel *sd_panel = container_of(route, struct rk_serdes_panel, route);
59
+ struct rkx110_dsi_rx *dsi = &sd_panel->dsi_rx;
60
+ struct rkx110_combrxphy *combrxphy = &sd_panel->combrxphy;
5961 const struct videomode *vm = &route->vm;
6062 unsigned long pixelclock;
6163 u32 hactive, vactive;
....@@ -87,9 +89,10 @@
8789
8890 rate = DIV_ROUND_CLOSEST_ULL(pixelclock, dsi->lanes);
8991
90
- rkx110_combrxphy_set_mode(ser, COMBRX_PHY_MODE_VIDEO_MIPI);
91
- rkx110_combrxphy_set_rate(ser, rate * MSEC_PER_SEC);
92
- rkx110_combrxphy_power_on(ser, id ? COMBPHY_1 : COMBPHY_0);
92
+ rkx110_combrxphy_set_mode(combrxphy, COMBRX_PHY_MODE_VIDEO_MIPI);
93
+ rkx110_combrxphy_set_rate(combrxphy, rate * MSEC_PER_SEC);
94
+ rkx110_combrxphy_set_lanes(combrxphy, dsi->lanes);
95
+ rkx110_combrxphy_power_on(ser, combrxphy, DEVICE_LOCAL, id ? COMBPHY_1 : COMBPHY_0);
9396
9497 csi_base = id ? RKX110_CSI2HOST1_BASE : RKX110_CSI2HOST0_BASE;
9598 dsirx_base = id ? RKX110_DSI_RX1_BASE : RKX110_DSI_RX0_BASE;
....@@ -120,5 +123,8 @@
120123
121124 void rkx110_dsi_rx_disable(struct rk_serdes *ser, struct rk_serdes_route *route, int id)
122125 {
123
- rkx110_combrxphy_power_off(ser, id ? COMBPHY_1 : COMBPHY_0);
126
+ struct rk_serdes_panel *sd_panel = container_of(route, struct rk_serdes_panel, route);
127
+ struct rkx110_combrxphy *combrxphy = &sd_panel->combrxphy;
128
+
129
+ rkx110_combrxphy_power_off(ser, combrxphy, DEVICE_LOCAL, id ? COMBPHY_1 : COMBPHY_0);
124130 }