From mboxrd@z Thu Jan 1 00:00:00 1970 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1D1ECC433FE for ; Thu, 10 Nov 2022 20:19:52 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231681AbiKJUTu (ORCPT ); Thu, 10 Nov 2022 15:19:50 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60532 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231938AbiKJUTf (ORCPT ); Thu, 10 Nov 2022 15:19:35 -0500 Received: from mail-lj1-x233.google.com (mail-lj1-x233.google.com [IPv6:2a00:1450:4864:20::233]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6F366FE8 for ; Thu, 10 Nov 2022 12:19:18 -0800 (PST) Received: by mail-lj1-x233.google.com with SMTP id u2so2237871ljl.3 for ; Thu, 10 Nov 2022 12:19:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=OS7XyVksmzpOUyGa1jMZ/h64iPb1v90uhSS96NI+hnc=; b=AyjI1s8wkcqvZki+gAQw0dHrM7EdydF05RbKxMfiF56rroBE6j+5b5jbS0ciLKzm7x cXXYFApXEkBbPa0l7LdiFs54GOgJiAZmg0MbJ6S/XlZojbW5Z+IqMT2mSud0ldOxeyar WJg3G6OTTDlZw8H+Vbo5xYgyKrys+4xJFFPcS1o18t6Q1lXSev94/UaVWGvY188ZsXcj Fqecq03rVXjB+9D9GOPocw/URAMUjmWfhvhgBLTEqTzOd8hxW2F+GvAGTD27TRXF7Rma yKCRF+Ly5Ui/L+9QmopH9zLidhSM22McxX5rNUK2/KiHwh5Nl+Jp+J3N7wn6Srtu1bmL FNLw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=OS7XyVksmzpOUyGa1jMZ/h64iPb1v90uhSS96NI+hnc=; b=Bp5fLBzVo7lJT9YVcnLogru8COUgfdmGrkfeUVGxhx+PVWwg6+xfkOpu8Tw7hAXh1y JNtyByWzBri5k1Ca4J81rLeC0iYBdSJET0KhvK27Ni7H65TWFMbK6Wm8EIMUBhHOM167 8TcFfq8W1pNCWl4BUnHdX9Tx2Swi3ECo0FP3OzFZ/gWryaTFxqDwJrQpSvqtNw8nlPhy wDNYFjx9xNdyXlyCdm8J+biSYXQAQEHAeQtzV3cfM82W+Yt0nb0qkZ825TxD0TD2G2hX F0n3psQjoXtOoiwPHaR1oAsLB+Ic2Opttj0HY1GfsObOPeXZzJljrw2B4ot8RyNb69BC eo5Q== X-Gm-Message-State: ACrzQf0n+7BnYehXtQNNxn6o0v+cT/+F5DuqfGGyrQ1k801Vwp2no2Po WLZkr6UA1ey8K6avLJJHpH7vOg== X-Google-Smtp-Source: AMsMyM5S+ddzaFFtds21QOVZIP9rP/fgoTUCdxiCOScazXTBOHhsmOcY5bl4KsrkL7CUttPgs4zQcA== X-Received: by 2002:a05:651c:2382:b0:26c:4c27:a478 with SMTP id bk2-20020a05651c238200b0026c4c27a478mr8713424ljb.92.1668111556787; Thu, 10 Nov 2022 12:19:16 -0800 (PST) Received: from [10.10.15.130] ([192.130.178.91]) by smtp.gmail.com with ESMTPSA id v2-20020a056512348200b0049485e2cb91sm2732lfr.231.2022.11.10.12.19.15 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 10 Nov 2022 12:19:16 -0800 (PST) Message-ID: <5c791922-1371-c9e7-4bdc-e1909956633f@linaro.org> Date: Thu, 10 Nov 2022 23:19:15 +0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.1 Subject: Re: [PATCH v3 6/8] drm/msm/dpu: add support for MDP_TOP blackhole Content-Language: en-GB To: Konrad Dybcio , Andy Gross , Bjorn Andersson , Rob Clark , Sean Paul , Abhinav Kumar , Rob Herring , Krzysztof Kozlowski Cc: Stephen Boyd , David Airlie , Daniel Vetter , linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, Vinod Koul References: <20221104130324.1024242-1-dmitry.baryshkov@linaro.org> <20221104130324.1024242-7-dmitry.baryshkov@linaro.org> From: Dmitry Baryshkov In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org On 04/11/2022 16:58, Konrad Dybcio wrote: > > On 04/11/2022 14:03, Dmitry Baryshkov wrote: >> On sm8450 a register block was removed from MDP TOP. Accessing it during >> snapshotting results in NoC errors / immediate reboot. Skip accessing >> these registers during snapshot. > > Must have been fun to debug.. > > >> >> Tested-by: Vinod Koul >> Reviewed-by: Vinod Koul >> Signed-off-by: Dmitry Baryshkov >> --- >>   drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h |  1 + >>   drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c        | 11 +++++++++-- >>   2 files changed, 10 insertions(+), 2 deletions(-) >> >> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h >> b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h >> index 38aa38ab1568..4730f8268f2a 100644 >> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h >> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h >> @@ -92,6 +92,7 @@ enum { >>       DPU_MDP_UBWC_1_0, >>       DPU_MDP_UBWC_1_5, >>       DPU_MDP_AUDIO_SELECT, >> +    DPU_MDP_PERIPH_0_REMOVED, >>       DPU_MDP_MAX >>   }; >> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c >> b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c >> index f3660cd14f4f..95d8765c1c53 100644 >> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c >> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c >> @@ -927,8 +927,15 @@ static void dpu_kms_mdp_snapshot(struct >> msm_disp_state *disp_state, struct msm_k >>           msm_disp_snapshot_add_block(disp_state, cat->wb[i].len, >>                   dpu_kms->mmio + cat->wb[i].base, "wb_%d", i); >> -    msm_disp_snapshot_add_block(disp_state, cat->mdp[0].len, >> -            dpu_kms->mmio + cat->mdp[0].base, "top"); >> +    if (dpu_kms->hw_mdp->caps->features & >> BIT(DPU_MDP_PERIPH_0_REMOVED)) { >> +        msm_disp_snapshot_add_block(disp_state, 0x380, >> +                dpu_kms->mmio + cat->mdp[0].base, "top"); >> +        msm_disp_snapshot_add_block(disp_state, cat->mdp[0].len - 0x3a8, >> +                dpu_kms->mmio + cat->mdp[0].base + 0x3a8, "top_2"); > > Are these values expected to stay the same on different new-gen SoCs? > Maybe it would > > be worth making it dynamic. I do not want to overcomplicate this. Let's make it dynamic once there is need for that. For now I expect this will be static. > > > Konrad > >> +    } else { >> +        msm_disp_snapshot_add_block(disp_state, cat->mdp[0].len, >> +                dpu_kms->mmio + cat->mdp[0].base, "top"); >> +    } >>       pm_runtime_put_sync(&dpu_kms->pdev->dev); >>   } -- With best wishes Dmitry