From patchwork Sun Feb 9 03:21:11 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 13966600 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 723B6C02198 for ; Sun, 9 Feb 2025 03:21:33 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 6A8C910E140; Sun, 9 Feb 2025 03:21:31 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.b="ceW6WAVE"; dkim-atps=neutral Received: from mail-lf1-f46.google.com (mail-lf1-f46.google.com [209.85.167.46]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3E1E310E1FC for ; Sun, 9 Feb 2025 03:21:28 +0000 (UTC) Received: by mail-lf1-f46.google.com with SMTP id 2adb3069b0e04-545074b88aaso532056e87.3 for ; Sat, 08 Feb 2025 19:21:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1739071286; x=1739676086; darn=lists.freedesktop.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=swDuQmaW1jB5oxxfqZCzBvZatK3qx5WhH7+L/hnGQig=; b=ceW6WAVE9FvNZj667xWKsoHeTHTl6dZhtV1LDbZ3euV8/efr5YUhvdVdG4obyS+RKT JUKNfakbDZXXyp0NarJhltPaHW1tdDNq1lJ2BiN1H0y3ZfdEFkkXeVcCBXEVoobITqRC UH74DG4le9RbPE91JS2R7Al7elif3X5VkZ9CyLxQufsnOIKIDMbKcQLwePwBYCMozcrv BWanb4VMhKc3DZN0bb6jF5cq7deiOrOyktoRbIqsgGhOrOIXMWHdgd3SCRJAYz4qbV3l I+TQ/P3tNtbCY0qXb3H4CDFs5t9eE9IddbPFLNhNO1hCK5mcBgrN9/lhJoxqgZP8JHiw DcpA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739071286; x=1739676086; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=swDuQmaW1jB5oxxfqZCzBvZatK3qx5WhH7+L/hnGQig=; b=PWXw7PbyuGdfGqb6Ublp+iuYRjUT59Fyu4gx2l01ojALLWs5azPeakFqqXedUzrzTf dOeMk0LQf3NOmxfraZpNwH/v8I8skFcJ7mlRWqeWELoT1JlzU4cxmPbyZ23XRoB+Cl/1 vLZTb/SL6Kcmx2CQ2nzNWBebMoTsU7p0efrITZQcnFXEopLMrsD94KI94XsrlKx3z5UQ oxAUQk5+CW/RUQyQcQA+bFGv4etJx0cqV6mjl4e8JeLrIHtXd9IM2dYwnB3nTcj9LSAI RBchLUTYdLxrUG53XX4g0BWpkhhNNLawNOHsgiw/o6eJmLPKgJpzeo+/x++xmVTrpboI EGeQ== X-Forwarded-Encrypted: i=1; AJvYcCVHbnol9O9ix7vZIss7PKttfXsvq+utL73XkLWFEL3AeQ8HmV8jWeZtxS95rwGWTkvhxyJ8nUwCbVM=@lists.freedesktop.org X-Gm-Message-State: AOJu0YyfT0SbhH61AzezNcrRmgI63IYJdml4/rdz/ah3qk746rV9gk5l IXaD61P1m3tuzD5mdOnwW1+8pudmzAFarciBPP7enZQKKS1S14LjQWeLrxR58s4EUzUHN/tazqL Wbnc= X-Gm-Gg: ASbGncu/pviGcmLNcVJpOla4OriBvqSIRLAY1wQNGEGwfAGnpeaqPVa7XusH/a8InYH mPHbgcb/+DEwxBtghtZneKx8jiYdUM6mvb5OfJ9E52c0uL0pBZpbwWLcIsxFDHuHlF1gefoDmwu +XIIr870s84TodCmX4HyZbwIU+NN+VeAVIxZKCdD/L7Hw2Jwkm1PGr8tYcPr+7QXOt159EPiaSM pyDxW9KuwTWnGpU2MRvXm+il+sncaDr3BnLsVcZjVocVjXmbvkHjnvYjT0w4bpZ4UASU48OVI4r WOfuhZvXb1yjPhGHlFTktYw= X-Google-Smtp-Source: AGHT+IEjRl6W1kkjIAvlsg/6xHePAIbF/2a1GsmuWlMBWrsnf6cxOnhxUOdZt9MG6G4TVb63ZwXACg== X-Received: by 2002:a05:6512:114d:b0:545:6cf:6f41 with SMTP id 2adb3069b0e04-54506cf6ff1mr1016294e87.48.1739071286529; Sat, 08 Feb 2025 19:21:26 -0800 (PST) Received: from umbar.lan ([192.130.178.90]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54505e41c63sm279711e87.148.2025.02.08.19.21.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 08 Feb 2025 19:21:25 -0800 (PST) From: Dmitry Baryshkov Date: Sun, 09 Feb 2025 05:21:11 +0200 Subject: [PATCH v5 1/8] drm/msm/dpu: extract bandwidth aggregation function MIME-Version: 1.0 Message-Id: <20250209-dpu-perf-rework-v5-1-87e936cf3004@linaro.org> References: <20250209-dpu-perf-rework-v5-0-87e936cf3004@linaro.org> In-Reply-To: <20250209-dpu-perf-rework-v5-0-87e936cf3004@linaro.org> To: Rob Clark , Abhinav Kumar , Sean Paul , Marijn Suijten , David Airlie , Stephen Boyd , Simona Vetter Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2664; i=dmitry.baryshkov@linaro.org; h=from:subject:message-id; bh=Ranvcf9s/bstJI3Eo8F/WLE+D4NDgHgD/Z08d8sAtcc=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBnqB8wBCZCkujv3nx4cUz2YO03kQVt3IqDaJosn DsM5L+5bh2JATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ6gfMAAKCRCLPIo+Aiko 1TgIB/9e/AqCXwvYgzwRGiWpiwOhogNSKGNm5+WPJ8kK5U2o1VViOp1np3wH5gCkCwLWB3OZK/E R02fkAGqsc1IiGZRIk1Qqd8vHXZmPk2cDgWnCdwXb68C+MazLuGfC/neHjUP8uPPP+kF+viliD/ L9ONUJ+l6bGwURpxisFX+3MvBdKzG8SQNVUNv1WyV4l5zYqfdMXOtNwD38XY9Sd8a+Bly+eRmOO Ky9IOJOmTEh/Q2Yum3LzryjIYS3hKyfMKrYG/ahTrCT0MWtAs/Pjff1LSfCuIuotap0U+/IhuRT R0oRsCQDePexJcPYqZnJ4iamcet0y5LmxQOQGzaXuDeqElT1 X-Developer-Key: i=dmitry.baryshkov@linaro.org; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" In preparation to refactoring the dpu_core_perf debugfs interface, extract the bandwidth aggregation function from _dpu_core_perf_crtc_update_bus(). Reviewed-by: Abhinav Kumar Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c | 45 +++++++++++++++------------ 1 file changed, 25 insertions(+), 20 deletions(-) diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c index 6f0a37f954fe8797a4e3a34e7876a93d5e477642..c7ac1140e79dbf48566a89fa4d70f6bec69d1d81 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c @@ -210,36 +210,41 @@ int dpu_core_perf_crtc_check(struct drm_crtc *crtc, return 0; } -static int _dpu_core_perf_crtc_update_bus(struct dpu_kms *kms, - struct drm_crtc *crtc) +static void dpu_core_perf_aggregate(struct drm_device *ddev, + enum dpu_crtc_client_type curr_client_type, + struct dpu_core_perf_params *perf) { - struct dpu_core_perf_params perf = { 0 }; - enum dpu_crtc_client_type curr_client_type - = dpu_crtc_get_client_type(crtc); - struct drm_crtc *tmp_crtc; struct dpu_crtc_state *dpu_cstate; - int i, ret = 0; - u64 avg_bw; - - if (!kms->num_paths) - return 0; + struct drm_crtc *tmp_crtc; - drm_for_each_crtc(tmp_crtc, crtc->dev) { + drm_for_each_crtc(tmp_crtc, ddev) { if (tmp_crtc->enabled && - curr_client_type == - dpu_crtc_get_client_type(tmp_crtc)) { + curr_client_type == dpu_crtc_get_client_type(tmp_crtc)) { dpu_cstate = to_dpu_crtc_state(tmp_crtc->state); - perf.max_per_pipe_ib = max(perf.max_per_pipe_ib, - dpu_cstate->new_perf.max_per_pipe_ib); + perf->max_per_pipe_ib = max(perf->max_per_pipe_ib, + dpu_cstate->new_perf.max_per_pipe_ib); - perf.bw_ctl += dpu_cstate->new_perf.bw_ctl; + perf->bw_ctl += dpu_cstate->new_perf.bw_ctl; - DRM_DEBUG_ATOMIC("crtc=%d bw=%llu paths:%d\n", - tmp_crtc->base.id, - dpu_cstate->new_perf.bw_ctl, kms->num_paths); + DRM_DEBUG_ATOMIC("crtc=%d bw=%llu\n", + tmp_crtc->base.id, + dpu_cstate->new_perf.bw_ctl); } } +} + +static int _dpu_core_perf_crtc_update_bus(struct dpu_kms *kms, + struct drm_crtc *crtc) +{ + struct dpu_core_perf_params perf = { 0 }; + int i, ret = 0; + u64 avg_bw; + + if (!kms->num_paths) + return 0; + + dpu_core_perf_aggregate(crtc->dev, dpu_crtc_get_client_type(crtc), &perf); avg_bw = perf.bw_ctl; do_div(avg_bw, (kms->num_paths * 1000)); /*Bps_to_icc*/ From patchwork Sun Feb 9 03:21:12 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 13966601 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 48032C021A0 for ; Sun, 9 Feb 2025 03:21:35 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 9A15A10E462; Sun, 9 Feb 2025 03:21:31 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.b="mUl1eu/u"; dkim-atps=neutral Received: from mail-lf1-f41.google.com (mail-lf1-f41.google.com [209.85.167.41]) by gabe.freedesktop.org (Postfix) with ESMTPS id A968A10E462 for ; Sun, 9 Feb 2025 03:21:30 +0000 (UTC) Received: by mail-lf1-f41.google.com with SMTP id 2adb3069b0e04-545075ff6d5so557937e87.3 for ; Sat, 08 Feb 2025 19:21:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1739071289; x=1739676089; darn=lists.freedesktop.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=L6wwW0QFPdtORCKU8NZ1/0ghy/8xuSyLBH+dFHVgBk4=; b=mUl1eu/uPXTJp8LQGd6a4pfbVFNByPsE25DO/n3ocDe7mh91nld/rnvUQuMhI0O4jy rvx2TGfNmrvHMJhBXYjNplZfWo6xlJe8IisAijBXEVV+vkC4w9FUOWJh54E4+ef8+P8F eEfZVjxdnXHt6HmWlRU/ZV0PZjnwQXP+I5AIOZATdu8yeueNtHm8/u+LCob1t1icCQFX q81KctI71L1ThYolRv/7v/Xg7xMYN4J5P3p5zqCvKcgr6vqlBCr8srtRoTRuor5KExBn hL/9et0Gg2W/tUF56GcDvEWNmAcFKZDiXqxZW4KxlTULQ+NTteQOUTYBG3mKOBxJKWTW k+qw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739071289; x=1739676089; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=L6wwW0QFPdtORCKU8NZ1/0ghy/8xuSyLBH+dFHVgBk4=; b=Y9fmOl91JFRGSeWo8O3MNgWGBop0ptCQxx+Pdk8Mhc52080Kne166aR1fT3wnfd0LK SbWe7BLOnn039DEWwONidkBHkjZXfUFPL0j0n/ZPZ177O7Kbk5jzVTon6UDk5lmxfQNp MjnR7gogrFkXDRjSXBDPRiTr0uaftG/RIrgrTqsefPM2HApVq5WrhwoyZkisWT5MDklf u4H1iIxxMf/DiwDiFr5nMRVMp3xxIM7nuZeup2J8SV7qzDOeOMV2o3o3NYKmDkw13dv5 UdAAEW0iNYaM/1BHh8zRRb/Pfkcj4nYrE9dCKrkKNc7cxq4KDm+m0HrAw+1BvgItApOU C2Qg== X-Forwarded-Encrypted: i=1; AJvYcCUo703iq+5R2WlSCB3jP+dsfNQud1PHGufKcdqCqWPP+Mt1+/rA6yTWb6nsvgGZ4+h6C1JOI0P6oac=@lists.freedesktop.org X-Gm-Message-State: AOJu0Yx4HPk099z0CgLNURIaubyp0uAm2AR1eLrJhxuQ+EM2Zu36oJSa Cyr/vP1RzBdUB6x3BUsYpm33Fq/f7gTQSRtmDIcEyNtv7xgT2nvZpCIhYR90Vhk= X-Gm-Gg: ASbGnctI0K6DckTFl24mdfw5pH6maMyqYODKC1wDVQcfzGzhFy76O75QwD5SqDy7UFz DKlsj3ro3Jgf/j9tzN0Jsnn4xrOlyNNQRs3dIuEVRRtNPo+j9oIBVuwYOZWvSVIRFKlGB5U4O1t srCeLRI/4O/rL0Gz70aSJVQTdiFy+ocqxPZky/pZnhXkdAduIWl/8rUDbUa9qwf0jCMoS1DsPbU jMPPUBLCrfC/GEbhbtpQSIOE72ZWoiZRpJv4TytlyE33m3gwxuyiRPUpBTZPqVQvnZ9HnwEG2MU uje9JMcafaP7gf01n4LEKIk= X-Google-Smtp-Source: AGHT+IHXUbH/9yqUmGnp3k36rb6gFBh+eJdHg9jUhlwppiog1OyIRRhSRdeufKtsyeV4etFm6mPnPg== X-Received: by 2002:a05:6512:3051:b0:545:54b:6a0e with SMTP id 2adb3069b0e04-545054b6b1emr1242776e87.48.1739071288890; Sat, 08 Feb 2025 19:21:28 -0800 (PST) Received: from umbar.lan ([192.130.178.90]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54505e41c63sm279711e87.148.2025.02.08.19.21.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 08 Feb 2025 19:21:27 -0800 (PST) From: Dmitry Baryshkov Date: Sun, 09 Feb 2025 05:21:12 +0200 Subject: [PATCH v5 2/8] drm/msm/dpu: remove duplicate code calculating sum of bandwidths MIME-Version: 1.0 Message-Id: <20250209-dpu-perf-rework-v5-2-87e936cf3004@linaro.org> References: <20250209-dpu-perf-rework-v5-0-87e936cf3004@linaro.org> In-Reply-To: <20250209-dpu-perf-rework-v5-0-87e936cf3004@linaro.org> To: Rob Clark , Abhinav Kumar , Sean Paul , Marijn Suijten , David Airlie , Stephen Boyd , Simona Vetter Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=4737; i=dmitry.baryshkov@linaro.org; h=from:subject:message-id; bh=VkKt7DJwj8H2cF9BwqW7u1ROLqNk4NBL0guvyk9GsSU=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBnqB8wh6HJKbyu78/IMI06YCXqau9Jwg6s8jEuH rR2Fc6F4SyJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ6gfMAAKCRCLPIo+Aiko 1TPcB/49BWLC7cQRm6HFzEGFU4HgjYm8aRd57tVqmsvestZ0rfSc6ldlE3TwOrteRyekalsf+8D ikGK1Cipbxh7Weo3N7TfuM/rtgRCX7NJIhRUlCzqY22seU2u+qYxrm0jDlVhdSv7Tp4N3MJphJx o59XVnEiETSkzTcsPUzwuuyBviEWrvr6/r7BPS4da0hrYbgdK8Y1upkZAX+bZAvdSZ/gwlbNjru M5GgsRBk6h2X7jZDmy0SSakAePkWwP/209i8iEUmtrkY8RyMljEJZQG1BD8SuErUbNYytCAh93D +iUPWQq2L+PkcYRr2V7OdK4pLabe2j86biKfc+KfcW1T3L56 X-Developer-Key: i=dmitry.baryshkov@linaro.org; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" The code in dpu_core_perf_crtc_check() mostly duplicates code in dpu_core_perf_aggregate(). Remove the duplication by reusing the latter function. Reviewed-by: Abhinav Kumar Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c | 94 +++++++++++---------------- 1 file changed, 38 insertions(+), 56 deletions(-) diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c index c7ac1140e79dbf48566a89fa4d70f6bec69d1d81..f0d490afb53be2f4bc706af91da05bb893a5fe34 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c @@ -140,6 +140,30 @@ static void _dpu_core_perf_calc_crtc(const struct dpu_core_perf *core_perf, perf->max_per_pipe_ib, perf->bw_ctl); } +static void dpu_core_perf_aggregate(struct drm_device *ddev, + enum dpu_crtc_client_type curr_client_type, + struct dpu_core_perf_params *perf) +{ + struct dpu_crtc_state *dpu_cstate; + struct drm_crtc *tmp_crtc; + + drm_for_each_crtc(tmp_crtc, ddev) { + if (tmp_crtc->enabled && + curr_client_type == dpu_crtc_get_client_type(tmp_crtc)) { + dpu_cstate = to_dpu_crtc_state(tmp_crtc->state); + + perf->max_per_pipe_ib = max(perf->max_per_pipe_ib, + dpu_cstate->new_perf.max_per_pipe_ib); + + perf->bw_ctl += dpu_cstate->new_perf.bw_ctl; + + DRM_DEBUG_ATOMIC("crtc=%d bw=%llu\n", + tmp_crtc->base.id, + dpu_cstate->new_perf.bw_ctl); + } + } +} + /** * dpu_core_perf_crtc_check - validate performance of the given crtc state * @crtc: Pointer to crtc @@ -150,11 +174,9 @@ int dpu_core_perf_crtc_check(struct drm_crtc *crtc, struct drm_crtc_state *state) { u32 bw, threshold; - u64 bw_sum_of_intfs = 0; - enum dpu_crtc_client_type curr_client_type; struct dpu_crtc_state *dpu_cstate; - struct drm_crtc *tmp_crtc; struct dpu_kms *kms; + struct dpu_core_perf_params perf; if (!crtc || !state) { DPU_ERROR("invalid crtc\n"); @@ -172,68 +194,28 @@ int dpu_core_perf_crtc_check(struct drm_crtc *crtc, /* obtain new values */ _dpu_core_perf_calc_crtc(&kms->perf, crtc, state, &dpu_cstate->new_perf); - bw_sum_of_intfs = dpu_cstate->new_perf.bw_ctl; - curr_client_type = dpu_crtc_get_client_type(crtc); - - drm_for_each_crtc(tmp_crtc, crtc->dev) { - if (tmp_crtc->enabled && - dpu_crtc_get_client_type(tmp_crtc) == curr_client_type && - tmp_crtc != crtc) { - struct dpu_crtc_state *tmp_cstate = - to_dpu_crtc_state(tmp_crtc->state); - - DRM_DEBUG_ATOMIC("crtc:%d bw:%llu ctrl:%d\n", - tmp_crtc->base.id, tmp_cstate->new_perf.bw_ctl, - tmp_cstate->bw_control); - - bw_sum_of_intfs += tmp_cstate->new_perf.bw_ctl; - } + dpu_core_perf_aggregate(crtc->dev, dpu_crtc_get_client_type(crtc), &perf); - /* convert bandwidth to kb */ - bw = DIV_ROUND_UP_ULL(bw_sum_of_intfs, 1000); - DRM_DEBUG_ATOMIC("calculated bandwidth=%uk\n", bw); + /* convert bandwidth to kb */ + bw = DIV_ROUND_UP_ULL(perf.bw_ctl, 1000); + DRM_DEBUG_ATOMIC("calculated bandwidth=%uk\n", bw); - threshold = kms->perf.perf_cfg->max_bw_high; + threshold = kms->perf.perf_cfg->max_bw_high; - DRM_DEBUG_ATOMIC("final threshold bw limit = %d\n", threshold); + DRM_DEBUG_ATOMIC("final threshold bw limit = %d\n", threshold); - if (!threshold) { - DPU_ERROR("no bandwidth limits specified\n"); - return -E2BIG; - } else if (bw > threshold) { - DPU_ERROR("exceeds bandwidth: %ukb > %ukb\n", bw, - threshold); - return -E2BIG; - } + if (!threshold) { + DPU_ERROR("no bandwidth limits specified\n"); + return -E2BIG; + } else if (bw > threshold) { + DPU_ERROR("exceeds bandwidth: %ukb > %ukb\n", bw, + threshold); + return -E2BIG; } return 0; } -static void dpu_core_perf_aggregate(struct drm_device *ddev, - enum dpu_crtc_client_type curr_client_type, - struct dpu_core_perf_params *perf) -{ - struct dpu_crtc_state *dpu_cstate; - struct drm_crtc *tmp_crtc; - - drm_for_each_crtc(tmp_crtc, ddev) { - if (tmp_crtc->enabled && - curr_client_type == dpu_crtc_get_client_type(tmp_crtc)) { - dpu_cstate = to_dpu_crtc_state(tmp_crtc->state); - - perf->max_per_pipe_ib = max(perf->max_per_pipe_ib, - dpu_cstate->new_perf.max_per_pipe_ib); - - perf->bw_ctl += dpu_cstate->new_perf.bw_ctl; - - DRM_DEBUG_ATOMIC("crtc=%d bw=%llu\n", - tmp_crtc->base.id, - dpu_cstate->new_perf.bw_ctl); - } - } -} - static int _dpu_core_perf_crtc_update_bus(struct dpu_kms *kms, struct drm_crtc *crtc) { From patchwork Sun Feb 9 03:21:13 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 13966602 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 6136AC02198 for ; Sun, 9 Feb 2025 03:21:36 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 06DB310E466; Sun, 9 Feb 2025 03:21:35 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.b="cRGqbbWD"; dkim-atps=neutral Received: from mail-lf1-f50.google.com (mail-lf1-f50.google.com [209.85.167.50]) by gabe.freedesktop.org (Postfix) with ESMTPS id 092C710E46A for ; Sun, 9 Feb 2025 03:21:32 +0000 (UTC) Received: by mail-lf1-f50.google.com with SMTP id 2adb3069b0e04-543d8badc30so3746845e87.0 for ; Sat, 08 Feb 2025 19:21:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1739071291; x=1739676091; darn=lists.freedesktop.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=v4UlSnEikNx7abvy/6VbAdoXI8N3J7sKCjOK+VfTtyw=; b=cRGqbbWDJWDeo1JKDPan0GvxjOrWifJ3csJ6j2Zcu6ZZisz9hAn1kLszRUkxai1LZc /bohgmNBRvBGGHrPzHHQhMLOo/mhASg9u7p8EwzOn3RerkH/Xdq+mXn6wadS3/yDXQL0 x8eGlnV2ua8XyjLvFF6QTdViq8QhX8GCF2IdespHNvQYHW5v+PDgAw049Ax38wBYY06+ SOkIvmOUIA2K05jFSbKaI1Wk8MqrhCyk0dYUnJAvSR2/UsMul9xzxg4GBWED40WiHflw oBUiFAY7PNTVrs60xPL9PrqDMWNUJzwrlO2m4SjwDvoChsUiFERPezX2QJQAMMIq+yv1 DUwg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739071291; x=1739676091; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=v4UlSnEikNx7abvy/6VbAdoXI8N3J7sKCjOK+VfTtyw=; b=Fx3+Z+kegUS3QL4IMSy54jC2FQYAOV8KARi058Yak4DukqZl7V85j8r2GCJjNAza4N xp1rr+y1xisMAypBh4ojnKWi9kn+VCHXygyLukg7lR7X/ij+wbginHaVbCq9hv/RKrF6 D/yT+I2VDkZx0rmG2Auvdf5GuAO1+Ef36xExm+DxTT1QzO6dVVYzQyWBZN07FjAyXI1g IlUYWqpIx4aO8RZe1q6YaGtio0bvyxiA/KIZJluBFMTXNPh1rTwiFu9Sziz9ruvpeuEz qpyfoZqQvfVUgECmSOdLAGqAoi7xngu2w12r4KtGXicBCtF8Ml96FOFys3clQKNEYFOs VYVQ== X-Forwarded-Encrypted: i=1; AJvYcCUd06pS0f+8/uhtXadv6ZkDnOq8HK0TUg4CcYd+uL0tkRbY/kke/wj8Bz1t+NjyxjvPHZVPTKEenSQ=@lists.freedesktop.org X-Gm-Message-State: AOJu0YwnRiI+AKIHUTJuW92L2af1kMujePxmEe3loMVPx1586xhe8kVI Ta+2ZQcNcTx2n5ZjpdXGXiX+aOnswa/SrW8xRGeJ1tvtME6+VkGuRdFgBTtDUMk= X-Gm-Gg: ASbGnctw16+Yx9jE2yZsR9wDpiWygpIW+dkKoI/OXLLC3pbYDgRvRX7sVzEhJBJEY3L K0B1Wh+7MlisbroJLdZznDlkbJ34X/THIW7HJMjDdfqQNLHKMQ6s+iFMiCnPdO1bfssTCI+d0/V 8BUq1qangCTpJOIAlEtr71eEgvCXgJEt+t800FzDvwik05TRNTxnRRjtSjY0fvOoJHTPHPySEB2 LUl02XkFwbFTwP5VItpQcNFnbWBVDq9JY/GNVReQw188v9Myohv06DJ+aHunlfl0g0KO2PFTj1E TnuiF/apzxtBpxz28PWkSI4= X-Google-Smtp-Source: AGHT+IEKDarG7rC/R9xtBGIcbxt5IeulVvgGtMHcAmMBT6m3be6rYJT3zF+K9/FgT4Xb7JmkSmruVg== X-Received: by 2002:a05:6512:3a89:b0:542:23c9:43ad with SMTP id 2adb3069b0e04-54414af5684mr3151937e87.34.1739071291286; Sat, 08 Feb 2025 19:21:31 -0800 (PST) Received: from umbar.lan ([192.130.178.90]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54505e41c63sm279711e87.148.2025.02.08.19.21.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 08 Feb 2025 19:21:30 -0800 (PST) From: Dmitry Baryshkov Date: Sun, 09 Feb 2025 05:21:13 +0200 Subject: [PATCH v5 3/8] drm/msm/dpu: change ib values to u32 MIME-Version: 1.0 Message-Id: <20250209-dpu-perf-rework-v5-3-87e936cf3004@linaro.org> References: <20250209-dpu-perf-rework-v5-0-87e936cf3004@linaro.org> In-Reply-To: <20250209-dpu-perf-rework-v5-0-87e936cf3004@linaro.org> To: Rob Clark , Abhinav Kumar , Sean Paul , Marijn Suijten , David Airlie , Stephen Boyd , Simona Vetter Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=3509; i=dmitry.baryshkov@linaro.org; h=from:subject:message-id; bh=X6tV8r+a8XfU3v4vYgDgLRiuGjq6pfQHwg0IaxuHjX0=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBnqB8wpB7jgP4Qlri1nPaeJxJlTr70cG59uYiVj jaOF3pgSBKJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ6gfMAAKCRCLPIo+Aiko 1V/zB/0Rw6yebdjw+ZPWbLHnVkId9fk8H3Og3Oq3ehSuCJVq0uTEa3Vu+K2R2+htujYpJehUt/U G6wPeN0rh34IJrokOjGel7n1IWv7DAwp/QRS4JWd/EiBhmmYyvgTD/5PoQTqAkym4JI61b4TfHn pyrB5uvdRQtf140/VZFA6ynvI53qKEKyR26Z9PTEsCOvbg1QBKXmJsEo9j6H7wUjO8xDmRGRbYz h0HgQ456LEMdhBnVEsdG7kbzUR0VuUuG8SXm8MWVdqHL9wn9r6Q1iHSH7Is8WyqixKBV1pusSlF 6xZM9ToySvI2DMVcnxFEDU/DZpB1r2kHklVsXHhkF66Ubfgq X-Developer-Key: i=dmitry.baryshkov@linaro.org; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" The IB values in core_perf calculations (max_per_pipe_ib, fix_core_ib_vote) are expressed in KBps and are passed to icc_set_bw without additional division. Change type of those values to u32. Reviewed-by: Abhinav Kumar Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c | 4 ++-- drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.h | 6 +++--- drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c index f0d490afb53be2f4bc706af91da05bb893a5fe34..7263ab63a692554cd51a7fd91bd6250330179240 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c @@ -135,7 +135,7 @@ static void _dpu_core_perf_calc_crtc(const struct dpu_core_perf *core_perf, } DRM_DEBUG_ATOMIC( - "crtc=%d clk_rate=%llu core_ib=%llu core_ab=%llu\n", + "crtc=%d clk_rate=%llu core_ib=%u core_ab=%llu\n", crtc->base.id, perf->core_clk_rate, perf->max_per_pipe_ib, perf->bw_ctl); } @@ -477,7 +477,7 @@ int dpu_core_perf_debugfs_init(struct dpu_kms *dpu_kms, struct dentry *parent) (u32 *)perf, &dpu_core_perf_mode_fops); debugfs_create_u64("fix_core_clk_rate", 0600, entry, &perf->fix_core_clk_rate); - debugfs_create_u64("fix_core_ib_vote", 0600, entry, + debugfs_create_u32("fix_core_ib_vote", 0600, entry, &perf->fix_core_ib_vote); debugfs_create_u64("fix_core_ab_vote", 0600, entry, &perf->fix_core_ab_vote); diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.h b/drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.h index 451bf8021114d9d4a2dfdbb81ed4150fc559c681..e2ab7b3a8246c11f844d25c64354526ad162e15c 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.h +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.h @@ -19,7 +19,7 @@ * @core_clk_rate: core clock rate request */ struct dpu_core_perf_params { - u64 max_per_pipe_ib; + u32 max_per_pipe_ib; u64 bw_ctl; u64 core_clk_rate; }; @@ -40,7 +40,7 @@ struct dpu_core_perf_tune { * @perf_tune: debug control for performance tuning * @enable_bw_release: debug control for bandwidth release * @fix_core_clk_rate: fixed core clock request in Hz used in mode 2 - * @fix_core_ib_vote: fixed core ib vote in bps used in mode 2 + * @fix_core_ib_vote: fixed core ib vote in KBps used in mode 2 * @fix_core_ab_vote: fixed core ab vote in bps used in mode 2 */ struct dpu_core_perf { @@ -50,7 +50,7 @@ struct dpu_core_perf { struct dpu_core_perf_tune perf_tune; u32 enable_bw_release; u64 fix_core_clk_rate; - u64 fix_core_ib_vote; + u32 fix_core_ib_vote; u64 fix_core_ab_vote; }; diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c index 7191b1a6d41b3a96f956d199398f12b2923e8c82..8a523eb308630943871c2e075d3d0d9094606d05 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c @@ -1487,7 +1487,7 @@ static int dpu_crtc_debugfs_state_show(struct seq_file *s, void *v) seq_printf(s, "core_clk_rate: %llu\n", dpu_crtc->cur_perf.core_clk_rate); seq_printf(s, "bw_ctl: %llu\n", dpu_crtc->cur_perf.bw_ctl); - seq_printf(s, "max_per_pipe_ib: %llu\n", + seq_printf(s, "max_per_pipe_ib: %u\n", dpu_crtc->cur_perf.max_per_pipe_ib); return 0; From patchwork Sun Feb 9 03:21:14 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 13966603 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 96E12C021A1 for ; Sun, 9 Feb 2025 03:21:37 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id EB90110E46B; Sun, 9 Feb 2025 03:21:36 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.b="vHTLnxch"; dkim-atps=neutral Received: from mail-lf1-f54.google.com (mail-lf1-f54.google.com [209.85.167.54]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6FAC410E46B for ; Sun, 9 Feb 2025 03:21:35 +0000 (UTC) Received: by mail-lf1-f54.google.com with SMTP id 2adb3069b0e04-543cc81ddebso3702670e87.1 for ; Sat, 08 Feb 2025 19:21:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1739071294; x=1739676094; darn=lists.freedesktop.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=YP4MdvoMBcZLNprvBXn4El+Fj4ia9ZTDKakpTuuOOAs=; b=vHTLnxchCiSpPI2nLWmBLuQM2uH1l3igvYHkjkkEyRvZ0HyBjp7VtGeLFW9cr3PSpS i51L8E3lZpHd0P0x2YX+Bh7BWUaf+cVlFM2exfrYK0FgK8gVJH+2c1w0qIzt+YcUIM97 0YyEccZwTwWQvbHFP9XiByF7SvGzc43gDxrjl/86DaSePZqIv1MxboWK0/g7VMiJlyJC jxURCXltb+9J9MBpLmM22nF1W5pU52wrrpJTPBW9Dqhh1c/B5hsf9UMeJeI13fw4if4P fW6/GYOMUqxM5FRZKg3dm3C7hEAuTrbvbV1dIQr9vti2PSDcfRjwE5momIVIOM7Me3rh shCA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739071294; x=1739676094; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=YP4MdvoMBcZLNprvBXn4El+Fj4ia9ZTDKakpTuuOOAs=; b=HpBQY4o+yPm45avf32reQEigBSh7r6W9upgB3hPNQVUn9m+y1YlEQpsHaHVr5Ag5hg y4EJVGVHDL7kKj8N9vLAJoMOGnyRwSeEfh0znRGPdYSYkyxdX5crIwJIhs+xryC4T12V HAUBJDOUMuoppWLDNMZ37ayZWrFBxZTi+GMSZxVDY2353PdtaSoQU1/EJkuyZfKfbTpX dxgD+Xj8O0Qtfp6SJxYmx14icYD9f3jJIui2KEDudlj0jGLh44pxb/lNwmPhUczDEt8g yJA47PoVs5Pe0KTwT5Z0mgc4cd2tdAov67tGPaKr91cYAZIegeIJylVeFDAaGpsybxwP ltHg== X-Forwarded-Encrypted: i=1; AJvYcCXUlOeK84fIUAaKvd+anZZHmHArDbv608T8G7k1bz8RLRZwVJQzwqs0okJA2NwisnBeEgxpKag+pFk=@lists.freedesktop.org X-Gm-Message-State: AOJu0YzVDnDx5nLH8b+xn/r50Oio/iW6BC0EfsS1/9rQ+YMw+CzpLPhK dIBQ333OrEvR6kkicfVhSRJTfTaUtlwJwM28z/LAWCaj1FLi6uYWsNXVh5jf1ho= X-Gm-Gg: ASbGncuPeJ4tkWUiVqSkdqi3pAPdGUh9mi1LAcUnOowdEBJze6DhDCf6bnWim/yANgm jW7ivsfCIWfixFEd7zn3M/qrS0LruuJq3I5aAxJ42uNvxR95pRqMxQeYROS8R84t8QnkLx9huu1 zzjzGdF5FszVbrar2eM4sEfOCeKymiphzlGi/OR26clyj299CivN/yvZ4BMHCJavAgQy+Ona+cS O9OVorPtHWtnknmkJpxT1yVJfzr489mfVg/BpDpx5IDXwpjLKCFpqEaqQh+IGevEu7LbmTKR5lF 0e9vvrnqj9aVWYAlnOy1uAk= X-Google-Smtp-Source: AGHT+IHT7nTiAdKWQeu3k8QQPa1bQZIcSiuifSUIzIIZnG12uYB2K3/4y4M3apFaH6OaUNsZa9MNBQ== X-Received: by 2002:a05:6512:2316:b0:543:9a61:a2e5 with SMTP id 2adb3069b0e04-54414aa87c8mr3054455e87.23.1739071293681; Sat, 08 Feb 2025 19:21:33 -0800 (PST) Received: from umbar.lan ([192.130.178.90]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54505e41c63sm279711e87.148.2025.02.08.19.21.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 08 Feb 2025 19:21:32 -0800 (PST) From: Dmitry Baryshkov Date: Sun, 09 Feb 2025 05:21:14 +0200 Subject: [PATCH v5 4/8] drm/msm/dpu: make fix_core_ab_vote consistent with fix_core_ib_vote MIME-Version: 1.0 Message-Id: <20250209-dpu-perf-rework-v5-4-87e936cf3004@linaro.org> References: <20250209-dpu-perf-rework-v5-0-87e936cf3004@linaro.org> In-Reply-To: <20250209-dpu-perf-rework-v5-0-87e936cf3004@linaro.org> To: Rob Clark , Abhinav Kumar , Sean Paul , Marijn Suijten , David Airlie , Stephen Boyd , Simona Vetter Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2751; i=dmitry.baryshkov@linaro.org; h=from:subject:message-id; bh=AzzOh5VbF1xgAFQDr0y7LJ2KKNxSxWjiNvu2zCJupLo=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBnqB8wbEoQjB6wQCSSdRKzM+SCwM5gypX8YeKBP ui6NfvZgOmJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ6gfMAAKCRCLPIo+Aiko 1f1IB/9yXGycsTIgai3Ycx5zE0WAn9SRkd3ZTPGkvT6nN/1olXIWl0yfr5urQEcc/Z627VFf6zj 4UOdY+5tBukXG79csVVpw2WZqYr8vk734G59APRvZgRCu09G/df3tCXXhks6jNzLzWdfU5i7oOv jzk2XQtIApk+SFZau1M2eY5Mf+AitQx5lUGi9DaGaIuo05S6VavA16tjhUDepElFQK2Xl34AbYa w0dszxG26uUR1gaDLxGKWwUvcoDzGE6ej2PNsTrjeHKrhEdrzZUDlNzTZ01OGb9R9C5nlBDpvra IrBuQRpBJvzpPW0P1LZ76Pvz4Pi14cy4xFMV9IIcLZc/Kkvm X-Developer-Key: i=dmitry.baryshkov@linaro.org; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" The fix_core_ab_vote is an average bandwidth value, used for bandwidth overrides in several cases. However there is an internal inconsistency: fix_core_ib_vote is defined in KBps, while fix_core_ab_vote is defined in Bps. Fix that by changing the type of the variable to u32 and using * 1000ULL multiplier when setting up the dpu_core_perf_params::bw_ctl value. Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c | 4 ++-- drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c index 7263ab63a692554cd51a7fd91bd6250330179240..7cabc8f26908cfd2dbbffebd7c70fc37d9159733 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c @@ -125,7 +125,7 @@ static void _dpu_core_perf_calc_crtc(const struct dpu_core_perf *core_perf, perf->max_per_pipe_ib = 0; perf->core_clk_rate = 0; } else if (core_perf->perf_tune.mode == DPU_PERF_MODE_FIXED) { - perf->bw_ctl = core_perf->fix_core_ab_vote; + perf->bw_ctl = core_perf->fix_core_ab_vote * 1000ULL; perf->max_per_pipe_ib = core_perf->fix_core_ib_vote; perf->core_clk_rate = core_perf->fix_core_clk_rate; } else { @@ -479,7 +479,7 @@ int dpu_core_perf_debugfs_init(struct dpu_kms *dpu_kms, struct dentry *parent) &perf->fix_core_clk_rate); debugfs_create_u32("fix_core_ib_vote", 0600, entry, &perf->fix_core_ib_vote); - debugfs_create_u64("fix_core_ab_vote", 0600, entry, + debugfs_create_u32("fix_core_ab_vote", 0600, entry, &perf->fix_core_ab_vote); return 0; diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.h b/drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.h index e2ab7b3a8246c11f844d25c64354526ad162e15c..d2f21d34e501e443ec89604217929eea476e88fb 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.h +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.h @@ -41,7 +41,7 @@ struct dpu_core_perf_tune { * @enable_bw_release: debug control for bandwidth release * @fix_core_clk_rate: fixed core clock request in Hz used in mode 2 * @fix_core_ib_vote: fixed core ib vote in KBps used in mode 2 - * @fix_core_ab_vote: fixed core ab vote in bps used in mode 2 + * @fix_core_ab_vote: fixed core ab vote in KBps used in mode 2 */ struct dpu_core_perf { const struct dpu_perf_cfg *perf_cfg; @@ -51,7 +51,7 @@ struct dpu_core_perf { u32 enable_bw_release; u64 fix_core_clk_rate; u32 fix_core_ib_vote; - u64 fix_core_ab_vote; + u32 fix_core_ab_vote; }; int dpu_core_perf_crtc_check(struct drm_crtc *crtc, From patchwork Sun Feb 9 03:21:15 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 13966604 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 96D10C02198 for ; Sun, 9 Feb 2025 03:21:39 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 03BE910E472; Sun, 9 Feb 2025 03:21:39 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.b="uC2+I+YW"; dkim-atps=neutral Received: from mail-lf1-f43.google.com (mail-lf1-f43.google.com [209.85.167.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id B937F10E472 for ; Sun, 9 Feb 2025 03:21:37 +0000 (UTC) Received: by mail-lf1-f43.google.com with SMTP id 2adb3069b0e04-54504f29000so901020e87.1 for ; Sat, 08 Feb 2025 19:21:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1739071296; x=1739676096; darn=lists.freedesktop.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=l8PD0IqrAGE2oYpbwGvaPQf/cJok7PeI2X9zpMbZbMA=; b=uC2+I+YWLHwxyGW4t3KaMf1pDRP+z+Dq4YN+0vSIQVfQZJeiswFyAYuagRBrt6UP+P HxVq7HpT2Nq2mnGIJuOZ3f9lZh5w29LaiaRD0WYD43MPSOnhcmAU7knvdyE8jnnSrtQ/ 3KPhcii6ZuOoSKvctehUdH0/Tp9AIk3LFNbB5CIegdRyCTqYRM/rJ/4SSUUqnPbHWxDx v89RyupLihBWsmH8Ab+T0bA+RpaHGE/w3QeQqtgcXUMX+cRw2cU9lGyrE16jyBbHaQhI qC1LUfky4DzdzBqmlQiLudMkC91rlhsWcC2Nr6Vpn01t9VSxlq0LSrGrvuFehsVh70po L7kg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739071296; x=1739676096; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=l8PD0IqrAGE2oYpbwGvaPQf/cJok7PeI2X9zpMbZbMA=; b=utFaIo06H1NZJQ1fLG019wO4pvhe7HuWfrG6uUcGlRHmRquVQ7eO0DzZ5ycuxUs2OX ZT4iYp1dZQiHOTVcEOkzNsEUOqsfrTthPUoW5ugJVxZgpSHQl+gPv+Su5NQogemBpRy8 7qIgXlHJDiL5r7PpCDbtLWnk2H516VFWd/p/H0O5qDK2s/AwzpXeGby16JLv2BpTbYQc JmTiQNFzrulsZTNV/7CREB/zVg3c5OO6553H8AP5UVqyvJIXsTlNM4kHSfb1qfUd19W7 XqSYQH0HLhIK5TuD0ykp06mPhFyIAYitZQ8JZ375wa603de1GqGiesqSR2nlHtWpD0NN /hpQ== X-Forwarded-Encrypted: i=1; AJvYcCWgqZoZW1wdfFqhmp2bjx4Qxwet9NwzutBtVUHTehxGXLi5NQ6hUvoEJW3nTcWPk4R800uURm4z5rc=@lists.freedesktop.org X-Gm-Message-State: AOJu0YzcCi7exsrRv9dlboT1KBcXXUwsRYuXs6DVBAeskC06Nso0tzl5 3KoShlRhwrSuatSZkJErwY11om4NVoofI8YTSlomjVk3Q6uFAUkQguOZ0YgkhM0= X-Gm-Gg: ASbGncvLl9sHesmCLVxBqyfRSPq6tFuCQCgcDINUApUvoqJOJGXmCAE9FSJu8llYwnC JlyEWQs3PMtlSN7C4ExQPayktPkM3azAhGJSxHYfjH+loN0QQV+kpgDgve9CjrNep4vFhknX4Mz ZcJhUhwevM8WvhAuyFiTsJY+zwcc6uDqSgQxrH2pgjlxmsykOrga0VctV6sFkGzqhnyFo/nj6q4 GN9NC4CfNRCwcQRoDU+5GIPbEVm9/fJOaa1PU+2B0b37nzpL/1lknYYeK/LcKvrGTltOt8EnPXc TPvYv24YOoEISRbkDFr2gyo= X-Google-Smtp-Source: AGHT+IFaywdtzcVxRpRasataZ5TzvhFAkmqRc+3xEcB2W31nSu5sSrJNfgtxxqaJuGVD/E/Q+1m4ow== X-Received: by 2002:a05:6512:3052:b0:544:f93:6902 with SMTP id 2adb3069b0e04-54414a9d22bmr3196055e87.22.1739071296027; Sat, 08 Feb 2025 19:21:36 -0800 (PST) Received: from umbar.lan ([192.130.178.90]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54505e41c63sm279711e87.148.2025.02.08.19.21.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 08 Feb 2025 19:21:34 -0800 (PST) From: Dmitry Baryshkov Date: Sun, 09 Feb 2025 05:21:15 +0200 Subject: [PATCH v5 5/8] drm/msm/dpu: also use KBps for bw_ctl output MIME-Version: 1.0 Message-Id: <20250209-dpu-perf-rework-v5-5-87e936cf3004@linaro.org> References: <20250209-dpu-perf-rework-v5-0-87e936cf3004@linaro.org> In-Reply-To: <20250209-dpu-perf-rework-v5-0-87e936cf3004@linaro.org> To: Rob Clark , Abhinav Kumar , Sean Paul , Marijn Suijten , David Airlie , Stephen Boyd , Simona Vetter Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1945; i=dmitry.baryshkov@linaro.org; h=from:subject:message-id; bh=lJN1ZWQbA0MEI3JAi+kHjKIQi/CZ9+YkFP59ireKkPs=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBnqB8xogycCD/CtLU5spQjunXyA2yQ228CTHlDh 9fHZ7ZOPxmJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ6gfMQAKCRCLPIo+Aiko 1QxfB/0edAg30o+RX8k53oWUGA7So0JNIGqiaOvFrKH3V4FKGNAb44E9W6t2RrnxRzsp4OIVQ1c VFkOH3/zQfLpaxlogiPh4CQptNkc+qe03nJj8/XhaRqVHLZL+gaykXWjSelVoVBGebF25gJJWf4 mYVMuK7pGwHQ54T14CBozrhewL8Z0lSYhfDoFMwHeHiRMJPD4pLMTdy/yhn12fyd44N8wcMUV1b PUpA4OjMEs3ZOYFq8GQvsCyOSNAAa6+V4GO8BFAmZAIHVgFLxBa22ON/U7T8uwIOUPEmg9N5aQo 65VEsbMCS2nHkfdz7UZqmUp+HeuNbwuo16nkKCSkmVY7oLjJ X-Developer-Key: i=dmitry.baryshkov@linaro.org; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Change debugfs and log entries to use KBps / u32 for bw_ctl and similar data. Reviewed-by: Abhinav Kumar Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c | 5 +++-- drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c index 7cabc8f26908cfd2dbbffebd7c70fc37d9159733..b93f7556f187d46b325a689ad01ec177cecbc37a 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c @@ -135,9 +135,10 @@ static void _dpu_core_perf_calc_crtc(const struct dpu_core_perf *core_perf, } DRM_DEBUG_ATOMIC( - "crtc=%d clk_rate=%llu core_ib=%u core_ab=%llu\n", + "crtc=%d clk_rate=%llu core_ib=%u core_ab=%u\n", crtc->base.id, perf->core_clk_rate, - perf->max_per_pipe_ib, perf->bw_ctl); + perf->max_per_pipe_ib, + (u32)DIV_ROUND_UP_ULL(perf->bw_ctl, 1000)); } static void dpu_core_perf_aggregate(struct drm_device *ddev, diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c index 8a523eb308630943871c2e075d3d0d9094606d05..ac3c6c5ad1cec3856f0eff2ed71153d3c2dc279e 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c @@ -1486,7 +1486,8 @@ static int dpu_crtc_debugfs_state_show(struct seq_file *s, void *v) seq_printf(s, "intf_mode: %d\n", dpu_crtc_get_intf_mode(crtc)); seq_printf(s, "core_clk_rate: %llu\n", dpu_crtc->cur_perf.core_clk_rate); - seq_printf(s, "bw_ctl: %llu\n", dpu_crtc->cur_perf.bw_ctl); + seq_printf(s, "bw_ctl: %uk\n", + (u32)DIV_ROUND_UP_ULL(dpu_crtc->cur_perf.bw_ctl, 1000)); seq_printf(s, "max_per_pipe_ib: %u\n", dpu_crtc->cur_perf.max_per_pipe_ib); From patchwork Sun Feb 9 03:21:16 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 13966605 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 0D87DC02198 for ; Sun, 9 Feb 2025 03:21:42 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 7963810E474; Sun, 9 Feb 2025 03:21:41 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.b="CoUGNnu6"; dkim-atps=neutral Received: from mail-lf1-f47.google.com (mail-lf1-f47.google.com [209.85.167.47]) by gabe.freedesktop.org (Postfix) with ESMTPS id 334DA10E475 for ; Sun, 9 Feb 2025 03:21:40 +0000 (UTC) Received: by mail-lf1-f47.google.com with SMTP id 2adb3069b0e04-54504a6955aso836810e87.2 for ; Sat, 08 Feb 2025 19:21:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1739071298; x=1739676098; darn=lists.freedesktop.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=qmShZr8BhGzfSJcqwOvmipr0+7sVDw+FI8erW52dlqE=; b=CoUGNnu6eg6f9weZiGbjzWc2g+rux6CfubFqZFBcSY/WCksZSC6hSaA+bhNf9FiS2q A5RWAMIJtc/NrrzOwhJ1YqAGe2JAc7FaMQyr3IEm+0F0TmP3hgqZjbf8dUb+G9mh6/D8 j8t/owD6Q4gs5gNkC2faSr5YJZmTgbQRrMqrBrmVZ+M3sztX4VrI2BKPQY9VAhvQ82D8 ICgMILInr2YHM9itVUPIVq1SGsymd4tm6qgSm+C+hcWyINKzt0MQmmIZvQ5jz33wOuVz loJlLNe9VTzKizBDAQ3XGx/nqPDSiIhFlES4QCa4JLw68BPGsMsYvUd9pv25esooQBjr 8ZMQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739071298; x=1739676098; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=qmShZr8BhGzfSJcqwOvmipr0+7sVDw+FI8erW52dlqE=; b=OvIQDCUszwS4dxm/hGSRoAyQMsZGPgJQJ6OA7LeOzgQTog+UfrpVQ/X+ZL9q5Mrxug qRGPm9UgjNvg+MrP1yzM9arC/YVrfTc+vuzew6gUSXQicI3hNtftOp85OTCGN4r6Z5Y2 pUwkOFF/y5IwththfLUm1zqiBoHDgQr9OWg7GduMRvWVYsLZvi9HQU31rGo6cCBq4OcP XYy0PxBECXDOrz7M981g0LqCskxK3Su016DREpmxbOX4rnNTvCqKTQ4Q4RqGk6C+eqWb 2TQoxBERCDh0f1DBIi/37/y1K1QJGUW00r9SMPYA4L/2MDzQtSaDctp/W6Voat2Im6hR JqQA== X-Forwarded-Encrypted: i=1; AJvYcCX6hYJNJJ1oRBMyoormfvEBOrULz2yu1ID1CzX/Eq+tWHq3ooxF81rNnfV2Qxid8BsMAu71xU3GZNg=@lists.freedesktop.org X-Gm-Message-State: AOJu0YygJTrt86g+WoVJ8gE1Yd9Lr7/pNSSt68+LR0pbdKtdHKDCzUr1 tdzYdC8bsLsEA3vmryZFK0VhBSSNSJ+7zHj3tjelSAdPXZ0IV+rXoOElUH1z2sA= X-Gm-Gg: ASbGncvatvJ3LS0Sv2Es+1KbGg67YtJTgMhmCZFLCwXHYj0lY9xdsSDlAQ3ufFwu3wu LAUCAeX336C0NUkSQW1V8R7rnS+6fFURIFqaKB05EatHWiXUvxYSRi5ingKxkj6J/Ii47PMu/Vn huzNsaedDPSiRMh34naNgHiNiWsDFx/8DArbIWMtcYcR2+AAtnRmKrr9Izv4VpMydsNeAplxkZC L/sOq0m3t7kodcfmUYPZg+CKXNd6YXsH9l1I+002wzFXkaTkRbJbEClahZXm44Nmg/bwyff7X1w ePZqXRXUdDJmbN7cEQ1/tck= X-Google-Smtp-Source: AGHT+IF+E2lofGpgEIlH1mo2jb7pOLChFh1RWXSwjjqDj1osaZa4t5hh1hH4/w7xYOZqateCgBxL3Q== X-Received: by 2002:a05:6512:4024:b0:545:746:f36a with SMTP id 2adb3069b0e04-5450746f4a1mr738996e87.34.1739071298414; Sat, 08 Feb 2025 19:21:38 -0800 (PST) Received: from umbar.lan ([192.130.178.90]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54505e41c63sm279711e87.148.2025.02.08.19.21.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 08 Feb 2025 19:21:37 -0800 (PST) From: Dmitry Baryshkov Date: Sun, 09 Feb 2025 05:21:16 +0200 Subject: [PATCH v5 6/8] drm/msm/dpu: rename average bandwidth-related debugfs files MIME-Version: 1.0 Message-Id: <20250209-dpu-perf-rework-v5-6-87e936cf3004@linaro.org> References: <20250209-dpu-perf-rework-v5-0-87e936cf3004@linaro.org> In-Reply-To: <20250209-dpu-perf-rework-v5-0-87e936cf3004@linaro.org> To: Rob Clark , Abhinav Kumar , Sean Paul , Marijn Suijten , David Airlie , Stephen Boyd , Simona Vetter Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1348; i=dmitry.baryshkov@linaro.org; h=from:subject:message-id; bh=nDUhilGfCQVAayq/I/z8Ob2cdZRV9/FaOC6Z8D7SAY0=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBnqB8x3OR7Ca1tuaLoz9sFjn4we4MgkSO2z5FnP v5kDn4TMNCJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ6gfMQAKCRCLPIo+Aiko 1W+JB/9MmL89omNtMkNihdFHUoYIcD93L5lMfDfuVIPuV/sswg2iy/9vE58JLWzYG5w/pQGu0ee K1qTLql81r8nyGAF6gP+0Oyp9dk8aJZ7pfMpiZ3nb7HL7Eie8BnCidkr1KZ608reycOrZ4k4ZYJ MxkHUpbKLoQRDrcat0MC1KnCZKsmfwXBRSlKMe4zLiX+iHjAI3aBZkt6y1yCOmk5n8ezKP1lpa5 Ex4fy5+9faQp4jPANUlrrAuDx9O0oRmQvqP85f9hIStcT9HS2KraU90mdEXO++17X8DBoLv9Rgt /UdE+Ts0hddoUh/+PAJnw+drsVJCzibrYiARky1igeyQH/bG X-Developer-Key: i=dmitry.baryshkov@linaro.org; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Rename the debugfs files to match their purpose and the patter provided by other bandwidth and clock-related files: threshold_high -> max_core_ab threshold_low -> low_core_ab Reviewed-by: Abhinav Kumar Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c index b93f7556f187d46b325a689ad01ec177cecbc37a..70f43e8359caee2082f2ca9944a17a6a20aa3d49 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c @@ -464,9 +464,9 @@ int dpu_core_perf_debugfs_init(struct dpu_kms *dpu_kms, struct dentry *parent) &perf->core_clk_rate); debugfs_create_u32("enable_bw_release", 0600, entry, (u32 *)&perf->enable_bw_release); - debugfs_create_u32("threshold_low", 0400, entry, + debugfs_create_u32("low_core_ab", 0400, entry, (u32 *)&perf->perf_cfg->max_bw_low); - debugfs_create_u32("threshold_high", 0400, entry, + debugfs_create_u32("max_core_ab", 0400, entry, (u32 *)&perf->perf_cfg->max_bw_high); debugfs_create_u32("min_core_ib", 0400, entry, (u32 *)&perf->perf_cfg->min_core_ib); From patchwork Sun Feb 9 03:21:17 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 13966606 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 71984C0219D for ; Sun, 9 Feb 2025 03:21:44 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id E268410E477; Sun, 9 Feb 2025 03:21:43 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.b="FJV7Y0mh"; dkim-atps=neutral Received: from mail-lf1-f52.google.com (mail-lf1-f52.google.com [209.85.167.52]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7DEDA10E477 for ; Sun, 9 Feb 2025 03:21:42 +0000 (UTC) Received: by mail-lf1-f52.google.com with SMTP id 2adb3069b0e04-540215984f0so3515041e87.1 for ; Sat, 08 Feb 2025 19:21:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1739071301; x=1739676101; darn=lists.freedesktop.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=Ku0sYwA6Z9dPRMZKA3dFauq5bkh59hsd6mNrzYvKW4g=; b=FJV7Y0mh3m4qq1SS4fFPEGZAyc2j6M0kavaojgmD+dltdkhuztevyH9MMj4mPN5O6q n8l7ipJMQcJP4a+jo8MrsrsCz/Ng4BAXM0MvAMHJptwxrrGjJO+/Pez9YMG9Bsp1PQZW 4wxM9DZ5pwLXL8omnQBK7Nhj07qV17Fiy9B5GFVdYFVV/gXHvY7v2QHMlnRA+3l2102z i8VMRek9RNfJ70LqAzU4ppRh57nP5RPrU/S+1D1gfVua2l+lqildUCvax8C/OkW2B9sl +gMONyZI/Y1MSX3fe1utAyAtMk7TUHxdqcVw65EP6LEfMAWidgotax0dqliX2tNXx00B IITA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739071301; x=1739676101; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Ku0sYwA6Z9dPRMZKA3dFauq5bkh59hsd6mNrzYvKW4g=; b=W6kGzYn9G/1Yu04Zzfx6/9lkASbrsx2ML9SZk/91ntTdvqukuREX8a+wzRLyhRfa9x FKtCiK2JYpzGkRfNrbRaMBvyus5q9L0BS4QeJ6x8BYQ32V9leRw6h8Nn3g72EwI61U10 XrTOfDwOagZZHKzj/jRDohEst0i2uAwivYM5HhPcpAePO1xhj1uyHGeMUyO8+x5Sqkpr oBm8PI4vH4eCuiJPCVTiY9hAhvmWh5/qbXgXCbrU/Gbc3IPBGrbRE8NxJs6BMHnSvNEz kNoYaFHHl+5cu80KBJV60IooT7rKJrd5hY7EYyxX03HpsdkIiB3ofniKmCupZ63FRGqo moDw== X-Forwarded-Encrypted: i=1; AJvYcCXwIxqlFYQB4VugHxAjJtxnzUKsWkq3cbOW4YRQEGaHVtKzRQ7aGQJwTfZvd6njI1xiNZcn3Y3/Ia4=@lists.freedesktop.org X-Gm-Message-State: AOJu0YzBi2B9oWEnVq/GBiIlNKJaNIgq9YGtG+q80MpgmZMF2vsbCZzX +l1nzvkH35ez7Cycwb5vGmcam6LwiGWRQ6Vv6p5JAYhLSjpPta416GJdWjji8U0= X-Gm-Gg: ASbGncsdahkxTvESqEC33cjP6iSWTXgF2phwtmQc0gab2frhc4Hj/RK2TUZ4LTROoE4 e73QfAHkHhG1qSVQ5aU9xCWD3kRlnb4tjBuVSho0RiGpnpvUe0cE2e1v4HjSZqgEzYD9EoLuD2i 4ZNaqhEHeB4hOzdXyn8SoeUUvW2S4Xr2urTjqeFpcgidtj47BgGeTZHNzK+wDZoZYBvxJYR/ola qgoq4rRvLJ+5D5tgn3ftFVT3XQ00vGKaC5gByexZlJRx9l1I84Fd1j5G+vK9NFoP3n5I4Pmz4zL 3nfO2x52K1704bBu/5YWOa4= X-Google-Smtp-Source: AGHT+IGePwGd1RebmPrp1HI9qS1UxYaPhesybFi+M1gkvl3CAIFaQZZ5SKnQHqSf6VHb6FtMneT2Xg== X-Received: by 2002:a05:6512:1196:b0:544:1407:4e9e with SMTP id 2adb3069b0e04-54414aba30bmr2620571e87.29.1739071300792; Sat, 08 Feb 2025 19:21:40 -0800 (PST) Received: from umbar.lan ([192.130.178.90]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54505e41c63sm279711e87.148.2025.02.08.19.21.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 08 Feb 2025 19:21:39 -0800 (PST) From: Dmitry Baryshkov Date: Sun, 09 Feb 2025 05:21:17 +0200 Subject: [PATCH v5 7/8] drm/msm/dpu: drop core_clk_rate overrides from _dpu_core_perf_calc_crtc MIME-Version: 1.0 Message-Id: <20250209-dpu-perf-rework-v5-7-87e936cf3004@linaro.org> References: <20250209-dpu-perf-rework-v5-0-87e936cf3004@linaro.org> In-Reply-To: <20250209-dpu-perf-rework-v5-0-87e936cf3004@linaro.org> To: Rob Clark , Abhinav Kumar , Sean Paul , Marijn Suijten , David Airlie , Stephen Boyd , Simona Vetter Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1474; i=dmitry.baryshkov@linaro.org; h=from:subject:message-id; bh=emVhsAcPMXJo9jthW8kjkV7unV6UYdXutY3krP5kLuA=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBnqB8xGtaeqDuQnMeiiB+yFOQgI/3mzcHxIa549 qctshj8PxuJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ6gfMQAKCRCLPIo+Aiko 1ZTXB/9tOXIbVITqUa0mxZ8LeScVG3PhyG4XYqZMYA31A8WayXVwL0iwO4z46BRMll56qDanQZY vb7kMze651Slxw8udpY5UsFJvTDGor82C1W2cOrn23AIYYTyx4p1uktvIgN06ADzBIoLCLl3B9r QoWqHsI2sea/zc/1Ezwl61bMm5uNGVAjH4FG9qKBtUEKg0V+iEqnUHx8gGPWqRmUMWzSBIBGUZe 1eznQ8Q2LXrzksspjIomR4OtIS9+1C+mJhsHxUK03YchuANpWIA+QvjgIN4dvGID4+AfTwHBoV7 00E2/FtsbwAWf6NxIVsI746DRodAdkR+3tXTtCHHtzaMZyU6 X-Developer-Key: i=dmitry.baryshkov@linaro.org; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" core_clk_rate override is handled in _dpu_core_perf_get_core_clk_rate(). Drop imperfect duplicating code from _dpu_core_perf_calc_crtc(). Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c index 70f43e8359caee2082f2ca9944a17a6a20aa3d49..c8e20be08aa83c8bdd70065643b46676eeed610f 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c @@ -123,16 +123,14 @@ static void _dpu_core_perf_calc_crtc(const struct dpu_core_perf *core_perf, if (core_perf->perf_tune.mode == DPU_PERF_MODE_MINIMUM) { perf->bw_ctl = 0; perf->max_per_pipe_ib = 0; - perf->core_clk_rate = 0; } else if (core_perf->perf_tune.mode == DPU_PERF_MODE_FIXED) { perf->bw_ctl = core_perf->fix_core_ab_vote * 1000ULL; perf->max_per_pipe_ib = core_perf->fix_core_ib_vote; - perf->core_clk_rate = core_perf->fix_core_clk_rate; } else { perf->bw_ctl = _dpu_core_perf_calc_bw(perf_cfg, crtc); perf->max_per_pipe_ib = perf_cfg->min_dram_ib; - perf->core_clk_rate = _dpu_core_perf_calc_clk(perf_cfg, crtc, state); } + perf->core_clk_rate = _dpu_core_perf_calc_clk(perf_cfg, crtc, state); DRM_DEBUG_ATOMIC( "crtc=%d clk_rate=%llu core_ib=%u core_ab=%u\n", From patchwork Sun Feb 9 03:21:18 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 13966607 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id B5A8DC02198 for ; Sun, 9 Feb 2025 03:21:46 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 1EA4010E475; Sun, 9 Feb 2025 03:21:46 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.b="Y8Ap7KB7"; dkim-atps=neutral Received: from mail-lf1-f51.google.com (mail-lf1-f51.google.com [209.85.167.51]) by gabe.freedesktop.org (Postfix) with ESMTPS id CAE0510E479 for ; Sun, 9 Feb 2025 03:21:44 +0000 (UTC) Received: by mail-lf1-f51.google.com with SMTP id 2adb3069b0e04-5439e331cceso3820432e87.1 for ; Sat, 08 Feb 2025 19:21:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1739071303; x=1739676103; darn=lists.freedesktop.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=Oi1Az+d17IMWsJWKpM/Z7vG/JaxyEjq4HPEfn1poENE=; b=Y8Ap7KB78hJVKINHQdZxPlUu0Ev7ttX0wZ+GCrxynOVWT1aswuC3KL2UaXN6Q6K9fP i3mDNlltzNH1JwSD5JyXuVxzgodIT0q9bVNg4TCkIYAw68Ovyg9Nvnqk6wib4awwiN1u o+WTMMzydgNtybqlKsAoyBjwW0uXX9wDw1YqHkciU5jmV3VWDcgqI4I0+2RbLjwCvxo4 K0l9uRAO4DKR6wMv+Jt3pBdvcWxTltqx0iktX4vWHKasfCK2+A/DyBYGqLJvcClVatrY R8dfja60sr4QTsVt3EfpdyyWUBYRrcAGILNxd8lQYGs2kSiwXer0UDi4pcUI51yx16v0 SpjA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739071303; x=1739676103; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Oi1Az+d17IMWsJWKpM/Z7vG/JaxyEjq4HPEfn1poENE=; b=RXA8EdsEJwORoh7UULAVXcXanOLfLPqs+EPeDj/f1rR6ChR5pWT+jzDRligyyyKgpq ijCshW/6zOJO7otqEbFMKtojmlBbmrstXOwZ2KSuknyhGCB0fkwHeUCRJg0wpHGxu7Vl YMlvnZvVhCHGMQ9I0hs1HeI+tW4nrmH+/PlsFVyvygoJifgto1OucttyanDsq4/vX6mB eY4bAXM8YCjgLuWuv6I6fbntxphTXB+t6Zk5EpgT9/fyuaYVc5vQXrck6JxrahICowft 5v9wEEOlIHr0vPF9wXrY201deSdsItR7eQyMWM5k3aDPwcORkKziyj55GDiqY2dIVDpy tIkQ== X-Forwarded-Encrypted: i=1; AJvYcCXo7GSttHPhgHGxqGZ1DBTWPQk7uPi8EvUgjPDtKH4R8ovNeEqG1v41Wi4GztdcXmT6jVVTzMak2Ek=@lists.freedesktop.org X-Gm-Message-State: AOJu0YyXMzz/FDBKSxKYPH6cQQqvbQpWPdInF/BI+4oOR1o1H/VZmBY0 qIA6P9ZYkWS4kaCUc+xB8ak/guCNYytI9mxcUkfuKw+yz8BMsBWtJsCXb5KHlxE= X-Gm-Gg: ASbGncvKdRwoI8NXqMHCK6ClOpdFjsC5dg3OFvYuX5mf5EI1bmq643H9mMQI05ZgrCy +cYcWz+MiU1Keunm7Gfn0VQU3ORWqtgsaMoVXwrQK30BINqG1Z+4K3fdQYWvpg3XL7hnd6oHHYc vv3wK8I19TVjNq9TJ4Uy2iLyZDjRnxH7UgMPNWUCvFO9DJlceZAtJZCC75oucZynjOo4zBMrAtE 7scd5wEABtYTojpuyEHup3trFp58i1IO5OK2tTwzIbKWXcDG5fj37nn928rqQ0AMvtfqFQ9BoSg Ofhf4XRB4ieMgThCHnVmNf0= X-Google-Smtp-Source: AGHT+IFEZWwhATFiIjC/mq/2iOVr1pCkgPVkoAotYXpYl7oqtRxrDKn/6LcJLuTgNAVp6QR7gFdePQ== X-Received: by 2002:a05:6512:2355:b0:540:2022:e3c6 with SMTP id 2adb3069b0e04-54414ae134cmr2990351e87.35.1739071303093; Sat, 08 Feb 2025 19:21:43 -0800 (PST) Received: from umbar.lan ([192.130.178.90]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54505e41c63sm279711e87.148.2025.02.08.19.21.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 08 Feb 2025 19:21:41 -0800 (PST) From: Dmitry Baryshkov Date: Sun, 09 Feb 2025 05:21:18 +0200 Subject: [PATCH v5 8/8] drm/msm/dpu: handle perf mode in _dpu_core_perf_crtc_update_bus() MIME-Version: 1.0 Message-Id: <20250209-dpu-perf-rework-v5-8-87e936cf3004@linaro.org> References: <20250209-dpu-perf-rework-v5-0-87e936cf3004@linaro.org> In-Reply-To: <20250209-dpu-perf-rework-v5-0-87e936cf3004@linaro.org> To: Rob Clark , Abhinav Kumar , Sean Paul , Marijn Suijten , David Airlie , Stephen Boyd , Simona Vetter Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=3426; i=dmitry.baryshkov@linaro.org; h=from:subject:message-id; bh=EjVnzSvwGeLB3HXokJpPau5v3ni0TOZS9ZUms7htZ/E=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBnqB8x64F2cJNeOu1Uli/yCTGic6MsHG4iZAHU0 xuYkcG1bUyJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ6gfMQAKCRCLPIo+Aiko 1dRQB/9KevaeocmmMuzIO8TfX0MVz2QgpEIEX19HB0AkRYNpfMcBZFYbPMOEOjm7UT+GjkTHz5Q oQQ/7zMIqsyW/6ObGU75R3mPz9vZ8iV9oa/yZ8lv1c3/VSqliYLdwO+gebs92S3DS6ZxGmgTG8c a1I83mr92Vh1pxUJDygWzDiflhiVd0KxhTWIjXiyb4Iflz8RET3n+qv8scrqFNe+7RYOx8cIeF2 cljFJWxAmaIDHdQvvcK/rWlaBdTahxLsET4m7fYFBv0ZM+nptASfNzpI8wRg5aQWf+yUwIQ39si dwX5THa0LLAZkrWtLqS8NVfCSd8hKtLkWrV59iILpHtN8zCk X-Developer-Key: i=dmitry.baryshkov@linaro.org; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Move perf mode handling for the bandwidth to _dpu_core_perf_crtc_update_bus() rather than overriding per-CRTC data and then aggregating known values. Note, this changes the fix_core_ab_vote. Previously it would be multiplied per the CRTC number, now it will be used directly for interconnect voting. This better reflects user requirements in the case of different resolutions being set on different CRTCs: instead of using the same bandwidth for each CRTC (which is incorrect) user can now calculate overall bandwidth required by all outputs and use that value. Note #2: this also disables threshold checks for user-entered bandwidth values. First of all, it doesn't make sense to fail atomic commits because of the debugfs input. Compositors have no way to correlate failing commits with debugfs settings. Second, it makes sense to allow users to go beyond these values and check whether this makes any difference or fixes the issue. Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c | 36 +++++++++++++-------------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c index c8e20be08aa83c8bdd70065643b46676eeed610f..7ff3405c6867556a8dc776783b91f1da6c86ef3f 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c @@ -118,20 +118,9 @@ static void _dpu_core_perf_calc_crtc(const struct dpu_core_perf *core_perf, return; } - memset(perf, 0, sizeof(struct dpu_core_perf_params)); - - if (core_perf->perf_tune.mode == DPU_PERF_MODE_MINIMUM) { - perf->bw_ctl = 0; - perf->max_per_pipe_ib = 0; - } else if (core_perf->perf_tune.mode == DPU_PERF_MODE_FIXED) { - perf->bw_ctl = core_perf->fix_core_ab_vote * 1000ULL; - perf->max_per_pipe_ib = core_perf->fix_core_ib_vote; - } else { - perf->bw_ctl = _dpu_core_perf_calc_bw(perf_cfg, crtc); - perf->max_per_pipe_ib = perf_cfg->min_dram_ib; - } + perf->bw_ctl = _dpu_core_perf_calc_bw(perf_cfg, crtc); + perf->max_per_pipe_ib = perf_cfg->min_dram_ib; perf->core_clk_rate = _dpu_core_perf_calc_clk(perf_cfg, crtc, state); - DRM_DEBUG_ATOMIC( "crtc=%d clk_rate=%llu core_ib=%u core_ab=%u\n", crtc->base.id, perf->core_clk_rate, @@ -220,18 +209,29 @@ static int _dpu_core_perf_crtc_update_bus(struct dpu_kms *kms, { struct dpu_core_perf_params perf = { 0 }; int i, ret = 0; - u64 avg_bw; + u32 avg_bw; + u32 peak_bw; if (!kms->num_paths) return 0; - dpu_core_perf_aggregate(crtc->dev, dpu_crtc_get_client_type(crtc), &perf); + if (kms->perf.perf_tune.mode == DPU_PERF_MODE_MINIMUM) { + avg_bw = 0; + peak_bw = 0; + } else if (kms->perf.perf_tune.mode == DPU_PERF_MODE_FIXED) { + avg_bw = kms->perf.fix_core_ab_vote; + peak_bw = kms->perf.fix_core_ib_vote; + } else { + dpu_core_perf_aggregate(crtc->dev, dpu_crtc_get_client_type(crtc), &perf); + + avg_bw = div_u64(perf.bw_ctl, 1000); /*Bps_to_icc*/ + peak_bw = perf.max_per_pipe_ib; + } - avg_bw = perf.bw_ctl; - do_div(avg_bw, (kms->num_paths * 1000)); /*Bps_to_icc*/ + avg_bw /= kms->num_paths; for (i = 0; i < kms->num_paths; i++) - icc_set_bw(kms->path[i], avg_bw, perf.max_per_pipe_ib); + icc_set_bw(kms->path[i], avg_bw, peak_bw); return ret; }