Received: by 2002:a25:683:0:0:0:0:0 with SMTP id 125csp1280696ybg; Thu, 11 Jun 2020 06:00:45 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxVig2SRC9LDn1/AYBzKg+sSbezd5olPuDj6yh0TV8r1r/cY1/6FDmKtGgBdA0nfhkS6/Kg X-Received: by 2002:a05:6402:2070:: with SMTP id bd16mr6674225edb.35.1591880445053; Thu, 11 Jun 2020 06:00:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1591880445; cv=none; d=google.com; s=arc-20160816; b=pQDhtwDnEH7L9+ABZxq8aagWq5WAWhO1Pi9Oo0a+JQPQyLygKEQ1miRhllXSqxS8TJ x4VKzszmhKkNYVAHpwrIsx9PLE0W5ZPAVJ34+IDsGQtoOS+ivWQFFDYabiZhCR2SeFx+ 51rERBIX1G9IIlbCDfsYltmEvRmmubDqPh1ihOiwbzaNIAAfwGkIF2IOY5YcR0OgXXL1 1oBglEUb7Lqv4DUQBF4hhTultjtBwwCODtDUveVlvgCcn2gWyBWbv6fZLgiEyZFcxKMM b+oP4EjCssWugP57l005wFff9647MC4po7NcXq5BdX20vOiPWLvbHS6InpPpf3fEWLIS gOqw== 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=4/RbsqL56amMKro9ZKFs4uOKgu8DPEXBfzBX7TdmrkA=; b=ZvLoBITeDWhkLGCOL0xtSj7Z0igofLHc23aNPGm4DQQ6vebKGjSZeqFkrPgwKuKpEf 2cy8M8JPzAHI2e9Xgrc1iFhi7O/SnjKiMRatBjuoAJkyUO9v3ARf+iKuVWFPfANCCIqS qDhEK1ZV9SWIS4prlI334uTqCrXjxdt0kvTBSA4mB/6KkhRSS0CvAeXRypGfkxM6VLWV r8CmfCj4hyOveWO5EZaqD/J3tZH6K7sdsxWYVkBnI33/SXyJSNXRG+z1aCpclV1gkgnY 0t37c8EmgXiEHmTPHu2DQc8OJjsJcvainG4nIudppuJRscixFKeOaLgVAtjIyWPuJuLl tnRQ== 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 r22si1993485eji.209.2020.06.11.06.00.20; Thu, 11 Jun 2020 06:00:45 -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 S1726471AbgFKM41 (ORCPT + 99 others); Thu, 11 Jun 2020 08:56:27 -0400 Received: from alexa-out-blr-02.qualcomm.com ([103.229.18.198]:39911 "EHLO alexa-out-blr-02.qualcomm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726346AbgFKM41 (ORCPT ); Thu, 11 Jun 2020 08:56:27 -0400 Received: from ironmsg02-blr.qualcomm.com ([10.86.208.131]) by alexa-out-blr-02.qualcomm.com with ESMTP/TLS/AES256-SHA; 11 Jun 2020 18:25:43 +0530 Received: from mkrishn-linux.qualcomm.com ([10.204.66.35]) by ironmsg02-blr.qualcomm.com with ESMTP; 11 Jun 2020 18:25:18 +0530 Received: by mkrishn-linux.qualcomm.com (Postfix, from userid 438394) id 1D39A488D; Thu, 11 Jun 2020 18:25:17 +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 Subject: [v1] drm/msm/dpu: request for display color blocks based on hw catalog entry Date: Thu, 11 Jun 2020 18:25:15 +0530 Message-Id: <1591880115-12721-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. Signed-off-by: Kalyan Thota --- 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