Received: by 2002:a05:6a10:1d13:0:0:0:0 with SMTP id pp19csp829386pxb; Wed, 1 Sep 2021 10:47:25 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyy9nahdVohDL2OKOZ1APT0exD3oSDuEpUkt25OqUDQeQCcGv8hmoChSXqX22V+TEG8Fu1n X-Received: by 2002:a50:c092:: with SMTP id k18mr755319edf.361.1630518445618; Wed, 01 Sep 2021 10:47:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1630518445; cv=none; d=google.com; s=arc-20160816; b=i1lKw1TkPPN5xaRE3PJ7RPI6JAwOIam36iAKhVU3OE4a2QBNSkJxC+4SmZX8F3vNHS +MmioGmWsTkP0kzRzK2lM7evlXc4vAWmHMy2CbeqS0VxtZBP/ZUgj3yvwXB8QZOS+4S8 TwEtw3DiDBEztXubLkWuoWtkqXvWP+IwQSU8U/+b5RYr4yayd7KLRaAz/EoYc8TTSr6n 2vSjfssuH8yrE/6Ppea6cnRv9KvGFZGpRoINzJJPDEx0sp74ga0tp3cZi1gSIGYy2tBb qQIBVXx5r2rk0t4ns2/GTie3F/0HELgpi5UdnEojBt9EAhve+ryA+yb/PNl3u59z5F3b 3cpw== 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=Lc+NbLz6Bhai3xOLs/CndOhouNKrRUxpoT+MzfZbL6A4cO9eaRKujRj10ezLirwEBN UsyqkSlEBvJQCMTeK9LI9hk8TIzpuHmesIE2YeolvM+1CKICPdx3muQtjYK0dFaMtLX4 +3LpUozw7kt4GNRxbBARwZXhnMkXwRN7lXCB+Zac2J+mEF6AlmWgLCdgkLMqnbTo1Gha U+QlTPXKAQ3Z+p5eXXSgIwh666AbC1KczNK1IH6S8SYMSIimYd7aTK81iIoFGbmRfetZ 5UDNuzwz0uzTv+RTmXFTya8ztxZqOMtaEgkQd/+OrtbiA68pFwDe6jh72/wA6JYrPXLD uJ+Q== 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 e24si418805ejl.353.2021.09.01.10.46.33; Wed, 01 Sep 2021 10:47:25 -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 S1346652AbhIARot (ORCPT + 99 others); Wed, 1 Sep 2021 13:44:49 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46864 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1346601AbhIARos (ORCPT ); Wed, 1 Sep 2021 13:44:48 -0400 Received: from relay04.th.seeweb.it (relay04.th.seeweb.it [IPv6:2001:4b7a:2000:18::165]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BA421C061575; Wed, 1 Sep 2021 10:43:51 -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 0366E200F6; Wed, 1 Sep 2021 19:43:49 +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 1/2] drm/msm/dpu: Add a function to retrieve the current CTL status Date: Wed, 1 Sep 2021 19:43:46 +0200 Message-Id: <20210901174347.1012129-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