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 02465C433EF for ; Tue, 3 May 2022 18:03:18 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S240888AbiECSGt (ORCPT ); Tue, 3 May 2022 14:06:49 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56944 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S240895AbiECSGs (ORCPT ); Tue, 3 May 2022 14:06:48 -0400 Received: from mail-oi1-x235.google.com (mail-oi1-x235.google.com [IPv6:2607:f8b0:4864:20::235]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C054B3EA8B for ; Tue, 3 May 2022 11:03:14 -0700 (PDT) Received: by mail-oi1-x235.google.com with SMTP id e189so18957682oia.8 for ; Tue, 03 May 2022 11:03:14 -0700 (PDT) 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=pHp7YwoTf2Vdk24QufCdmU2MrD/gn+v9TqyvkBKPilQ=; b=oASUIWSunTEb1LBbrg5c0vQj/FEZjRLhcFe23l2VL/75O7EiwL4bpik2++AxxzDO+G XJQbak7untc//EOnU6bTNiKJ0riyrO6bySzh5j2YdwvJQfSAvOPdph+zRxfYKLduUpCP j68cNCGiYKXGwdWlqSmnS3TjZ9a6sDsJ4vIaNdDR6UoKXTLZLcub4Nv2wHP4hoMaIgrg lX63KTc8AJ7qByKPWfZvmzT65C2h2APShFIUC6zsZEo4SMRWcb45UXB0glEduI+vGu7T 3GZ07vqfIdb/8zd116T/IZIikZX8kIySOa6xUqYqkb8KTwMvuDYRk/BuFb85TiAbnC6q c4UA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=pHp7YwoTf2Vdk24QufCdmU2MrD/gn+v9TqyvkBKPilQ=; b=yDzKBszre4QQRVOcMWXjHRl+PG4SR5MThplAtyWf8TXCzdNEoBW+ssj635Y1jiKSko dUxAqi7uFHMb2x/K7WfWVCl/2fpd9EPxNXtom4CHembHZLfNc8DNUDafBouNFb/2Cg/R x+b3SGwYWEHtMMHA79gIonmeTjQNFsvsiinksAGQdy55IbjESUKocNMqkBhLCIHav1xL evdraxHViXYkU90oA01ST19btpXIMJ7JFpesasI95uIq23fu8kphOKyrT5CH3HW6RBTx KFBprdRE69xhpkmyRQ62rY+uWWybEMmXbiVCil4bC5z5eZiDMYH14cAlaa1otuxiWdcW NvFg== X-Gm-Message-State: AOAM532sTcctBqK/NoJ5lnjYFiW+Y/9LOpwlTZz25JAGSGMwzsKvGWzK l6R5vKKLh/KeL9b6QhEQA2jLNA== X-Google-Smtp-Source: ABdhPJwEBnus5YhDU9Wtk4POgwJH9KNS5mGSyWLeYc0ZszWEV4GQsb9nh1nQKsfM7G4ownHcnanz2g== X-Received: by 2002:a05:6808:30a9:b0:325:e5a7:1c49 with SMTP id bl41-20020a05680830a900b00325e5a71c49mr2265762oib.153.1651600992543; Tue, 03 May 2022 11:03:12 -0700 (PDT) Received: from builder.lan (104-57-184-186.lightspeed.austtx.sbcglobal.net. [104.57.184.186]) by smtp.gmail.com with ESMTPSA id g6-20020a056830160600b0060603221266sm4198960otr.54.2022.05.03.11.03.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 May 2022 11:03:11 -0700 (PDT) Date: Tue, 3 May 2022 13:03:09 -0500 From: Bjorn Andersson To: Souradeep Chowdhury Cc: Andy Gross , Rob Herring , Alex Elder , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, Sai Prakash Ranjan , Sibi Sankar , Rajendra Nayak , vkoul@kernel.org Subject: Re: [PATCH V7 2/7] soc: qcom: dcc:Add driver support for Data Capture and Compare unit(DCC) Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org On Thu 03 Mar 00:27 CST 2022, Souradeep Chowdhury wrote: > The DCC is a DMA Engine designed to capture and store data > during system crash or software triggers. The DCC operates > based on user inputs via the sysfs interface. The user gives > addresses as inputs and these addresses are stored in the > dcc sram. In case of a system crash or a manual software > trigger by the user through the debugfs interface, > the dcc captures and stores the values at these addresses. > This patch contains the driver which has all the methods > pertaining to the debugfs interface, auxiliary functions to > support all the four fundamental operations of dcc namely > read, write, read/modify/write and loop. The probe method > here instantiates all the resources necessary for dcc to > operate mainly the dedicated dcc sram where it stores the > values. The DCC driver can be used for debugging purposes > without going for a reboot since it can perform software > triggers as well based on user inputs. > > Also added the documentation for debugfs entries and explained > the functionalities of each debugfs file that has been created > for dcc. > > The following is the justification of using debugfs interface > over the other alternatives like sysfs/ioctls > > i) As can be seen from the debugfs attribute descriptions, > some of the debugfs attribute files here contains multiple > arguments which needs to be accepted from the user. This goes > against the design style of sysfs. > > ii) The user input patterns have been made simple and convenient > in this case with the use of debugfs interface as user doesn't > need to shuffle between different files to execute one instruction > as was the case on using other alternatives. > > Signed-off-by: Souradeep Chowdhury > --- > Documentation/ABI/testing/debugfs-driver-dcc | 124 +++ > drivers/soc/qcom/Kconfig | 8 + > drivers/soc/qcom/Makefile | 1 + > drivers/soc/qcom/dcc.c | 1465 ++++++++++++++++++++++++++ > 4 files changed, 1598 insertions(+) > create mode 100644 Documentation/ABI/testing/debugfs-driver-dcc > create mode 100644 drivers/soc/qcom/dcc.c > > diff --git a/Documentation/ABI/testing/debugfs-driver-dcc b/Documentation/ABI/testing/debugfs-driver-dcc > new file mode 100644 > index 0000000..70029ab > --- /dev/null > +++ b/Documentation/ABI/testing/debugfs-driver-dcc > @@ -0,0 +1,124 @@ > +What: /sys/kernel/debug/dcc/.../trigger > +Date: March 2022 > +Contact: Souradeep Chowdhury > +Description: > + This is the debugfs interface for manual software > + triggers. The user can simply enter a 1 against > + the debugfs file and enable a manual trigger. > + Example: > + echo 1 > /sys/kernel/debug/dcc/.../trigger > + > +What: /sys/kernel/debug/dcc/.../enable > +Date: March 2022 > +Contact: Souradeep Chowdhury > +Description: > + This debugfs interface is used for enabling the > + the dcc hardware. On enabling the dcc, all the > + addresses entered by the user is written into > + dcc sram which is read by the dcc hardware on > + manual or crash induced triggers. > + Example: > + echo 0 > /sys/bus/platform/devices/.../enable > + (disable dcc) > + echo 1 > /sys/bus/platform/devices/.../enable > + (enable dcc) > + > +What: /sys/kernel/debug/dcc/.../config_read As mentioned last time, I don't like this interface of having 6 files that the user can write to in order to append items in the currently selected linked list. Why can't this be a single "config" which takes a multiline string of operations? (Bonus point for supporting appending to the list). This would also serve as a natural place to dump the linked list back to the user for inspection. > +Date: March 2022 > +Contact: Souradeep Chowdhury > +Description: > + This stores the addresses of the registers which > + needs to be read in case of a hardware crash or > + manual software triggers. The address entered here > + are considered under read type instruction. > + Example: > + echo <1> <2> <3> >/sys/kernel/debug/dcc/../config_read > + 1->Address to be considered for reading the value. > + 2->The word count of the addresses, read n words > + starting from address <1>. > + 3->Can be a 1 or 0 which indicates if it is apb or ahb > + bus respectively. > + > +What: /sys/kernel/debug/dcc/.../config_write > +Date: March 2022 > +Contact: Souradeep Chowdhury > +Description: > + This file allows user to write a value to the register > + address given as argument. The reason for this feature > + of dcc is that for accessing certain registers it is > + necessary to set some bits of some other register. > + Example: > + echo <1> <2> <3> > /sys/bus/platform/devices/.../config_write > + 1->Address to be considered for writing the value. > + 2->The value that needs to be written at the location. > + 3->Can be a 1 or 0 which indicates if it is apb or ahb > + bus respectively. > + > +What: /sys/kernel/debug/dcc/.../config_reset > +Date: March 2022 > +Contact: Souradeep Chowdhury > +Description: > + This file is used to reset the configuration of > + a dcc driver to the default configuration. This > + means that all the previous addresses stored in > + the driver gets removed and user needs to enter > + the address values from the start. > + Example: > + echo 1 > /sys/bus/platform/devices/.../config_reset > + > +What: /sys/kernel/debug/dcc/.../config_loop > +Date: March 2022 > +Contact: Souradeep Chowdhury > +Description: > + This file is used to enter the loop type addresses for > + dcc. DCC hardware provides feature to loop among multiple > + addresses. For debugging purposes register values need to > + be captured repeatedly in a loop. On giving the loop count > + as n, the value at address will be captured n times in a > + loop. At most 8 loop addresses can be configured at once. > + Example: > + echo <1> <2> <3> > /sys/kernel/debug/dcc/../config_loop > + 1->The loop count, the number of times the value of the > + addresses will be captured. > + 2->The address count, total number of addresses to be > + entered in this instruction. > + 3->The series of addresses to be entered separated by a > + space like ... and so on. > + > +What: /sys/kernel/debug/dcc/.../config_read_write > +Date: March 2022 > +Contact: Souradeep Chowdhury > +Description: > + This file is used to read the value of the register > + and then write the value given as an argument to the > + register address. The address argument should be given > + of the form .For debugging purposes > + sometimes we need to first read from a register and then > + set some values to the register. > + Example: > + echo <1> <2> <3> > /sys/kernel/debug/dcc/.../config_read_write > + 1->The address which needs to be considered for read then write. > + 2->The value that needs to be written on the address. > + 3->The mask of the value to be written. > + > +What: /sys/kernel/debug/dcc/.../ready > +Date: March 2022 > +Contact Souradeep Chowdhury > +Description: > + This file is used to check the status of the dcc > + hardware if it's ready to take the inputs. A 0 > + here indicates dcc is in a ready condition. > + Example: > + cat /sys/kernel/debug/dcc/.../ready > + > +What: /sys/kernel/debug/dcc/.../curr_list I still don't like the idea of having a single set of files to interface with all N lists. I think you should discover how many lists you have and create N directories of files, each on operating on a given list. > +Date: March 2022 > +Contact: Souradeep Chowdhury > +Description: > + This attribute is used to enter the linklist to be > + used while appending addresses. The range of values > + for this is advertised either by a register or is > + predefined. Max value for this can be till 8. > + Example: > + echo 0 > /sys/kernel/debug/dcc/...curr_list > + Regards, Bjorn 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 5712BC433EF for ; Tue, 3 May 2022 18:04:31 +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-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc: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=5qtyUQ+sdfVYPADd4pGyO34LNOZOFN39Jr9L8l34ChI=; b=LsJUQ0xR0giq12 ssqy9WYRGjA/+gYMuFP/AczwYxVWp7Jx8bfxn1PLL+z70g1G/MCj8wcyao2gE6IDvOVxRsDJ9oopj K3G1ng6NEqKP3E/csD+CK1+QBaZNiQ+3+ksXl+rDdeYwChQpjz5ZOjxXfyzvlROwfqNH9CqkB01Ql dyrHDgrzXUkx9rxMFnIzMzjk4XeIJvmgffU0c9cmV+y80aQVklQnBPudJilRG7ehREHumS8yzE7up fVIsjsaKZU39sQ90KIMJDM02gp9l2RWxi5XO32QYq7ZnMp9Bdf5rSK5fn9Rks2s6OFQUIAjKLR74D z/84uU0grBv0Y22FEfAA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nlwrq-0077yz-Nq; Tue, 03 May 2022 18:03:22 +0000 Received: from mail-oi1-x230.google.com ([2607:f8b0:4864:20::230]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nlwrm-0077xF-21 for linux-arm-kernel@lists.infradead.org; Tue, 03 May 2022 18:03:21 +0000 Received: by mail-oi1-x230.google.com with SMTP id q8so18548753oif.13 for ; Tue, 03 May 2022 11:03:14 -0700 (PDT) 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=pHp7YwoTf2Vdk24QufCdmU2MrD/gn+v9TqyvkBKPilQ=; b=oASUIWSunTEb1LBbrg5c0vQj/FEZjRLhcFe23l2VL/75O7EiwL4bpik2++AxxzDO+G XJQbak7untc//EOnU6bTNiKJ0riyrO6bySzh5j2YdwvJQfSAvOPdph+zRxfYKLduUpCP j68cNCGiYKXGwdWlqSmnS3TjZ9a6sDsJ4vIaNdDR6UoKXTLZLcub4Nv2wHP4hoMaIgrg lX63KTc8AJ7qByKPWfZvmzT65C2h2APShFIUC6zsZEo4SMRWcb45UXB0glEduI+vGu7T 3GZ07vqfIdb/8zd116T/IZIikZX8kIySOa6xUqYqkb8KTwMvuDYRk/BuFb85TiAbnC6q c4UA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=pHp7YwoTf2Vdk24QufCdmU2MrD/gn+v9TqyvkBKPilQ=; b=Rv6RFn8Nwv3T+LBVn7i13+RztfJO5USv+m2+y4gh+8dKMWkkfihKiy0t1rNSODGxJW KVFhs/nrJxJjq50FcOea1ggWRijscBbmtAbc+qlYiTSMZxHT2kyz9e06z+hwhHOVR1CC TfozZm+7xSsFr1U4xlr0dMQNh3wG3cvtPvql0okaWKNMRQmQc6DGjRpyvW6RSRY7HS2Q Sf7H199y/h3ng9H1+1R9U/9uNQnDcfHXnP4FsAQP1Af3Cko9rZhMndr9MUP7a4EGhujn XAO+geAsPM1sofSrPk117UjSykNOs4owPxGX2qOu8eQHPisreiyaM/K0ax74bl6LGxdv gqDQ== X-Gm-Message-State: AOAM5321oAKnTajx760h4qyRn1gS5vVcUxFQzyobtQCdhyLzEdrGC4D3 MzEWKUX0vwMGPsSkhYX1Cx6XvdLH+i54Tjk4 X-Google-Smtp-Source: ABdhPJwEBnus5YhDU9Wtk4POgwJH9KNS5mGSyWLeYc0ZszWEV4GQsb9nh1nQKsfM7G4ownHcnanz2g== X-Received: by 2002:a05:6808:30a9:b0:325:e5a7:1c49 with SMTP id bl41-20020a05680830a900b00325e5a71c49mr2265762oib.153.1651600992543; Tue, 03 May 2022 11:03:12 -0700 (PDT) Received: from builder.lan (104-57-184-186.lightspeed.austtx.sbcglobal.net. [104.57.184.186]) by smtp.gmail.com with ESMTPSA id g6-20020a056830160600b0060603221266sm4198960otr.54.2022.05.03.11.03.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 May 2022 11:03:11 -0700 (PDT) Date: Tue, 3 May 2022 13:03:09 -0500 From: Bjorn Andersson To: Souradeep Chowdhury Cc: Andy Gross , Rob Herring , Alex Elder , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, Sai Prakash Ranjan , Sibi Sankar , Rajendra Nayak , vkoul@kernel.org Subject: Re: [PATCH V7 2/7] soc: qcom: dcc:Add driver support for Data Capture and Compare unit(DCC) Message-ID: References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220503_110318_141286_C3FBA828 X-CRM114-Status: GOOD ( 53.63 ) 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-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 03 Mar 00:27 CST 2022, Souradeep Chowdhury wrote: > The DCC is a DMA Engine designed to capture and store data > during system crash or software triggers. The DCC operates > based on user inputs via the sysfs interface. The user gives > addresses as inputs and these addresses are stored in the > dcc sram. In case of a system crash or a manual software > trigger by the user through the debugfs interface, > the dcc captures and stores the values at these addresses. > This patch contains the driver which has all the methods > pertaining to the debugfs interface, auxiliary functions to > support all the four fundamental operations of dcc namely > read, write, read/modify/write and loop. The probe method > here instantiates all the resources necessary for dcc to > operate mainly the dedicated dcc sram where it stores the > values. The DCC driver can be used for debugging purposes > without going for a reboot since it can perform software > triggers as well based on user inputs. > > Also added the documentation for debugfs entries and explained > the functionalities of each debugfs file that has been created > for dcc. > > The following is the justification of using debugfs interface > over the other alternatives like sysfs/ioctls > > i) As can be seen from the debugfs attribute descriptions, > some of the debugfs attribute files here contains multiple > arguments which needs to be accepted from the user. This goes > against the design style of sysfs. > > ii) The user input patterns have been made simple and convenient > in this case with the use of debugfs interface as user doesn't > need to shuffle between different files to execute one instruction > as was the case on using other alternatives. > > Signed-off-by: Souradeep Chowdhury > --- > Documentation/ABI/testing/debugfs-driver-dcc | 124 +++ > drivers/soc/qcom/Kconfig | 8 + > drivers/soc/qcom/Makefile | 1 + > drivers/soc/qcom/dcc.c | 1465 ++++++++++++++++++++++++++ > 4 files changed, 1598 insertions(+) > create mode 100644 Documentation/ABI/testing/debugfs-driver-dcc > create mode 100644 drivers/soc/qcom/dcc.c > > diff --git a/Documentation/ABI/testing/debugfs-driver-dcc b/Documentation/ABI/testing/debugfs-driver-dcc > new file mode 100644 > index 0000000..70029ab > --- /dev/null > +++ b/Documentation/ABI/testing/debugfs-driver-dcc > @@ -0,0 +1,124 @@ > +What: /sys/kernel/debug/dcc/.../trigger > +Date: March 2022 > +Contact: Souradeep Chowdhury > +Description: > + This is the debugfs interface for manual software > + triggers. The user can simply enter a 1 against > + the debugfs file and enable a manual trigger. > + Example: > + echo 1 > /sys/kernel/debug/dcc/.../trigger > + > +What: /sys/kernel/debug/dcc/.../enable > +Date: March 2022 > +Contact: Souradeep Chowdhury > +Description: > + This debugfs interface is used for enabling the > + the dcc hardware. On enabling the dcc, all the > + addresses entered by the user is written into > + dcc sram which is read by the dcc hardware on > + manual or crash induced triggers. > + Example: > + echo 0 > /sys/bus/platform/devices/.../enable > + (disable dcc) > + echo 1 > /sys/bus/platform/devices/.../enable > + (enable dcc) > + > +What: /sys/kernel/debug/dcc/.../config_read As mentioned last time, I don't like this interface of having 6 files that the user can write to in order to append items in the currently selected linked list. Why can't this be a single "config" which takes a multiline string of operations? (Bonus point for supporting appending to the list). This would also serve as a natural place to dump the linked list back to the user for inspection. > +Date: March 2022 > +Contact: Souradeep Chowdhury > +Description: > + This stores the addresses of the registers which > + needs to be read in case of a hardware crash or > + manual software triggers. The address entered here > + are considered under read type instruction. > + Example: > + echo <1> <2> <3> >/sys/kernel/debug/dcc/../config_read > + 1->Address to be considered for reading the value. > + 2->The word count of the addresses, read n words > + starting from address <1>. > + 3->Can be a 1 or 0 which indicates if it is apb or ahb > + bus respectively. > + > +What: /sys/kernel/debug/dcc/.../config_write > +Date: March 2022 > +Contact: Souradeep Chowdhury > +Description: > + This file allows user to write a value to the register > + address given as argument. The reason for this feature > + of dcc is that for accessing certain registers it is > + necessary to set some bits of some other register. > + Example: > + echo <1> <2> <3> > /sys/bus/platform/devices/.../config_write > + 1->Address to be considered for writing the value. > + 2->The value that needs to be written at the location. > + 3->Can be a 1 or 0 which indicates if it is apb or ahb > + bus respectively. > + > +What: /sys/kernel/debug/dcc/.../config_reset > +Date: March 2022 > +Contact: Souradeep Chowdhury > +Description: > + This file is used to reset the configuration of > + a dcc driver to the default configuration. This > + means that all the previous addresses stored in > + the driver gets removed and user needs to enter > + the address values from the start. > + Example: > + echo 1 > /sys/bus/platform/devices/.../config_reset > + > +What: /sys/kernel/debug/dcc/.../config_loop > +Date: March 2022 > +Contact: Souradeep Chowdhury > +Description: > + This file is used to enter the loop type addresses for > + dcc. DCC hardware provides feature to loop among multiple > + addresses. For debugging purposes register values need to > + be captured repeatedly in a loop. On giving the loop count > + as n, the value at address will be captured n times in a > + loop. At most 8 loop addresses can be configured at once. > + Example: > + echo <1> <2> <3> > /sys/kernel/debug/dcc/../config_loop > + 1->The loop count, the number of times the value of the > + addresses will be captured. > + 2->The address count, total number of addresses to be > + entered in this instruction. > + 3->The series of addresses to be entered separated by a > + space like ... and so on. > + > +What: /sys/kernel/debug/dcc/.../config_read_write > +Date: March 2022 > +Contact: Souradeep Chowdhury > +Description: > + This file is used to read the value of the register > + and then write the value given as an argument to the > + register address. The address argument should be given > + of the form .For debugging purposes > + sometimes we need to first read from a register and then > + set some values to the register. > + Example: > + echo <1> <2> <3> > /sys/kernel/debug/dcc/.../config_read_write > + 1->The address which needs to be considered for read then write. > + 2->The value that needs to be written on the address. > + 3->The mask of the value to be written. > + > +What: /sys/kernel/debug/dcc/.../ready > +Date: March 2022 > +Contact Souradeep Chowdhury > +Description: > + This file is used to check the status of the dcc > + hardware if it's ready to take the inputs. A 0 > + here indicates dcc is in a ready condition. > + Example: > + cat /sys/kernel/debug/dcc/.../ready > + > +What: /sys/kernel/debug/dcc/.../curr_list I still don't like the idea of having a single set of files to interface with all N lists. I think you should discover how many lists you have and create N directories of files, each on operating on a given list. > +Date: March 2022 > +Contact: Souradeep Chowdhury > +Description: > + This attribute is used to enter the linklist to be > + used while appending addresses. The range of values > + for this is advertised either by a register or is > + predefined. Max value for this can be till 8. > + Example: > + echo 0 > /sys/kernel/debug/dcc/...curr_list > + Regards, Bjorn _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel