All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH 0/7] Cavium CN99xx SMMUv3 Errata workarounds
@ 2017-04-11 14:42 ` linucherian at gmail.com
  0 siblings, 0 replies; 49+ messages in thread
From: linucherian-Re5JQEeQqe8AvxtiuMwx3w @ 2017-04-11 14:42 UTC (permalink / raw)
  To: catalin.marinas-5wv7dgnIgG8, will.deacon-5wv7dgnIgG8,
	lorenzo.pieralisi-5wv7dgnIgG8, hanjun.guo-QSEj5FYQhm4dnm+yROfE0A,
	sudeep.holla-5wv7dgnIgG8
  Cc: Sunil.Goutham-YGCgFSpz5w/QT0dZR+AlfA,
	Geethasowjanya.Akula-YGCgFSpz5w/QT0dZR+AlfA,
	rjw-LthD3rsA81gm4RdzfppkhA, robert.moore-ral2JQCrhuEAvxtiuMwx3w,
	robert.richter-YGCgFSpz5w/QT0dZR+AlfA,
	linux-acpi-u79uwXL29TY76Z2rM5mHXA,
	iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA,
	lv.zheng-ral2JQCrhuEAvxtiuMwx3w,
	linu.cherian-YGCgFSpz5w/QT0dZR+AlfA, devel-E0kO6a4B6psdnm+yROfE0A,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	lenb-DgEjT+Ai2ygdnm+yROfE0A

From: Linu Cherian <linu.cherian-YGCgFSpz5w/QT0dZR+AlfA@public.gmane.org>

Cavium CN99xx SMMUv3 implementation has two Silicon Erratas.
1. Errata ID #74
   SMMU register alias Page 1 is not implemented
2. Errata ID #126
   SMMU doesnt support unique IRQ lines for gerror, eventq and cmdq-sync

The following patchset does software workaround for these two erratas.
An option flag is introduced for each errata which will enable/disable
the errata workarounds.
For device tree based probing, option flags can be turned on by passing 
relevant options along with the smmuv3 device node. For ACPI, option flags
are turned on when Cavium CN99xx SMMuv3 model is identified in the IORT.

Note: We are in the process of getting necessary IORT SMMUv3 model ID 
      for Cavium CN99xx SMMUv3 implementation and it is yet to get
      allocated. We have assumed model ID 3 for this.

Geetha (1):
  iommu/arm-smmu-v3: Introduce smmu option USE_SHARED_IRQS for Silicon
    errata

Linu Cherian (6):
  iommu/arm-smmu-v3: Introduce smmu option PAGE0_REGS_ONLY for Silicon
    errata.
  iommu/arm-smmu-v3: Do resource size checks based on smmu option
    PAGE0_REGS_ONLY
  ACPICA: IORT: Add SMMuV3 model definitions.
  iommu/arm-smmu-v3: For ACPI based device probing, set relevant options
    for different SMMUv3 implementations.
  ACPI/IORT: Fixup SMMUv3 resource size for Cavium 99xx SMMUv3 model.
  arm64: Documentation: Add Cavium ThunderX2 SMMUv3 erratas.

 Documentation/arm64/silicon-errata.txt |   2 +
 drivers/acpi/arm64/iort.c              |  10 ++-
 drivers/iommu/arm-smmu-v3.c            | 115 ++++++++++++++++++++++++++-------
 include/acpi/actbl2.h                  |   5 ++
 4 files changed, 107 insertions(+), 25 deletions(-)

-- 
1.9.1

^ permalink raw reply	[flat|nested] 49+ messages in thread
* Re: [Devel] [RFC PATCH 4/7] ACPICA: IORT: Add SMMuV3 model definitions.
  2017-04-11 16:57       ` Sunil Kovvuri
  (?)
@ 2017-04-12  2:33 ` Hanjun Guo
  -1 siblings, 0 replies; 49+ messages in thread
From: Hanjun Guo @ 2017-04-12  2:33 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 1626 bytes --]

On 2017/4/12 0:57, Sunil Kovvuri wrote:
> On Tue, Apr 11, 2017 at 9:29 PM, Robin Murphy <robin.murphy(a)arm.com> wrote:
>> On 11/04/17 15:42, linucherian(a)gmail.com wrote:
>>> From: Linu Cherian <linu.cherian(a)cavium.com>
>>>
>>> Add SMMuV3 model definitions.
>>>
>>> Signed-off-by: Linu Cherian <linu.cherian(a)cavium.com>
>>> ---
>>>  include/acpi/actbl2.h | 5 +++++
>>>  1 file changed, 5 insertions(+)
>>>
>>> diff --git a/include/acpi/actbl2.h b/include/acpi/actbl2.h
>>> index 2b4af07..9db67d6 100644
>>> --- a/include/acpi/actbl2.h
>>> +++ b/include/acpi/actbl2.h
>>> @@ -778,6 +778,11 @@ struct acpi_iort_smmu {
>>>  #define ACPI_IORT_SMMU_CORELINK_MMU400  0x00000002   /* ARM Corelink MMU-400 */
>>>  #define ACPI_IORT_SMMU_CORELINK_MMU500  0x00000003   /* ARM Corelink MMU-500 */
>>>
>>> +#define ACPI_IORT_SMMU_V3               0x00000000      /* Generic SMMUv3 */
>>> +#define ACPI_IORT_SMMU_CORELINK_MMU600  0x00000001      /* ARM Corelink MMU-600 */
>>> +#define ACPI_IORT_SMMU_V3_HISILICON     0x00000002      /* HiSilicon SMMUv3 */
>>> +#define ACPI_IORT_SMMU_V3_CAVIUM_CN99XX 0x00000003      /* Cavium CN99xx SMMUv3 */
>>
>> None of those models are listed in the current IORT spec.
>
> As mentioned in the cover letter, we are in the process of getting
> model no added for
> our silicon in the soon to be published updated IORT spec. Meanwhile
> we wanted to take
> feedback on the errata patches from experts. Hence patches were
> submitted as RFC.

Thanks. The name for Hisilicon SMMUv3 might be changed, we need to wait
for the released IORT spec.

Thanks
Hanjun

^ permalink raw reply	[flat|nested] 49+ messages in thread

end of thread, other threads:[~2017-04-12 15:21 UTC | newest]

Thread overview: 49+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-04-11 14:42 [RFC PATCH 0/7] Cavium CN99xx SMMUv3 Errata workarounds linucherian-Re5JQEeQqe8AvxtiuMwx3w
2017-04-11 14:42 ` linucherian at gmail.com
2017-04-11 14:42 ` [RFC PATCH 1/7] iommu/arm-smmu-v3: Introduce smmu option PAGE0_REGS_ONLY for Silicon errata linucherian
2017-04-11 14:42   ` linucherian at gmail.com
2017-04-11 15:42   ` Robin Murphy
2017-04-11 15:42     ` Robin Murphy
2017-04-12  5:05     ` Linu Cherian
2017-04-12  5:05       ` Linu Cherian
2017-04-11 14:42 ` [RFC PATCH 2/7] iommu/arm-smmu-v3: Do resource size checks based on smmu option PAGE0_REGS_ONLY linucherian
2017-04-11 14:42   ` linucherian at gmail.com
2017-04-11 15:43   ` Robin Murphy
2017-04-11 15:43     ` Robin Murphy
2017-04-11 16:39     ` Sunil Kovvuri
2017-04-11 16:39       ` Sunil Kovvuri
2017-04-11 14:42 ` [RFC PATCH 3/7] iommu/arm-smmu-v3: Introduce smmu option USE_SHARED_IRQS for Silicon errata linucherian
2017-04-11 14:42   ` linucherian at gmail.com
2017-04-11 15:54   ` Robin Murphy
2017-04-11 15:54     ` Robin Murphy
2017-04-11 16:21     ` Will Deacon
2017-04-11 16:21       ` Will Deacon
     [not found]       ` <20170411162123.GF17109-5wv7dgnIgG8@public.gmane.org>
2017-04-11 16:34         ` Sunil Kovvuri
2017-04-11 16:34           ` Sunil Kovvuri
2017-04-11 16:38       ` Robin Murphy
2017-04-11 16:38         ` Robin Murphy
     [not found]         ` <a971af83-10f1-5696-f0c6-0600c04705c3-5wv7dgnIgG8@public.gmane.org>
2017-04-11 16:41           ` Will Deacon
2017-04-11 16:41             ` Will Deacon
2017-04-11 14:42 ` [RFC PATCH 4/7] ACPICA: IORT: Add SMMuV3 model definitions linucherian
2017-04-11 14:42   ` linucherian at gmail.com
2017-04-11 15:59   ` Robin Murphy
2017-04-11 15:59     ` Robin Murphy
2017-04-11 16:57     ` Sunil Kovvuri
2017-04-11 16:57       ` Sunil Kovvuri
2017-04-12 15:21       ` Lorenzo Pieralisi
2017-04-12 15:21         ` Lorenzo Pieralisi
2017-04-11 14:42 ` [RFC PATCH 5/7] iommu/arm-smmu-v3: For ACPI based device probing, set relevant options for different SMMUv3 implementations linucherian
2017-04-11 14:42   ` linucherian at gmail.com
2017-04-12  8:43   ` Robert Richter
2017-04-12  8:43     ` Robert Richter
2017-04-12 10:32     ` Linu Cherian
2017-04-12 10:32       ` Linu Cherian
2017-04-11 14:42 ` [RFC PATCH 6/7] ACPI/IORT: Fixup SMMUv3 resource size for Cavium 99xx SMMUv3 model linucherian
2017-04-11 14:42   ` linucherian at gmail.com
2017-04-11 14:42 ` [RFC PATCH 7/7] arm64: Documentation: Add Cavium ThunderX2 SMMUv3 erratas linucherian
2017-04-11 14:42   ` linucherian at gmail.com
2017-04-11 16:30 ` [RFC PATCH 0/7] Cavium CN99xx SMMUv3 Errata workarounds Will Deacon
2017-04-11 16:30   ` Will Deacon
  -- strict thread matches above, loose matches on Subject: below --
2017-04-12  2:33 [Devel] [RFC PATCH 4/7] ACPICA: IORT: Add SMMuV3 model definitions Hanjun Guo
2017-04-12  2:33 ` Hanjun Guo
2017-04-12  2:33 ` Hanjun Guo

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.