From: schowdhu@codeaurora.org
To: Stephen Boyd <swboyd@chromium.org>
Cc: Andy Gross <agross@kernel.org>,
Bjorn Andersson <bjorn.andersson@linaro.org>,
Rob Herring <robh+dt@kernel.org>,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org,
devicetree@vger.kernel.org,
Sai Prakash Ranjan <saiprakash.ranjan@codeaurora.org>,
Sibi Sankar <sibis@codeaurora.org>,
Rajendra Nayak <rnayak@codeaurora.org>,
vkoul@kernel.org
Subject: Re: [PATCH V2 3/5] DCC: Added the sysfs entries for DCC(Data Capture and Compare) driver
Date: Thu, 01 Apr 2021 21:12:50 +0530 [thread overview]
Message-ID: <56a657ebc4b843575037e3ba9ec9cb9a@codeaurora.org> (raw)
In-Reply-To: <161704857307.3012082.499264834486221320@swboyd.mtv.corp.google.com>
On 2021-03-30 01:39, Stephen Boyd wrote:
> Quoting Souradeep Chowdhury (2021-03-25 01:02:34)
>> The DCC is a DMA engine designed to store register values either in
>> case of a system crash or in case of software triggers manually done
>> by the user.Using DCC hardware and the sysfs interface of the driver
>> the user can exploit various functionalities of DCC.The user can
>> specify
>> the register addresses,the values of which is stored by DCC in it's
>> dedicated SRAM.The register addresses can be used either to read from,
>> write to,first read and store value and then write or to loop.All
>> these
>> options can be exploited using the sysfs interface given to the user.
>> Following are the sysfs interfaces exposed in DCC driver which are
>> documented
>> 1)trigger
>> 2)config
>> 3)config_write
>> 4)config_reset
>> 5)enable
>> 6)rd_mod_wr
>> 7)loop
>>
>> Signed-off-by: Souradeep Chowdhury <schowdhu@codeaurora.org>
>> ---
>> Documentation/ABI/testing/sysfs-driver-dcc | 114
>> +++++++++++++++++++++++++++++
>
> Please combine this with the driver patch.
Ack
>
>> 1 file changed, 114 insertions(+)
>> create mode 100644 Documentation/ABI/testing/sysfs-driver-dcc
>
> Perhaps this should be an ioctl interface instead of a sysfs interface?
The reasons for choosing sysfs over ioctl is as follows
i) As can be seen from the sysfs attribute descriptions, most of it does
basic hardware manipulations like dcc_enable, dcc_disable, config reset
etc. As a result sysfs is preferred over ioctl as we just need to enter
a 0 or 1
signal in such cases.
ii) Existing similar debug hardwares are there for which drivers have
been written using sysfs interface. One such example is the
coresight-etm-trace driver. Following is the link for reference
https://www.kernel.org/doc/html/latest/trace/coresight/coresight-etm4x-reference.html
>
>>
>> diff --git a/Documentation/ABI/testing/sysfs-driver-dcc
>> b/Documentation/ABI/testing/sysfs-driver-dcc
>> new file mode 100644
>> index 0000000..05d24f0
>> --- /dev/null
>> +++ b/Documentation/ABI/testing/sysfs-driver-dcc
>> @@ -0,0 +1,114 @@
>> +What: /sys/bus/platform/devices/.../trigger
>> +Date: March 2021
>> +Contact: Souradeep Chowdhury <schowdhu@codeaurora.org>
>> +Description:
>> + This is the sysfs interface for manual software
>> + triggers.The user can simply enter a 1 against
>> + the sysfs file and enable a manual trigger.
>> + Example:
>> + echo 1 > /sys/bus/platform/devices/.../trigger
>> +
>> +What: /sys/bus/platform/devices/.../enable
>> +Date: March 2021
>> +Contact: Souradeep Chowdhury <schowdhu@codeaurora.org>
>> +Description:
>> + This sysfs interface is used for enabling the
>> + the dcc hardware.Without this being set to 1,
>
> Space after period please.
Ack
>
>> + the dcc hardware ceases to function.
>> + Example:
>> + echo 0 > /sys/bus/platform/devices/.../enable
>> + (disable interface)
>> + echo 1 > /sys/bus/platform/devices/.../enable
>> + (enable interface)
>> +
>> +What: /sys/bus/platform/devices/.../config
>> +Date: March 2021
>> +Contact: Souradeep Chowdhury <schowdhu@codeaurora.org>
>> +Description:
>> + This is the most commonly used sysfs interface
>> + file and this basically stores the addresses of
>> + the registers which needs to be read in case of
>> + a hardware crash or manual software triggers.
>> + Example:
>> + echo 0x80000010 10 >
>> /sys/bus/platform/devices/../config
>> + This specifies that 10 words starting from address
>> + 0x80000010 is to be read.In case there are no words to
>> be
>> + specified we can simply enter the address.
>> +
>> +What: /sys/bus/platform/devices/.../config_write
>> +Date: March 2021
>> +Contact: Souradeep Chowdhury <schowdhu@codeaurora.org>
>> +Description:
>> + This file allows user to write a value to the register
>> + address given as argument.The values are entered in
>> the
>> + form of <register_address> <value>.The reason for this
>> + feature of dcc is that for accessing certain registers
>> + it is necessary to set some bits of soe other
>> register.
>
> s/soe/some/?
Ack
>
>> + That is achievable by giving DCC this privelege.
>
> s/privelege/privilege/
Ack
>
>> + Example:
>> + echo 0x80000000 0xFF >
>> /sys/bus/platform/devices/.../config_write
>> +
>> +What: /sys/bus/platform/devices/.../config_reset
>> +Date: March 2021
>> +Contact: Souradeep Chowdhury <schowdhu@codeaurora.org>
>> +Description:
>> + This file is used to reset the configuration of
>> + a dcc driver to the default configuration.
>> + Example:
>> + echo 1 > /sys/bus/platform/devices/.../config_reset
>> +
next prev parent reply other threads:[~2021-04-01 17:52 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-25 8:02 [PATCH V2 0/5] Add driver support for Data Capture and Compare Engine(DCC) for SM8150 Souradeep Chowdhury
2021-03-25 8:02 ` [PATCH V2 1/5] dt-bindings: Added the yaml bindings for DCC Souradeep Chowdhury
2021-03-27 17:49 ` Rob Herring
2021-03-29 19:34 ` Stephen Boyd
2021-04-01 8:22 ` schowdhu
2021-03-25 8:02 ` [PATCH V2 2/5] soc: qcom: dcc: Add driver support for Data Capture and Compare unit(DCC) Souradeep Chowdhury
2021-03-29 20:05 ` Stephen Boyd
2021-04-01 14:04 ` schowdhu
2021-04-02 0:50 ` Stephen Boyd
2021-04-07 15:35 ` schowdhu
2021-03-25 8:02 ` [PATCH V2 3/5] DCC: Added the sysfs entries for DCC(Data Capture and Compare) driver Souradeep Chowdhury
2021-03-29 20:09 ` Stephen Boyd
2021-04-01 15:42 ` schowdhu [this message]
2021-04-02 1:10 ` Stephen Boyd
2021-03-25 8:02 ` [PATCH V2 4/5] MAINTAINERS: Add the entry for DCC(Data Capture and Compare) driver support Souradeep Chowdhury
2021-03-25 8:02 ` [PATCH V2 5/5] arm64: dts: qcom: sm8150: Add Data Capture and Compare(DCC) support node Souradeep Chowdhury
2021-03-26 22:08 ` kernel test robot
2021-03-29 6:32 ` [PATCH V3 0/5] Add driver support for Data Capture and Compare Engine(DCC) for SM8150 Souradeep Chowdhury
[not found] ` <cover.1616997837.git.schowdhu@codeaurora.org>
2021-03-29 6:32 ` [PATCH V3 1/5] dt-bindings: Added the yaml bindings for DCC Souradeep Chowdhury
2021-03-29 7:57 ` schowdhu
2021-03-29 6:32 ` [PATCH V3 2/5] soc: qcom: dcc: Add driver support for Data Capture and Compare unit(DCC) Souradeep Chowdhury
2021-03-29 6:32 ` [PATCH V3 3/5] DCC: Added the sysfs entries for DCC(Data Capture and Compare) driver Souradeep Chowdhury
2021-03-29 6:32 ` [PATCH V3 4/5] MAINTAINERS: Add the entry for DCC(Data Capture and Compare) driver support Souradeep Chowdhury
2021-03-29 6:32 ` [PATCH V3 5/5] arm64: dts: qcom: sm8150: Add Data Capture and Compare(DCC) support node Souradeep Chowdhury
2021-03-29 7:49 ` [Resend PATCH V3 0/5] Add driver support for Data Capture and Compare Engine(DCC) for SM8150 Souradeep Chowdhury
[not found] ` <cover.1617001131.git.schowdhu@codeaurora.org>
2021-03-29 7:49 ` [Resend PATCH V3 1/5] dt-bindings: Added the yaml bindings for DCC Souradeep Chowdhury
2021-03-29 7:49 ` [Resend PATCH V3 2/5] soc: qcom: dcc: Add driver support for Data Capture and Compare unit(DCC) Souradeep Chowdhury
2021-03-29 7:49 ` [Resend PATCH V3 3/5] DCC: Added the sysfs entries for DCC(Data Capture and Compare) driver Souradeep Chowdhury
2021-03-29 7:49 ` [Resend PATCH V3 4/5] MAINTAINERS:Add the entry for DCC(Data Capture and Compare) driver support Souradeep Chowdhury
2021-03-29 7:49 ` [Resend PATCH V3 5/5] arm64: dts: qcom: sm8150: Add Data Capture and Compare(DCC) support node Souradeep Chowdhury
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=56a657ebc4b843575037e3ba9ec9cb9a@codeaurora.org \
--to=schowdhu@codeaurora.org \
--cc=agross@kernel.org \
--cc=bjorn.andersson@linaro.org \
--cc=devicetree@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=rnayak@codeaurora.org \
--cc=robh+dt@kernel.org \
--cc=saiprakash.ranjan@codeaurora.org \
--cc=sibis@codeaurora.org \
--cc=swboyd@chromium.org \
--cc=vkoul@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).