Merge branch 'CR_1649_7110_evb_5.15_vout_retbug_shengyang.chen' into 'jh7110-5.15...
authorJason Zhou <jason.zhou@starfivetech.com>
Fri, 22 Jul 2022 01:43:47 +0000 (01:43 +0000)
committerJason Zhou <jason.zhou@starfivetech.com>
Fri, 22 Jul 2022 01:43:47 +0000 (01:43 +0000)
CR_1649_5.15-evb_vout: fix failure problem of vout while startup

See merge request sdk/linux!299

1  2 
drivers/gpu/drm/verisilicon/vs_dc.c

@@@ -309,7 -309,6 +309,6 @@@ static void plda_clk_rst_deinit(struct 
  
  static int vs_dc_get_clock(struct device *dev, struct vs_dc *dc)
  {
-       int ret;
        dc->cpu_axi = devm_clk_get(dev, "noc_cpu");
        if (IS_ERR(dc->cpu_axi)) {
                dev_err(dev, "---cpu_axi get error\n");
                dev_err(dev, "---stg_axi get error\n");
                return PTR_ERR(dc->stg_axi);
        }
-       return ret;
+       return 0;
  }
  
  static int  vs_dc_clock_enable(struct device *dev, struct vs_dc *dc)
@@@ -374,8 -373,6 +373,6 @@@ static void  vs_dc_clock_disable(struc
  
  static int vs_dc_vouttop_get_clock(struct device *dev, struct vs_dc *dc)
  {
-       int ret;
        dc->vout_src = devm_clk_get(dev, "vout_src");
        if (IS_ERR(dc->vout_src)) {
                dev_err(dev, "failed to get vout_src\n");
                return PTR_ERR(dc->bclk_mst);
        }
  
-       return ret;
+       return 0;
  }
  
  static int  vs_dc_vouttop_clock_enable(struct device *dev, struct vs_dc *dc)
@@@ -458,7 -455,6 +455,6 @@@ static void  vs_dc_vouttop_clock_disabl
  
  static int vs_dc_dc8200_get_clock(struct device *dev, struct vs_dc *dc)
  {
-       int ret;
        dc->dc8200_clk_pix0 = devm_clk_get(dev, "pix_clk");
        if (IS_ERR(dc->dc8200_clk_pix0)) {
                dev_err(dev, "---dc8200_clk_pix0 get error\n");
                dev_err(dev, "---dc8200_ahb get error\n");
                return PTR_ERR(dc->dc8200_ahb);
        }
-       return ret;
+       return 0;
  }
  
  static int  vs_dc_dc8200_clock_enable(struct device *dev, struct vs_dc *dc)
@@@ -786,15 -782,8 +782,15 @@@ static void vs_dc_enable(struct device 
  
        display.v_active = mode->vdisplay;
        display.v_total = mode->vtotal;
 -      display.v_sync_start = mode->vsync_start;
 -      display.v_sync_end = mode->vsync_end;
 +
 +      if (crtc_state->encoder_type == DRM_MODE_ENCODER_DSI){
 +              display.v_sync_start = mode->vsync_start + 1;
 +              display.v_sync_end = mode->vsync_end - 1;
 +      }else{
 +              display.v_sync_start = mode->vsync_start;
 +              display.v_sync_end = mode->vsync_end;
 +      }
 +
        if (mode->flags & DRM_MODE_FLAG_PVSYNC)
                display.v_sync_polarity = true;
        else