[Linaro-uefi,1/2] Platforms/AMD/Styx: correct PCIe bus and I/O ranges in DSDT

Message ID 1473857543-4422-1-git-send-email-ard.biesheuvel@linaro.org
State Superseded
Headers show

Commit Message

Ard Biesheuvel Sept. 14, 2016, 12:52 p.m.
Change the PCIe bus range in the DSDT from [0x0 .. 0xf] to [0x00 .. 0x7f],
which aligns it with the DT descripton. Also fix the I/O window: its range
should be listed without taking the translation into account.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
---
 Platforms/AMD/Styx/AcpiTables/Dsdt.asl | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

Comments

Graeme Gregory Sept. 19, 2016, 9:39 a.m. | #1
On 14 September 2016 at 13:52, Ard Biesheuvel <ard.biesheuvel@linaro.org>
wrote:

> Change the PCIe bus range in the DSDT from [0x0 .. 0xf] to [0x00 .. 0x7f],

> which aligns it with the DT descripton. Also fix the I/O window: its range

> should be listed without taking the translation into account.

>

> Contributed-under: TianoCore Contribution Agreement 1.0

> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>

> ---

>  Platforms/AMD/Styx/AcpiTables/Dsdt.asl | 8 ++++----

>  1 file changed, 4 insertions(+), 4 deletions(-)

>

> diff --git a/Platforms/AMD/Styx/AcpiTables/Dsdt.asl b/Platforms/AMD/Styx/

> AcpiTables/Dsdt.asl

> index 1f0a96fb83ee..7190decbec6d 100644

> --- a/Platforms/AMD/Styx/AcpiTables/Dsdt.asl

> +++ b/Platforms/AMD/Styx/AcpiTables/Dsdt.asl

> @@ -554,9 +554,9 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "AMDINC",

> "SEATTLE ", 3)

>                      WordBusNumber (ResourceProducer, MinFixed, MaxFixed,

> PosDecode,

>                          0x0000,             // Granularity

>                          0x0000,             // Range Minimum

> -                        0x000F,             // Range Maximum

> +                        0x007F,             // Range Maximum

>                          0x0000,             // Translation Offset

> -                        0x0010,             // Length

> +                        0x0080,             // Length

>                          )

>                      DWordMemory (ResourceProducer, PosDecode, MinFixed,

> MaxFixed, NonCacheable, ReadWrite,

>                          0x00000000,         // Granularity

> @@ -637,8 +637,8 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "AMDINC",

> "SEATTLE ", 3)

>                          )

>                      DWordIo (ResourceProducer, MinFixed, MaxFixed,

> PosDecode, EntireRange,

>                          0x00000000,         // Granularity

> -                        0xEFFF0000,         // Range Minimum

> -                        0xEFFFFFFF,         // Range Maximum

> +                        0x00000000,         // Range Minimum

> +                        0x0000FFFF,         // Range Maximum

>                          0xEFFF0000,         // Translation Address

>                          0x00010000          // Length

>                          )

>


This looks correct to me, I have a feeling we did similar to Juno as well
in the past.

Acked-by: Graeme Gregory <graeme.gregory@linaro.org>


Thanks
Ard Biesheuvel Sept. 19, 2016, 3:28 p.m. | #2
On 19 September 2016 at 16:01, Jeremy Linton <jeremy.linton@arm.com> wrote:
> Hi,
>
>
> On 09/14/2016 07:52 AM, Ard Biesheuvel wrote:
>>
>> Change the PCIe bus range in the DSDT from [0x0 .. 0xf] to [0x00 .. 0x7f],
>> which aligns it with the DT descripton. Also fix the I/O window: its range
>> should be listed without taking the translation into account.
>>
>> Contributed-under: TianoCore Contribution Agreement 1.0
>> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
>> ---
>>  Platforms/AMD/Styx/AcpiTables/Dsdt.asl | 8 ++++----
>>  1 file changed, 4 insertions(+), 4 deletions(-)
>>
>> diff --git a/Platforms/AMD/Styx/AcpiTables/Dsdt.asl
>> b/Platforms/AMD/Styx/AcpiTables/Dsdt.asl
>> index 1f0a96fb83ee..7190decbec6d 100644
>> --- a/Platforms/AMD/Styx/AcpiTables/Dsdt.asl
>> +++ b/Platforms/AMD/Styx/AcpiTables/Dsdt.asl
>> @@ -554,9 +554,9 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "AMDINC",
>> "SEATTLE ", 3)
>>                      WordBusNumber (ResourceProducer, MinFixed, MaxFixed,
>> PosDecode,
>>                          0x0000,             // Granularity
>>                          0x0000,             // Range Minimum
>> -                        0x000F,             // Range Maximum
>> +                        0x007F,             // Range Maximum
>>                          0x0000,             // Translation Offset
>> -                        0x0010,             // Length
>> +                        0x0080,             // Length
>>                          )
>>                      DWordMemory (ResourceProducer, PosDecode, MinFixed,
>> MaxFixed, NonCacheable, ReadWrite,
>>                          0x00000000,         // Granularity
>> @@ -637,8 +637,8 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "AMDINC",
>> "SEATTLE ", 3)
>>                          )
>>                      DWordIo (ResourceProducer, MinFixed, MaxFixed,
>> PosDecode, EntireRange,
>>                          0x00000000,         // Granularity
>> -                        0xEFFF0000,         // Range Minimum
>> -                        0xEFFFFFFF,         // Range Maximum
>> +                        0x00000000,         // Range Minimum
>> +                        0x0000FFFF,         // Range Maximum
>>                          0xEFFF0000,         // Translation Address
>>                          0x00010000          // Length
>>                          )
>
>
> I think the consensus after a fair amount of discussion is that
> TypeTranslate is required to be correct with respect to the specification.
> Although linux ignores it right now.
>

I did wonder about that. I can live without Linux ignoring it, as long
as it doesn't choke on it. I take it that is not the case then?

Patch

diff --git a/Platforms/AMD/Styx/AcpiTables/Dsdt.asl b/Platforms/AMD/Styx/AcpiTables/Dsdt.asl
index 1f0a96fb83ee..7190decbec6d 100644
--- a/Platforms/AMD/Styx/AcpiTables/Dsdt.asl
+++ b/Platforms/AMD/Styx/AcpiTables/Dsdt.asl
@@ -554,9 +554,9 @@  DefinitionBlock ("DSDT.aml", "DSDT", 2, "AMDINC", "SEATTLE ", 3)
                     WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
                         0x0000,             // Granularity
                         0x0000,             // Range Minimum
-                        0x000F,             // Range Maximum
+                        0x007F,             // Range Maximum
                         0x0000,             // Translation Offset
-                        0x0010,             // Length
+                        0x0080,             // Length
                         )
                     DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
                         0x00000000,         // Granularity
@@ -637,8 +637,8 @@  DefinitionBlock ("DSDT.aml", "DSDT", 2, "AMDINC", "SEATTLE ", 3)
                         )
                     DWordIo (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                         0x00000000,         // Granularity
-                        0xEFFF0000,         // Range Minimum
-                        0xEFFFFFFF,         // Range Maximum
+                        0x00000000,         // Range Minimum
+                        0x0000FFFF,         // Range Maximum
                         0xEFFF0000,         // Translation Address
                         0x00010000          // Length
                         )