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: 13966591 Received: from mail-lf1-f44.google.com (mail-lf1-f44.google.com [209.85.167.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 81B536FB0 for ; Sun, 9 Feb 2025 03:21:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739071290; cv=none; b=Y9VUyMzSmCK8H4gjXfWD02AUhgi5CnaEoDBRQydpI44BPfyvhaLlhRbqbCnHTRi5s4q/518DbctNnMvhLq+QjTBifrufmE82iMcUdrfvv+uVKrjC5Vti7EorLhozDtfWqqe+rcqvWjc6e2weQsv/tm+ZJcGOWmIyqpI5p1ab14U= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739071290; c=relaxed/simple; bh=Ranvcf9s/bstJI3Eo8F/WLE+D4NDgHgD/Z08d8sAtcc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=gK/uSeRG7vAsyAuzLHnv9/pTVwm+TgPsPTpi4+KAQS+/VsNffGH5fCkrNLikTkCpRVVRdpsUXF2VWydtyPh/9ABXCWYo0oTKQSxOT9iiUPxvnAQzTRVuH+omelFq+nDARsCghrsDBzqAPYDeuz7nHc172tZyQ8rdb1YvvUKTCdo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=rFqf6RhJ; arc=none smtp.client-ip=209.85.167.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="rFqf6RhJ" Received: by mail-lf1-f44.google.com with SMTP id 2adb3069b0e04-54504bf07cdso1037210e87.2 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=vger.kernel.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=rFqf6RhJ72hTvjBavjesQaMcxxW8+Hs5m9Sn0Ft63XHNre7GzsbuOvKg9+G6X99muv msP9u5V5vRU8YN2Ps6dUKlKZ23QwAVTxbwyQxZUc+wYndb2qOxJd1aViM1WSutDWBzS5 cemVfJgLRHKOTKLISoLgs4y4Tj4BensP7OBVMsAAVN9H0GFzuknzPKwo7UzCdrr56o9e ecCv9bgIcGIODo738hMwa98ctpFLJpvXlktc7mvLIwQYghcPGz0tiCu6mDqFGyvGlwVJ kXiom8dvqCgo8R3H22qExpOalbuapfwDT5tVd8bQrCrAbj5Zc/RA3C9wgmtO/eIzyiQ0 I9DQ== 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=RJ/atvAFajsTSz4PbWC5aZ7nF5N15RV7J1YWlW79SRSYs8UWOOyxoVkMBnj4buQDHI b1SAmAkeYbIs87cDdSAKOhdXcpvAts6VXJev7lDcUgyeeiUyV/oCOTvWS77HSzv5ED8o EDmxv+RAYiffO2TAB4YCEPPKhMkdM5Dmg1Elq5JSE74gkMG6RM4Clwzhn2NQOABnuUlF 3iuIzx0UhdXor637Trv5nOVwlJHivDfPts7GNQz5kjVeUmff/mXYMkxOiWPIMygjhimh pjyNCDT/YRh3yn5yF4ryZr9S04K5ytfrbBU7X49XqP815oroi3v/esbeGAcD2xDJfefD cg7w== X-Gm-Message-State: AOJu0YzxMHD8PiNNGaoQounlw3+avvPIXFAUWGSSFVcWi34axX0/9Icd 4VZIXCf3uQw9ps42kpm78LM2eLosHl/Rcqa9IYXsN7c7kzhej7gYhdDJ/tRvVws= X-Gm-Gg: ASbGncuhBKdHxlfTGs/G5eNEwSgMTXjoKG5030Pf07s3o1LIqe9VT49/U7KNJDdyGu6 8k7L1w56XOrfeBx/x9BZXPi4WHYqXTOW9oda63LBhV2gZVKk9UZGA/7sE5M8IxV/X85jD6LfP7I l+u17okfts+tsr63EJ7NIInzaxkNoJqvxGYAy79ygB0LoBPCmlpTNTStzDJkIShl6JM7I3uJ1oz 3RZ9SBK4b/kU2ikzic1LvScngzwVvhrVlQ1EU6yBcALyFzEGwQWJQdU+kB9MHbTgn8peqJ0povp ukVMXo9iAj+zkFFJij6MhtA= 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 Precedence: bulk X-Mailing-List: linux-arm-msm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: 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 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: 13966592 Received: from mail-lf1-f50.google.com (mail-lf1-f50.google.com [209.85.167.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E053FEED8 for ; Sun, 9 Feb 2025 03:21:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739071292; cv=none; b=HpqVZzQIO56XotyFWkVw2RSQh3+3U2ZLqcC9XjRJNcSb/O2SsiBRAr3ZhkWoZ3g8c53X2WmlNPebpYJPnOdmNysfUNoDAboWqLzO2dNuIgZvclAG/SpIznG/kTBD2oEekvqoyZ22oA79PlKHxDnVbkHKTll4p8xvc6qTrRVufGA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739071292; c=relaxed/simple; bh=VkKt7DJwj8H2cF9BwqW7u1ROLqNk4NBL0guvyk9GsSU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ooGxAbquAYg8m4ko51WNvq8EC8ZnT2Oghye9+Mxcfw9YF/vqPdUIdDVAftdxVMni1dejOTvqCy8WiaHaFAEqpgluNXVAVLpAfcU27yFJf7FejoMBChuymR4nPuSK+8nhwa9xNT4RK6P6BKu1X7zL81uFx4GlT/QCuRpY+1dcvLg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=ceTvnYlL; arc=none smtp.client-ip=209.85.167.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="ceTvnYlL" Received: by mail-lf1-f50.google.com with SMTP id 2adb3069b0e04-54509f46614so156760e87.0 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=vger.kernel.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=ceTvnYlLggsF58h3y5Yb0e7YPqMObNLoyHVLD4WqZX0zzV25183z27G26QG12+EzmO uARf5vvzHxMyrbtfJlV34xGGgWypa5leEZcI/zFJS8zNM8CR192VhXnLj7DgUjU5hKd7 nWY3lcn/dRhUE1r2nUdphY0a7gg+detCzEMPlH4gRUUgSFPLXKVtIy1IrphUyfyRzbgL 5J7+wmu60UmIPDCSdQm5JVAEkwhyG3C+T5DXBNahFABzmoGFpwcqtQPmsXmWhejsup7p XlihnK2vruVuMrCBdHeImbhOOB+OK2RR5SLsFYm0JO2wCb6GIFNB7bU/0x9qF3r0Cexm 1aYQ== 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=nM9K60zzjTf6CyQklccoj7LI76ZLl/r9/IYbuhEwonTlGo01qzCsfjyWymYV6ARC3n zaQR6vYpmqxW9AGUqf0TJ+SnTxX0rb9DYzN0Bg8IinuXAah5zKIV9RO5K0HDp+Rg6Wcn d31iGgsSmFUh8Q9TTPqmVIDuRO6mzYRZ/2wBSSOCzYV0crEePV4l5dyTixT+PrhQxx50 tWeBm1OCdz1wuZlwIRl3F8uESYLVF7dD5XfdvE815tZoJq4FeoL8o55DyJ045SqrfgW4 FR5CAxZ1VDDvLVdl7W9DcWU5a2Rqik/MnQnAW6z84lKmH2qC1PWkj+dc0hn14cw3hKI3 IhNg== X-Gm-Message-State: AOJu0YwPnKW3fvDgW3ocFsxCOdqXtWJ+1KGndZ366MbAToKkEgoFGBxO rB4cbBJO1qWVhQEaA5eIebvWbFMStJh38wOCQbvUOUMqd6G9Rr3FrHz9enRFM9U= X-Gm-Gg: ASbGncs7sEhoZEV3+NpfeOWjU8wsGISe0cC/36mqLn/rYh3bgYGv7Ou/udkrdRohV0H m51t5XdjO8kovnJO7Udp0prkckGVmm4wga8RaOL3kqMzP1vlyhk3bHPUqhiRnMwHiiLpsqIRPnT jHbqtjwV5zOPIQ1CG7n/9X5DzL/1KAgM8A7/HKwjAwb1h21hAOpu40JE2RsUUybC4bxK6EMEOww pmXbJ2Gl5/umq9Huf8pgj8mQVlBAfbOOQcsXJ6d5F8AKZYMPWu9NL8Msr40/Nnr4+o8RPg+PlVp GA3nWl+8btkyMAhmXZWNR20= 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 Precedence: bulk X-Mailing-List: linux-arm-msm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: 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 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: 13966593 Received: from mail-lf1-f43.google.com (mail-lf1-f43.google.com [209.85.167.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3E22117BB6 for ; Sun, 9 Feb 2025 03:21:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739071295; cv=none; b=eBHvRF3iK9Hzj3vOkBZGr5pCcN3fup3EVUS7Z13LwMqujoYsWHhcPULMzgdFkpS0UO8QvK+aNFu7wWQdJiUF7kVMVxYlcAU2e96AYyvAq18K26Naj0c/N/qr9vMX641xh89+DAvBQ8yRuXhRd2PBMy8qA8+punbJw7TkB0eDeaE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739071295; c=relaxed/simple; bh=X6tV8r+a8XfU3v4vYgDgLRiuGjq6pfQHwg0IaxuHjX0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=IasoN5M3EprL6J/LBq4apF34/4oT6HKtlhJsrrENAq5872sfOuu/gJlzk2rw68ALpxQQvjgezoOBUtnQy8rBm56GlPsc18WTe3Q/40R3CwTdsHdRvdGCcCbw9LU3bxeJyOki3+5PO3y4sDlhp8C37Smg6JdjM6aGRyf0Wa1TY0M= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=i2xib3/J; arc=none smtp.client-ip=209.85.167.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="i2xib3/J" Received: by mail-lf1-f43.google.com with SMTP id 2adb3069b0e04-5440d5b30a8so3935846e87.2 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=vger.kernel.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=i2xib3/Jb+X0z9Yr5XAuCHm+vogX7X3g8tJmYjDPK+u/p4Foh9oyOc8nXVfh5gs3ei kP9d4bOU/8JwuJ/Ua0jhaIVDpk4qe1luPdThNRDgCFaO0ue7WQuJ+2hmy52HMW6Sor1l HGLlFHYOS+JaF7nX3V7pWBAw01qSh6NH33AjuuclxJxW6gMmG7jBM/S5CpnqrpR/UC+z EILHKr0Z4lvrWKu0nSQ+f+dxISuECrSOMIZ3WC/7H1rJkccVngropVBTpCBhMJcVqvg6 uMnI3BjPHyZvU97fc0NT+cDrJoMwUkcip7RBZ0pYst/jaPYVP7L1o3WOm5pSCzM79gWb lP0A== 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=oy2tbON61gd/tJMeMoL+w9tFfdvBjiELttHh6MAFeM1Du3W0Ze18WkEJ2Xut3U0FWE 3VBCSNxHV/yYEXVHQi6duGUhuyp9ecNqRZ7+K0Tq4Qb8FFA/MnsA0ezqJbsYXqlpVts/ ZcAUTm7sO7CZWoNMC6lGg77SDEmk4JSF2eN/B4Xfr63gW9XZOnUyxOGwP0VWSSukNxAT aeV5IMYssqV4hZls4k/NsRgfgyiR5iXLj5yJsf2Mrjq/ydfbYnhU7Z3dmLHqbnReja6J fd5HYzcpDacCfHDJ5sk7uTIwcGkQErf3lp97r9eE2rR88itwARkT5k0PJFCeaC9UO0+E OPzw== X-Gm-Message-State: AOJu0YyZ//8meeQCAdd5fqm3Gg8EV3gym25LwNiR6QSoMcLANLdsTsFX wyi7CDc2RwvpfY/R87RhXwHXlO6gYW1/DOsdkKaF/jvp+hxpnKxYCA2hn6bIEcE= X-Gm-Gg: ASbGncvSiQBkFvloyTfFftZSMQT52B5R4P48dVmovbAWq8V8D9z7LjCD5DfeWKvQHPy nC/WTHU94L4L+57HiNxbh82deI0UU1/fV/rNWOQERybAcCzf14RVgeQ3U7pZBO2twdPxREIcbEX CYioWP26ffapeket1vru7oyccmlTsa0vjiZsWseOY6LV1jg9iaV2nEOuZVk/b6JTeuyAwZ4pB8N hvPVfPZzyxut9BArYv7xDwB3NmbtdKO9LYjhHbCtSjvgnZeDzkVlf54Xg3wmqCRwSJS1v0Amitj KDTJltY/joWClHnz8nBFkcg= 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 Precedence: bulk X-Mailing-List: linux-arm-msm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: 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 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: 13966594 Received: from mail-lf1-f48.google.com (mail-lf1-f48.google.com [209.85.167.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A89FEEED8 for ; Sun, 9 Feb 2025 03:21:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739071297; cv=none; b=KShYSWmN+Zdr3jKKVbzhIvwxzVnebFlzcwNgxi9NNt9cMJoJ/Cn1MfpGe9/r0xzEZVQ9OMmt9fCOqGfj7AXzSdQU5ifR45ew4ZgVIuIQ2vf3SfBNSKKFuT6TiyGhAO5qp12oDxBEjYjDs2o93j/f2OOUSE5GgzV+b06K4YlDK3k= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739071297; c=relaxed/simple; bh=AzzOh5VbF1xgAFQDr0y7LJ2KKNxSxWjiNvu2zCJupLo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ERTjL0uo5MKVa+duC57CSdwqfD6Mk1Wu/9tbUC4gdXiB3Y5pRzx+HkPzg+Cwa72OpvWwYUZG+icKwTVHRj0Qch5nO07iHQY59Wadtl2Kvq4kiGs6hHHfTIr//7vM9OtoFs80v1V1xSTVOLz2D8/YaIgitZ5XCa4vCU/dy6u62IE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=UnN3QeKA; arc=none smtp.client-ip=209.85.167.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="UnN3QeKA" Received: by mail-lf1-f48.google.com with SMTP id 2adb3069b0e04-54504a6955aso836780e87.2 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=vger.kernel.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=UnN3QeKAHxQpc4qlfZKJhd4rim257NJXdOv10RFqVcaYKKmiKEMce7PA2xtxshRhqN sXVCYCiFxhgkad6+IQ+2EG5+qBmZToKjkTQQWpOWq8oM8JTTElcmo7qloREvktkGpRVH I9k6aHTua1k091gVIZF5oHJtvJLYw7b4wrhS/ljGoaz99hVpgbo9WTy3EuGnpFwirX+c r1F4bFrkrdrcV7dfBojmWNY8HeDBOtvA4c5yjvyXogYkU6202LDx9I/O5DLgA21lkG7E xLe2h1g3Z9gxCJSOJ+3HHE07SZEfc95iUyUhK0wG1iZ8eFBaPOocTQj6XxzYz97XoZcP 8Yxg== 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=iEgEN5Zi64hDoJi3SiY6poqciqIRE7Kkczp4wY6JIUFGxNEQW4VJyNACcMwgiUO3fA g9ZuCvSSI916NTALYRxGVCTWV4MriOPIklcHjyOZsiJR+ChwY7e9u8rC4DvzBAy5m3+9 tTtfvTdyeDkPeHDc+gIUTn3Vnw9YLaH+Na4bOSSfNDVtMOLfq3w5RiohwJ3/s4ojh1Fq 6Azp3R3gzqlh4DhmJAMhow2TILtHmZLYzE6mpybR1uz3paOcx+kY8JmrLOj5NMZ6Aq1u FpOtfhgYQMHDQrKs8h7iTpZYt0aH3Y8nIPHDJ2glGihprrhJ1aacDb3zYMg850yDdzDV OQ0w== X-Gm-Message-State: AOJu0Yz1w2yRLpMniyLqZfIUHuB2gxxkgUGLL8CoiqP05SEa5alRbwL9 D2AA8fZ/EFy4jJt8bWLk3qIAvkiXwcROuCNjOQ3DW75IXPWgBZT5Ra0zl+i8SKE= X-Gm-Gg: ASbGncvl1OieebmCCVY5Y/O5XtF/BYssIuPggPebfmOaNl58tyvizH6f09Gn/0bNJ77 waYBYdh0VoFTexJ6Jk0XB/BIhrFdAUKeNplToAKwy0jN0f4LxuXQQoG5kHBgdWuBdqOPUyyom32 4deEIIyaHocUYMKjzIdRmE2a8gsZalzeAE0t2Fqs9hlKXxbkhvEn4zuHdu9bf8LnQhmG3hQehOP tPWzi6HFcTohprBxS8uqqUyVrK90f6V451OHVf/baIEP1I20/qKl70C0VWFLxB4DS3KUHX+9MaY u06X1JXwBm5YxuGZdjPwlmU= 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 Precedence: bulk X-Mailing-List: linux-arm-msm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: 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 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 Reviewed-by: Abhinav Kumar --- 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: 13966595 Received: from mail-lf1-f43.google.com (mail-lf1-f43.google.com [209.85.167.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B0E6F6FB0 for ; Sun, 9 Feb 2025 03:21:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739071299; cv=none; b=OfVSE9M5av1y0fjyAYFZlILSAd5bqn9MhDXzV+GxSCXTSTOmo7xrmZoLVEDwR09WozExXoEtUN7R5NjaNXZoIi4xU2BIhPPHvjOfdT+q7wkyPNYz21rDOsMxZpzArS9LLjYlZ8lY1t3YNoVVRpGddxAdaAmf8Evt9qrNmtJhYz0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739071299; c=relaxed/simple; bh=lJN1ZWQbA0MEI3JAi+kHjKIQi/CZ9+YkFP59ireKkPs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=W2WJeAMuthEBG15CU+h3XIkErnI9BAU+60SdKCcbRlwvZ3Kr+vHGoeyIQ3y3NHN7StGAdeh93TXiUpQQpuVe8NFKG6PGCdv+94b4rffSwX+VDgE3q288GbIePk6+cR2/6pPGJ6QpiwwP9EHv1LLZgsgUJRkkbMKPX7gm92Rz8cI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=Wlyw98Lv; arc=none smtp.client-ip=209.85.167.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="Wlyw98Lv" Received: by mail-lf1-f43.google.com with SMTP id 2adb3069b0e04-544ff74be6eso1315658e87.0 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=vger.kernel.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=Wlyw98LvaRvjaFpdb67KSbgUIysz2jNEHT/uRWlmgp/Yzhp2OZRvmGJK+8qMT/MnlB r7Qk58yACin8i3lhDh7kMVVNRFTMAcypJ/exZlVbuavwWYIeqqSZwHE2fDjCvle7+yyO TJP2+5Faquo3gtGNTNvpBs6CLFBacBwumgOez4OdhLCwQL/TDaenXbp9V8DXIuvCcAVO TT1kHiwUHyYOcWfa/DduivA9kI1Ona+rF3JNziEFM4LdbokAxEuAquOY/BEf5yUdY0I8 Y1B1XCE3W+TbBydEWj/mkjztly2sDWCuqMJysOQEhtvVyhh9Qdij0s9xph8Z9taOq4JP sOGg== 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=oNXEtYC2swArLtUcI20nYpY1DfkN1v0eSqOsfS+V2RufkurOypVUD8mQfpU6XhdYD5 Kvz05x4tbKkFSiPPDGrmyDlrF62zEKJsiIZGSCVxl/DvnJ+DlAQhMPNoq66BJkJasZve vHhWCTxsGHKcF+3NVIw2Hk7zRP9WI5yodbNIG/bnOjTic2EXikS5m5+6vVh2f9Vv+j/u NZ1jPX7KlC+F7UKoUyg8qgz8vc2xqgAeUj56ixdF6d3GS3l2AjuZcBqlBw6IsDqWz3YO qFfMr9aSAlcRJ/VruIB8qscKLBXjUyGn19Xqe9v/me+RnVY2TiOadgsfOEbkHZmIiqlk VKCg== X-Gm-Message-State: AOJu0YzgEdZANcLwCCxb8K9InJra2UN7n0tfI/p2E5AA1b0EKf8N/G+c dwgKqq+cLbGS9uD+KXBM1JWJFaGEZSvNMHh1RS+ZU1NmILCzjMRqpnlqkXBounI= X-Gm-Gg: ASbGncvLjz4NCjMgLXKzfx1ucgBKFSzcHAdvFdE/zSErxkivDDVRbYF6JcxC6qoWP8Y r+DnA8Sw1w8K8BL7M3Maf3UHrzRocjvaApzwEwlFkiN92zoLpPjDjCl/rLnYDeIEHaKrZvIAC3Q h1k4mNj4YsWmBdLA6zTSakHGopnxVK7D2SXM3OXQBCskd+UawbMt2oceZlqGB37JJ4yuc8a5z5C c/IANEPQo/HoaoBM2w/c/Wr8muJEQJOt4iA3dOj9VfWfd8I+91UbxBIeizjaQeyfMPm/v5XGKlA UCW36qmJujwk4ckeE+6/HlU= 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 Precedence: bulk X-Mailing-List: linux-arm-msm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: 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 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: 13966596 Received: from mail-lf1-f50.google.com (mail-lf1-f50.google.com [209.85.167.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4934E6FB0 for ; Sun, 9 Feb 2025 03:21:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739071302; cv=none; b=GOc34p2xd0SzFYgzXb/r04qZ+bStDoXw2DI5RC4KwcKLD05ufMsLdctvoDSzdi09eE5BoVNbPeZ9FtBNHGZYGnPTuTJW5R4gysCO/0LpHTTytUpW5ZgjQ78WclV5z2sRedpyt7gDNJdK7SpFLivODlWQ0xTcvF/M+IBq05W8VhU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739071302; c=relaxed/simple; bh=nDUhilGfCQVAayq/I/z8Ob2cdZRV9/FaOC6Z8D7SAY0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=VtZLNo7ACIyNqoTmm8ARK/dKF5E4Zrj6gJpt/sjPn42GsdOJkAZMpES/d4EVFJzew0e25G1c/CCq0yyG78riJIjQ4cCxUKjcSbLb3QoaZza5es+PGYH8eUH9G/H0I6S6tMEH/ujxoLU3eiKxNHpfFbI2m4+xftqHDXRhLp+XcMQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=LO1gCDhR; arc=none smtp.client-ip=209.85.167.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="LO1gCDhR" Received: by mail-lf1-f50.google.com with SMTP id 2adb3069b0e04-54506b54268so586801e87.3 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=vger.kernel.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=LO1gCDhRH7YJ8FMDwks52GQ5vvQ3DGGWr4gzMoKaBnMK4WNOWM6odW3EAR+pi+U0Lo 2dHW77l9zRMax1yMdmU38fHZfKGPa22OMaI3E9UyCn/6aM97Z5UQfdxBh3fg+jotFrAM xKGigCZxUSBXgPzZeHkx/qmwGiUTkIp1Y9JncMj0KspM2xe2we/anF8j3ArDdmZ7l6Qz vo70zH/DpGKNSdqxEAxQ3NVhhL7FpUOYHrCsMml9sP0uTnQvQ1y8HEfF5bsplHWrq+5H iEAqaQSHam6zGys4uGalpeqiGQSUlHcy6x9mj3SmvwMp9fUu+lGQjSIRhF1X2yEfwp+9 QOFQ== 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=PAP4B8jUh5gVE0r272/3Muih9vR6A6BQI4lCRFLtrdCTUZSNA9WEVmR2iuE2+AhKXe ttHNJORgUw7TvoXTpkLgALq9IvSU4+srUaUKjaQlPac1SUoI9Gq7x83Htc2WnwSHAJ6P o+n73EbkM/wueGzxnwAWlrwHTWlffD2Am03Qt9QCDnBouoZz4C/FW42YQBX1A06+f475 wSVdvidx5q3p4QPJ7iSuFkGaM/0mj7K+4F0XDMCaqen5ovZPefsupGVh71X46cTU4lv6 EkLSJaMB76ygLjCK//QKzRvIHyxiOXYtl+U2rJ+SXcLbxTnf+2jBGeRnmg5ltDtyXCyC s4Iw== X-Gm-Message-State: AOJu0YzgJbTy702qWyATaf371GyMe0KUhLDjH8A6cMuYay6py1Eq55ef INX5MR6anS43eqCp1irzoVFpZrKKqKCX1cpYkbtYJrE27BqFxCGFJbGov3Gb1dI= X-Gm-Gg: ASbGncvBr1thNcWwH4qCK/YGsf93l1ifm+jnDn+nqu0BByQc3H/musxFCSzaT72o8IB bknsWuvtnF19USCjS9PwAwmYD70HLgPXp7vJgrZVPWqCUApxTbLS83QdIs8oxSNhupXOUjt1c4E ExnHI1o3w7RsfoK+DqBxnDuLx0FbJcXEMLKKOwCHhkJtwF1qhqTvqkYfrtCcCMA0NUea9uOLXM9 no3ruaNg8UEA1SgDzuxfGXxvb++JMIT/4wS8hSY52zd8Yh8Xj6DLwOXyVRU9jxJfN7Ks8Vby4JN 7C13C31XElU0X+NXiUx8uik= 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 Precedence: bulk X-Mailing-List: linux-arm-msm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: 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 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: 13966597 Received: from mail-lf1-f42.google.com (mail-lf1-f42.google.com [209.85.167.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9F853E545 for ; Sun, 9 Feb 2025 03:21:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739071304; cv=none; b=YeUUxEoxuuJTV+c5e5ldpvMx2YFLn7wZ2kDCZIwqUTxlfbVBTZloZDk7BKZAdR0kUdma1UXo3KtmDU+6bOYUpLFgeJUwPxUZXU64x5li1L1fSeZmC6mVGPBW/o/OMc707rTVYGss5CdcGu65RaIYCb83S0juxNIA2qZqXxfMptQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739071304; c=relaxed/simple; bh=emVhsAcPMXJo9jthW8kjkV7unV6UYdXutY3krP5kLuA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=bbOh23+2I/Yphwq82wFc/wdTjAFYys9weXkh4i7hNfrCaVgN0v0G4EoGCYAwH19lkSXpgWphqCgDfkijTHKKd1iS6EFqtNkxkSIpxOU9NMTcOo1p+/6xr4jat4FK2yKgk0xprJQAv064GyC1I4+MpKGq4dT3pNcTotQxxTpGODk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=iD36FmFZ; arc=none smtp.client-ip=209.85.167.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="iD36FmFZ" Received: by mail-lf1-f42.google.com with SMTP id 2adb3069b0e04-5440d5b30a8so3935895e87.2 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=vger.kernel.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=iD36FmFZQbgq5rKWG+bmb7bMTIS3e2D+tat/OEqKWfLl3A6oAVKnyLxEyvEYRlJsaw 9n7r7hibdJ8abeLhUhdFbeF14Nus0TvcmPbP4NAoZikqrNA6v/4Z2nnLK6rFKCAD+aaX uXUnXUL0HqfkQAmZ8WBujmdap8FW3DgCOLYJm4l7jfCmaGF2Q5FbrjZiCwCV3xWGbgtZ HoETZNuTIiG+XTTwpVyzX5fZd1QK7slvbClcud39LHJ7T6XUmJQrRRO+TWdtyJSHTqmA 4kjPdzqWK+4I97mIndXW7VSvYQ0k5yFM8folRiM1LxbUKEylI+tuJjGTTnBVM9PPNvMD Dl5Q== 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=McF9ydY1bDI+WeovHiCGfOfd1rdYZdz40iAWjNQZzdiKbZLafl33wWSZmsN90cer4a TiZ3gDN/NuqwW1sLMAEzJltMH4+SgxyrsmRWosTvcZiCZhhqmlEcjxMMlYiR0WdPKJsL 6ewMhZK3QdpwCaKqWEh05mG43z7Eq5mkm9p04mJJ63XGLF8se4DX3/SZ0zyIfc6rUQYu YuKILzyQ0Hdbmw6yI+mHD9TxfX6xoJ/ZKYoNd3DW9FTMSdKxDGSIhA7owIBJZgRtppkL TT+2hN6E/75makEvTfqrUBQrcxv9seg4eWhmcWA4Ys4AmMjDGPr8ataf8xwD+leGASxz LzUw== X-Gm-Message-State: AOJu0YwYiANTB2V1gV4GsCk6P8b6dzQzMtuLwbnIh7lFbZgqm9gc9Wwr vbKyNi2ydFqDx/OOlDo64DSIfAOqsQTq/r/LMJyssOu2SzBX8wAhmBo8dzVU1F0= X-Gm-Gg: ASbGncvlZgoRgY7rf3u6BFYuEDavSz83HqblLCisWTJDmLuQYPWyh4rh+NMpCLApweN ggX4OSPr8FlniVtmPOx8sZ+5AXcbstJQmZCyFARuFG/9JdWTCLGEPrO+70hice8aN0vjZZx+9bW cBTK39xLoq67yrW4iLxVJwBLTiKPzxYuEqotKfTN6M9RlcdhFHhL7gGRQ7gEvWEos/e2aN431HB wfbqfHr8aYjf4zN0KdpyAyzIU+6j4KozE7O62vGcovT30zbsMqUaUhQzugr0WlvP0+NzfymRMbr Vw6rlnuXJlXkpcfk8NSgo8g= 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 Precedence: bulk X-Mailing-List: linux-arm-msm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: 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 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 Reviewed-by: Abhinav Kumar --- 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: 13966598 Received: from mail-lf1-f53.google.com (mail-lf1-f53.google.com [209.85.167.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 04F298467 for ; Sun, 9 Feb 2025 03:21:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739071306; cv=none; b=snk1+eYmx+/nBbYt01OyCpQNwGWeIDyeQcB5L3WM/Tlz1/0TLnUsr52WZrWGHqZXQ+eQNa7JT4claxs10VSReOWbOzlM8/d55GKaW8J8SrLQpU2T4jn5eVEGDsoIb1uqs3zY11xXTwRf8+RALmpDu4fX1iMSNtmvnoDPMLLe030= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739071306; c=relaxed/simple; bh=EjVnzSvwGeLB3HXokJpPau5v3ni0TOZS9ZUms7htZ/E=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=lHhEwQZpeSw6SeaOFAawhhuyhzk+d7N2f3qTKT88hpy426g21L4s+4cSr4s0PUmCIvh6LcOuJSUu8dX09NOrKHY54lv5sUP6ZuXG/6w2fTZ1ArQMD0TaZR/pLTYFVUtma/E1rYf2rIr5xB+tw4qOEO6l6LUfYSDKUTgbnZOOFFA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=nC3+I/MN; arc=none smtp.client-ip=209.85.167.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="nC3+I/MN" Received: by mail-lf1-f53.google.com with SMTP id 2adb3069b0e04-54412a7d75cso2942821e87.2 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=vger.kernel.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=nC3+I/MNfAV3uu58KbbzEafSE5B0NmC8ipbcbsWCol6LHbb50vT8a9SetOblrG1Q5f WmjroOxXjsY1y1xaOm0D26nWWHnEHTTtaZwgmS8NX2uI7XirbyQvVaNLB1SDuMPw9OjJ tHY2+TuwdJautEL/uJr7DVRPcZrQrGV+yVXXShQWADz1nzW7bW2YPhcFrbopEmZ5Idun tkpJEd1AIiQfcyg6fh5xEw5mw83ZBfEVuh8EbS6OCsTFWiJVlkO5BKPgOR8rh8dxPwhp pLUWM4g6PTip+MuF5VbEDcYPEjpwi9d1o5AL0hBGicQ+o6auQSJf+BLjOj1sFcAa6z9t hisQ== 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=BWomxmRQsL7dcgXihakDghm4UNZW+bCLewwoR+ShuxOdrc+s/hqVnsLtqkgmz4+VjS TNkWfH4Za6ROQ1dzIA3THvSi4B8EQ6mb1JjvTlvJj8PRa+fDYbPJixYR/toCMwNXwhcN OlR5jtzIizspEsV21gaJ9TU+2JD5OH9tqyZxCURQAzKHJDp9DT6s1hbDUu8K0SnEHgeV UEy5gK0i56xxMpj71hdS3ngq/Q0U/fvS21LT61+HnzCmvnb4lbHb3cpTY/fSjX/5fHn2 Rl2H/3Wx1IBZ969ouDiKZZyuPS5W7b8CB5OrKd3H9dPi8J3BvW+isM6Dpm3mXF990LdI WXrQ== X-Gm-Message-State: AOJu0YzCTwsw7hFKVaq2EyxPLmCoH0TKX7piFythjCOTmHWWIPDGpAXS dAONelS7AzMidJfoaQbzUlHBgXzZPoaOhrvPXgTFMixbaE7vjSlxFyHZ05HTAKA= X-Gm-Gg: ASbGncsv3ROmBe2yMaJp4Ay0wmUf39n4Ii9gOcXv+4cPnUmQJORk6lh7BeGUHW75Rkd xq73UuhOCyupwKQ3pBTiufZpf1sX+zQcpvNCo6wpJ6TyNaljRrTm6OfMjXz+4cISULb9W+WA+1s 0MXmwVJJqhY7bKz1t+BCO1btCqDJBjB4zORJtjJ2R3AhMSx7B5crjudaVs2sljIdePE2IMdfTvE yEs1KaKGNWheyPpLAE8BZ+UVOq91D/6QS+w4PVq+PqXPgtdyGlDQNzRtZL2krvIrqL4Fv4rSSWn R1xmRh3pLwSV5DoeMMq5YCE= 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() Precedence: bulk X-Mailing-List: linux-arm-msm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: 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 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 Reviewed-by: Abhinav Kumar --- 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; }