public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Ard Biesheuvel <ard.biesheuvel@linaro.org>
To: "Graeme Gregory (Linaro)" <graeme.gregory@linaro.org>
Cc: "edk2-devel@lists.01.org" <edk2-devel@lists.01.org>,
	Leif Lindholm <leif.lindholm@linaro.org>,
	 Masahisa Kojima <masahisa.kojima@linaro.org>
Subject: Re: [PATCH edk2-platforms v2 0/7] SynQuacer ACPI support
Date: Thu, 15 Mar 2018 16:06:15 +0000	[thread overview]
Message-ID: <CAKv+Gu_ODWVin5ApM-XdLw0bQajgydRqnP1Wk5+Z1N8X3osHsw@mail.gmail.com> (raw)
In-Reply-To: <CAKv+Gu8Aub2X+9J5XhGBkLg24XvpuTY3_WK7wrtTZtr1=C8wsA@mail.gmail.com>

On 1 March 2018 at 11:24, Ard Biesheuvel <ard.biesheuvel@linaro.org> wrote:
> On 1 March 2018 at 11:23, Graeme Gregory (Linaro)
> <graeme.gregory@linaro.org> wrote:
>> On Wed, Feb 28, 2018 at 07:24:14PM +0000, Ard Biesheuvel wrote:
>>> This implements ACPI support for the SynQuacer platforms.
>>>
>>> Changes since v1:
>>> - improve commit log (#1, #2)
>>> - replace bare numbers with symbolic constants (#2)
>>> - add Leif's R-b (#4)
>>> - add patches #6 and #7
>>>
>>> Note that supporting ACPI on this SoC is non-trivial, due to the quirky
>>> DesignWare RCs and the pre-ITS that sits between the PCIe RCs and the GICv3.
>>> However, the most important issue has been addressed by modifying the static
>>> SMMU mapping that sits between the CPUs and the PCIe config space, working
>>> around the ghosting issue that occurs on these RCs, due the complete lack of
>>> type 0 config TLP filtering by the [non-existent] root port. (This was tested
>>> using the 20180226-LB1.1-ACPI-ramfw.bin SCP firmware image, which is not [yet]
>>> installed by default on DeveloperBox hardware)
>>>
>>> That leaves the MSI issue, which is worked around by limiting MSI support to a
>>> single RC. In the presented configuration, this is RC #1, which connects to the
>>> x16 slot [and nothing else] on the DeveloperBox PCB. The onboard PCIe devices
>>> (XHCI + SATA) work without problem using wired interrupts only, and so RC #0
>>> has MSI support disabled. This means cards that require MSI support should
>>> be inserted into the x16 slot, which is likely to be the preferred slot in
>>> such cases anwyay (e.g., when using NVME or high end networking plugin cards)
>>>
>>> Patch #1 fixes a minor issue in the slot-to-BDF mapping.
>>>
>>> Patch #2 modifies the static PCIe window configuration so it can be described
>>> using ACPI as well as DT.
>>>
>>> Patch #3 introduces the static ACPI tables that describe the fixed platform
>>> devices and peripherals to the OS.
>>>
>>> Patch #4 adds a menu option to the platform driver to make ACPI vs DT user
>>> selectable.
>>>
>>> Patch #5 adds support for describing the eMMC controller using a SSDT table
>>> which is only installed if eMMC support is enabled.
>>>
>>> Patch #6 adds a _STA method implementation to the PCIe RC devices so that
>>> they are only exposed to the OS when running on a platform that has one of
>>> the several ECAM workarounds enabled. Otherwise, we can still boot via ACPI
>>> using platform devices, but the PCIe RCs are unavailable.
>>>
>>> Patch #7 extends the _STA method for PCI0 to take the presence detect GPIO
>>> into account. This is necessary because on the SynQuacer evaluation board,
>>> any attempt to access the device registers will lock up the system if no
>>> card is inserted into the slot.
>>>
>>> Note that driver support for the eMMC and network controller only landed in
>>> v4.15, but when using a SATA driver and a plugin network card that does have
>>> driver support, these patches should allow the SynQuacer based platforms to
>>> boot stock Debian Stretch/Fedora/Centos etc installers.
>>>
>>
>> The ACPI parts look good to me.
>>
>> Reviewed-by: Graeme Gregory <graeme.gregory@linaro.org>
>>
>
> Cheers.
>
> I'll hold off on merging this until Heyi's PciHostBridgeDxe patches
> are in (which are in pretty good shape now)

Series applies as d9c87c711412..f8acbb73fae6

Thanks all


      reply	other threads:[~2018-03-15 15:59 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-28 19:24 [PATCH edk2-platforms v2 0/7] SynQuacer ACPI support Ard Biesheuvel
2018-02-28 19:24 ` [PATCH edk2-platforms v2 1/7] Platform/Socionext/DeveloperBox: fix PCIe slot to B/D/F mapping Ard Biesheuvel
2018-02-28 19:24 ` [PATCH edk2-platforms v2 2/7] Silicon/SynQuacer: tweak PCI I/O windows for ACPI/Linux support Ard Biesheuvel
2018-02-28 19:24 ` [PATCH edk2-platforms v2 3/7] Silicon/SynQuacer: add ACPI drivers and tables Ard Biesheuvel
2018-02-28 19:24 ` [PATCH edk2-platforms v2 4/7] Silicon/SynQuacer/PlatformDxe: add option to enable ACPI mode Ard Biesheuvel
2018-02-28 19:24 ` [PATCH edk2-platforms v2 5/7] Silicon/SynQuacer/PlatformDxe: add ACPI description of eMMC Ard Biesheuvel
2018-02-28 19:24 ` [PATCH edk2-platforms v2 6/7] Silicon/SynQuacer/AcpiTables: disable PCI RCs if ECAM ghosts are detected Ard Biesheuvel
2018-02-28 19:24 ` [PATCH edk2-platforms v2 7/7] Silicon/SynQuacer/AcpiTables: take presence detect of PCI0 into account Ard Biesheuvel
2018-02-28 20:21 ` [PATCH edk2-platforms v2 0/7] SynQuacer ACPI support Leif Lindholm
2018-03-01 11:23 ` Graeme Gregory (Linaro)
2018-03-01 11:24   ` Ard Biesheuvel
2018-03-15 16:06     ` Ard Biesheuvel [this message]

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-list 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=CAKv+Gu_ODWVin5ApM-XdLw0bQajgydRqnP1Wk5+Z1N8X3osHsw@mail.gmail.com \
    --to=devel@edk2.groups.io \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox