Received: by 2002:a25:ef43:0:0:0:0:0 with SMTP id w3csp249429ybm; Thu, 28 May 2020 01:37:26 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz2xzL+F+F1kH8TcENTbpRiH2mdcygnb//ehO0/z/RnBbQ3dpgKSIa9LcpPh7UnzajklJ4P X-Received: by 2002:a50:d715:: with SMTP id t21mr1884431edi.194.1590655045948; Thu, 28 May 2020 01:37:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590655045; cv=none; d=google.com; s=arc-20160816; b=S/nrdJeZn+HI6+ChM/G53j+IxZIpWE0Vtn79abyapZg1gl1cy3+ob6rJmzRXtguDeM JP0W5E+DAguWUXMcUMMibl10QVGP/T2iIUYax4SZfo4+Ybo2xIgz1oobNHb7JIA9X10R wXKYJNnJQiO2zTliu8KbX/XJe34Z/Pcfikk9x/84AMbATayfyg+FYQmo1S+NARg9HYhB aPzxwv/tMocIyUXGLTjhhVXdm0lw1jkvJQwx9pbepFKkY3Jhcrphwz1yAs2hiPPHhNc9 g7U9nz76nIRxutvPOcVX9eEVhv5kbxKYD7Lw81z2Vz7HxBJ5ILUU9K9uPMpG0dSVfpZ0 Js4g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from; bh=uya+p24DttYk57tau2obIUfzBAvQo3+Xauaw1wkyp4A=; b=ctjfG9FR/RFm3IYGXjnQ5hUoIVobyv7oD+Lyq/esdUtMG2bUEtRArKtPq5vUo0FMoJ pFNnhxnd0Zk1GuWB76QeFdaBEHbjKvwutkAlqFzNrY+tklmW2pMyhV69I4jdkhjA0qdf PRYC/XaabZh8oZzsXkD+mF1USjIzUwG8Vr+d4GXyBK7gMpxtnO5gGRkAldXRwl+VmG9z xi8IEyiMLBFZCBSKDmHPxYlKPPxVGmzzEOZ9DETInf4wrmxRsK+O2vncfYkEZUptx7/s 7ZM0Bg0SXQBDsjxLinj3X1LAXSsFARjYCDXkWWcgWD46oCWBOe+wSTGo35JtggnB58P2 dnUw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id w3si3502202ejk.480.2020.05.28.01.37.02; Thu, 28 May 2020 01:37:25 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727076AbgE1Ie4 (ORCPT + 99 others); Thu, 28 May 2020 04:34:56 -0400 Received: from alexa-out-blr-01.qualcomm.com ([103.229.18.197]:6499 "EHLO alexa-out-blr-01.qualcomm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727040AbgE1Ie4 (ORCPT ); Thu, 28 May 2020 04:34:56 -0400 Received: from ironmsg02-blr.qualcomm.com ([10.86.208.131]) by alexa-out-blr-01.qualcomm.com with ESMTP/TLS/AES256-SHA; 28 May 2020 14:04:52 +0530 Received: from mkrishn-linux.qualcomm.com ([10.204.66.35]) by ironmsg02-blr.qualcomm.com with ESMTP; 28 May 2020 14:04:32 +0530 Received: by mkrishn-linux.qualcomm.com (Postfix, from userid 438394) id 25DBD47C1; Thu, 28 May 2020 14:04:31 +0530 (IST) From: Krishna Manikandan To: dri-devel@lists.freedesktop.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, devicetree@vger.kernel.org Cc: Krishna Manikandan , linux-kernel@vger.kernel.org, robdclark@gmail.com, seanpaul@chromium.org, hoegsberg@chromium.org, kalyan_t@codeaurora.org, nganji@codeaurora.org, mka@chromium.org Subject: [v1] drm/msm/dpu: allow initialization of encoder locks during encoder init Date: Thu, 28 May 2020 14:04:28 +0530 Message-Id: <1590654868-21270-1-git-send-email-mkrishn@codeaurora.org> X-Mailer: git-send-email 1.9.1 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org In the current implementation, mutex initialization for encoder mutex locks are done during encoder setup. This can lead to scenarios where the lock is used before it is initialized. Move mutex_init to dpu_encoder_init to avoid this. Signed-off-by: Krishna Manikandan --- drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c index f8ac3bf..21730a5 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c @@ -2145,7 +2145,6 @@ int dpu_encoder_setup(struct drm_device *dev, struct drm_encoder *enc, dpu_enc = to_dpu_encoder_virt(enc); - mutex_init(&dpu_enc->enc_lock); ret = dpu_encoder_setup_display(dpu_enc, dpu_kms, disp_info); if (ret) goto fail; @@ -2160,7 +2159,6 @@ int dpu_encoder_setup(struct drm_device *dev, struct drm_encoder *enc, 0); - mutex_init(&dpu_enc->rc_lock); INIT_DELAYED_WORK(&dpu_enc->delayed_off_work, dpu_encoder_off_work); dpu_enc->idle_timeout = IDLE_TIMEOUT; @@ -2205,6 +2203,8 @@ struct drm_encoder *dpu_encoder_init(struct drm_device *dev, spin_lock_init(&dpu_enc->enc_spinlock); dpu_enc->enabled = false; + mutex_init(&dpu_enc->enc_lock); + mutex_init(&dpu_enc->rc_lock); return &dpu_enc->base; } -- 1.9.1