Received: by 2002:a05:6359:c8b:b0:c7:702f:21d4 with SMTP id go11csp1334458rwb; Fri, 7 Oct 2022 11:03:16 -0700 (PDT) X-Google-Smtp-Source: AMsMyM6tZoFTuML6C3fLOPw7cMoiDKrkeXcQkTz3gAESMshJ3LB2jFse5dvp/udF5CkjG3kskWAn X-Received: by 2002:a05:6402:524d:b0:459:3619:9cfa with SMTP id t13-20020a056402524d00b0045936199cfamr5875370edd.227.1665165796716; Fri, 07 Oct 2022 11:03:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1665165796; cv=none; d=google.com; s=arc-20160816; b=FoaQnZuWNRo7TIZ5QYqba5Mws6WrkM6JZIr4gd5K/E0+2y+xJAjzFjPUDuXXY7V98p vhWjwY4gQSd/E3OQ/1W/YhgHrZdlINDolXHvzKX/AMuTLk5IV9X7kLNamVWCZN7B5EwG DjBXs1NQ4fRoS+eSGifqQf6pHdpOY27ggWBXBd/KwTtR3YgOzkiWj3cgrP3WdFhxd9sg JC7LeQW6YlBmxVn8GWyXFsIfoiWPz0Sw2QzIQ/EZLz3CNMa1ZbnxRIjycwcCbuyoLQLF polAyV0e5bNHGaxceD/1GVtWKYfSFYWcRxngkPxWagnc8lJ6ne2hM+49Ib62bIxzCgit s3Xg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :references:cc:to:subject:user-agent:mime-version:date:message-id; bh=KJOWlcd4ZMpcEwwYeIwU9CqVcwcFTchFUtpO5xpYS34=; b=hc/PyEVL/OI2Y6eNDAdmfAtcrNLtYr3++u133MBupd49u2Td9sk3paLa5LT9Ip6TOv s6Wtjp5JUjcOCmWCXqoVWC4auAzMhjAL3UQT4K/yDvxcv9qN/Aw6XlAiY48GnSjxvhUf QAC2jXihqjiu/LMbl2o7Kaz77KowCAy0rwMdZav6TRV+qvWtgxEcu1E1Bt8N7BrNh/dt kmvTFv4N4LR4gO6jBPlGQXQPcNVGQtnZXoJSbeX4JGjCY5RtdQB+6kKCkYHyOXnLCCwX 7SXc0tVpsO3t1lz4FFKNbQzd4GHBChuOK/W7AIeV/kAXiGKkOsIRfAftsqQNimxN2wFD HWSQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id by12-20020a0564021b0c00b004542b557212si2743716edb.337.2022.10.07.11.02.49; Fri, 07 Oct 2022 11:03:16 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229838AbiJGRxK (ORCPT + 99 others); Fri, 7 Oct 2022 13:53:10 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42190 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229547AbiJGRxI (ORCPT ); Fri, 7 Oct 2022 13:53:08 -0400 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id AB156102DE4; Fri, 7 Oct 2022 10:53:07 -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 8C1A7106F; Fri, 7 Oct 2022 10:53:13 -0700 (PDT) Received: from [10.57.66.34] (unknown [10.57.66.34]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 6906B3F792; Fri, 7 Oct 2022 10:53:05 -0700 (PDT) Message-ID: <55170f1f-99f7-6e25-55d3-5d7247737afc@arm.com> Date: Fri, 7 Oct 2022 18:53:03 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0) Gecko/20100101 Thunderbird/91.13.1 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> From: Suzuki K Poulose In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-5.3 required=5.0 tests=BAYES_00,NICE_REPLY_A, RCVD_IN_DNSWL_LOW,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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. Also, please could we add a comment above the exported functions on their entry/exit criteria ? It is not clearly evident, unless we follow the code and figure out. Cheers Suzuki