[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAA8EJpp9nRhpE5HP+qzmSsY6_8XTW0yXqj_Hx0WvV8F3cnTcAQ@mail.gmail.com>
Date: Fri, 9 Jul 2021 14:38:13 +0300
From: Dmitry Baryshkov <dmitry.baryshkov@...aro.org>
To: Kalyan Thota <kalyan_t@...eaurora.org>
Cc: "open list:DRM DRIVER FOR MSM ADRENO GPU"
<dri-devel@...ts.freedesktop.org>,
"open list:DRM DRIVER FOR MSM ADRENO GPU"
<linux-arm-msm@...r.kernel.org>,
freedreno <freedreno@...ts.freedesktop.org>,
"open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS"
<devicetree@...r.kernel.org>,
open list <linux-kernel@...r.kernel.org>,
Rob Clark <robdclark@...il.com>,
Douglas Anderson <dianders@...omium.org>,
Krishna Manikandan <mkrishn@...eaurora.org>,
Sai Prakash Ranjan <saiprakash.ranjan@...eaurora.org>,
Rajendra Nayak <rnayak@...eaurora.org>
Subject: Re: [v1] drm/msm/disp/dpu1: add safe lut config in dpu driver
On Fri, 9 Jul 2021 at 13:41, Kalyan Thota <kalyan_t@...eaurora.org> wrote:
>
> Add safe lut configuration for all the targets in dpu
> driver as per QOS recommendation.
>
> Issue reported on SC7280:
>
> With wait-for-safe feature in smmu enabled, RT client
> buffer levels are checked to be safe before smmu invalidation.
> Since display was always set to unsafe it was delaying the
> invalidaiton process thus impacting the performance on NRT clients
> such as eMMC and NVMe.
>
> Validated this change on SC7280, With this change eMMC performance
> has improved significantly.
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@...aro.org>
It might be a good option to push it to the stable tree also.
>
> Signed-off-by: Kalyan Thota <kalyan_t@...eaurora.org>
> ---
> drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c
> index d01c4c9..2e482cd 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c
> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c
> @@ -974,6 +974,7 @@ static const struct dpu_perf_cfg sdm845_perf_data = {
> .amortizable_threshold = 25,
> .min_prefill_lines = 24,
> .danger_lut_tbl = {0xf, 0xffff, 0x0},
> + .safe_lut_tbl = {0xfff0, 0xf000, 0xffff},
> .qos_lut_tbl = {
> {.nentry = ARRAY_SIZE(sdm845_qos_linear),
> .entries = sdm845_qos_linear
> @@ -1001,6 +1002,7 @@ static const struct dpu_perf_cfg sc7180_perf_data = {
> .min_dram_ib = 1600000,
> .min_prefill_lines = 24,
> .danger_lut_tbl = {0xff, 0xffff, 0x0},
> + .safe_lut_tbl = {0xfff0, 0xff00, 0xffff},
> .qos_lut_tbl = {
> {.nentry = ARRAY_SIZE(sc7180_qos_linear),
> .entries = sc7180_qos_linear
> @@ -1028,6 +1030,7 @@ static const struct dpu_perf_cfg sm8150_perf_data = {
> .min_dram_ib = 800000,
> .min_prefill_lines = 24,
> .danger_lut_tbl = {0xf, 0xffff, 0x0},
> + .safe_lut_tbl = {0xfff8, 0xf000, 0xffff},
> .qos_lut_tbl = {
> {.nentry = ARRAY_SIZE(sm8150_qos_linear),
> .entries = sm8150_qos_linear
> @@ -1056,6 +1059,7 @@ static const struct dpu_perf_cfg sm8250_perf_data = {
> .min_dram_ib = 800000,
> .min_prefill_lines = 35,
> .danger_lut_tbl = {0xf, 0xffff, 0x0},
> + .safe_lut_tbl = {0xfff0, 0xff00, 0xffff},
> .qos_lut_tbl = {
> {.nentry = ARRAY_SIZE(sc7180_qos_linear),
> .entries = sc7180_qos_linear
> @@ -1084,6 +1088,7 @@ static const struct dpu_perf_cfg sc7280_perf_data = {
> .min_dram_ib = 1600000,
> .min_prefill_lines = 24,
> .danger_lut_tbl = {0xffff, 0xffff, 0x0},
> + .safe_lut_tbl = {0xff00, 0xff00, 0xffff},
> .qos_lut_tbl = {
> {.nentry = ARRAY_SIZE(sc7180_qos_macrotile),
> .entries = sc7180_qos_macrotile
> --
> 2.7.4
>
--
With best wishes
Dmitry
Powered by blists - more mailing lists