[RFC][TRUSTY] X-Gene platform support

Dann Frazier dann.frazier at canonical.com
Fri Mar 14 18:49:51 UTC 2014


On Thu, Mar 13, 2014 at 2:13 PM, Tim Gardner <tim.gardner at canonical.com> wrote:
> On 03/13/2014 10:07 AM, Ming Lei wrote:
>>
>> Hi Tim,
>>
>> On Thu, Mar 13, 2014 at 10:22 PM, Tim Gardner <tim.gardner at canonical.com>
>> wrote:
>>>
>>> On 03/11/2014 12:15 PM, Dann Frazier wrote:
>>>>
>>>>
>>>> Hi,
>>>>    I've assembled a git tree with support for the X-Gene platform:
>>>>
>>>> git://kernel.ubuntu.com/dannf/trusty-xgene.git for-ubuntu-20140310
>>>>
>>>> The PCI changes in the above are fairly significant and still under
>>>> upstream review. I've therefore provided a separate branch with these
>>>> changes backed out and replaced with an earlier version of the host
>>>> controller driver, with fewer dependencies:
>>>>
>>>> git://kernel.ubuntu.com/dannf/trusty-xgene.git
>>>> for-ubuntu-20140310-oldpci
>>>>
>>>
>>> Ugh! Even with the PCI reverts there are some questionable patches wrt to
>>> maintenance and stability.
>>>
>>> I could _probably_ accept the ahci_platform patches since they are
>>> already
>>> in linux-next and will likely make it into 3.15 (though I'll remind you
>>> that
>>> I _really_ like to just cherry-pick the final patch from Linus' repo).
>>> Are
>>> the "Library-ise" patches necessary ?
>>
>>
>> Yes, the latest ahci-xgene patches depends on the library-ise patches
>> too, and the 'library-ise' patches have been in -next tree already.
>>
>>>
>>> My knee jerk reaction is a NAK to all of the KVM patches. They appear to
>>> be
>>> a work in progress and likely won't even make the 3.15 merge window.
>>
>>
>> Without these KVM patches, qemu can't boot a kernel on APM
>> mustang, also I just found these patches have been merged
>> to -next tree already, see below:
>>
>>
>> https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/log/?id=refs%2Ftags%2Fnext-20140312&qt=author&q=Marc+Zyngier+
>>
>> So they should land 3.15 if everything is OK.
>>
>>
>> Thanks,
>> --
>> Ming Lei
>>
>
> How about this patch set ? Is it sufficient ? I've left out the reverts,
> rtc, QMTM, and PCIe support.

Thanks Tim.

Apparently CONFIG_PHY_XGENE needs to be =y (initramfs doesn't autoload
the module), but other than that this tree works as expected. System
boots, SATA works,
and KVM smoke tests (booted a guest kernel, which didn't work before,
but I haven't attached
other devices yet).

I'm not sure what you mean by "sufficient" - if you mean do the
drivers you added work
sufficiently - then yes. If you mean is this enough to make it a
usable platform, then no
(no ethernet support, etc) - but I'm assuming that's obvious :)

  -dann

> The following changes since commit 76d1f103727cd09f8f5b37c2fcb1bf187d89eb47:
>
>   UBUNTU: [Config] CONFIG_AHCI_XGENE=m (2014-03-13 12:58:23 -0600)
>
> are available in the git repository at:
>
>   git://kernel.ubuntu.com/rtg/ubuntu-trusty.git xgene
>
> for you to fetch changes up to da455837afe2da91ce0f236886cddaaf4378bd43:
>
>   UBUNTU: SAUCE: arm64: Add APM X-Gene SoC AHCI SATA host controller DTS
> entries (2014-03-13 12:59:03 -0600)
>
> ----------------------------------------------------------------
> Anup Patel (2):
>       UBUNTU: SAUCE: KVM: Documentation: Fix typo for KVM_ARM_VCPU_INIT
> ioctl
>       UBUNTU: SAUCE: arm64: KVM: Force undefined exception for Guest SMC
> intructions
>
> Hans de Goede (7):
>       phy-core: Don't propagate -ENOSUPP from phy_pm_runtime_get_sync to
> caller
>       UBUNTU: SAUCE: libahci: Allow drivers to override start_engine
>       UBUNTU: SAUCE: ahci-platform: Add support for devices with more then 1
> clock
>       UBUNTU: SAUCE: ahci-platform: Add support for an optional regulator
> for sata-target power
>       UBUNTU: SAUCE: ahci-platform: Add enable_ / disable_resources helper
> functions
>       UBUNTU: SAUCE: ahci-platform: "Library-ise" ahci_probe functionality
>       UBUNTU: SAUCE: ahci-platform: "Library-ise" suspend / resume
> functionality
>
> Loc Ho (7):
>       UBUNTU: SAUCE: Documentation: Add APM X-Gene SoC 15Gbps Multi-purpose
> PHY driver binding documentation
>       UBUNTU: SAUCE: PHY: add APM X-Gene SoC 15Gbps Multi-purpose PHY driver
>       UBUNTU: SAUCE: arm64: Add APM X-Gene SoC 15Gbps Multi-purpose PHY DTS
> entries
>       UBUNTU: SAUCE: clk: arm64: Fix the clock-names property for pcppll,
> socpll, and socplldiv2
>       UBUNTU: SAUCE: Documentation: Add documentation for the APM X-Gene SoC
> SATA host controller DTS binding
>       UBUNTU: SAUCE: ata: Add APM X-Gene SoC AHCI SATA host controller
> driver
>       UBUNTU: SAUCE: arm64: Add APM X-Gene SoC AHCI SATA host controller DTS
> entries
>
> Marc Zyngier (5):
>       UBUNTU: SAUCE: arm64: KVM: force cache clean on page fault when caches
> are off
>       UBUNTU: SAUCE: arm64: KVM: allows discrimination of AArch32 sysreg
> access
>       UBUNTU: SAUCE: arm64: KVM: trap VM system registers until MMU and
> caches are ON
>       UBUNTU: SAUCE: ARM: KVM: introduce kvm_p*d_addr_end
>       UBUNTU: SAUCE: arm64: KVM: flush VM pages before letting the guest
> enable caches
>
> Ravi Patel (2):
>       UBUNTU: SAUCE: Documentation: misc-devices: APM X-Gene SoC QMTM
>       UBUNTU: SAUCE: Documentation: devicetree: bindings for APM X-Gene SoC
> QMTM
>
> Roger Quadros (2):
>       UBUNTU: SAUCE: ata: ahci_platform: Manage SATA PHY
>       UBUNTU: SAUCE: ata: ahci_platform: runtime resume the device before
> use
>
> Tim Gardner (1):
>       UBUNTU: SAUCE: arch/arm64/kvm/sys_regs.c: Added include
>
>  .../devicetree/bindings/ata/ahci-platform.txt      |    2 +
>  .../devicetree/bindings/ata/apm-xgene.txt          |   70 +
>  .../devicetree/bindings/misc/apm-xgene-qmtm.txt    |   51 +
>  .../devicetree/bindings/phy/apm-xgene-phy.txt      |   79 +
>  Documentation/misc-devices/apm-xgene-qmtm          |  149 ++
>  Documentation/virtual/kvm/api.txt                  |    2 +-
>  arch/arm/include/asm/kvm_mmu.h                     |   19 +-
>  arch/arm/kvm/mmu.c                                 |  107 +-
>  arch/arm64/boot/dts/apm-storm.dtsi                 |  156 +-
>  arch/arm64/include/asm/kvm_arm.h                   |    3 +-
>  arch/arm64/include/asm/kvm_asm.h                   |    3 +-
>  arch/arm64/include/asm/kvm_mmu.h                   |   23 +-
>  arch/arm64/kvm/handle_exit.c                       |    3 -
>  arch/arm64/kvm/sys_regs.c                          |   99 +-
>  arch/arm64/kvm/sys_regs.h                          |    2 +
>  drivers/ata/Kconfig                                |    7 +
>  drivers/ata/Makefile                               |    1 +
>  drivers/ata/ahci.c                                 |    6 +-
>  drivers/ata/ahci.h                                 |   14 +-
>  drivers/ata/ahci_platform.c                        |  498 ++++--
>  drivers/ata/ahci_xgene.c                           |  490 ++++++
>  drivers/ata/libahci.c                              |   26 +-
>  drivers/ata/sata_highbank.c                        |    3 +-
>  drivers/phy/Kconfig                                |    7 +
>  drivers/phy/Makefile                               |    1 +
>  drivers/phy/phy-core.c                             |    4 +
>  drivers/phy/phy-xgene.c                            | 1750
> ++++++++++++++++++++
>  include/linux/ahci_platform.h                      |   25 +
>  28 files changed, 3459 insertions(+), 141 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/ata/apm-xgene.txt
>  create mode 100644
> Documentation/devicetree/bindings/misc/apm-xgene-qmtm.txt
>  create mode 100644 Documentation/devicetree/bindings/phy/apm-xgene-phy.txt
>  create mode 100644 Documentation/misc-devices/apm-xgene-qmtm
>  create mode 100644 drivers/ata/ahci_xgene.c
>  create mode 100644 drivers/phy/phy-xgene.c
>
> --
> Tim Gardner tim.gardner at canonical.com




More information about the kernel-team mailing list