.. | .. |
---|
55 | 55 | |
---|
56 | 56 | void rkx110_dsi_rx_enable(struct rk_serdes *ser, struct rk_serdes_route *route, int id) |
---|
57 | 57 | { |
---|
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; |
---|
59 | 61 | const struct videomode *vm = &route->vm; |
---|
60 | 62 | unsigned long pixelclock; |
---|
61 | 63 | u32 hactive, vactive; |
---|
.. | .. |
---|
87 | 89 | |
---|
88 | 90 | rate = DIV_ROUND_CLOSEST_ULL(pixelclock, dsi->lanes); |
---|
89 | 91 | |
---|
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); |
---|
93 | 96 | |
---|
94 | 97 | csi_base = id ? RKX110_CSI2HOST1_BASE : RKX110_CSI2HOST0_BASE; |
---|
95 | 98 | dsirx_base = id ? RKX110_DSI_RX1_BASE : RKX110_DSI_RX0_BASE; |
---|
.. | .. |
---|
120 | 123 | |
---|
121 | 124 | void rkx110_dsi_rx_disable(struct rk_serdes *ser, struct rk_serdes_route *route, int id) |
---|
122 | 125 | { |
---|
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); |
---|
124 | 130 | } |
---|