Received: by 2002:a05:6a10:6d25:0:0:0:0 with SMTP id gq37csp441794pxb; Sat, 11 Sep 2021 09:40:35 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzsTjvqodt+K3DGiVg8yFORAu/f2BitY/PDVD1uSvAsyU9CNvOIKqncw2KEJelLEdw8YPwf X-Received: by 2002:a6b:14f:: with SMTP id 76mr2522725iob.211.1631378435339; Sat, 11 Sep 2021 09:40:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1631378435; cv=none; d=google.com; s=arc-20160816; b=n6fRcCzu2I3eRkDxkjjKoy97NImjGc+wdUCn5ytAtugAmq2GjowUu0O6KTnlnZ1bJN m2zsvuWt9GNX5LiU4tDpI7HGw8ToTxXY/QNQ2GDAKo/tkqYNCI0NyZ+G3qEs9JmDtiaF DIHs5BTe7ex1QzEySndMl6RACPMVcghEMN+6UqXe0YqxEJeXFSJuVLJ8+JyDY3CUvYwi 2N8CPVEi2CT5jw+5xaAJswe8/ekXZmxO330+scT9bX5x6gqHz/kw3NSRYRu3sf5cs8Qc 2ScqAGdyRd/EzQjeSn6os+sua1Z5EOdjyLZAyB/i2vCx9LV43Tfs08YaDO6IoQDrI5oI Yxag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=5NF0YGCtOQij96pGetqE0c1Zc6duCzVhsD7OKf2/rGY=; b=YQhkP/lBQ8On0APgHWyvSLH2hVTDxWj7Nd4NIA3h7IvmFqEnJI2aI0c5gVIpLU5nWH MwigSimGCB5idfaGqp6NWFW9a2F9Hf3GRDwGGtFa8stIijjx+/6OxGkIHYvM/cuiNHRy kysNd/FtTrKYClxWg12q3j9e23XTQyVZuOdqM5/4/zDzMzUJzCAjRpJVRrku4YtGcU+3 4r2uBFj5YRjx9SpkWyflEYt9AUG6DAWUO6cPeibNEHFE2xpzPL8dOSB7qSWFLV6JoJjp /aGU8+Ly4uNVsoGxFWmYk0bEN7Gwnrx8m3QCsZz0iyVrb5vXnvbAXdbHP2EeJ7xIfPAP bE0A== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id e3si1540532ili.28.2021.09.11.09.40.24; Sat, 11 Sep 2021 09:40:35 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231835AbhIKQkr (ORCPT + 99 others); Sat, 11 Sep 2021 12:40:47 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35864 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230513AbhIKQkh (ORCPT ); Sat, 11 Sep 2021 12:40:37 -0400 Received: from m-r1.th.seeweb.it (m-r1.th.seeweb.it [IPv6:2001:4b7a:2000:18::170]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 175B5C061574; Sat, 11 Sep 2021 09:39:23 -0700 (PDT) Received: from IcarusMOD.eternityproject.eu (unknown [2.237.20.237]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by m-r1.th.seeweb.it (Postfix) with ESMTPSA id 1C9C81F52D; Sat, 11 Sep 2021 18:39:21 +0200 (CEST) From: AngeloGioacchino Del Regno To: robdclark@gmail.com Cc: sean@poorly.run, airlied@linux.ie, daniel@ffwll.ch, dmitry.baryshkov@linaro.org, abhinavk@codeaurora.org, linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org, konrad.dybcio@somainline.org, marijn.suijten@somainline.org, martin.botka@somainline.org, ~postmarketos/upstreaming@lists.sr.ht, phone-devel@vger.kernel.org, paul.bouchara@somainline.org, AngeloGioacchino Del Regno Subject: [PATCH v2 1/2] drm/msm/dpu: Add a function to retrieve the current CTL status Date: Sat, 11 Sep 2021 18:39:18 +0200 Message-Id: <20210911163919.47173-1-angelogioacchino.delregno@somainline.org> X-Mailer: git-send-email 2.32.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Add a function that returns whether the requested CTL is active or not: this will be used in a later commit to fix command mode panel issues. Signed-off-by: AngeloGioacchino Del Regno --- drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.c | 6 ++++++ drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.h | 7 +++++++ 2 files changed, 13 insertions(+) diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.c index 64740ddb983e..3b6fd73eb3a8 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.c @@ -91,6 +91,11 @@ static inline void dpu_hw_ctl_trigger_start(struct dpu_hw_ctl *ctx) DPU_REG_WRITE(&ctx->hw, CTL_START, 0x1); } +static inline bool dpu_hw_ctl_is_started(struct dpu_hw_ctl *ctx) +{ + return !!(DPU_REG_READ(&ctx->hw, CTL_START) & BIT(0)); +} + static inline void dpu_hw_ctl_trigger_pending(struct dpu_hw_ctl *ctx) { trace_dpu_hw_ctl_trigger_prepare(ctx->pending_flush_mask, @@ -579,6 +584,7 @@ static void _setup_ctl_ops(struct dpu_hw_ctl_ops *ops, ops->get_pending_flush = dpu_hw_ctl_get_pending_flush; ops->get_flush_register = dpu_hw_ctl_get_flush_register; ops->trigger_start = dpu_hw_ctl_trigger_start; + ops->is_started = dpu_hw_ctl_is_started; ops->trigger_pending = dpu_hw_ctl_trigger_pending; ops->reset = dpu_hw_ctl_reset_control; ops->wait_reset_status = dpu_hw_ctl_wait_reset_status; diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.h b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.h index 806c171e5df2..ac1544474022 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.h +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.h @@ -61,6 +61,13 @@ struct dpu_hw_ctl_ops { */ void (*trigger_start)(struct dpu_hw_ctl *ctx); + /** + * check if the ctl is started + * @ctx : ctl path ctx pointer + * @Return: true if started, false if stopped + */ + bool (*is_started)(struct dpu_hw_ctl *ctx); + /** * kickoff prepare is in progress hw operation for sw * controlled interfaces: DSI cmd mode and WB interface -- 2.32.0