2020-08-29 18:42:58

by Grygorii Strashko

[permalink] [raw]
Subject: [PATCH next v2 0/3] soc: ti: k3: ringacc: add am65x sr2.0 support

Hi Santosh,

I've rebased on top of linux-next and identified merge conflict of patch 3
with commit 6da45875fa17 ("arm64: dts: k3-am65: Update the RM resource types")
in -next.

---
This series adds support for the TI AM65x SR2.0 SoC Ringacc which has fixed
errata i2023 "RINGACC, UDMA: RINGACC and UDMA Ring State Interoperability
Issue after Channel Teardown". This errata also fixed for J271E SoC.
The SOC bus chipinfo data is used to identify the SoC and configure
i2023 errata W/A.

This changes made "ti,dma-ring-reset-quirk" DT property obsolete, so it's removed.

Changes in v2:
- no functional changes
- rebased on top of linux-next
- added ask from Rob Herring

v1: https://lore.kernel.org/patchwork/cover/1284233/

Grygorii Strashko (3):
soc: ti: k3: ringacc: add am65x sr2.0 support
bindings: soc: ti: soc: ringacc: remove ti,dma-ring-reset-quirk
arm64: dts: ti: k3-am65: ringacc: drop ti,dma-ring-reset-quirk

.../bindings/soc/ti/k3-ringacc.yaml | 6 ----
arch/arm64/boot/dts/ti/k3-am65-main.dtsi | 1 -
arch/arm64/boot/dts/ti/k3-am65-mcu.dtsi | 1 -
drivers/soc/ti/k3-ringacc.c | 33 +++++++++++++++++--
4 files changed, 30 insertions(+), 11 deletions(-)

--
2.17.1


2020-08-29 18:43:05

by Grygorii Strashko

[permalink] [raw]
Subject: [PATCH next v2 1/3] soc: ti: k3: ringacc: add am65x sr2.0 support

The AM65x SR2.0 Ringacc has fixed errata i2023 "RINGACC, UDMA: RINGACC and
UDMA Ring State Interoperability Issue after Channel Teardown". This errata
also fixed for J271E SoC.

Use SOC bus data for K3 SoC identification and enable i2023 errate w/a only
for the AM65x SR1.0. This also makes obsolete "ti,dma-ring-reset-quirk" DT
property.

Signed-off-by: Grygorii Strashko <[email protected]>
---
drivers/soc/ti/k3-ringacc.c | 33 ++++++++++++++++++++++++++++++---
1 file changed, 30 insertions(+), 3 deletions(-)

diff --git a/drivers/soc/ti/k3-ringacc.c b/drivers/soc/ti/k3-ringacc.c
index 6dcc21dde0cb..1147dc4c1d59 100644
--- a/drivers/soc/ti/k3-ringacc.c
+++ b/drivers/soc/ti/k3-ringacc.c
@@ -10,6 +10,7 @@
#include <linux/init.h>
#include <linux/of.h>
#include <linux/platform_device.h>
+#include <linux/sys_soc.h>
#include <linux/soc/ti/k3-ringacc.h>
#include <linux/soc/ti/ti_sci_protocol.h>
#include <linux/soc/ti/ti_sci_inta_msi.h>
@@ -208,6 +209,15 @@ struct k3_ringacc {
const struct k3_ringacc_ops *ops;
};

+/**
+ * struct k3_ringacc - Rings accelerator SoC data
+ *
+ * @dma_ring_reset_quirk: DMA reset w/a enable
+ */
+struct k3_ringacc_soc_data {
+ unsigned dma_ring_reset_quirk:1;
+};
+
static long k3_ringacc_ring_get_fifo_pos(struct k3_ring *ring)
{
return K3_RINGACC_FIFO_WINDOW_SIZE_BYTES -
@@ -1051,9 +1061,6 @@ static int k3_ringacc_probe_dt(struct k3_ringacc *ringacc)
return ret;
}

- ringacc->dma_ring_reset_quirk =
- of_property_read_bool(node, "ti,dma-ring-reset-quirk");
-
ringacc->tisci = ti_sci_get_by_phandle(node, "ti,sci");
if (IS_ERR(ringacc->tisci)) {
ret = PTR_ERR(ringacc->tisci);
@@ -1084,9 +1091,22 @@ static int k3_ringacc_probe_dt(struct k3_ringacc *ringacc)
ringacc->rm_gp_range);
}

+static const struct k3_ringacc_soc_data k3_ringacc_soc_data_sr1 = {
+ .dma_ring_reset_quirk = 1,
+};
+
+static const struct soc_device_attribute k3_ringacc_socinfo[] = {
+ { .family = "AM65X",
+ .revision = "SR1.0",
+ .data = &k3_ringacc_soc_data_sr1
+ },
+ {/* sentinel */}
+};
+
static int k3_ringacc_init(struct platform_device *pdev,
struct k3_ringacc *ringacc)
{
+ const struct soc_device_attribute *soc;
void __iomem *base_fifo, *base_rt;
struct device *dev = &pdev->dev;
struct resource *res;
@@ -1103,6 +1123,13 @@ static int k3_ringacc_init(struct platform_device *pdev,
if (ret)
return ret;

+ soc = soc_device_match(k3_ringacc_socinfo);
+ if (soc && soc->data) {
+ const struct k3_ringacc_soc_data *soc_data = soc->data;
+
+ ringacc->dma_ring_reset_quirk = soc_data->dma_ring_reset_quirk;
+ }
+
res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "rt");
base_rt = devm_ioremap_resource(dev, res);
if (IS_ERR(base_rt))
--
2.17.1

2020-08-29 18:43:51

by Grygorii Strashko

[permalink] [raw]
Subject: [PATCH next v2 2/3] bindings: soc: ti: soc: ringacc: remove ti,dma-ring-reset-quirk

Remove "ti,dma-ring-reset-quirk" DT property as proper w/a handling is
implemented now in Ringacc driver using SoC info.

Signed-off-by: Grygorii Strashko <[email protected]>
Acked-by: Rob Herring <[email protected]>
---
Documentation/devicetree/bindings/soc/ti/k3-ringacc.yaml | 6 ------
1 file changed, 6 deletions(-)

diff --git a/Documentation/devicetree/bindings/soc/ti/k3-ringacc.yaml b/Documentation/devicetree/bindings/soc/ti/k3-ringacc.yaml
index ae33fc957141..c3c595e235a8 100644
--- a/Documentation/devicetree/bindings/soc/ti/k3-ringacc.yaml
+++ b/Documentation/devicetree/bindings/soc/ti/k3-ringacc.yaml
@@ -62,11 +62,6 @@ properties:
$ref: /schemas/types.yaml#/definitions/uint32
description: TI-SCI device id of the ring accelerator

- ti,dma-ring-reset-quirk:
- $ref: /schemas/types.yaml#definitions/flag
- description: |
- enable ringacc/udma ring state interoperability issue software w/a
-
required:
- compatible
- reg
@@ -94,7 +89,6 @@ examples:
reg-names = "rt", "fifos", "proxy_gcfg", "proxy_target";
ti,num-rings = <818>;
ti,sci-rm-range-gp-rings = <0x2>; /* GP ring range */
- ti,dma-ring-reset-quirk;
ti,sci = <&dmsc>;
ti,sci-dev-id = <187>;
msi-parent = <&inta_main_udmass>;
--
2.17.1

2020-08-29 18:44:18

by Grygorii Strashko

[permalink] [raw]
Subject: [PATCH next v2 3/3] arm64: dts: ti: k3-am65: ringacc: drop ti,dma-ring-reset-quirk

Remove obsolete "ti,dma-ring-reset-quirk" Ringacc DT property.

Signed-off-by: Grygorii Strashko <[email protected]>
---
arch/arm64/boot/dts/ti/k3-am65-main.dtsi | 1 -
arch/arm64/boot/dts/ti/k3-am65-mcu.dtsi | 1 -
2 files changed, 2 deletions(-)

diff --git a/arch/arm64/boot/dts/ti/k3-am65-main.dtsi b/arch/arm64/boot/dts/ti/k3-am65-main.dtsi
index 24ef18fe77df..245c0d534ff1 100644
--- a/arch/arm64/boot/dts/ti/k3-am65-main.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am65-main.dtsi
@@ -590,7 +590,6 @@
reg-names = "rt", "fifos", "proxy_gcfg", "proxy_target";
ti,num-rings = <818>;
ti,sci-rm-range-gp-rings = <0x1>; /* GP ring range */
- ti,dma-ring-reset-quirk;
ti,sci = <&dmsc>;
ti,sci-dev-id = <187>;
msi-parent = <&inta_main_udmass>;
diff --git a/arch/arm64/boot/dts/ti/k3-am65-mcu.dtsi b/arch/arm64/boot/dts/ti/k3-am65-mcu.dtsi
index 51ca4b4d4c21..64c5192796c7 100644
--- a/arch/arm64/boot/dts/ti/k3-am65-mcu.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am65-mcu.dtsi
@@ -135,7 +135,6 @@
reg-names = "rt", "fifos", "proxy_gcfg", "proxy_target";
ti,num-rings = <286>;
ti,sci-rm-range-gp-rings = <0x1>; /* GP ring range */
- ti,dma-ring-reset-quirk;
ti,sci = <&dmsc>;
ti,sci-dev-id = <195>;
msi-parent = <&inta_main_udmass>;
--
2.17.1

2020-08-31 22:35:45

by Santosh Shilimkar

[permalink] [raw]
Subject: Re: [PATCH next v2 0/3] soc: ti: k3: ringacc: add am65x sr2.0 support

On 8/29/20 11:41 AM, Grygorii Strashko wrote:
> Hi Santosh,
>
> I've rebased on top of linux-next and identified merge conflict of patch 3
> with commit 6da45875fa17 ("arm64: dts: k3-am65: Update the RM resource types")
> in -next.
>
> ---
> This series adds support for the TI AM65x SR2.0 SoC Ringacc which has fixed
> errata i2023 "RINGACC, UDMA: RINGACC and UDMA Ring State Interoperability
> Issue after Channel Teardown". This errata also fixed for J271E SoC.
> The SOC bus chipinfo data is used to identify the SoC and configure
> i2023 errata W/A.
>
> This changes made "ti,dma-ring-reset-quirk" DT property obsolete, so it's removed.
>
> Changes in v2:
> - no functional changes
> - rebased on top of linux-next
> - added ask from Rob Herring
>
Thanks. Can you please followup DT acks for PRUSS series so that I can
apply PRUSS + $subject series.

> v1: https://urldefense.com/v3/__https://lore.kernel.org/patchwork/cover/1284233/__;!!GqivPVa7Brio!PCmZ-nZZ6YQak-0T43bPZYI0gHsYL9k6N7S2gZEFbIr8BRKtv2BK01VejQzlBPBBgcfvCQ$
>
> Grygorii Strashko (3):
> soc: ti: k3: ringacc: add am65x sr2.0 support
> bindings: soc: ti: soc: ringacc: remove ti,dma-ring-reset-quirk
> arm64: dts: ti: k3-am65: ringacc: drop ti,dma-ring-reset-quirk
>
> .../bindings/soc/ti/k3-ringacc.yaml | 6 ----
> arch/arm64/boot/dts/ti/k3-am65-main.dtsi | 1 -
> arch/arm64/boot/dts/ti/k3-am65-mcu.dtsi | 1 -
> drivers/soc/ti/k3-ringacc.c | 33 +++++++++++++++++--
> 4 files changed, 30 insertions(+), 11 deletions(-)
>

2020-09-02 14:24:25

by Nishanth Menon

[permalink] [raw]
Subject: Re: [PATCH next v2 0/3] soc: ti: k3: ringacc: add am65x sr2.0 support

On 11:34-20200831, [email protected] wrote:
> On 8/29/20 11:41 AM, Grygorii Strashko wrote:
> > Hi Santosh,
> >
> > I've rebased on top of linux-next and identified merge conflict of patch 3
> > with commit 6da45875fa17 ("arm64: dts: k3-am65: Update the RM resource types")
> > in -next.
> >
> > ---
> > This series adds support for the TI AM65x SR2.0 SoC Ringacc which has fixed
> > errata i2023 "RINGACC, UDMA: RINGACC and UDMA Ring State Interoperability
> > Issue after Channel Teardown". This errata also fixed for J271E SoC.
> > The SOC bus chipinfo data is used to identify the SoC and configure
> > i2023 errata W/A.
> >
> > This changes made "ti,dma-ring-reset-quirk" DT property obsolete, so it's removed.
> >
> > Changes in v2:
> > - no functional changes
> > - rebased on top of linux-next
> > - added ask from Rob Herring
> >
> Thanks. Can you please followup DT acks for PRUSS series so that I can
> apply PRUSS + $subject series.


Santosh, in this series, may i suggest that the dtsi changes[1] be hosted
on my tree? else we are going to create a mix of rc1 and rc3 branches
which is going to be irritating, to say the least.

I will pick [1] the day after I see the patches 1 and 2 in linux-next tag.

[1] https://lore.kernel.org/lkml/[email protected]/

--
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D

2020-09-08 22:11:27

by Suman Anna

[permalink] [raw]
Subject: Re: [PATCH next v2 0/3] soc: ti: k3: ringacc: add am65x sr2.0 support

Hi Santosh,

On 8/31/20 1:34 PM, [email protected] wrote:
> On 8/29/20 11:41 AM, Grygorii Strashko wrote:
>> Hi Santosh,
>>
>> I've rebased on top of  linux-next and identified merge conflict of patch 3
>> with commit 6da45875fa17 ("arm64: dts: k3-am65: Update the RM resource types")
>> in -next.
>>
>> ---
>> This series adds support for the TI AM65x SR2.0 SoC Ringacc which has fixed
>> errata i2023 "RINGACC, UDMA: RINGACC and UDMA Ring State Interoperability
>> Issue after Channel Teardown". This errata also fixed for J271E SoC.
>> The SOC bus chipinfo data is used to identify the SoC and configure
>> i2023 errata W/A.
>>
>> This changes made "ti,dma-ring-reset-quirk" DT property obsolete, so it's
>> removed.
>>
>> Changes in v2:
>>   - no functional changes
>>   - rebased on top of linux-next
>>   - added ask from Rob Herring
>>
> Thanks. Can you please followup DT acks for PRUSS series so that I can
> apply PRUSS + $subject series.

PRUSS dt binding is acked now, so can you pick up the PRUSS v2 series for 5.10
merge window.

regards,
Suman

>
>> v1:
>> https://urldefense.com/v3/__https://lore.kernel.org/patchwork/cover/1284233/__;!!GqivPVa7Brio!PCmZ-nZZ6YQak-0T43bPZYI0gHsYL9k6N7S2gZEFbIr8BRKtv2BK01VejQzlBPBBgcfvCQ$
>>
>>      Grygorii Strashko (3):
>>    soc: ti: k3: ringacc: add am65x sr2.0 support
>>    bindings: soc: ti: soc: ringacc: remove ti,dma-ring-reset-quirk
>>    arm64: dts: ti: k3-am65: ringacc: drop ti,dma-ring-reset-quirk
>>
>>   .../bindings/soc/ti/k3-ringacc.yaml           |  6 ----
>>   arch/arm64/boot/dts/ti/k3-am65-main.dtsi      |  1 -
>>   arch/arm64/boot/dts/ti/k3-am65-mcu.dtsi       |  1 -
>>   drivers/soc/ti/k3-ringacc.c                   | 33 +++++++++++++++++--
>>   4 files changed, 30 insertions(+), 11 deletions(-)
>>
>
> _______________________________________________
> linux-arm-kernel mailing list
> [email protected]
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

2020-09-09 02:44:51

by Santosh Shilimkar

[permalink] [raw]
Subject: Re: [PATCH next v2 0/3] soc: ti: k3: ringacc: add am65x sr2.0 support



On 9/8/20 3:09 PM, Suman Anna wrote:
> Hi Santosh,
>
> On 8/31/20 1:34 PM, [email protected] wrote:
>> On 8/29/20 11:41 AM, Grygorii Strashko wrote:
>>> Hi Santosh,
>>>
>>> I've rebased on top of  linux-next and identified merge conflict of patch 3
>>> with commit 6da45875fa17 ("arm64: dts: k3-am65: Update the RM resource types")
>>> in -next.
>>>
>>> ---
>>> This series adds support for the TI AM65x SR2.0 SoC Ringacc which has fixed
>>> errata i2023 "RINGACC, UDMA: RINGACC and UDMA Ring State Interoperability
>>> Issue after Channel Teardown". This errata also fixed for J271E SoC.
>>> The SOC bus chipinfo data is used to identify the SoC and configure
>>> i2023 errata W/A.
>>>
>>> This changes made "ti,dma-ring-reset-quirk" DT property obsolete, so it's
>>> removed.
>>>
>>> Changes in v2:
>>>   - no functional changes
>>>   - rebased on top of linux-next
>>>   - added ask from Rob Herring
>>>
>> Thanks. Can you please followup DT acks for PRUSS series so that I can
>> apply PRUSS + $subject series.
>
> PRUSS dt binding is acked now, so can you pick up the PRUSS v2 series for 5.10
> merge window.
>
Yes, I saw ack from Rob. Will try to get to this over coming weekend.

Regards,
Santosh

2020-09-09 16:55:59

by Santosh Shilimkar

[permalink] [raw]
Subject: Re: [PATCH next v2 0/3] soc: ti: k3: ringacc: add am65x sr2.0 support

On 9/2/20 7:08 AM, Nishanth Menon wrote:
> On 11:34-20200831, [email protected] wrote:
>> On 8/29/20 11:41 AM, Grygorii Strashko wrote:
>>> Hi Santosh,
>>>
>>> I've rebased on top of linux-next and identified merge conflict of patch 3
>>> with commit 6da45875fa17 ("arm64: dts: k3-am65: Update the RM resource types")
>>> in -next.
>>>
>>> ---
>>> This series adds support for the TI AM65x SR2.0 SoC Ringacc which has fixed
>>> errata i2023 "RINGACC, UDMA: RINGACC and UDMA Ring State Interoperability
>>> Issue after Channel Teardown". This errata also fixed for J271E SoC.
>>> The SOC bus chipinfo data is used to identify the SoC and configure
>>> i2023 errata W/A.
>>>
>>> This changes made "ti,dma-ring-reset-quirk" DT property obsolete, so it's removed.
>>>
>>> Changes in v2:
>>> - no functional changes
>>> - rebased on top of linux-next
>>> - added ask from Rob Herring
>>>
>> Thanks. Can you please followup DT acks for PRUSS series so that I can
>> apply PRUSS + $subject series.
>
>
> Santosh, in this series, may i suggest that the dtsi changes[1] be hosted
> on my tree? else we are going to create a mix of rc1 and rc3 branches
> which is going to be irritating, to say the least.
>
> I will pick [1] the day after I see the patches 1 and 2 in linux-next tag.
>
Sure !!

2020-09-12 04:56:18

by Santosh Shilimkar

[permalink] [raw]
Subject: Re: [PATCH next v2 0/3] soc: ti: k3: ringacc: add am65x sr2.0 support

On 9/8/20 7:40 PM, [email protected] wrote:
>
>
> On 9/8/20 3:09 PM, Suman Anna wrote:
>> Hi Santosh,
>>
>> On 8/31/20 1:34 PM, [email protected] wrote:
>>> On 8/29/20 11:41 AM, Grygorii Strashko wrote:
>>>> Hi Santosh,
>>>>
>>>> I've rebased on top of  linux-next and identified merge conflict of
>>>> patch 3
>>>> with commit 6da45875fa17 ("arm64: dts: k3-am65: Update the RM
>>>> resource types")
>>>> in -next.
>>>>
>>>> ---
>>>> This series adds support for the TI AM65x SR2.0 SoC Ringacc which
>>>> has fixed
>>>> errata i2023 "RINGACC, UDMA: RINGACC and UDMA Ring State
>>>> Interoperability
>>>> Issue after Channel Teardown". This errata also fixed for J271E SoC.
>>>> The SOC bus chipinfo data is used to identify the SoC and configure
>>>> i2023 errata W/A.
>>>>
>>>> This changes made "ti,dma-ring-reset-quirk" DT property obsolete, so
>>>> it's
>>>> removed.
>>>>
>>>> Changes in v2:
>>>>    - no functional changes
>>>>    - rebased on top of linux-next
>>>>    - added ask from Rob Herring
>>>>
>>> Thanks. Can you please followup DT acks for PRUSS series so that I can
>>> apply PRUSS + $subject series.
>>
>> PRUSS dt binding is acked now, so can you pick up the PRUSS v2 series
>> for 5.10
>> merge window.
>>
> Yes, I saw ack from Rob. Will try to get to this over coming weekend.
>
Applied. Should show up in linux-next

2020-09-12 04:58:23

by Santosh Shilimkar

[permalink] [raw]
Subject: Re: [PATCH next v2 0/3] soc: ti: k3: ringacc: add am65x sr2.0 support


On 9/9/20 9:52 AM, [email protected] wrote:
> On 9/2/20 7:08 AM, Nishanth Menon wrote:
>> On 11:34-20200831, [email protected] wrote:
>>> On 8/29/20 11:41 AM, Grygorii Strashko wrote:
[..]
>>
>>
>> Santosh, in this series, may i suggest that the dtsi changes[1] be hosted
>> on my tree? else we are going to create a mix of rc1 and rc3 branches
>> which is going to be irritating, to say the least.
>>
>> I will pick [1] the day after I see the patches 1 and 2 in linux-next
>> tag.
>>
> Sure !!

Applied. Should show up in linux-next

2020-09-14 12:45:26

by Nishanth Menon

[permalink] [raw]
Subject: Re: [PATCH next v2 0/3] soc: ti: k3: ringacc: add am65x sr2.0 support

On Sat, 29 Aug 2020 21:41:36 +0300, Grygorii Strashko wrote:
> I've rebased on top of linux-next and identified merge conflict of patch 3
> with commit 6da45875fa17 ("arm64: dts: k3-am65: Update the RM resource types")
> in -next.

Hi Grygorii Strashko,

I have applied the following to branch ti-k3-dts-next on [1].
Thank you!

[1/1] arm64: dts: ti: k3-am65: ringacc: drop ti, dma-ring-reset-quirk
commit: 69fba6172b9f03ad1079c9c72f5cf0c623a18c6d


All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent up the chain during
the next merge window (or sooner if it is a relevant bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

[1] git://git.kernel.org/pub/scm/linux/kernel/git/nmenon/linux.git
--
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D