[PATCH 2/2] arm64: amd-seattle: Fix PCI bus range due to SMMU limitation

2014-11-30 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit Since PCIe is using SMMUv1 which only supports 15-bit stream ID, only 7-bit PCI bus id is used to specify stream ID. Therefore, we only limit the PCI bus range to 0x7f. Signed-off-by: Suravee Suthikulpanit --- arch/arm64/boot/dts/amd/amd-seattle-soc.dtsi | 2 +- 1 f

[PATCH 1/2] arm64: amd-seattle: Fix dma-ranges property

2014-11-30 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit AMD Seattle should support 40-bit DMA. Signed-off-by: Suravee Suthikulpanit --- arch/arm64/boot/dts/amd/amd-seattle-soc.dtsi | 10 +++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/arch/arm64/boot/dts/amd/amd-seattle-soc.dtsi b/arch/arm64/boo

[PATCH 0/2] arm64: amd-seattle: Misceleneous DT fix up

2014-11-30 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit This patch set mainly fixes up the dma-ranges and pci bus range. Please see each patch for more details. Suravee Suthikulpanit (2): arm64: amd-seattle: Fix dma-ranges property arm64: amd-seattle: Fix PCI bus range due to SMMU limitation arch/arm64/boot/dts/amd/a

[PATCH V5] arm64: amd-seattle: Adding device tree for AMD Seattle platform

2014-11-25 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit Initial revision of device tree for AMD Seattle Development platform. Cc: Arnd Bergmann Cc: Marc Zyngier Cc: Mark Rutland Cc: Will Deacon Cc: Catalin Marinas Signed-off-by: Suravee Suthikulpanit Signed-off-by: Thomas Lendacky Signed-off-by: Joel Schopp --- V5

[PATCH V4] arm64: amd-seattle: Adding device tree for AMD Seattle platform

2014-11-24 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit Initial revision of device tree for AMD Seattle platform. Cc: Arnd Bergmann Cc: Marc Zyngier Cc: Mark Rutland Cc: Will Deacon Cc: Catalin Marinas Signed-off-by: Suravee Suthikulpanit Signed-off-by: Thomas Lendacky Signed-off-by: Joel Schopp --- V4 Changes:

[PATCH] irqdomain: Fix NULL pointer dererence in irq_domain_free_irqs_parent

2014-11-20 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit This patch checks if the parent domain is NULL before recursively freeing irqs in the parent domains. In this case, GICv2m is freeing irqs in parent (GIC), which calls irq_domain_free_irqs_top. This fixes the crash below: Unble to handle kernel NULL pointer dereferen

[PATCH V2 1/2] PCI: Add new pci_ops for setting MSI parent for PCI bus

2014-11-11 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit In the pci_scan_root_bus, pci_bus is created and passed down to: pci_scan_child_bus pci_scan_bridge pci_add_new_bus pci_alloc_child_bus In pci_alloc_child_bus, the parent's msi_chip is propagated to child, and the referenced by PCI devi

[PATCH V2 0/2] PCI: generic: Assiging msi-controller to PCI hostbridge

2014-11-11 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit This patch set introduces a new callback function to allow PCI host drivers to specify MSI controller to be used for the child buses / devices. This is reabased from: git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git pci/host-generic Changes from V1:

[PATCH V2 2/2] PCI: generic: Add msi_parent DT binding

2014-11-11 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit This patch introduces a new DT binding, msi-parent, which can be used to specify MSI-parent phandle for a particular PCI generic host controller. Also, it implements and registers set_msi_parent callback. Cc: Bjorn Helgass Cc: Liviu Dudau Cc: Will Deacon Cc: Loren

[PATCH 2/2] PCI: generic: Add set_msi_parent callback

2014-11-10 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit This patch implement set_msi_parent callback for PCI generic host controller. Cc: Bjorn Helgass Cc: Liviu Dudau Cc: Lorenzo Pieralisi Signed-off-by: Suravee Suthikulpanit --- drivers/pci/host/pci-host-generic.c | 14 ++ 1 file changed, 14 insertions(+

[PATCH 1/2] PCI: Add new pci_ops for setting MSI parent for PCI bus

2014-11-10 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit In the pci_scan_root_bus, pci_bus is created and passed down to: pci_scan_child_bus pci_scan_bridge pci_add_new_bus pci_alloc_child_bus In pci_alloc_child_bus, the parent's msi_chip is propagated to child, and the referenced by PCI devi

[PATCH 0/2] PCI: generic: Assiging msi-controller to PCI hostbridge

2014-11-10 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit This patch set introduces a new callback function to allow PCI host drivers to specify MSI controller to be used for the child buses / devices. This is reabased from: git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git pci/host-generic Suravee Suthikul

[V10 PATCH 2/2] irqchip: gicv2m: Add supports for ARM GICv2m MSI(-X)

2014-11-03 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit ARM GICv2m specification extends GICv2 to support MSI(-X) with a new set of register frame. This patch introduces support for the non-secure GICv2m register frame. Currently, GICV2m is available in certain version of GIC-400. The patch introduces a new property in ARM

[V10 PATCH 1/2] genirq: Add irq_chip_set_type_parent function

2014-11-03 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit Add a helper function to set irq type in parent irq domain. Signed-off-by: Suravee Suthikulpanit --- include/linux/irq.h | 1 + kernel/irq/chip.c | 10 ++ 2 files changed, 11 insertions(+) diff --git a/include/linux/irq.h b/include/linux/irq.h index 6159

[V10 PATCH 0/2] irqchip: gic: Introduce ARM GICv2m MSI(-X) support

2014-11-03 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit This patch set introduces support for MSI(-X) in GICv2m specification, which is implemented in some variation of GIC400. This patch adopt the new hierarchy irq domain, and is rebased from: Git tree : git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platfo

[V9 PATCH 1/2] genirq: Add irq_chip_set_type_parent function

2014-10-31 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit Add a helper function to set irq type in parent irq domain. Signed-off-by: Suravee Suthikulpanit --- include/linux/irq.h | 1 + kernel/irq/chip.c | 10 ++ 2 files changed, 11 insertions(+) diff --git a/include/linux/irq.h b/include/linux/irq.h index 6159

[V9 PATCH 0/2] irqchip: gic: Introduce ARM GICv2m MSI(-X) support

2014-10-31 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit This patch set introduces support for MSI(-X) in GICv2m specification, which is implemented in some variation of GIC400. This patch set is rebased from: Git tree : git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git Git branch : domain_hier

[V9 PATCH 2/2] irqchip: gicv2m: Add supports for ARM GICv2m MSI(-X)

2014-10-31 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit ARM GICv2m specification extends GICv2 to support MSI(-X) with a new set of register frame. This patch introduces support for the non-secure GICv2m register frame. Currently, GICV2m is available in certain version of GIC-400. The patch introduces a new property in ARM

[PATCH V3] arm64: amd-seattle: Adding device tree for AMD Seattle platform

2014-10-28 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit Initial revision of device tree for AMD Seattle platform Cc: Mark Rutland Cc: Will Deacon Cc: Catalin Marinas Signed-off-by: Suravee Suthikulpanit Signed-off-by: Thomas Lendacky Signed-off-by: Joel Schopp --- Change in V3: * Change sata compatible-id to

[PATCH V2] arm64: amd-seattle: Adding device tree for AMD Seattle platform

2014-10-27 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit Initial revision of device tree for AMD Seattle platform Cc: Mark Rutland Cc: Will Deacon Cc: Catalin Marinas Cc: Rob Herring Signed-off-by: Suravee Suthikulpanit Signed-off-by: Thomas Lendacky Signed-off-by: Joel Schopp --- Change in V2: * Re-order the

[PATCH] arm64: amd-seattle: Adding device tree for AMD Seattle platform

2014-10-24 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit Initial revision of device tree for AMD Seattle platform Cc: Mark Rutland Cc: Will Deacon Cc: Catalin Marinas Cc: Rob Herring Signed-off-by: Suravee Suthikulpanit Signed-off-by: Thomas Lendacky Signed-off-by: Joel Schopp --- arch/arm64/Kconfig

[RFC 1/4] arm64: amd-seattle: Adding device tree for AMD Seattle platform

2014-09-28 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit Initial revision of device tree for AMD Seattle platform Cc: Rob Herring Cc: Mark Rutland Cc: Will Deacon Cc: Catalin Marinas Signed-off-by: Suravee Suthikulpanit Signed-off-by: Thomas Lendacky Signed-off-by: Joel Schopp --- arch/arm64/boot/dts/Makefile

[RFC 4/4] irqchip: gicv2m: Add supports for ARM GICv2m MSI(-X)

2014-09-28 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit ARM GICv2m specification extends GICv2 to support MSI(-X) with a new set of register frame. This patch introduces support for the non-secure GICv2m register frame. Currently, GICV2m is available in certain version of GIC-400. The patch introduces a new property in ARM

[RFC 3/4] arm64: Do not call enable PCI resources when specify PCI_PROBE_ONLY

2014-09-28 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit When specify PCI_PROBE_ONLY, the resource parent does not get assigned. Therefore, pci_enable_resources() return error saying that "BAR x not claimed". Note: This same logic is also used in the arch/arm/kernel/bios32.c Cc: Liviu Dudau Cc: Bjorn Helgaas Cc: Will Dea

[RFC 0/4] Add PCI/MSI(x) support for AMD Seattle Platform

2014-09-28 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit This is an RFC to introduce support for AMD Seattle ARM64 platform. It is also intended to provide support for validating Liviu's PCI patch series: [PATCH v12 00/12] Support for creating generic PCI host bridges from DT https://lkml.org/lkml/2014/9/23/852 It

[RFC 2/4] PCI: generic: Add support for ARM64 and MSI(x)

2014-09-28 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit This patch adds ARM64 support to the generic PCI host driver. For MSI support, it adds new device tree binding "msi-parent", which should point to corresponded msi-controller. Cc: Will Deacon Cc: Liviu Dudau Cc: Bjorn Helgaas Cc: Mark Rutland Cc: Catalin Marinas

[V8 2/2] irqchip: gicv2m: Add supports for ARM GICv2m MSI(-X)

2014-09-20 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit ARM GICv2m specification extends GICv2 to support MSI(-X) with a new set of register frame. This patch introduces support for the non-secure GICv2m register frame. Currently, GICV2m is available in certain version of GIC-400. The patch introduces a new property in ARM

[V8 1/2] irqchip: gic: Add support for multiple MSI for ARM64

2014-09-20 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit This patch implelments the ARM64 version of arch_setup_msi_irqs(), which does not return 1 for when PCI_CAP_ID_MSI and nvec > 1. Signed-off-by: Suravee Suthikulpanit Acked-by: Marc Zyngier Cc: Mark Rutland Cc: Jason Cooper Cc: Catalin Marinas Cc: Will Deacon ---

[V8 0/2] irqchip: gic: Introduce ARM GICv2m MSI(-X) support

2014-09-20 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit This patch set introduces support for MSI(-X) in GICv2m specification, which is implemented in some variation of GIC400. This depends on and has been tested with the following patch set which implements PCI supports for ARM64: [PATCH v11 00/10] Support for creati

[PATCH 2/2 V7] irqchip: gicv2m: Add supports for ARM GICv2m MSI(-X)

2014-09-17 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit ARM GICv2m specification extends GICv2 to support MSI(-X) with a new set of register frame. This patch introduces support for the non-secure GICv2m register frame. Currently, GICV2m is available in certain version of GIC-400. The patch introduces a new property in ARM

[PATCH 1/2 V7] irqchip: gic: Add support for multiple MSI for ARM64

2014-09-17 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit This patch implelments the ARM64 version of arch_setup_msi_irqs(), which does not return 1 for when PCI_CAP_ID_MSI and nvec > 1. Cc: Mark Rutland Cc: Marc Zyngier Cc: Jason Cooper Cc: Catalin Marinas Cc: Will Deacon Signed-off-by: Suravee Suthikulpanit --- arch

[PATCH 0/2 V7] irqchip: gic: Introduce ARM GICv2m MSI(-X) support

2014-09-17 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit NOTE: Resend w/ proper subject for the 2/2 patch. This patch set introduces support for MSI(-X) in GICv2m specification, which is implemented in some variation of GIC400. This depends on and has been tested with the following patch set which implements PCI supports f

[PATCH 1/2 V7] irqchip: gic: Add support for multiple MSI for ARM64

2014-09-17 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit This patch implelments the ARM64 version of arch_setup_msi_irqs(), which does not return 1 for when PCI_CAP_ID_MSI and nvec > 1. Cc: Mark Rutland Cc: Marc Zyngier Cc: Jason Cooper Cc: Catalin Marinas Cc: Will Deacon Signed-off-by: Suravee Suthikulpanit --- arch

[PATCH 2/2] irqchip: gicv2m: Add supports for ARM GICv2m MSI(-X)

2014-09-17 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit ARM GICv2m specification extends GICv2 to support MSI(-X) with a new set of register frame. This patch introduces support for the non-secure GICv2m register frame. Currently, GICV2m is available in certain version of GIC-400. The patch introduces a new property in ARM

[PATCH 0/2 V7] irqchip: gic: Introduce ARM GICv2m MSI(-X) support

2014-09-17 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit This patch set introduces support for MSI(-X) in GICv2m specification, which is implemented in some variation of GIC400. This depends on and has been tested with the following patch set which implements PCI supports for ARM64: [PATCH v10 00/10] Support for creati

[RFC PATCH for AMD Seattle 0/4] Drivers for AMD-Seatlle to boot from ACPI

2014-09-15 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit As a follow up of the email thread: [PATCH v3 00/17] Introduce ACPI for ARM64 based on ACPI 5.1 https://lkml.org/lkml/2014/9/1/446 Besides Hanjun Guo's patches above, these are the additional patches required to boot AMD Seattle platform with full ACPI suppor

[PATCH 3/4] efi/arm64: fix fdt-related memory reservation

2014-09-15 Thread suravee.suthikulpanit
From: Mark Salter Commit 86c8b27a01cf: "arm64: ignore DT memreserve entries when booting in UEFI mode prevents early_init_fdt_scan_reserved_mem() from being called for arm64 kernels booting via UEFI. This was done because the kernel will use the UEFI memory map to determine reserved memory regi

[PATCH 2/4] arm64/efi: efistub: don't abort if base of DRAM is occupied

2014-09-15 Thread suravee.suthikulpanit
From: Ard Biesheuvel If we cannot relocate the kernel Image to its preferred offset of base of DRAM plus TEXT_OFFSET, instead relocate it to the lowest available 2 MB boundary plus TEXT_OFFSET. We may lose a bit of memory at the low end, but we can still proceed normally otherwise. Acked-by: Mar

[PATCH 4/4] [RFC PATCH for Juno 2/2] tty: SBSA compatible UART

2014-09-15 Thread suravee.suthikulpanit
From: Grame Gregory This is a subset of pl011 UART which does not supprt DMA or baud rate changing. It is specified in the Server Base System Architecture document from ARM. Signed-off-by: Graeme Gregory --- drivers/tty/Kconfig| 6 + drivers/tty/Makefile | 1 + drivers/tty/sbsauart.

[PATCH 1/4] ata: ahci_platform: Add ACPI support for AMD Seattle SATA controller

2014-09-15 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit This patch adds ACPI match table in ahci_platform. The table includes the acpi_device_id to match AMD Seattle SATA controller with following asl structure in DSDT: Device (SATA0) { Name(_HID, "AMDI0600")// Seattle AHSATA Name (_CCA, 1)

[PATCH 2/2 V6] irqchip: gicv2m: Add support for multiple MSI for ARM64 GICv2m

2014-09-13 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit This patch extend GICv2m MSI to support multiple MSI in ARM64. This requires the common arch_setup_msi_irqs() to be overwriten with ARM64 version which does not return 1 for PCI_CAP_ID_MSI and nvec > 1. Cc: Mark Rutland Cc: Marc Zyngier Cc: Jason Cooper Cc: Catali

[PATCH 1/2 V6] irqchip: gic: Add supports for ARM GICv2m MSI(-X)

2014-09-13 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit ARM GICv2m specification extends GICv2 to support MSI(-X) with a new set of register frame. This patch introduces support for the non-secure GICv2m register frame. Currently, GICV2m is available in certain version of GIC-400. The patch introduces a new property in ARM

[PATCH 0/2 V6] irqchip: gic: Introduce ARM GICv2m MSI(-X) support

2014-09-13 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit This patch set introduces support for MSI(-X) in GICv2m specification, which is implemented in some variation of GIC400. This depends on and has been tested with the following patch set which implements PCI supports for ARM64: * https://lkml.org/lkml/2014/8/12/3

[PATCH 2/2 V5] irqchip: gicv2m: Add support for multiple MSI for ARM64 GICv2m

2014-09-10 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit This patch extend GICv2m MSI to support multiple MSI in ARM64. This requires the common arch_setup_msi_irqs() to be overwriten with ARM64 version which does not return 1 for PCI_CAP_ID_MSI and nvec > 1. Cc: Mark Rutland Cc: Marc Zyngier Cc: Jason Cooper Cc: Catali

[PATCH 1/2 V5] irqchip: gic: Add supports for ARM GICv2m MSI(-X)

2014-09-10 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit ARM GICv2m specification extends GICv2 to support MSI(-X) with a new set of register frame. This patch introduces support for the non-secure GICv2m register frame. Currently, GICV2m is available in certain version of GIC-400. The patch introduces a new property in ARM

[PATCH 0/2 V5] irqchip: gic: Introduce ARM GICv2m MSI(-X) support

2014-09-10 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit This patch set introduces support for MSI(-X) in GICv2m specification, which is implemented in some variation of GIC400. This depends on and has been tested with the following patch set which implements PCI supports for ARM64: * https://lkml.org/lkml/2014/8/12/3

[PATCH] ata: ahci_platform: Add ACPI support for AMD Seattle SATA controller

2014-09-09 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit This patch adds ACPI support for non-PCI SATA contoller in ahci_platform driver. It adds ACPI matching table in ahci_platform to support AMD Seattle SATA controller with following ASL structure in DSDT: Device (SATA0) { Name(_HID, "AMDI0600")// Seat

[PATCH 2/2 V4] irqchip: gicv2m: Add support for multiple MSI for ARM64 GICv2m

2014-08-13 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit This patch extend GICv2m MSI to support multiple MSI in ARM64. This requires the common arch_setup_msi_irqs() to be overwriten with ARM64 version which does not return 1 for PCI_CAP_ID_MSI and nvec > 1. Cc: Mark Rutland Cc: Marc Zyngier Cc: Jason Cooper Cc: Catali

[PATCH 1/2 V4] irqchip: gic: Add supports for ARM GICv2m MSI(-X)

2014-08-13 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit ARM GICv2m specification extends GICv2 to support MSI(-X) with a new set of register frame. This patch introduces support for the non-secure GICv2m register frame. Currently, GICV2m is available in certain version of GIC-400. The patch introduces a new property in ARM

[PATCH 0/2 V4] irqchip: gic: Introduce ARM GICv2m MSI(-X) support

2014-08-13 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit This patch set introduces support for MSI(-X) in GICv2m specification, which is implemented in some variation of GIC400. This depends on and has been tested with the V7 of"Add support for PCI in AArch64" (https://lkml.org/lkml/2014/3/14/320). Changes in V4: * Re

[PATCH 4/4] irqchip: gic-v2m: Restructure the initalization code for v2m

2014-08-08 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit This patch remove register index 4 in gic binding, and introduce the "v2m" subnode. It also changes in the gic_of_init function to probe for v2m subnode before calling the gicv2m_of_init. Besides, this patch also moves the "struct msi_chip" from "struct gic_chip_data"

[PATCH 3/4] irqchip: gic: Revert the static declaration of irq-gic functions

2014-08-08 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit This patch reverts the static declaration of various irq-gic functions introduced in the fe7ac63fe5393b205b94247239f3d0686a65ee0a Signed-off-by: Suravee Suthikulpanit Cc: Mark Rutland Cc: Marc Zyngier Cc: Jason Cooper --- drivers/irqchip/irq-gic.c | 10 +-

[PATCH 2/4] irqchip: gic-v2m: Remove the matching name gic-400-v2m

2014-08-08 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit This patch remove the matching name gic-400-v2m. It will use the "gic-400" instead Signed-off-by: Suravee Suthikulpanit Cc: Mark Rutland Cc: Marc Zyngier Cc: Jason Cooper --- drivers/irqchip/irq-gic-v2m.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/driv

[PATCH 1/4] irqchip: gic-v2m: Remove irq-gic-v2m.h file

2014-08-08 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit Remove irq-gic-v2m.h file which is no longer used Signed-off-by: Suravee Suthikulpanit Cc: Mark Rutland Cc: Marc Zyngier Cc: Jason Cooper --- drivers/irqchip/irq-gic-v2m.h | 13 - 1 file changed, 13 deletions(-) diff --git a/drivers/irqchip/irq-gic-v

[PATCH 0/4] irqchip: gic-v2m: Rework GICv2m Initialization

2014-08-08 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit This patch set reworks the GICv2m initialization based on Marc Zyngier review comments. * Rebase to git://git.infradead.org/users/jcooper/linux.git irqchip/gic-v2m Suravee Suthikulpanit (1): irqchip/gic-v2m: Restructure the initalization code for v2m Documentatio

[PATCH] irqchip: gicv2m: Clean up logic for detecting MSI support

2014-07-18 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit It's not quite clear that msi-controller is already checked by of_msi_chip_add. So, this patch add a note to clarify. Also, clean up redundant logic and unnecessary pr_info. Cc: Mark Rutland Cc: Marc Zyngier Cc: Jason Cooper Cc: Catalin Marinas Cc: Will Deacon S

[PATCH 4/4 V3] irqchip: gicv2m: Add support for multiple MSI for ARM64 GICv2m

2014-07-09 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit This patch extend GICv2m MSI to support multiple MSI in ARM64. This requires the common arch_setup_msi_irqs() to be overwriten with ARM64 version which does not return 1 for PCI_CAP_ID_MSI and nvec > 1. Cc: Mark Rutland Cc: Marc Zyngier Cc: Jason Cooper Cc: Catali

[PATCH 3/4 V3] irqchip: gic: Add supports for ARM GICv2m MSI(-X)

2014-07-09 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit ARM GICv2m specification extends GICv2 to support MSI(-X) with a new set of register frames. This patch introduces support for the non-secure GICv2m register frame. The driver currently matchs "arm,gic-400-plus" in device tree binding, which implements GICv2m. The "m

[PATCH 2/4 V3] irqchip: gic: Restructuring ARM GIC code

2014-07-09 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit This patch restructures the code to prepare for future MSI support. It moves the declaration of structures and functions into the header file, and omit the static prefix. Since we are planing to have different irq_chip for GICv2m, the patch adds irq_chip pointer in th

[PATCH 1/4 V3] irqchip: gic: Add binding probe for ARM GIC400

2014-07-09 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit Add new Irqchip declaration for GIC400. This was mentioned in gic binding documentation, but there is not code to support it. Signed-off-by: Suravee Suthikulpanit --- drivers/irqchip/irq-gic.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/irqchip/irq

[PATCH 0/4 V3] irqchip: gic: Introduce ARM GICv2m MSI(-X) support

2014-07-09 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit This patch set introduces support for MSI(-X) in GICv2m specification, which is implemented in some variation of GIC400. This depends on and has been tested with the V7 of"Add support for PCI in AArch64" (https://lkml.org/lkml/2014/3/14/320). Changes in V3: * Re

[PATCH 2/3 V2] irqchip: gic: Restructuring ARM GIC code

2014-07-02 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit This patch restructures the code to prepare for future MSI support. It moves the declaration of structures and functions into the header file, and omit the static prefix. Since we are planing to have different irq_chip for GIC, the patch adds irq_chip pointer in the g

[PATCH 3/3 V2] irqchip: gic: Add supports for ARM GICv2m MSI(-X)

2014-07-02 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit ARM GICv2m specification extends GICv2 to support MSI(-X) with a new set of register frames. This patch introduces support for the non-secure GICv2m register frame. The driver currently matchs "arm,gic-400-plus" in device tree binding, which implements GICv2m. The "m

[PATCH 1/3 V2] irqchip: gic: Add binding probe for ARM GIC400

2014-07-02 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit Add new Irqchip declaration for GIC400. This was mentioned in gic binding documentation, but there is not code to support it. Signed-off-by: Suravee Suthikulpanit --- drivers/irqchip/irq-gic.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/irqchip/irq

[PATCH 0/3 V2] irqchip: gic: Introduce ARM GICv2m MSI(-X) support

2014-07-02 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit This patch set introduces support for MSI(-X) in GICv2m specification, which is implemented in some variation of GIC400 (e.g. gic-400+). This depends on and has been tested with the V7 of "Add support for PCI in AArch64" (https://lkml.org/lkml/2014/3/14/320). Change

[PATCH 1/2] arm/gic: Add binding probe for GIC400

2014-06-23 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit Add new Irqchip declaration for GIC400. This was mentioned in gic binding documentation, but there is not code to support it. Signed-off-by: Suravee Suthikulpanit --- drivers/irqchip/irq-gic.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/irqchip/irq

[PATCH 0/2] Introduce ARM GICv2m MSI(-X) support

2014-06-23 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit This patch set introduces support for MSI(-X) in GICv2m specification, which is implemented in some variation of GIC400. This depends on and has been tested with the V7 of "Add support for PCI in AArch64" (https://lkml.org/lkml/2014/3/14/320). Suravee Suthikulpanit

[PATCH 2/2] arm/gic: Add supports for GICv2m MSI(-X)

2014-06-23 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit GICv2m extends GICv2 to support MSI(-X) with a new set of register frames. This patch introduces support for the non-secure GICv2m register frame. This is optional. It uses the "msi-controller" keyword in ARM GIC devicetree binding to indentify GIC driver that it shou

[PATCH 2/2] ahci/xgene: Remove logic to set 64-bit DMA mask

2014-06-12 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit Instead of doing the check here, this should be handled in the common AHCI platform code. Signed-off-by: Suravee Suthikulpanit Suggested-by: Bartlomiej Zolnierkiewicz Cc: Loc Ho Cc: Tuan Phan Cc: Suman Triphati --- drivers/ata/ahci_xgene.c | 10 -- 1 fil

[PATCH 0/2] ahci: Add support for 64-bit DMA mask driver

2014-06-12 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit V2: - Changes based on review comments from Hans and Bartlomiej. - Remove the logic in ahci_xgene as suggested by Bartlomiej. Suravee Suthikulpanit (2): ata: Check and set 64-bit DMA mask for platform AHCI driver ahci/xgene: Remove logic to set 64-

[PATCH 1/2] ahci: Check and set 64-bit DMA mask for platform AHCI driver

2014-06-12 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit The current platform AHCI driver does not set the dma_mask correctly for 64-bit DMA capable AHCI controller. This patch checks the AHCI capability bit and set the dma_mask and coherent_dma_mask accordingly. Signed-off-by: Suravee Suthikulpanit Reviewed-by: Bartlomiej

[PATCH] arm64/dma: Removing ARCH_HAS_DMA_GET_REQUIRED_MASK macro

2014-06-06 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit Arm64 does not define dma_get_required_mask() function. Therefore, it should not define the ARCH_HAS_DMA_GET_REQUIRED_MASK. This causes build errors in some device drivers (e.g. mpt2sas) Signed-off-by: Suravee Suthikulpanit --- arch/arm64/include/asm/dma-mapping.h |

[PATCH 1/1] ata: Check and set 64-bit DMA mask for platform AHCI driver

2014-05-23 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit The current platform AHCI drier does not set the dma_mask correctly for 64-bit DMA capable AHCI controller. This patch checks the AHCI capability bit and set the dma_mask and coherent_dma_mask accordingly. Signed-off-by: Suravee Suthikulpanit --- drivers/ata/libahc

[PATCH] iommu/amd: Fix for L2 race with VM invalidation

2014-05-13 Thread suravee.suthikulpanit
From: Jay Cornwall Do not disassociate the process page tables from a PASID during VM invalidation. Invalidate the IOMMU TLB and IOTLBs before invalidation. L2 translations may fail during VM range invalidation. The current implementation associates an empty page table with a PASID within the cr

[PATCH V4 4/4] X86/PCI: Remove unnecessary 'quirk_amd_nb_node'

2014-05-08 Thread suravee.suthikulpanit
From: Myron Stowe The quirk is used for fixing up the numa_node information in sysfs for AMD hostbridge devices (i.e. PCI device 00:[18-1f].x). However, this is currently unused. and is becoming maintenance burden. Therefore, it is removed. Signed-off-by: Myron Stowe Cc: Borislav Petkov Cc:

[PATCH V4 3/4] ACPI/PCI: Warn if we have to "guess" host bridge node information

2014-05-08 Thread suravee.suthikulpanit
From: Myron Stowe The vast majority of platforms are not supplying ACPI _PXM (proximity) information corresponding to host bridge (PNP0A03/PNP0A08) devices resulting in sysfs "numa_node" values of -1 (NUMA_NO_NODE) [1]: # for i in /sys/devices/pci\:00/*/numa_node; do cat $i; done | uniq -

[PATCH V4 1/4] x86/PCI: Fix PCI root numa_node info on AMD family15h

2014-05-08 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit This patch fixes the numa_node information in sysfs for PCI root on AMD family15h platforms (currently showing -1) by adding the hostbridge in the list of probed devices to be used for initializing pci_root_info structue. Signed-off-by: Suravee Suthikulpanit Signed-o

[PATCH V4 2/4] x86/PCI: Clean up and mark early_root_info_init as deprecated

2014-05-08 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit early_root_info_init is now deprecated in favor of info in ACPI. Therefore, this patch adds note stating the deprecation. Also, adding some clean up. There is no functional change Signed-off-by: Suravee Suthikulpanit --- arch/x86/pci/amd_bus.c | 69

[PATCH V4 0/4] x86/pci Fix numa_node info for AMD hostbridge and misc clean up.

2014-05-08 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit This in the V4 of the patch set which trys to fixed up numa_node for AMD hostbridges. This topic was discussed in the following threads: V1: https://lkml.org/lkml/2014/3/5/898 V2: https://lkml.org/lkml/2014/4/18/623 V3: https://lkml.org/lkml/2014/5/7/588 Change from

[PATCH V3 2/3] ACPI/PCI: Warn if we have to "guess" host bridge node information

2014-05-07 Thread suravee.suthikulpanit
From: Myron Stowe The vast majority of platforms are not supplying ACPI _PXM (proximity) information corresponding to host bridge (PNP0A03/PNP0A08) devices resulting in sysfs "numa_node" values of -1 (NUMA_NO_NODE) [1]: # for i in /sys/devices/pci\:00/*/numa_node; do cat $i; done | uniq -

[PATCH V3 3/3] PCI: Remove unnecessary 'quirk_amd_nb_node'

2014-05-07 Thread suravee.suthikulpanit
From: Myron Stowe The quirk is used for fixing up the numa_node information in sysfs for AMD hostbridge devices (i.e. PCI device 00:[18-1f].x). However, this is currently unused. and is becoming maintenance burden. Therefore, it is removed. Signed-off-by: Myron Stowe Cc: Borislav Petkov Cc:

[PATCH V3 0/3] x86/pci Fix numa_node info for AMD hostbridge and misc clean up.

2014-05-07 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit This in the V3 of the patch set which trys to fixed up numa_node for AMD hostbridges. This topic was discussed in the following threads: V1: https://lkml.org/lkml/2014/3/5/898 V2: https://lkml.org/lkml/2014/4/18/623 Change from V2: As requested by Bjorn, the patch s

[PATCH V3 1/3] x86/PCI: Fix PCI root numa_node info on AMD family15h

2014-05-07 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit This patch fixes the numa_node information in sysfs for PCI root on AMD family15h platforms (currently showing -1) by adding the hostbridge in the list of probed devices to be used for initializing pci_root_info structue. This mechanism is now deprecated in favor of i

[PATCH] iommu/amd: Take mmap_sem when calling get_user_pages

2014-04-28 Thread suravee.suthikulpanit
From: Jay Cornwall get_user_pages requires caller to hold a read lock on mmap_sem. Signed-off-by: Jay Cornwall Signed-off-by: Suravee Suthikulpanit --- drivers/iommu/amd_iommu_v2.c |2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/iommu/amd_iommu_v2.c b/drivers/iommu/amd_iommu_

[PATCH V2] iommu/amd: Fix logic to determine and checking max PASID

2014-03-05 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit In reality, the spec can only support 16-bit PASID since INVALIDATE_IOTLB_PAGES and COMPLETE_PPR_REQUEST commands only allow 16-bit PASID. So, we updated the PASID_MASK accordingly and invoke BUG_ON if the hardware is reporting PASmax more than 16-bit. Besides, max PA

[PATCH 2/3] amd/pci: Support additional MMIO ranges capabilities

2014-03-05 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit This patch adds supports for additional MMIO ranges (16 ranges) Also, each MMIO base/limit can now supports upto 48-bit MMIO address. However, this requires initializing the ECS sooner since the new registers are in the ECS ranges. This applies for AMD family15h and l

[PATCH 1/3] amd/pci: Add supports for generic AMD hostbridges

2014-03-05 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit AMD hostbridges are gnenerally show up as PCI device 0:18.0. This patch adds logic to automatically probe the device at this location and check PCI device class code. This patch should support AMD hostbridges from AMD platforms (K8, family10h, 11h, 12h, 14h 15h and 1

[PATCH 0/3] amd/pci: Add AMD hostbridge supports for newer AMD systems

2014-03-05 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit The current code only supports upto AMD hostbridge for family11h. This causes PCI numa_node information to be reported incorrectly for newer family with multi sockets. This patch set introduces the logic to discover AMD hostbridges. Note: * Patch 1 and 2 are fun

[PATCH 3/3] amd/pci: Miscellaneous code clean up for early_fillup_mp_bus_info

2014-03-05 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit This patch doesn't have functional changes. List of changes including * Refactoring the function early_fill_mp_bus_info into multiple helper functions since it is getting long, and difficult to follow. * Merge early_fill_mp_bus_info into amd_postcore_init since no

[PATCH] iommu/amd: Fix logics to determine and checking max PASID

2014-03-05 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit According to IOMMUv2, max PASID is defined as ((2^(PASmax+1)) - 1) using the value from MMIOx30[PASmax] register. The current does not determine this correctly. Also the PASID_MASK should be determined by max PASID instead of hardcoding value of 0xf. Adding logic

[PATCH 1/1] iommu/amd: Fix PASID format in INVALIDATE_IOTLB_PAGES command

2014-02-26 Thread suravee.suthikulpanit
From: Jay Cornwall This patch corrects the PASID format in the INVALIDATE_IOTLB_PAGES command, which was caused by incorrect information in the AMD IOMMU Architectural Specification v2.01 document. Incorrect format: cmd->data[0][16:23] = PASID[7:0] cmd->data[1][16:27] = PAS

[PATCH 2/4] perf tools: allow user to specify hardware breakpoint bp_len

2013-12-11 Thread suravee.suthikulpanit
From: Jacob Shin Currently bp_len is given a default value of 4. Allow user to override it: $ perf stat -e mem:0x1000/8 ^ bp_len If no value is given, it will default to 4 as it did before. Signed-off-by: Jacob Shin Signed-off-by: Sura

[PATCH 4/4] perf/x86: Remove get_hbp_len and replace with bp_len

2013-12-11 Thread suravee.suthikulpanit
From: Jacob Shin Clean up the logic for determining the breakpoint length Signed-off-by: Jacob Shin Signed-off-by: Suravee Suthikulpanit --- arch/x86/kernel/hw_breakpoint.c | 25 + 1 file changed, 1 insertion(+), 24 deletions(-) diff --git a/arch/x86/kernel/hw_breakpo

[PATCH 3/4] perf tools: add hardware breakpoint bp_len test cases

2013-12-11 Thread suravee.suthikulpanit
From: Jacob Shin Signed-off-by: Jacob Shin Signed-off-by: Suravee Suthikulpanit --- tools/perf/tests/parse-events.c | 55 + 1 file changed, 55 insertions(+) diff --git a/tools/perf/tests/parse-events.c b/tools/perf/tests/parse-events.c index 3cbd104..0c

[PATCH V6 0/4] perf/x86/amd: AMD Family 16h Data Breakpoint Extensions

2013-12-11 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit The following patchset enables hardware breakpoint bp_len greater than HW_BREAKPOINT_LEN_8 on AMD Family 16h and later. $ perf stat -e mem:0x1000/16:w a.out ^^ bp_len This will count writes to [0x1000 ~ 0x1010

[PATCH 1/4] perf/x86/amd: AMD support for bp_len > HW_BREAKPOINT_LEN_8

2013-12-11 Thread suravee.suthikulpanit
From: Jacob Shin Implement hardware breakpoint address mask for AMD Family 16h and above processors. CPUID feature bit indicates hardware support for DRn_ADDR_MASK MSRs. These masks further qualify DRn/DR7 hardware breakpoint addresses to allow matching of larger addresses ranges. Valuable advic

[PATCH 2/3] perf tools: allow user to specify hardware breakpoint bp_len

2013-10-02 Thread suravee.suthikulpanit
From: Jacob Shin Currently bp_len is given a default value of 4. Allow user to override it: $ perf stat -e mem:0x1000/8 ^ bp_len If no value is given, it will default to 4 as it did before. Signed-off-by: Jacob Shin Signed-off-by: Sura

[PATCH 1/3] perf/x86/amd: AMD support for bp_len > HW_BREAKPOINT_LEN_8

2013-10-02 Thread suravee.suthikulpanit
From: Jacob Shin Implement hardware breakpoint address mask for AMD Family 16h and above processors. CPUID feature bit indicates hardware support for DRn_ADDR_MASK MSRs. These masks further qualify DRn/DR7 hardware breakpoint addresses to allow matching of larger addresses ranges. Valuable advic

[PATCH 3/3] perf tools: add hardware breakpoint bp_len test cases

2013-10-02 Thread suravee.suthikulpanit
From: Jacob Shin Signed-off-by: Jacob Shin Signed-off-by: Suravee Suthikulpanit --- tools/perf/tests/parse-events.c | 55 + 1 file changed, 55 insertions(+) diff --git a/tools/perf/tests/parse-events.c b/tools/perf/tests/parse-events.c index 48114d1..9b

[PATCH V5 0/3] perf/x86/amd: AMD Family 16h Data Breakpoint Extensions

2013-10-02 Thread suravee.suthikulpanit
From: Suravee Suthikulpanit Frederic, this is the rebase of the V4 patch onto the linux-3.12.0-rc3 (linux.git), and retest. The following patchset enables hardware breakpoint bp_len greater than HW_BREAKPOINT_LEN_8 on AMD Family 16h and later. $ perf stat -e mem:0x1000/16:w a.out

  1   2   >