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 2EEB9C433F5 for ; Tue, 11 Oct 2022 15:30:40 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231700AbiJKPah (ORCPT ); Tue, 11 Oct 2022 11:30:37 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47112 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231732AbiJKPaQ (ORCPT ); Tue, 11 Oct 2022 11:30:16 -0400 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id BA06598C97; Tue, 11 Oct 2022 08:20:27 -0700 (PDT) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id ED92B113E; Tue, 11 Oct 2022 08:10:36 -0700 (PDT) Received: from [10.57.67.43] (unknown [10.57.67.43]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 206923F792; Tue, 11 Oct 2022 08:10:28 -0700 (PDT) Message-ID: <0da5622f-35bb-fbe3-37a4-e5c9e825d9ca@arm.com> Date: Tue, 11 Oct 2022 16:10:27 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.3.2 Subject: Re: [PATCH v3 03/13] coresight: stm: Update STM driver to use Trace ID API To: Mike Leach Cc: coresight@lists.linaro.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, mathieu.poirier@linaro.org, peterz@infradead.org, mingo@redhat.com, acme@kernel.org, linux-perf-users@vger.kernel.org, leo.yan@linaro.org, quic_jinlmao@quicinc.com References: <20220809223401.24599-1-mike.leach@linaro.org> <20220809223401.24599-4-mike.leach@linaro.org> <65e70db9-9f85-7285-0602-f2d29887550a@arm.com> <55170f1f-99f7-6e25-55d3-5d7247737afc@arm.com> From: Suzuki K Poulose In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-perf-users@vger.kernel.org On 11/10/2022 12:10, Mike Leach wrote: > Hi suzuki, > > On Fri, 7 Oct 2022 at 18:53, Suzuki K Poulose wrote: >> >> On 06/10/2022 14:54, Mike Leach wrote: >>> Hi Suzuki, >>> >>> On Mon, 3 Oct 2022 at 10:04, Suzuki K Poulose wrote: >>>> >>>> On 09/08/2022 23:33, Mike Leach wrote: >>>>> Updates the STM driver to use the trace ID allocation API. >>>>> This uses the _system_id calls to allocate an ID on device poll, >>>>> and release on device remove. >>>>> >>>>> The sysfs access to the STMTRACEIDR register has been changed from RW >>>>> to RO. Having this value as writable is not appropriate for the new >>>>> Trace ID scheme - and had potential to cause errors in the previous >>>>> scheme if values clashed with other sources. >>>>> >>>>> Signed-off-by: Mike Leach >>>>> Reviewed-by: Suzuki K Poulose >> >>>>> @@ -854,7 +830,7 @@ static void stm_init_generic_data(struct stm_drvdata *drvdata, >>>>> >>>>> static int stm_probe(struct amba_device *adev, const struct amba_id *id) >>>>> { >>>>> - int ret; >>>>> + int ret, trace_id; >>>>> void __iomem *base; >>>>> struct device *dev = &adev->dev; >>>>> struct coresight_platform_data *pdata = NULL; >>>>> @@ -938,12 +914,22 @@ static int stm_probe(struct amba_device *adev, const struct amba_id *id) >>>>> goto stm_unregister; >>>>> } >>>>> >>>>> + trace_id = coresight_trace_id_get_system_id(); >>>>> + if (trace_id < 0) { >>>> >>>> The above API returns "INVALID_ID" and not a negative error status. >>>> I think it is better to fix the API to return: >>>> >>>> ret < 0 - If there is any error >>>> - Otherwise a positive integer >>>> And the users should be kept unaware of which ID is valid or invalid. >>>> >>> >>> coresight_trace_id_get_system_id() returns the ID if one can be >>> allocated or -EINVAL if not. >>> >>> Not sure what you are looking at here. >> >> Sorry, indeed I was mistaken there. It is the get_cpu_id() which >> returns the INVALID_ID on failure. Please could we make that >> consistent with this scheme ? i.e, < 0 on error. >> > > That also returns -EINVAL, as both call the same underlying allocator. You're right, the check in coresight_trace_id_map_get_cpu_id(), confused me. > However happy to add on the comments for the exported functions Yes, please. Thanks Mike Suzuki 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 4E16FC433F5 for ; Tue, 11 Oct 2022 16:14:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Content-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:From:References:Cc:To:Subject: MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=vxoawOTdY4x/rwGcTBNyPbAmhMXvMNePpOV+b2Zb51s=; b=NWWj8iYiJO0RmE S0WB/aalRCsrQWuXWnTfByPvONfkR6bZDTaey4NUiM2iQ24JD7UC5NbaLyj42Uq3QGjUvmlYEyGkf 47bM9BFz+oiVnZZmS9ztRzzBuuSzkoGO8jXKuyBqSvRx9aZf4D3nLwWwXCgFAZqA58BPn8LSSD9SJ VB/7JOc0jZLHuY6+OkmQci7sEJUvMz6/ON3H8tva6hXX2aHGKcihfscF7ZYQsevaR7/TgQ4o12UHF 31gjBYNyg/xqq5OwxQMnGsZzd1ULLuYpL7fFSPwlTC9kfnZK4vh6K/Y7evDDI/QAo9xLAc6mGH7ln nO+oGTSbGWunIEEuLpTw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1oiHsQ-0056Ob-SG; Tue, 11 Oct 2022 16:13:07 +0000 Received: from foss.arm.com ([217.140.110.172]) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1oiGtr-004gmk-V1 for linux-arm-kernel@lists.infradead.org; Tue, 11 Oct 2022 15:10:33 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id ED92B113E; Tue, 11 Oct 2022 08:10:36 -0700 (PDT) Received: from [10.57.67.43] (unknown [10.57.67.43]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 206923F792; Tue, 11 Oct 2022 08:10:28 -0700 (PDT) Message-ID: <0da5622f-35bb-fbe3-37a4-e5c9e825d9ca@arm.com> Date: Tue, 11 Oct 2022 16:10:27 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.3.2 Subject: Re: [PATCH v3 03/13] coresight: stm: Update STM driver to use Trace ID API To: Mike Leach Cc: coresight@lists.linaro.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, mathieu.poirier@linaro.org, peterz@infradead.org, mingo@redhat.com, acme@kernel.org, linux-perf-users@vger.kernel.org, leo.yan@linaro.org, quic_jinlmao@quicinc.com References: <20220809223401.24599-1-mike.leach@linaro.org> <20220809223401.24599-4-mike.leach@linaro.org> <65e70db9-9f85-7285-0602-f2d29887550a@arm.com> <55170f1f-99f7-6e25-55d3-5d7247737afc@arm.com> From: Suzuki K Poulose In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20221011_081032_093200_8255E164 X-CRM114-Status: GOOD ( 20.72 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On 11/10/2022 12:10, Mike Leach wrote: > Hi suzuki, > > On Fri, 7 Oct 2022 at 18:53, Suzuki K Poulose wrote: >> >> On 06/10/2022 14:54, Mike Leach wrote: >>> Hi Suzuki, >>> >>> On Mon, 3 Oct 2022 at 10:04, Suzuki K Poulose wrote: >>>> >>>> On 09/08/2022 23:33, Mike Leach wrote: >>>>> Updates the STM driver to use the trace ID allocation API. >>>>> This uses the _system_id calls to allocate an ID on device poll, >>>>> and release on device remove. >>>>> >>>>> The sysfs access to the STMTRACEIDR register has been changed from RW >>>>> to RO. Having this value as writable is not appropriate for the new >>>>> Trace ID scheme - and had potential to cause errors in the previous >>>>> scheme if values clashed with other sources. >>>>> >>>>> Signed-off-by: Mike Leach >>>>> Reviewed-by: Suzuki K Poulose >> >>>>> @@ -854,7 +830,7 @@ static void stm_init_generic_data(struct stm_drvdata *drvdata, >>>>> >>>>> static int stm_probe(struct amba_device *adev, const struct amba_id *id) >>>>> { >>>>> - int ret; >>>>> + int ret, trace_id; >>>>> void __iomem *base; >>>>> struct device *dev = &adev->dev; >>>>> struct coresight_platform_data *pdata = NULL; >>>>> @@ -938,12 +914,22 @@ static int stm_probe(struct amba_device *adev, const struct amba_id *id) >>>>> goto stm_unregister; >>>>> } >>>>> >>>>> + trace_id = coresight_trace_id_get_system_id(); >>>>> + if (trace_id < 0) { >>>> >>>> The above API returns "INVALID_ID" and not a negative error status. >>>> I think it is better to fix the API to return: >>>> >>>> ret < 0 - If there is any error >>>> - Otherwise a positive integer >>>> And the users should be kept unaware of which ID is valid or invalid. >>>> >>> >>> coresight_trace_id_get_system_id() returns the ID if one can be >>> allocated or -EINVAL if not. >>> >>> Not sure what you are looking at here. >> >> Sorry, indeed I was mistaken there. It is the get_cpu_id() which >> returns the INVALID_ID on failure. Please could we make that >> consistent with this scheme ? i.e, < 0 on error. >> > > That also returns -EINVAL, as both call the same underlying allocator. You're right, the check in coresight_trace_id_map_get_cpu_id(), confused me. > However happy to add on the comments for the exported functions Yes, please. Thanks Mike Suzuki _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel