소스 검색

Merge "disp: msm: sde: address static analysis issues"

qctecmdr 3 년 전
부모
커밋
cba5134cac
3개의 변경된 파일9개의 추가작업 그리고 6개의 파일을 삭제
  1. 2 0
      msm/sde/sde_crtc.c
  2. 4 6
      msm/sde/sde_encoder.c
  3. 3 0
      msm/sde/sde_vbif.c

+ 2 - 0
msm/sde/sde_crtc.c

@@ -2982,6 +2982,8 @@ void sde_crtc_complete_commit(struct drm_crtc *crtc,
 	SDE_EVT32_VERBOSE(DRMID(crtc));
 
 	sde_kms = _sde_crtc_get_kms(crtc);
+	if (!sde_kms)
+		return;
 
 	for (i = 0; i < MAX_DSI_DISPLAYS; i++) {
 		splash_display = &sde_kms->splash_data.splash_display[i];

+ 4 - 6
msm/sde/sde_encoder.c

@@ -227,14 +227,9 @@ static void _sde_encoder_control_fal10_veto(struct drm_encoder *drm_enc, bool ve
 	struct sde_kms *sde_kms = sde_encoder_get_kms(drm_enc);
 	struct sde_encoder_virt *sde_enc = to_sde_encoder_virt(drm_enc);
 
-	if (sde_kms->catalog && !sde_kms->catalog->uidle_cfg.uidle_rev)
+	if (!sde_kms || !sde_kms->hw_uidle || !sde_kms->hw_uidle->ops.uidle_fal10_override)
 		return;
 
-	if (!sde_kms->hw_uidle || !sde_kms->hw_uidle->ops.uidle_fal10_override) {
-		SDE_ERROR("invalid args\n");
-		return;
-	}
-
 	/*
 	 * clone mode is the only scenario where we want to enable software override
 	 * of fal10 veto.
@@ -4166,6 +4161,9 @@ static void sde_encoder_early_wakeup_work_handler(struct kthread_work *work)
 			struct sde_encoder_virt, early_wakeup_work);
 	struct sde_kms *sde_kms = to_sde_kms(ddev_to_msm_kms(sde_enc->base.dev));
 
+	if (!sde_kms)
+		return;
+
 	sde_vm_lock(sde_kms);
 	if (!sde_vm_owns_hw(sde_kms)) {
 		sde_vm_unlock(sde_kms);

+ 3 - 0
msm/sde/sde_vbif.c

@@ -49,6 +49,9 @@ static bool _sde_vbif_setup_clk_supported(struct sde_kms *sde_kms, enum sde_clk_
 	bool supported = false;
 	bool has_split_vbif = test_bit(SDE_FEATURE_VBIF_CLK_SPLIT, sde_kms->catalog->features);
 
+	if (!SDE_CLK_CTRL_VALID(clk_ctrl))
+		return false;
+
 	if ((has_split_vbif && VBIF_CLK_CLIENT(clk_ctrl).ops.setup_clk_force_ctrl) ||
 			(!has_split_vbif && sde_kms->hw_mdp->ops.setup_clk_force_ctrl))
 		supported = true;