From: Sai Prakash Ranjan <saiprakash.ranjan@codeaurora.org>
To: James Morse <james.morse@arm.com>
Cc: Andy Gross <agross@kernel.org>,
Bjorn Andersson <bjorn.andersson@linaro.org>,
Mark Rutland <mark.rutland@arm.com>,
Rob Herring <robh+dt@kernel.org>,
devicetree@vger.kernel.org, Borislav Petkov <bp@alien8.de>,
Mauro Carvalho Chehab <mchehab@kernel.org>,
Tony Luck <tony.luck@intel.com>,
Robert Richter <rrichter@marvell.com>,
linux-edac@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org,
Stephen Boyd <swboyd@chromium.org>,
Evan Green <evgreen@chromium.org>,
tsoni@codeaurora.org, psodagud@codeaurora.org,
baicar@os.amperecomputing.com
Subject: Re: [PATCH 1/2] dt-bindings: edac: Add DT bindings for Kryo EDAC
Date: Fri, 24 Jan 2020 19:51:49 +0530 [thread overview]
Message-ID: <3c3b1d8107a26bbbf8daca3a6c43caca@codeaurora.org> (raw)
In-Reply-To: <312fc8b8-7019-0c74-6a92-c6740cab5dad@arm.com>
Hi James,
On 2020-01-16 00:18, James Morse wrote:
> Hi Sai,
>
> (CC: +Tyler)
>
> On 05/12/2019 09:53, Sai Prakash Ranjan wrote:
>> This adds DT bindings for Kryo EDAC implemented with RAS
>> extensions on KRYO{3,4}XX CPU cores for reporting of cache
>> errors.
>
> KRYO{3,4}XX isn't the only SoC with the RAS extensions. The DT needs
> to convey the range
> of ways this armv8 RAS extensions stuff can be wired up.
>
Right, but I was going for Kryo specific implementation and hence the
binding as such.
> The folk who look after the ACPI specs have made a start:
> https://static.docs.arm.com/den0085/a/DEN0085_RAS_ACPI_1.0_BETA_1.pdf
>
> (I suspect that isn't the latest version, I'll try and find out)
>
That would be helpful, thanks.
> I'd like the ACPI table and DT to convey the same information so that
> we don't need to
> convert or infer things in the driver. If something is missing, we
> should get it added!
>
Sure, I think it is decided now that kernel first RAS implementation
will be generic.
>
>> diff --git
>> a/Documentation/devicetree/bindings/edac/qcom-kryo-edac.yaml
>> b/Documentation/devicetree/bindings/edac/qcom-kryo-edac.yaml
>> new file mode 100644
>> index 000000000000..1a39429a73b4
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/edac/qcom-kryo-edac.yaml
>> @@ -0,0 +1,67 @@
>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/edac/qcom-kryo-edac.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Kryo Error Detection and Correction(EDAC)
>> +
>> +maintainers:
>> + - Sai Prakash Ranjan <saiprakash.ranjan@codeaurora.org>
>> +
>> +description: |
>> + Kryo EDAC is defined to describe on-chip error detection and
>> correction
>> + for the Kryo CPU cores which implement RAS extensions.
>
> Please don't make this Kryo specific, otherwise this binding becomes
> an extra thing we
> need to support with a 'v8.2 RAS' driver.
>
> What I'd like is a single 'armv82_ras' edac driver that handles faults
> and errors reported
> by interrupts, and interacts with the arch code's handling of
> 'external aborts'. This
> should work for all platforms using v8.2 RAS and later.
>
>
Ok sure.
>> + It will report
>> + all Single Bit Errors and Double Bit Errors found in L1/L2 caches
>> in
>> + in two registers ERXSTATUS_EL1 and ERXMISC0_EL1. L3-SCU cache
>> errors
>> + are reported in ERR1STATUS and ERR1MISC0 registers.
>> + ERXSTATUS_EL1 - Selected Error Record Primary Status Register,
>> EL1
>> + ERXMISC0_EL1 - Selected Error Record Miscellaneous Register 0,
>> EL1
>> + ERR1STATUS - Error Record Primary Status Register
>> + ERR1MISC0 - Error Record Miscellaneous Register 0
>> + Current implementation of Kryo ECC(Error Correcting Code) mechanism
>> is
>> + based on interrupts.
>
> Your SoC picked the system registers as the interface to these
> component's registers.
> The binding would need to specify which index the 'l1-l2' records
> start at, and how many
> there are. The same for the 'l3-scu'. You can't hard code these, they
> are different on
> other platforms.
>
Ok will keep this in mind for the next version.
> There is also an MMIO interface which needs a base address, along with
> the index and
> ranges. (which may be different). The same component may use both the
> system register and
> the MMIO interface.
>
I have some doubts here, Where do I get this info? Will this be
implementation specific?
> This stuff is likely to vary on big/little systems, so you need a way
> of describing which
> CPUs the settings refer to. This probably isn't something the ACPI
> tables capture as ACPI
> machines are typically homogenous.
>
Our SoCs are based on big.LITTLE arch, so this will be needed.
Thanks,
Sai
--
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a
member
of Code Aurora Forum, hosted by The Linux Foundation
WARNING: multiple messages have this Message-ID (diff)
From: Sai Prakash Ranjan <saiprakash.ranjan@codeaurora.org>
To: James Morse <james.morse@arm.com>
Cc: Mark Rutland <mark.rutland@arm.com>,
devicetree@vger.kernel.org, Tony Luck <tony.luck@intel.com>,
psodagud@codeaurora.org, linux-arm-msm@vger.kernel.org,
Stephen Boyd <swboyd@chromium.org>,
tsoni@codeaurora.org, linux-kernel@vger.kernel.org,
Rob Herring <robh+dt@kernel.org>,
Bjorn Andersson <bjorn.andersson@linaro.org>,
Andy Gross <agross@kernel.org>, Borislav Petkov <bp@alien8.de>,
Evan Green <evgreen@chromium.org>,
Robert Richter <rrichter@marvell.com>,
baicar@os.amperecomputing.com,
Mauro Carvalho Chehab <mchehab@kernel.org>,
linux-arm-kernel@lists.infradead.org, linux-edac@vger.kernel.org
Subject: Re: [PATCH 1/2] dt-bindings: edac: Add DT bindings for Kryo EDAC
Date: Fri, 24 Jan 2020 19:51:49 +0530 [thread overview]
Message-ID: <3c3b1d8107a26bbbf8daca3a6c43caca@codeaurora.org> (raw)
In-Reply-To: <312fc8b8-7019-0c74-6a92-c6740cab5dad@arm.com>
Hi James,
On 2020-01-16 00:18, James Morse wrote:
> Hi Sai,
>
> (CC: +Tyler)
>
> On 05/12/2019 09:53, Sai Prakash Ranjan wrote:
>> This adds DT bindings for Kryo EDAC implemented with RAS
>> extensions on KRYO{3,4}XX CPU cores for reporting of cache
>> errors.
>
> KRYO{3,4}XX isn't the only SoC with the RAS extensions. The DT needs
> to convey the range
> of ways this armv8 RAS extensions stuff can be wired up.
>
Right, but I was going for Kryo specific implementation and hence the
binding as such.
> The folk who look after the ACPI specs have made a start:
> https://static.docs.arm.com/den0085/a/DEN0085_RAS_ACPI_1.0_BETA_1.pdf
>
> (I suspect that isn't the latest version, I'll try and find out)
>
That would be helpful, thanks.
> I'd like the ACPI table and DT to convey the same information so that
> we don't need to
> convert or infer things in the driver. If something is missing, we
> should get it added!
>
Sure, I think it is decided now that kernel first RAS implementation
will be generic.
>
>> diff --git
>> a/Documentation/devicetree/bindings/edac/qcom-kryo-edac.yaml
>> b/Documentation/devicetree/bindings/edac/qcom-kryo-edac.yaml
>> new file mode 100644
>> index 000000000000..1a39429a73b4
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/edac/qcom-kryo-edac.yaml
>> @@ -0,0 +1,67 @@
>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/edac/qcom-kryo-edac.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Kryo Error Detection and Correction(EDAC)
>> +
>> +maintainers:
>> + - Sai Prakash Ranjan <saiprakash.ranjan@codeaurora.org>
>> +
>> +description: |
>> + Kryo EDAC is defined to describe on-chip error detection and
>> correction
>> + for the Kryo CPU cores which implement RAS extensions.
>
> Please don't make this Kryo specific, otherwise this binding becomes
> an extra thing we
> need to support with a 'v8.2 RAS' driver.
>
> What I'd like is a single 'armv82_ras' edac driver that handles faults
> and errors reported
> by interrupts, and interacts with the arch code's handling of
> 'external aborts'. This
> should work for all platforms using v8.2 RAS and later.
>
>
Ok sure.
>> + It will report
>> + all Single Bit Errors and Double Bit Errors found in L1/L2 caches
>> in
>> + in two registers ERXSTATUS_EL1 and ERXMISC0_EL1. L3-SCU cache
>> errors
>> + are reported in ERR1STATUS and ERR1MISC0 registers.
>> + ERXSTATUS_EL1 - Selected Error Record Primary Status Register,
>> EL1
>> + ERXMISC0_EL1 - Selected Error Record Miscellaneous Register 0,
>> EL1
>> + ERR1STATUS - Error Record Primary Status Register
>> + ERR1MISC0 - Error Record Miscellaneous Register 0
>> + Current implementation of Kryo ECC(Error Correcting Code) mechanism
>> is
>> + based on interrupts.
>
> Your SoC picked the system registers as the interface to these
> component's registers.
> The binding would need to specify which index the 'l1-l2' records
> start at, and how many
> there are. The same for the 'l3-scu'. You can't hard code these, they
> are different on
> other platforms.
>
Ok will keep this in mind for the next version.
> There is also an MMIO interface which needs a base address, along with
> the index and
> ranges. (which may be different). The same component may use both the
> system register and
> the MMIO interface.
>
I have some doubts here, Where do I get this info? Will this be
implementation specific?
> This stuff is likely to vary on big/little systems, so you need a way
> of describing which
> CPUs the settings refer to. This probably isn't something the ACPI
> tables capture as ACPI
> machines are typically homogenous.
>
Our SoCs are based on big.LITTLE arch, so this will be needed.
Thanks,
Sai
--
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a
member
of Code Aurora Forum, hosted by The Linux Foundation
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2020-01-24 14:25 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <cover.1575529553.git.saiprakash.ranjan@codeaurora.org>
2019-12-05 9:53 ` [PATCH 1/2] dt-bindings: edac: Add DT bindings for Kryo EDAC Sai Prakash Ranjan
2019-12-05 9:53 ` Sai Prakash Ranjan
2019-12-18 23:37 ` Rob Herring
2019-12-18 23:37 ` Rob Herring
2019-12-19 6:50 ` Sai Prakash Ranjan
2019-12-19 6:50 ` Sai Prakash Ranjan
2019-12-19 13:58 ` Rob Herring
2019-12-19 13:58 ` Rob Herring
2019-12-19 14:48 ` Sai Prakash Ranjan
2019-12-19 14:48 ` Sai Prakash Ranjan
2020-01-15 18:48 ` James Morse
2020-01-15 18:48 ` James Morse
2020-01-24 14:21 ` Sai Prakash Ranjan [this message]
2020-01-24 14:21 ` Sai Prakash Ranjan
2020-02-26 17:12 ` James Morse
2020-02-26 17:12 ` James Morse
2019-12-05 9:53 ` [PATCH 2/2] drivers: edac: Add EDAC support for Kryo CPU caches Sai Prakash Ranjan
2019-12-05 9:53 ` Sai Prakash Ranjan
[not found] ` <0101016ed57a6311-e815485c-4b77-4342-a3de-203673941602-000000@us-west-2.amazonses.com>
2019-12-11 19:32 ` Evan Green
2019-12-11 19:32 ` Evan Green
2019-12-11 22:33 ` Stephen Boyd
2019-12-13 5:31 ` Sai Prakash Ranjan
2019-12-13 5:31 ` Sai Prakash Ranjan
[not found] ` <0101016ed57a6559-46c6c649-db28-4945-a11c-7441b8e9ac5b-000000@us-west-2.amazonses.com>
2019-12-30 11:50 ` Borislav Petkov
2019-12-30 11:50 ` Borislav Petkov
2020-01-13 5:44 ` Sai Prakash Ranjan
2020-01-13 5:44 ` Sai Prakash Ranjan
2020-01-15 18:49 ` James Morse
2020-01-15 18:49 ` James Morse
2020-01-24 14:52 ` Sai Prakash Ranjan
2020-01-24 14:52 ` Sai Prakash Ranjan
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=3c3b1d8107a26bbbf8daca3a6c43caca@codeaurora.org \
--to=saiprakash.ranjan@codeaurora.org \
--cc=agross@kernel.org \
--cc=baicar@os.amperecomputing.com \
--cc=bjorn.andersson@linaro.org \
--cc=bp@alien8.de \
--cc=devicetree@vger.kernel.org \
--cc=evgreen@chromium.org \
--cc=james.morse@arm.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-edac@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=mchehab@kernel.org \
--cc=psodagud@codeaurora.org \
--cc=robh+dt@kernel.org \
--cc=rrichter@marvell.com \
--cc=swboyd@chromium.org \
--cc=tony.luck@intel.com \
--cc=tsoni@codeaurora.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.