Received: by 2002:a25:683:0:0:0:0:0 with SMTP id 125csp234774ybg; Thu, 11 Jun 2020 23:25:34 -0700 (PDT) X-Google-Smtp-Source: ABdhPJytz04F6OFsF8RBefa5hHDaroF86YaYZrelH9IskCKFrIT4fgCozUNNzk/jLKmVLCRB3NXi X-Received: by 2002:a50:bb41:: with SMTP id y59mr10038486ede.311.1591943134334; Thu, 11 Jun 2020 23:25:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1591943134; cv=none; d=google.com; s=arc-20160816; b=rlAo3xJ55q/UdFr5iCAJ0cA0vke+Fqgn14i9G+v+3EHz1T2dHCTlFCRQUVdvj4hHyk BRl0LCjpGwWfsyq1vOss2eEdZU3XFSJbibwSmHWGGlNjyTuSYiXhFt8NN1koiPVKEsWp 18VG7TJKMPz+1BF1XBWinTfQUXnvWZyUs4CkbWkXziOOxXssuWY9+6epeq5cUrIN2PW4 V4dPqFM14PB39mlhbAx8nMOrMB0vJiEbmIiRpJlmmTenyWqJbhzZ9WcmWyp5rWPKpuKq G8tKOQxOWcQm84jXN6i6LY+mvILSujSKXXGitAql7Q/VEDVcarwkPj/FFos6wnrxzjMC wZhA== 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=8C3eVOPHYuWCUW1tsGL0rw+dIeGYNAsuEgKHwNlHW1k=; b=irz4uA2/LTHb4kOAs7LIuduQtpU90kts1eKBCw8eoiQEjPBjp9h/So91NkcduhVmrW dZgXRdEMbT2fAXGpHqzD3LDmfOICrK1MHaSPJ+8n5c3i0n+GO8eyCGtlcJSVsIu3dJaC zUygZsfAnVpaaGkEUN88NOxg9nLCVz/+MV42fSW18PIt7ciy50NZUr7FhXEzVSfeZ96e /Nj/uwRl9KQHd8KJnC5SgtPCzyNnO2XaSfnYuwhQs6JLSJ4wJbvSRnSAYtDAotxi2sat 6pmwY19TVP3CVebEMZIp5k0WzApjNJ6w+4TtgDzA6rjBaku7iP6nNaGUAvVTPsO1sMNa 78sg== 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 cm1si2706808edb.235.2020.06.11.23.25.11; Thu, 11 Jun 2020 23:25:34 -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 S1726521AbgFLGXR (ORCPT + 99 others); Fri, 12 Jun 2020 02:23:17 -0400 Received: from alexa-out-blr-02.qualcomm.com ([103.229.18.198]:50651 "EHLO alexa-out-blr-02.qualcomm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726300AbgFLGXR (ORCPT ); Fri, 12 Jun 2020 02:23:17 -0400 Received: from ironmsg02-blr.qualcomm.com ([10.86.208.131]) by alexa-out-blr-02.qualcomm.com with ESMTP/TLS/AES256-SHA; 12 Jun 2020 11:53:13 +0530 Received: from mkrishn-linux.qualcomm.com ([10.204.66.35]) by ironmsg02-blr.qualcomm.com with ESMTP; 12 Jun 2020 11:52:47 +0530 Received: by mkrishn-linux.qualcomm.com (Postfix, from userid 438394) id 6C8B047A6; Fri, 12 Jun 2020 11:52:46 +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: Kalyan Thota , linux-kernel@vger.kernel.org, robdclark@gmail.com, seanpaul@chromium.org, hoegsberg@chromium.org, nganji@codeaurora.org, mka@chromium.org, john.stultz@linaro.org, dianders@chromium.org, abhinavk@codeaurora.org, mkrishn@codeaurora.org Subject: [v2] drm/msm/dpu: request for display color blocks based on hw catalog entry Date: Fri, 12 Jun 2020 11:52:37 +0530 Message-Id: <1591942957-18410-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 From: Kalyan Thota Request for color processing blocks only if they are available in the display hw catalog and they are sufficient in number for the selection. Changes in v2: - Include Fixes tag in commit message (Rob Clark) - Adding the Tested by tag as there are no code changes in v2 Fixes: e47616df008b ("drm/msm/dpu: add support for color processing blocks in dpu driver") Signed-off-by: Kalyan Thota Tested-by: John Stultz --- drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c index 63976dc..9f8de77 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c @@ -521,7 +521,7 @@ static struct msm_display_topology dpu_encoder_get_topology( struct dpu_kms *dpu_kms, struct drm_display_mode *mode) { - struct msm_display_topology topology; + struct msm_display_topology topology = {0}; int i, intf_count = 0; for (i = 0; i < MAX_PHYS_ENCODERS_PER_VIRTUAL; i++) @@ -537,7 +537,8 @@ static struct msm_display_topology dpu_encoder_get_topology( * 1 LM, 1 INTF * 2 LM, 1 INTF (stream merge to support high resolution interfaces) * - * Adding color blocks only to primary interface + * Adding color blocks only to primary interface if available in + * sufficient number */ if (intf_count == 2) topology.num_lm = 2; @@ -546,8 +547,11 @@ static struct msm_display_topology dpu_encoder_get_topology( else topology.num_lm = (mode->hdisplay > MAX_HDISPLAY_SPLIT) ? 2 : 1; - if (dpu_enc->disp_info.intf_type == DRM_MODE_ENCODER_DSI) - topology.num_dspp = topology.num_lm; + if (dpu_enc->disp_info.intf_type == DRM_MODE_ENCODER_DSI) { + if (dpu_kms->catalog->dspp && + (dpu_kms->catalog->dspp_count >= topology.num_lm)) + topology.num_dspp = topology.num_lm; + } topology.num_enc = 0; topology.num_intf = intf_count; -- 1.9.1