Hi Sami,

On 3/5/21 7:43 PM, Sami Mujawar wrote:
Hi Vivek,

Thank you for this patch.

For this series.
Reviewed-by: Sami Mujawar <sami.muja...@arm.com>

I will merge this series once the merge window opens.

Thanks for reviewing the patches and taking them.

Best regards
Vivek


Regards,

Sami Mujawar

-----Original Message-----
From: Vivek Kumar Gautam <vivek.gau...@arm.com>
Sent: 05 March 2021 01:21 PM
To: devel@edk2.groups.io
Cc: ardb+tianoc...@kernel.org; l...@nuviainc.com; Sami Mujawar 
<sami.muja...@arm.com>
Subject: Re: [edk2-devel] [edk2-platforms][PATCH V2 0/2] Enable SMMUv3 for Arm 
SGI/RD platforms



On 3/5/21 6:44 PM, Vivek Kumar Gautam via groups.io wrote:
Arm's SMMUv3 present in various SGI/RD platforms provides address
translation support for devices such as the ones present over PCIe.
SMMUv3 also supports Address Translation Service (ATS) and Page
Request Interface (PRI) to work with PCIe devices.
ATS allows PCIe devices to request translation from a translation
agent such as SMMU, and then cache these translation in their private
cache called as Address Translation Cache (ATC).
Devices that support PRI can also enable the feature when ATS is
enabled as ATS is a prerequisite for PRI.

The I/O topology on SGI/RD platforms includes I/O devices (or PCIe
devices) connected to a SMMU-v3, and an GIC ITS block that facilitates
interrupt translations for message signaled interrupts. A typical view
of this topology is as below -

         ---------------       ------------       ------------
        |  PCIe device  |---->|  SMMUv3    |---->|   ITS      |
        | (RequesterID) |     | (StreamID) |     | (DeviceID) |
         ---------------       ------------       ------------

This patch series adds the SMMU-v3 node in iort table, and sets up the
connection between these iort nodes to forward the traffic in the right
manner.

After applying these patches, the resulting updated Iort Acpi table
looks like below:

====================================================================
Shell> Acpiview -s iort





   --------------- IORT Table ---------------



Address  : 0xF98DF598

Length   : 236



00000000 : 49 4F 52 54 EC 00 00 00 - 00 A5 41 52 4D 4C 54 44
IORT......ARMLTD

00000010 : 41 52 4D 53 47 49 20 20 - 27 07 14 20 41 52 4D 20   ARMSGI
'.. ARM

00000020 : 99 00 00 00 03 00 00 00 - 30 00 00 00 00 00 00 00
........0.......

00000030 : 00 18 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00
................

00000040 : 01 00 00 00 00 00 00 00 - 04 6C 00 02 00 00 00 00
.........l......

00000050 : 02 00 00 00 44 00 00 00 - 00 00 00 4F 00 00 00 00
....D......O....

00000060 : 01 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00
................

00000070 : 00 00 00 00 04 01 00 00 - 00 00 00 00 06 01 00 00
................

00000080 : 05 01 00 00 00 00 00 00 - 01 00 00 00 00 00 00 00
................

00000090 : FF FF 00 00 00 00 00 00 - 30 00 00 00 00 00 00 00
........0.......

000000A0 : 00 00 00 00 01 00 00 00 - 00 00 01 00 30 00 00 00
............0...

000000B0 : 01 00 00 00 02 38 00 00 - 00 00 00 00 01 00 00 00
.....8..........

000000C0 : 24 00 00 00 01 00 00 00 - 00 00 00 00 01 00 00 00
$...............

000000D0 : 00 00 00 00 00 00 00 00 - 00 00 00 00 FF FF 00 00
................

000000E0 : 00 00 00 00 48 00 00 00 - 00 00 00 00               ....H.......



Table Checksum : OK



IORT                                 :

    Signature                          : IORT

    Length                             : 236

    Revision                           : 0

    Checksum                           : 0xA5

    Oem ID                             : ARMLTD

    Oem Table ID                       : ARMSGI

    Oem Revision                       : 0x20140727

    Creator ID                         : ARM

    Creator Revision                   : 0x99

    Number of IORT Nodes               : 3

    Offset to Array of IORT Nodes      : 0x30

    Reserved                           : 0x0

    * Node Offset *                    : 0x30

    ITS Node                           :

      Type                             : 0

      Length                           : 24

      Revision                         : 0

      Reserved                         : 0x0

      Number of ID mappings            : 0

      Reference to ID Array            : 0x0

      Number of ITSs                   : 1

      GIC ITS Identifier Array [0]     :

        GIC ITS Identifier             : 0

    * Node Offset *                    : 0x48

    SMMUV3 Node                        :

      Type                             : 4

      Length                           : 108

      Revision                         : 2

      Reserved                         : 0x0

      Number of ID mappings            : 2

      Reference to ID Array            : 0x44

      Base Address                     : 0x4F000000

      Flags                            : 0x1

      Reserved                         : 0x0

      VATOS Address                    : 0x0

      Model                            : 0

      Event                            : 0x104

      PRI                              : 0x0

      GERR                             : 0x106

      Sync                             : 0x105

      Proximity domain                 : 0x0

      Device ID mapping index          : 1

      ID Mapping [0]                   :

        Input base                     : 0x0

        Number of IDs                  : 0xFFFF

        Output base                    : 0x0

        Output reference               : 0x30

        Flags                          : 0x0

      ID Mapping [1]                   :

        Input base                     : 0x0

        Number of IDs                  : 0x1

        Output base                    : 0x10000

        Output reference               : 0x30

        Flags                          : 0x1

    * Node Offset *                    : 0xB4

    Root Complex Node                  :

      Type                             : 2

      Length                           : 56

      Revision                         : 0

      Reserved                         : 0x0

      Number of ID mappings            : 1

      Reference to ID Array            : 0x24

      Memory access properties         : 0x1

      ATS Attribute                    : 0x1

      PCI Segment number               : 0x0

      Memory access size limit         : 0x0

      Reserved                         : 0 0 0

      ID Mapping [0]                   :

        Input base                     : 0x0

        Number of IDs                  : 0xFFFF

        Output base                    : 0x0

        Output reference               : 0x48

        Flags                          : 0x0



Table Statistics:

          0 Error(s)

          0 Warning(s)
====================================================================

Best regards
Vivek

[snip]



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#72544): https://edk2.groups.io/g/devel/message/72544
Mute This Topic: https://groups.io/mt/81102021/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to