Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/msm/dsi: rename dual DSI to bonded DSI

We are preparing to support two independent DSI hosts in the DSI/DPU
code. To remove possible confusion (as both configurations can be
referenced as dual DSI) let's rename old "dual DSI" (two DSI hosts
driving single device, with clocks being locked) to "bonded DSI".

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Abhinav Kumar <abhinavk@codeaurora.org>
Link: https://lore.kernel.org/r/20210717124016.316020-2-dmitry.baryshkov@linaro.org
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
[DB: add one extra hunk added by one previous patches]
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Rob Clark <robdclark@chromium.org>

authored by

Dmitry Baryshkov and committed by
Rob Clark
6183606d 5e2a72d4

+79 -80
+1 -1
drivers/gpu/drm/msm/disp/mdp5/mdp5_ctl.c
··· 737 737 } 738 738 739 739 /* 740 - * In Dual DSI case, CTL0 and CTL1 are always assigned to two DSI 740 + * In bonded DSI case, CTL0 and CTL1 are always assigned to two DSI 741 741 * interfaces to support single FLUSH feature (Flush CTL0 and CTL1 when 742 742 * only write into CTL0's FLUSH register) to keep two DSI pipes in sync. 743 743 * Single FLUSH is supported from hw rev v3.0.
+4 -4
drivers/gpu/drm/msm/dsi/dsi.h
··· 110 110 int msm_dsi_host_disable(struct mipi_dsi_host *host); 111 111 int msm_dsi_host_power_on(struct mipi_dsi_host *host, 112 112 struct msm_dsi_phy_shared_timings *phy_shared_timings, 113 - bool is_dual_dsi); 113 + bool is_bonded_dsi); 114 114 int msm_dsi_host_power_off(struct mipi_dsi_host *host); 115 115 int msm_dsi_host_set_display_mode(struct mipi_dsi_host *host, 116 116 const struct drm_display_mode *mode); ··· 124 124 void msm_dsi_host_reset_phy(struct mipi_dsi_host *host); 125 125 void msm_dsi_host_get_phy_clk_req(struct mipi_dsi_host *host, 126 126 struct msm_dsi_phy_clk_request *clk_req, 127 - bool is_dual_dsi); 127 + bool is_bonded_dsi); 128 128 void msm_dsi_host_destroy(struct mipi_dsi_host *host); 129 129 int msm_dsi_host_modeset_init(struct mipi_dsi_host *host, 130 130 struct drm_device *dev); ··· 146 146 int dsi_dma_base_get_v2(struct msm_dsi_host *msm_host, uint64_t *iova); 147 147 int dsi_clk_init_v2(struct msm_dsi_host *msm_host); 148 148 int dsi_clk_init_6g_v2(struct msm_dsi_host *msm_host); 149 - int dsi_calc_clk_rate_v2(struct msm_dsi_host *msm_host, bool is_dual_dsi); 150 - int dsi_calc_clk_rate_6g(struct msm_dsi_host *msm_host, bool is_dual_dsi); 149 + int dsi_calc_clk_rate_v2(struct msm_dsi_host *msm_host, bool is_bonded_dsi); 150 + int dsi_calc_clk_rate_6g(struct msm_dsi_host *msm_host, bool is_bonded_dsi); 151 151 void msm_dsi_host_snapshot(struct msm_disp_state *disp_state, struct mipi_dsi_host *host); 152 152 void msm_dsi_host_test_pattern_en(struct mipi_dsi_host *host); 153 153
+1 -1
drivers/gpu/drm/msm/dsi/dsi_cfg.h
··· 48 48 void* (*tx_buf_get)(struct msm_dsi_host *msm_host); 49 49 void (*tx_buf_put)(struct msm_dsi_host *msm_host); 50 50 int (*dma_base_get)(struct msm_dsi_host *msm_host, uint64_t *iova); 51 - int (*calc_clk_rate)(struct msm_dsi_host *msm_host, bool is_dual_dsi); 51 + int (*calc_clk_rate)(struct msm_dsi_host *msm_host, bool is_bonded_dsi); 52 52 }; 53 53 54 54 struct msm_dsi_cfg_handler {
+17 -17
drivers/gpu/drm/msm/dsi/dsi_host.c
··· 673 673 clk_disable_unprepare(msm_host->byte_clk); 674 674 } 675 675 676 - static u32 dsi_get_pclk_rate(struct msm_dsi_host *msm_host, bool is_dual_dsi) 676 + static u32 dsi_get_pclk_rate(struct msm_dsi_host *msm_host, bool is_bonded_dsi) 677 677 { 678 678 struct drm_display_mode *mode = msm_host->mode; 679 679 u32 pclk_rate; ··· 681 681 pclk_rate = mode->clock * 1000; 682 682 683 683 /* 684 - * For dual DSI mode, the current DRM mode has the complete width of the 684 + * For bonded DSI mode, the current DRM mode has the complete width of the 685 685 * panel. Since, the complete panel is driven by two DSI controllers, 686 686 * the clock rates have to be split between the two dsi controllers. 687 687 * Adjust the byte and pixel clock rates for each dsi host accordingly. 688 688 */ 689 - if (is_dual_dsi) 689 + if (is_bonded_dsi) 690 690 pclk_rate /= 2; 691 691 692 692 return pclk_rate; 693 693 } 694 694 695 - static void dsi_calc_pclk(struct msm_dsi_host *msm_host, bool is_dual_dsi) 695 + static void dsi_calc_pclk(struct msm_dsi_host *msm_host, bool is_bonded_dsi) 696 696 { 697 697 u8 lanes = msm_host->lanes; 698 698 u32 bpp = dsi_get_bpp(msm_host->format); 699 - u32 pclk_rate = dsi_get_pclk_rate(msm_host, is_dual_dsi); 699 + u32 pclk_rate = dsi_get_pclk_rate(msm_host, is_bonded_dsi); 700 700 u64 pclk_bpp = (u64)pclk_rate * bpp; 701 701 702 702 if (lanes == 0) { ··· 718 718 719 719 } 720 720 721 - int dsi_calc_clk_rate_6g(struct msm_dsi_host *msm_host, bool is_dual_dsi) 721 + int dsi_calc_clk_rate_6g(struct msm_dsi_host *msm_host, bool is_bonded_dsi) 722 722 { 723 723 if (!msm_host->mode) { 724 724 pr_err("%s: mode not set\n", __func__); 725 725 return -EINVAL; 726 726 } 727 727 728 - dsi_calc_pclk(msm_host, is_dual_dsi); 728 + dsi_calc_pclk(msm_host, is_bonded_dsi); 729 729 msm_host->esc_clk_rate = clk_get_rate(msm_host->esc_clk); 730 730 return 0; 731 731 } 732 732 733 - int dsi_calc_clk_rate_v2(struct msm_dsi_host *msm_host, bool is_dual_dsi) 733 + int dsi_calc_clk_rate_v2(struct msm_dsi_host *msm_host, bool is_bonded_dsi) 734 734 { 735 735 u32 bpp = dsi_get_bpp(msm_host->format); 736 736 u64 pclk_bpp; 737 737 unsigned int esc_mhz, esc_div; 738 738 unsigned long byte_mhz; 739 739 740 - dsi_calc_pclk(msm_host, is_dual_dsi); 740 + dsi_calc_pclk(msm_host, is_bonded_dsi); 741 741 742 - pclk_bpp = (u64)dsi_get_pclk_rate(msm_host, is_dual_dsi) * bpp; 742 + pclk_bpp = (u64)dsi_get_pclk_rate(msm_host, is_bonded_dsi) * bpp; 743 743 do_div(pclk_bpp, 8); 744 744 msm_host->src_clk_rate = pclk_bpp; 745 745 ··· 939 939 dsi_write(msm_host, REG_DSI_CPHY_MODE_CTRL, BIT(0)); 940 940 } 941 941 942 - static void dsi_timing_setup(struct msm_dsi_host *msm_host, bool is_dual_dsi) 942 + static void dsi_timing_setup(struct msm_dsi_host *msm_host, bool is_bonded_dsi) 943 943 { 944 944 struct drm_display_mode *mode = msm_host->mode; 945 945 u32 hs_start = 0, vs_start = 0; /* take sync start as 0 */ ··· 957 957 DBG(""); 958 958 959 959 /* 960 - * For dual DSI mode, the current DRM mode has 960 + * For bonded DSI mode, the current DRM mode has 961 961 * the complete width of the panel. Since, the complete 962 962 * panel is driven by two DSI controllers, the horizontal 963 963 * timings have to be split between the two dsi controllers. 964 964 * Adjust the DSI host timing values accordingly. 965 965 */ 966 - if (is_dual_dsi) { 966 + if (is_bonded_dsi) { 967 967 h_total /= 2; 968 968 hs_end /= 2; 969 969 ha_start /= 2; ··· 2288 2288 2289 2289 void msm_dsi_host_get_phy_clk_req(struct mipi_dsi_host *host, 2290 2290 struct msm_dsi_phy_clk_request *clk_req, 2291 - bool is_dual_dsi) 2291 + bool is_bonded_dsi) 2292 2292 { 2293 2293 struct msm_dsi_host *msm_host = to_msm_dsi_host(host); 2294 2294 const struct msm_dsi_cfg_handler *cfg_hnd = msm_host->cfg_hnd; 2295 2295 int ret; 2296 2296 2297 - ret = cfg_hnd->ops->calc_clk_rate(msm_host, is_dual_dsi); 2297 + ret = cfg_hnd->ops->calc_clk_rate(msm_host, is_bonded_dsi); 2298 2298 if (ret) { 2299 2299 pr_err("%s: unable to calc clk rate, %d\n", __func__, ret); 2300 2300 return; ··· 2364 2364 2365 2365 int msm_dsi_host_power_on(struct mipi_dsi_host *host, 2366 2366 struct msm_dsi_phy_shared_timings *phy_shared_timings, 2367 - bool is_dual_dsi) 2367 + bool is_bonded_dsi) 2368 2368 { 2369 2369 struct msm_dsi_host *msm_host = to_msm_dsi_host(host); 2370 2370 const struct msm_dsi_cfg_handler *cfg_hnd = msm_host->cfg_hnd; ··· 2402 2402 goto fail_disable_clk; 2403 2403 } 2404 2404 2405 - dsi_timing_setup(msm_host, is_dual_dsi); 2405 + dsi_timing_setup(msm_host, is_bonded_dsi); 2406 2406 dsi_sw_reset(msm_host); 2407 2407 dsi_ctrl_config(msm_host, true, phy_shared_timings); 2408 2408
+51 -52
drivers/gpu/drm/msm/dsi/dsi_manager.c
··· 21 21 struct msm_dsi_manager { 22 22 struct msm_dsi *dsi[DSI_MAX]; 23 23 24 - bool is_dual_dsi; 24 + bool is_bonded_dsi; 25 25 bool is_sync_needed; 26 26 int master_dsi_link_id; 27 27 }; 28 28 29 29 static struct msm_dsi_manager msm_dsim_glb; 30 30 31 - #define IS_DUAL_DSI() (msm_dsim_glb.is_dual_dsi) 31 + #define IS_BONDED_DSI() (msm_dsim_glb.is_bonded_dsi) 32 32 #define IS_SYNC_NEEDED() (msm_dsim_glb.is_sync_needed) 33 33 #define IS_MASTER_DSI_LINK(id) (msm_dsim_glb.master_dsi_link_id == id) 34 34 ··· 42 42 return msm_dsim_glb.dsi[(id + 1) % DSI_MAX]; 43 43 } 44 44 45 - static int dsi_mgr_parse_dual_dsi(struct device_node *np, int id) 45 + static int dsi_mgr_parse_of(struct device_node *np, int id) 46 46 { 47 47 struct msm_dsi_manager *msm_dsim = &msm_dsim_glb; 48 48 49 - /* We assume 2 dsi nodes have the same information of dual-dsi and 50 - * sync-mode, and only one node specifies master in case of dual mode. 49 + /* We assume 2 dsi nodes have the same information of bonded dsi and 50 + * sync-mode, and only one node specifies master in case of bonded mode. 51 51 */ 52 - if (!msm_dsim->is_dual_dsi) 53 - msm_dsim->is_dual_dsi = of_property_read_bool( 54 - np, "qcom,dual-dsi-mode"); 52 + if (!msm_dsim->is_bonded_dsi) 53 + msm_dsim->is_bonded_dsi = of_property_read_bool(np, "qcom,dual-dsi-mode"); 55 54 56 - if (msm_dsim->is_dual_dsi) { 55 + if (msm_dsim->is_bonded_dsi) { 57 56 if (of_property_read_bool(np, "qcom,master-dsi")) 58 57 msm_dsim->master_dsi_link_id = id; 59 58 if (!msm_dsim->is_sync_needed) ··· 71 72 struct msm_dsi *clk_slave_dsi = dsi_mgr_get_dsi(DSI_CLOCK_SLAVE); 72 73 int ret; 73 74 74 - if (!IS_DUAL_DSI()) { 75 + if (!IS_BONDED_DSI()) { 75 76 ret = msm_dsi_host_register(msm_dsi->host, true); 76 77 if (ret) 77 78 return ret; ··· 99 100 if (ret) 100 101 return ret; 101 102 102 - /* PLL0 is to drive both 2 DSI link clocks in Dual DSI mode. */ 103 + /* PLL0 is to drive both 2 DSI link clocks in bonded DSI mode. */ 103 104 msm_dsi_phy_set_usecase(clk_master_dsi->phy, 104 105 MSM_DSI_PHY_MASTER); 105 106 msm_dsi_phy_set_usecase(clk_slave_dsi->phy, ··· 118 119 { 119 120 struct msm_dsi_phy_clk_request clk_req; 120 121 int ret; 121 - bool is_dual_dsi = IS_DUAL_DSI(); 122 + bool is_bonded_dsi = IS_BONDED_DSI(); 122 123 123 - msm_dsi_host_get_phy_clk_req(msm_dsi->host, &clk_req, is_dual_dsi); 124 + msm_dsi_host_get_phy_clk_req(msm_dsi->host, &clk_req, is_bonded_dsi); 124 125 125 126 ret = msm_dsi_phy_enable(msm_dsi->phy, &clk_req, shared_timings); 126 127 ··· 136 137 struct msm_dsi *sdsi = dsi_mgr_get_dsi(DSI_CLOCK_SLAVE); 137 138 int ret; 138 139 139 - /* In case of dual DSI, some registers in PHY1 have been programmed 140 + /* In case of bonded DSI, some registers in PHY1 have been programmed 140 141 * during PLL0 clock's set_rate. The PHY1 reset called by host1 here 141 142 * will silently reset those PHY1 registers. Therefore we need to reset 142 143 * and enable both PHYs before any PLL clock operation. 143 144 */ 144 - if (IS_DUAL_DSI() && mdsi && sdsi) { 145 + if (IS_BONDED_DSI() && mdsi && sdsi) { 145 146 if (!mdsi->phy_enabled && !sdsi->phy_enabled) { 146 147 msm_dsi_host_reset_phy(mdsi->host); 147 148 msm_dsi_host_reset_phy(sdsi->host); ··· 176 177 struct msm_dsi *sdsi = dsi_mgr_get_dsi(DSI_CLOCK_SLAVE); 177 178 178 179 /* disable DSI phy 179 - * In dual-dsi configuration, the phy should be disabled for the 180 + * In bonded dsi configuration, the phy should be disabled for the 180 181 * first controller only when the second controller is disabled. 181 182 */ 182 183 msm_dsi->phy_enabled = false; 183 - if (IS_DUAL_DSI() && mdsi && sdsi) { 184 + if (IS_BONDED_DSI() && mdsi && sdsi) { 184 185 if (!mdsi->phy_enabled && !sdsi->phy_enabled) { 185 186 msm_dsi_phy_disable(sdsi->phy); 186 187 msm_dsi_phy_disable(mdsi->phy); ··· 242 243 struct msm_dsi *master_dsi, *slave_dsi; 243 244 struct drm_panel *panel; 244 245 245 - if (IS_DUAL_DSI() && !IS_MASTER_DSI_LINK(id)) { 246 + if (IS_BONDED_DSI() && !IS_MASTER_DSI_LINK(id)) { 246 247 master_dsi = other_dsi; 247 248 slave_dsi = msm_dsi; 248 249 } else { ··· 251 252 } 252 253 253 254 /* 254 - * There is only 1 panel in the global panel list for dual DSI mode. 255 + * There is only 1 panel in the global panel list for bonded DSI mode. 255 256 * Therefore slave dsi should get the drm_panel instance from master 256 257 * dsi. 257 258 */ ··· 262 263 return PTR_ERR(panel); 263 264 } 264 265 265 - if (!panel || !IS_DUAL_DSI()) 266 + if (!panel || !IS_BONDED_DSI()) 266 267 goto out; 267 268 268 269 drm_object_attach_property(&conn->base, 269 270 conn->dev->mode_config.tile_property, 0); 270 271 271 272 /* 272 - * Set split display info to kms once dual DSI panel is connected to 273 + * Set split display info to kms once bonded DSI panel is connected to 273 274 * both hosts. 274 275 */ 275 276 if (other_dsi && other_dsi->panel && kms->funcs->set_split_display) { ··· 315 316 return 0; 316 317 317 318 /* 318 - * In dual DSI mode, we have one connector that can be 319 + * In bonded DSI mode, we have one connector that can be 319 320 * attached to the drm_panel. 320 321 */ 321 322 num = drm_panel_get_modes(panel, connector); ··· 364 365 struct mipi_dsi_host *host = msm_dsi->host; 365 366 struct drm_panel *panel = msm_dsi->panel; 366 367 struct msm_dsi_phy_shared_timings phy_shared_timings[DSI_MAX]; 367 - bool is_dual_dsi = IS_DUAL_DSI(); 368 + bool is_bonded_dsi = IS_BONDED_DSI(); 368 369 int ret; 369 370 370 371 DBG("id=%d", id); 371 372 if (!msm_dsi_device_connected(msm_dsi)) 372 373 return; 373 374 374 - /* Do nothing with the host if it is slave-DSI in case of dual DSI */ 375 - if (is_dual_dsi && !IS_MASTER_DSI_LINK(id)) 375 + /* Do nothing with the host if it is slave-DSI in case of bonded DSI */ 376 + if (is_bonded_dsi && !IS_MASTER_DSI_LINK(id)) 376 377 return; 377 378 378 379 ret = dsi_mgr_phy_enable(id, phy_shared_timings); 379 380 if (ret) 380 381 goto phy_en_fail; 381 382 382 - ret = msm_dsi_host_power_on(host, &phy_shared_timings[id], is_dual_dsi); 383 + ret = msm_dsi_host_power_on(host, &phy_shared_timings[id], is_bonded_dsi); 383 384 if (ret) { 384 385 pr_err("%s: power on host %d failed, %d\n", __func__, id, ret); 385 386 goto host_on_fail; 386 387 } 387 388 388 - if (is_dual_dsi && msm_dsi1) { 389 + if (is_bonded_dsi && msm_dsi1) { 389 390 ret = msm_dsi_host_power_on(msm_dsi1->host, 390 - &phy_shared_timings[DSI_1], is_dual_dsi); 391 + &phy_shared_timings[DSI_1], is_bonded_dsi); 391 392 if (ret) { 392 393 pr_err("%s: power on host1 failed, %d\n", 393 394 __func__, ret); ··· 413 414 goto host_en_fail; 414 415 } 415 416 416 - if (is_dual_dsi && msm_dsi1) { 417 + if (is_bonded_dsi && msm_dsi1) { 417 418 ret = msm_dsi_host_enable(msm_dsi1->host); 418 419 if (ret) { 419 420 pr_err("%s: enable host1 failed, %d\n", __func__, ret); ··· 429 430 if (panel) 430 431 drm_panel_unprepare(panel); 431 432 panel_prep_fail: 432 - if (is_dual_dsi && msm_dsi1) 433 + if (is_bonded_dsi && msm_dsi1) 433 434 msm_dsi_host_power_off(msm_dsi1->host); 434 435 host1_on_fail: 435 436 msm_dsi_host_power_off(host); ··· 447 448 /* if dual dsi, trigger tpg on master first then slave */ 448 449 if (m_dsi) { 449 450 msm_dsi_host_test_pattern_en(m_dsi->host); 450 - if (IS_DUAL_DSI() && s_dsi) 451 + if (IS_BONDED_DSI() && s_dsi) 451 452 msm_dsi_host_test_pattern_en(s_dsi->host); 452 453 } 453 454 } ··· 457 458 int id = dsi_mgr_bridge_get_id(bridge); 458 459 struct msm_dsi *msm_dsi = dsi_mgr_get_dsi(id); 459 460 struct drm_panel *panel = msm_dsi->panel; 460 - bool is_dual_dsi = IS_DUAL_DSI(); 461 + bool is_bonded_dsi = IS_BONDED_DSI(); 461 462 int ret; 462 463 463 464 DBG("id=%d", id); 464 465 if (!msm_dsi_device_connected(msm_dsi)) 465 466 return; 466 467 467 - /* Do nothing with the host if it is slave-DSI in case of dual DSI */ 468 - if (is_dual_dsi && !IS_MASTER_DSI_LINK(id)) 468 + /* Do nothing with the host if it is slave-DSI in case of bonded DSI */ 469 + if (is_bonded_dsi && !IS_MASTER_DSI_LINK(id)) 469 470 return; 470 471 471 472 if (panel) { ··· 482 483 int id = dsi_mgr_bridge_get_id(bridge); 483 484 struct msm_dsi *msm_dsi = dsi_mgr_get_dsi(id); 484 485 struct drm_panel *panel = msm_dsi->panel; 485 - bool is_dual_dsi = IS_DUAL_DSI(); 486 + bool is_bonded_dsi = IS_BONDED_DSI(); 486 487 int ret; 487 488 488 489 DBG("id=%d", id); 489 490 if (!msm_dsi_device_connected(msm_dsi)) 490 491 return; 491 492 492 - /* Do nothing with the host if it is slave-DSI in case of dual DSI */ 493 - if (is_dual_dsi && !IS_MASTER_DSI_LINK(id)) 493 + /* Do nothing with the host if it is slave-DSI in case of bonded DSI */ 494 + if (is_bonded_dsi && !IS_MASTER_DSI_LINK(id)) 494 495 return; 495 496 496 497 if (panel) { ··· 508 509 struct msm_dsi *msm_dsi1 = dsi_mgr_get_dsi(DSI_1); 509 510 struct mipi_dsi_host *host = msm_dsi->host; 510 511 struct drm_panel *panel = msm_dsi->panel; 511 - bool is_dual_dsi = IS_DUAL_DSI(); 512 + bool is_bonded_dsi = IS_BONDED_DSI(); 512 513 int ret; 513 514 514 515 DBG("id=%d", id); ··· 517 518 return; 518 519 519 520 /* 520 - * Do nothing with the host if it is slave-DSI in case of dual DSI. 521 + * Do nothing with the host if it is slave-DSI in case of bonded DSI. 521 522 * It is safe to call dsi_mgr_phy_disable() here because a single PHY 522 523 * won't be diabled until both PHYs request disable. 523 524 */ 524 - if (is_dual_dsi && !IS_MASTER_DSI_LINK(id)) 525 + if (is_bonded_dsi && !IS_MASTER_DSI_LINK(id)) 525 526 goto disable_phy; 526 527 527 528 ret = msm_dsi_host_disable(host); 528 529 if (ret) 529 530 pr_err("%s: host %d disable failed, %d\n", __func__, id, ret); 530 531 531 - if (is_dual_dsi && msm_dsi1) { 532 + if (is_bonded_dsi && msm_dsi1) { 532 533 ret = msm_dsi_host_disable(msm_dsi1->host); 533 534 if (ret) 534 535 pr_err("%s: host1 disable failed, %d\n", __func__, ret); ··· 548 549 if (ret) 549 550 pr_err("%s: host %d power off failed,%d\n", __func__, id, ret); 550 551 551 - if (is_dual_dsi && msm_dsi1) { 552 + if (is_bonded_dsi && msm_dsi1) { 552 553 ret = msm_dsi_host_power_off(msm_dsi1->host); 553 554 if (ret) 554 555 pr_err("%s: host1 power off failed, %d\n", ··· 567 568 struct msm_dsi *msm_dsi = dsi_mgr_get_dsi(id); 568 569 struct msm_dsi *other_dsi = dsi_mgr_get_other_dsi(id); 569 570 struct mipi_dsi_host *host = msm_dsi->host; 570 - bool is_dual_dsi = IS_DUAL_DSI(); 571 + bool is_bonded_dsi = IS_BONDED_DSI(); 571 572 572 573 DBG("set mode: " DRM_MODE_FMT, DRM_MODE_ARG(mode)); 573 574 574 - if (is_dual_dsi && !IS_MASTER_DSI_LINK(id)) 575 + if (is_bonded_dsi && !IS_MASTER_DSI_LINK(id)) 575 576 return; 576 577 577 578 msm_dsi_host_set_display_mode(host, adjusted_mode); 578 - if (is_dual_dsi && other_dsi) 579 + if (is_bonded_dsi && other_dsi) 579 580 msm_dsi_host_set_display_mode(other_dsi->host, adjusted_mode); 580 581 } 581 582 ··· 651 652 652 653 bool msm_dsi_manager_validate_current_config(u8 id) 653 654 { 654 - bool is_dual_dsi = IS_DUAL_DSI(); 655 + bool is_bonded_dsi = IS_BONDED_DSI(); 655 656 656 657 /* 657 - * For dual DSI, we only have one drm panel. For this 658 + * For bonded DSI, we only have one drm panel. For this 658 659 * use case, we register only one bridge/connector. 659 660 * Skip bridge/connector initialisation if it is 660 - * slave-DSI for dual DSI configuration. 661 + * slave-DSI for bonded DSI configuration. 661 662 */ 662 - if (is_dual_dsi && !IS_MASTER_DSI_LINK(id)) { 663 + if (is_bonded_dsi && !IS_MASTER_DSI_LINK(id)) { 663 664 DBG("Skip bridge registration for slave DSI->id: %d\n", id); 664 665 return false; 665 666 } ··· 751 752 if (!msg->tx_buf || !msg->tx_len) 752 753 return 0; 753 754 754 - /* In dual master case, panel requires the same commands sent to 755 + /* In bonded master case, panel requires the same commands sent to 755 756 * both DSI links. Host issues the command trigger to both links 756 757 * when DSI_1 calls the cmd transfer function, no matter it happens 757 758 * before or after DSI_0 cmd transfer. ··· 820 821 821 822 msm_dsim->dsi[id] = msm_dsi; 822 823 823 - ret = dsi_mgr_parse_dual_dsi(msm_dsi->pdev->dev.of_node, id); 824 + ret = dsi_mgr_parse_of(msm_dsi->pdev->dev.of_node, id); 824 825 if (ret) { 825 - pr_err("%s: failed to parse dual DSI info\n", __func__); 826 + pr_err("%s: failed to parse OF DSI info\n", __func__); 826 827 goto fail; 827 828 } 828 829
+1 -1
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
··· 84 84 #define to_pll_10nm(x) container_of(x, struct dsi_pll_10nm, clk_hw) 85 85 86 86 /* 87 - * Global list of private DSI PLL struct pointers. We need this for Dual DSI 87 + * Global list of private DSI PLL struct pointers. We need this for bonded DSI 88 88 * mode, where the master PLL's clk_ops needs access the slave's private data 89 89 */ 90 90 static struct dsi_pll_10nm *pll_10nm_list[DSI_MAX];
+3 -3
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
··· 86 86 /* 87 87 * Private struct for N1/N2 post-divider clocks. These clocks are similar to 88 88 * the generic clk_divider class of clocks. The only difference is that it 89 - * also sets the slave DSI PLL's post-dividers if in Dual DSI mode 89 + * also sets the slave DSI PLL's post-dividers if in bonded DSI mode 90 90 */ 91 91 struct dsi_pll_14nm_postdiv { 92 92 struct clk_hw hw; ··· 102 102 #define to_pll_14nm_postdiv(_hw) container_of(_hw, struct dsi_pll_14nm_postdiv, hw) 103 103 104 104 /* 105 - * Global list of private DSI PLL struct pointers. We need this for Dual DSI 105 + * Global list of private DSI PLL struct pointers. We need this for bonded DSI 106 106 * mode, where the master PLL's clk_ops needs access the slave's private data 107 107 */ 108 108 static struct dsi_pll_14nm *pll_14nm_list[DSI_MAX]; ··· 658 658 val |= value << shift; 659 659 dsi_phy_write(base + REG_DSI_14nm_PHY_CMN_CLK_CFG0, val); 660 660 661 - /* If we're master in dual DSI mode, then the slave PLL's post-dividers 661 + /* If we're master in bonded DSI mode, then the slave PLL's post-dividers 662 662 * follow the master's post dividers 663 663 */ 664 664 if (pll_14nm->phy->usecase == MSM_DSI_PHY_MASTER) {
+1 -1
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
··· 83 83 #define to_pll_7nm(x) container_of(x, struct dsi_pll_7nm, clk_hw) 84 84 85 85 /* 86 - * Global list of private DSI PLL struct pointers. We need this for Dual DSI 86 + * Global list of private DSI PLL struct pointers. We need this for bonded DSI 87 87 * mode, where the master PLL's clk_ops needs access the slave's private data 88 88 */ 89 89 static struct dsi_pll_7nm *pll_7nm_list[DSI_MAX];