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 X-Spam-Level: X-Spam-Status: No, score=-11.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, UNWANTED_LANGUAGE_BODY,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6A64DC433DB for ; Fri, 8 Jan 2021 00:20:58 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 12CBC23715 for ; Fri, 8 Jan 2021 00:20:58 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 12CBC23715 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References:Message-ID: Subject:To:From:Date:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=AGnOoU5+IjH45aOWWrhBSLJop/6CPyHfHczs1OSl5YU=; b=J+1W+3eYScCqoDOReyjghzLNT TnxHc3sI94CB5VPTUHoBRfmfAys8QeWibCBz2g51c0Y+KX959PyJzJcRAfebDQdakbaT75dUaEzkd qwVmPhWKoLmKph/YdmWZ8GZFbCN3dV86XL2WbfjOACAwQFOgPMrQoQbpJd3xRT+H2rVhgD61rsgu9 YdrtZqF/i1Crv1QWkcdXYngQEFPw1lpAu7TFgSbYYkIaFN0V5YvxjAjEZcom+qML2eQDKPmi+Y4je pWZQOzBjBRkiAPcMvXMfMtvMeaOblI3hhX+wIYYhCiHkAGeoT9M73qiPqg93rNWcM6fnJ/oUaiSFe D7/Jrz55A==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kxfU9-0003PC-DX; Fri, 08 Jan 2021 00:18:33 +0000 Received: from mail-pf1-x42c.google.com ([2607:f8b0:4864:20::42c]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kxfU6-0003Oo-GJ for linux-arm-kernel@lists.infradead.org; Fri, 08 Jan 2021 00:18:31 +0000 Received: by mail-pf1-x42c.google.com with SMTP id c79so5118088pfc.2 for ; Thu, 07 Jan 2021 16:18:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=1ZxG8zG2j5D126ZUTvLvre/qhsxCph/TuN6OSwhoxuw=; b=la6tlvOXFGN22ubndJWz4KrJ7Q2WMqZqbmJj8Ajc8HMAEwFjjzsTjflG0BxQubQh2l Oe1vqWk4yEq8h9kVKGMYlCLGiIWui1fdSFoOD03L1JeMaHXI+VkkSTyrj0YPvDvYuSuz xlXjJjAvlKVUz3sNNVuzIUvPVIqsDLXlbSsqidl8saNyoUjhaT0V1G6VEwZvFOC9nNWD ksX+A+U9ASEaZDdCdd4yF/l8IvBsPhAtF2UNqXmsYa9mTfdBF+u/DU4724ME4tR0hS6h OBVMj/z+wj10mXcfZPraQ1tJDVJ9TNcXUGDd0L0Xq3h0j2COC8VbJzau3VEvK4YTdCOk sEEA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=1ZxG8zG2j5D126ZUTvLvre/qhsxCph/TuN6OSwhoxuw=; b=pBE8SOKd6ZjhXUIyph8qjFctqlhhHaAYkcCtgBHzfWOrXQ33S9aUNFHCTQz7EBIgOM aiGTQUAMYlSoeYhy+wqexNFOnuOnO+UqVVvKJZ6h8zG8ziTj4Vbok9Su6rll+DRP7FuW h4ZcojPCUuUjYVa3PqUZs2KRFWurYR4DDVr82z+g1WNYtSp71pzddayRgIub8VJt3g5r 46d8SGU/N8gi1yDah+VDymWHnxY+iDw+zzGepXn+IjVhXIdW9da8xeMJeKL/R5rlIorm Hmb7dQRfST0elB8n9dVaP4dZVhx6eXn57YUPk9gXS05gHMSWMcBGL+jibPK77nAd4t51 pmAw== X-Gm-Message-State: AOAM533DlVmFqPfiGDuD8O616dZ4B0TymN6DKZxo8J4z/MRlfBZxeZd3 QIwGnrAGaPzTeM7u2vXO6ZYr8Q== X-Google-Smtp-Source: ABdhPJzZ+2IpJvuPCQBEQXFNaeoRVv7HyrZGfamDUYQeDZ9IX847wnvW9y02EA8NkVWg1jFfOadhIA== X-Received: by 2002:a62:e213:0:b029:19e:59d3:a76a with SMTP id a19-20020a62e2130000b029019e59d3a76amr1133651pfi.53.1610065107172; Thu, 07 Jan 2021 16:18:27 -0800 (PST) Received: from xps15 (S0106889e681aac74.cg.shawcable.net. [68.147.0.187]) by smtp.gmail.com with ESMTPSA id o11sm6455241pjs.36.2021.01.07.16.18.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 Jan 2021 16:18:26 -0800 (PST) Date: Thu, 7 Jan 2021 17:18:23 -0700 From: Mathieu Poirier To: Suzuki K Poulose Subject: Re: [PATCH v6 12/26] coresight: etm4x: Check for Software Lock Message-ID: <20210108001823.GD43045@xps15> References: <20210107123859.674252-1-suzuki.poulose@arm.com> <20210107123859.674252-13-suzuki.poulose@arm.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20210107123859.674252-13-suzuki.poulose@arm.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210107_191830_601053_71A25D1A X-CRM114-Status: GOOD ( 22.08 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: anshuman.khandual@arm.com, coresight@lists.linaro.org, linux-kernel@vger.kernel.org, leo.yan@linaro.org, linux-arm-kernel@lists.infradead.org, mike.leach@linaro.org Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Thu, Jan 07, 2021 at 12:38:45PM +0000, Suzuki K Poulose wrote: > The Software lock is not implemented for system instructions > based accesses. So, skip the lock register access in such > cases. > > Cc: Mike Leach > Reviewed-by: Mathieu Poirier > Signed-off-by: Suzuki K Poulose > --- > .../coresight/coresight-etm4x-core.c | 40 ++++++++++++------- > 1 file changed, 26 insertions(+), 14 deletions(-) > > diff --git a/drivers/hwtracing/coresight/coresight-etm4x-core.c b/drivers/hwtracing/coresight/coresight-etm4x-core.c > index da0b64dd51d0..f947d6ddf9e3 100644 > --- a/drivers/hwtracing/coresight/coresight-etm4x-core.c > +++ b/drivers/hwtracing/coresight/coresight-etm4x-core.c > @@ -133,6 +133,21 @@ static void etm4_os_lock(struct etmv4_drvdata *drvdata) > isb(); > } > > +static void etm4_cs_lock(struct etmv4_drvdata *drvdata, > + struct csdev_access *csa) > +{ > + /* Software Lock is only accessible via memory mapped interface */ > + if (csa->io_mem) > + CS_LOCK(csa->base); > +} > + > +static void etm4_cs_unlock(struct etmv4_drvdata *drvdata, > + struct csdev_access *csa) Indentation > +{ > + if (csa->io_mem) > + CS_UNLOCK(csa->base); > +} > + > static bool etm4_arch_supported(u8 arch) > { > /* Mask out the minor version number */ > @@ -263,7 +278,8 @@ static int etm4_enable_hw(struct etmv4_drvdata *drvdata) > struct device *etm_dev = &csdev->dev; > struct csdev_access *csa = &csdev->access; > > - CS_UNLOCK(drvdata->base); > + > + etm4_cs_unlock(drvdata, csa); > etm4_enable_arch_specific(drvdata); > > etm4_os_unlock(drvdata); > @@ -366,7 +382,7 @@ static int etm4_enable_hw(struct etmv4_drvdata *drvdata) > isb(); > > done: > - CS_LOCK(drvdata->base); > + etm4_cs_lock(drvdata, csa); > > dev_dbg(etm_dev, "cpu: %d enable smp call done: %d\n", > drvdata->cpu, rc); > @@ -623,7 +639,7 @@ static void etm4_disable_hw(void *info) > struct csdev_access *csa = &csdev->access; > int i; > > - CS_UNLOCK(drvdata->base); > + etm4_cs_unlock(drvdata, csa); > etm4_disable_arch_specific(drvdata); > > if (!drvdata->skip_power_up) { > @@ -665,8 +681,7 @@ static void etm4_disable_hw(void *info) > } > > coresight_disclaim_device_unlocked(csdev); > - > - CS_LOCK(drvdata->base); > + etm4_cs_lock(drvdata, csa); > > dev_dbg(&drvdata->csdev->dev, > "cpu: %d disable smp call done\n", drvdata->cpu); > @@ -776,8 +791,7 @@ static void etm4_init_arch_data(void *info) > > /* Make sure all registers are accessible */ > etm4_os_unlock_csa(drvdata, csa); > - > - CS_UNLOCK(drvdata->base); > + etm4_cs_unlock(drvdata, csa); > > /* find all capabilities of the tracing unit */ > etmidr0 = etm4x_relaxed_read32(csa, TRCIDR0); > @@ -942,7 +956,7 @@ static void etm4_init_arch_data(void *info) > drvdata->nrseqstate = BMVAL(etmidr5, 25, 27); > /* NUMCNTR, bits[30:28] number of counters available for tracing */ > drvdata->nr_cntr = BMVAL(etmidr5, 28, 30); > - CS_LOCK(drvdata->base); > + etm4_cs_lock(drvdata, csa); > } > > /* Set ELx trace filter access in the TRCVICTLR register */ > @@ -1323,8 +1337,7 @@ static int etm4_cpu_save(struct etmv4_drvdata *drvdata) > dsb(sy); > isb(); > > - CS_UNLOCK(drvdata->base); > - > + etm4_cs_unlock(drvdata, csa); > /* Lock the OS lock to disable trace and external debugger access */ > etm4_os_lock(drvdata); > > @@ -1437,7 +1450,7 @@ static int etm4_cpu_save(struct etmv4_drvdata *drvdata) > etm4x_relaxed_write32(csa, (state->trcpdcr & ~TRCPDCR_PU), > TRCPDCR); > out: > - CS_LOCK(drvdata->base); > + etm4_cs_lock(drvdata, csa); > return ret; > } > > @@ -1448,8 +1461,7 @@ static void etm4_cpu_restore(struct etmv4_drvdata *drvdata) > struct csdev_access tmp_csa = CSDEV_ACCESS_IOMEM(drvdata->base); > struct csdev_access *csa = &tmp_csa; > > - CS_UNLOCK(drvdata->base); > - > + etm4_cs_unlock(drvdata, csa); > etm4x_relaxed_write32(csa, state->trcclaimset, TRCCLAIMSET); > > etm4x_relaxed_write32(csa, state->trcprgctlr, TRCPRGCTLR); > @@ -1534,7 +1546,7 @@ static void etm4_cpu_restore(struct etmv4_drvdata *drvdata) > > /* Unlock the OS lock to re-enable trace and external debug access */ > etm4_os_unlock(drvdata); > - CS_LOCK(drvdata->base); > + etm4_cs_lock(drvdata, csa); > } > > static int etm4_cpu_pm_notify(struct notifier_block *nb, unsigned long cmd, > -- > 2.24.1 > _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel