@@ -452,15 +452,6 @@ bridge_to_cdns_dsi_input(struct drm_bridge *bridge)
452452 return container_of (bridge , struct cdns_dsi_input , bridge );
453453}
454454
455- static unsigned int mode_to_dpi_hfp (const struct drm_display_mode * mode ,
456- bool mode_valid_check )
457- {
458- if (mode_valid_check )
459- return mode -> hsync_start - mode -> hdisplay ;
460-
461- return mode -> crtc_hsync_start - mode -> crtc_hdisplay ;
462- }
463-
464455static unsigned int dpi_to_dsi_timing (unsigned int dpi_timing ,
465456 unsigned int dpi_bpp ,
466457 unsigned int dsi_pkt_overhead )
@@ -477,8 +468,7 @@ static unsigned int dpi_to_dsi_timing(unsigned int dpi_timing,
477468
478469static int cdns_dsi_mode2cfg (struct cdns_dsi * dsi ,
479470 const struct drm_display_mode * mode ,
480- struct cdns_dsi_cfg * dsi_cfg ,
481- bool mode_valid_check )
471+ struct cdns_dsi_cfg * dsi_cfg )
482472{
483473 struct cdns_dsi_output * output = & dsi -> output ;
484474 unsigned int tmp ;
@@ -492,30 +482,20 @@ static int cdns_dsi_mode2cfg(struct cdns_dsi *dsi,
492482
493483 bpp = mipi_dsi_pixel_format_to_bpp (output -> dev -> format );
494484
495- if (mode_valid_check )
496- tmp = mode -> htotal -
497- (sync_pulse ? mode -> hsync_end : mode -> hsync_start );
498- else
499- tmp = mode -> crtc_htotal -
500- (sync_pulse ?
501- mode -> crtc_hsync_end : mode -> crtc_hsync_start );
485+ tmp = mode -> htotal -
486+ (sync_pulse ? mode -> hsync_end : mode -> hsync_start );
502487
503488 dsi_cfg -> hbp = dpi_to_dsi_timing (tmp , bpp , DSI_HBP_FRAME_OVERHEAD );
504489
505490 if (sync_pulse ) {
506- if (mode_valid_check )
507- tmp = mode -> hsync_end - mode -> hsync_start ;
508- else
509- tmp = mode -> crtc_hsync_end - mode -> crtc_hsync_start ;
491+ tmp = mode -> hsync_end - mode -> hsync_start ;
510492
511493 dsi_cfg -> hsa = dpi_to_dsi_timing (tmp , bpp ,
512494 DSI_HSA_FRAME_OVERHEAD );
513495 }
514496
515- dsi_cfg -> hact = dpi_to_dsi_timing (mode_valid_check ?
516- mode -> hdisplay : mode -> crtc_hdisplay ,
517- bpp , 0 );
518- dsi_cfg -> hfp = dpi_to_dsi_timing (mode_to_dpi_hfp (mode , mode_valid_check ),
497+ dsi_cfg -> hact = dpi_to_dsi_timing (mode -> hdisplay , bpp , 0 );
498+ dsi_cfg -> hfp = dpi_to_dsi_timing (mode -> hsync_start - mode -> hdisplay ,
519499 bpp , DSI_HFP_FRAME_OVERHEAD );
520500
521501 return 0 ;
@@ -524,14 +504,12 @@ static int cdns_dsi_mode2cfg(struct cdns_dsi *dsi,
524504static int cdns_dsi_adjust_phy_config (struct cdns_dsi * dsi ,
525505 struct cdns_dsi_cfg * dsi_cfg ,
526506 struct phy_configure_opts_mipi_dphy * phy_cfg ,
527- const struct drm_display_mode * mode ,
528- bool mode_valid_check )
507+ const struct drm_display_mode * mode )
529508{
530509 struct cdns_dsi_output * output = & dsi -> output ;
531510 unsigned long long dlane_bps ;
532511 unsigned long adj_dsi_htotal ;
533512 unsigned long dsi_htotal ;
534- unsigned long dpi_htotal ;
535513 unsigned long dpi_hz ;
536514 unsigned int dsi_hfp_ext ;
537515 unsigned int lanes = output -> dev -> lanes ;
@@ -552,12 +530,11 @@ static int cdns_dsi_adjust_phy_config(struct cdns_dsi *dsi,
552530 if (dsi_htotal % lanes )
553531 adj_dsi_htotal += lanes - (dsi_htotal % lanes );
554532
555- dpi_hz = ( mode_valid_check ? mode -> clock : mode -> crtc_clock ) * 1000 ;
533+ dpi_hz = mode -> clock * 1000 ;
556534 dlane_bps = (unsigned long long )dpi_hz * adj_dsi_htotal ;
557535
558536 /* data rate in bytes/sec is not an integer, refuse the mode. */
559- dpi_htotal = mode_valid_check ? mode -> htotal : mode -> crtc_htotal ;
560- if (do_div (dlane_bps , lanes * dpi_htotal ))
537+ if (do_div (dlane_bps , lanes * mode -> htotal ))
561538 return - EINVAL ;
562539
563540 /* data rate was in bytes/sec, convert to bits/sec. */
@@ -572,27 +549,25 @@ static int cdns_dsi_adjust_phy_config(struct cdns_dsi *dsi,
572549
573550static int cdns_dsi_check_conf (struct cdns_dsi * dsi ,
574551 const struct drm_display_mode * mode ,
575- struct cdns_dsi_cfg * dsi_cfg ,
576- bool mode_valid_check )
552+ struct cdns_dsi_cfg * dsi_cfg )
577553{
578554 struct cdns_dsi_output * output = & dsi -> output ;
579555 struct phy_configure_opts_mipi_dphy * phy_cfg = & output -> phy_opts .mipi_dphy ;
580556 unsigned long dsi_hss_hsa_hse_hbp ;
581557 unsigned int nlanes = output -> dev -> lanes ;
582- int mode_clock = (mode_valid_check ? mode -> clock : mode -> crtc_clock );
583558 int ret ;
584559
585- ret = cdns_dsi_mode2cfg (dsi , mode , dsi_cfg , mode_valid_check );
560+ ret = cdns_dsi_mode2cfg (dsi , mode , dsi_cfg );
586561 if (ret )
587562 return ret ;
588563
589- ret = phy_mipi_dphy_get_default_config (mode_clock * 1000 ,
564+ ret = phy_mipi_dphy_get_default_config (mode -> clock * 1000 ,
590565 mipi_dsi_pixel_format_to_bpp (output -> dev -> format ),
591566 nlanes , phy_cfg );
592567 if (ret )
593568 return ret ;
594569
595- ret = cdns_dsi_adjust_phy_config (dsi , dsi_cfg , phy_cfg , mode , mode_valid_check );
570+ ret = cdns_dsi_adjust_phy_config (dsi , dsi_cfg , phy_cfg , mode );
596571 if (ret )
597572 return ret ;
598573
@@ -610,9 +585,8 @@ static int cdns_dsi_check_conf(struct cdns_dsi *dsi,
610585 * interface.
611586 */
612587 if ((u64 )phy_cfg -> hs_clk_rate *
613- mode_to_dpi_hfp (mode , mode_valid_check ) * nlanes <
614- (u64 )dsi_hss_hsa_hse_hbp *
615- (mode_valid_check ? mode -> clock : mode -> crtc_clock ) * 1000 )
588+ (mode -> hsync_start - mode -> hdisplay ) * nlanes <
589+ (u64 )dsi_hss_hsa_hse_hbp * mode -> clock * 1000 )
616590 return - EINVAL ;
617591
618592 return 0 ;
@@ -663,7 +637,7 @@ cdns_dsi_bridge_mode_valid(struct drm_bridge *bridge,
663637 if ((mode -> hdisplay * bpp ) % 32 )
664638 return MODE_H_ILLEGAL ;
665639
666- ret = cdns_dsi_check_conf (dsi , mode , & dsi_cfg , true );
640+ ret = cdns_dsi_check_conf (dsi , mode , & dsi_cfg );
667641 if (ret )
668642 return MODE_BAD ;
669643
@@ -1000,7 +974,7 @@ static int cdns_dsi_bridge_atomic_check(struct drm_bridge *bridge,
1000974 const struct drm_display_mode * adjusted_mode = & crtc_state -> adjusted_mode ;
1001975 struct cdns_dsi_cfg * dsi_cfg = & dsi_state -> dsi_cfg ;
1002976
1003- return cdns_dsi_check_conf (dsi , adjusted_mode , dsi_cfg , true );
977+ return cdns_dsi_check_conf (dsi , adjusted_mode , dsi_cfg );
1004978}
1005979
1006980static struct drm_bridge_state *
0 commit comments