Age | Commit message (Collapse) | Author |
|
Signed-off-by: Graeme Gregory <graeme.gregory@linaro.org>
|
|
Signed-off-by: Graeme Gregory <graeme.gregory@linaro.org>
|
|
From patch series V8 this is required.
Signed-off-by: Graeme Gregory <graeme.gregory@linaro.org>
|
|
This is termporary to allow FWTS evaluation to continue!
Signed-off-by: Graeme Gregory <graeme.gregory@linaro.org>
|
|
Signed-off-by: Graeme Gregory <graeme.gregory@linaro.org>
|
|
Signed-off-by: Graeme Gregory <graeme.gregory@linaro.org>
|
|
Conflicts:
drivers/Kconfig
drivers/Makefile
|
|
|
|
merge-linux-linaro-core-tracking
|
|
|
|
merge-linux-linaro-core-tracking
|
|
merge-linux-linaro-core-tracking
|
|
|
|
|
|
|
|
|
|
Conflicts:
arch/arm64/kernel/acpi.c
|
|
|
|
Change-Id: Ifa871bad23aceecc1c049e277df787f3616366fc
Signed-off-by: Semen Protsenko <semen.protsenko@linaro.org>
|
|
This patch adds ACPI supports for AHCI platform driver, which uses _CLS
method to match the device.
The following is an example of ASL structure in DSDT for a SATA controller,
which contains _CLS package to be matched by the ahci_platform driver:
Device (AHC0) // AHCI Controller
{
Name(_HID, "AMDI0600")
Name (_CCA, 1)
Name (_CLS, Package (3)
{
0x01, // Base Class: Mass Storage
0x06, // Sub-Class: serial ATA
0x01, // Interface: AHCI
})
Name (_CRS, ResourceTemplate ()
{
Memory32Fixed (ReadWrite, 0xE0300000, 0x00010000)
Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive,,,) { 387 }
})
}
Also, since ATA driver should not require PCI support for ATA_ACPI,
this patch removes dependency in the driver/ata/Kconfig.
Acked-by: Tejun Heo <tj@kernel.org>
Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Reviewed-by: Hanjun Guo <hanjun.guo@linaro.org>
Signed-off-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@amd.com>
|
|
Device drivers typically use ACPI _HIDs/_CIDs listed in struct device_driver
acpi_match_table to match devices. However, for generic drivers, we do not
want to list _HID for all supported devices. Also, certain classes of devices
do not have _CID (e.g. SATA, USB). Instead, we can leverage ACPI _CLS,
which specifies PCI-defined class code (i.e. base-class, subclass and
programming interface). This patch adds support for matching ACPI devices using
the _CLS method.
To support loadable module, current design uses _HID or _CID to match device's
modalias. With the new way of matching with _CLS this would requires modification
to the current ACPI modalias key to include _CLS. This patch appends PCI-defined
class-code to the existing ACPI modalias as following.
acpi:<HID>:<CID1>:<CID2>:..:<CIDn>:<bbsspp>:
E.g:
# cat /sys/devices/platform/AMDI0600:00/modalias
acpi:AMDI0600:010601:
where bb is th base-class code, ss is te sub-class code, and pp is the
programming interface code
Since there would not be _HID/_CID in the ACPI matching table of the driver,
this patch adds a field to acpi_device_id to specify the matching _CLS.
static const struct acpi_device_id ahci_acpi_match[] = {
{ ACPI_DEVICE_CLASS(PCI_CLASS_STORAGE_SATA_AHCI, 0xffffff) },
{},
};
In this case, the corresponded entry in modules.alias file would be:
alias acpi*:010601:* ahci_platform
Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Reviewed-by: Hanjun Guo <hanjun.guo@linaro.org>
Signed-off-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@amd.com>
|
|
ACPI Device object often contains a _CLS object to suppy PCI-defined class
code for the device. This patch introduces logic to process the _CLS
object.
Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Reviewed-by: Hanjun Guo <hanjun.guo@linaro.org>
Signed-off-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@amd.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
|
|
Commit 2189064795dc3fb4101e5:
arm64: Implement set_arch_dma_coherent_ops() to replace bus notifiers
removed the bus notifiers from dma-mapping.c. This patch
adds the notifier back for ACPI and PCI devices until a
better permanent solution is worked out.
Signed-off-by: Mark Salter <msalter@redhat.com>
|
|
ACPI 5.1 adds a _CCA object to indicate memory coherency
of a bus master device. It is an integer with zero meaning
non-coherent and one meaning coherent. This attribute may
be inherited from a parent device. It may also be missing
entirely, in which case, an architecture-specific default
is assumed.
This patch adds a utility function to parse a device handle
(and its parents) for a _CCA object and return the coherency
attribute if found.
Signed-off-by: Mark Salter <msalter@redhat.com>
|
|
Add XGBE phy driver support for A0 hardware.
Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
|
|
Add XGBE driver support for A0 hardware.
Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
|
|
This is a first-cut effort at parking protocol support. It is
very much a work in progress (as is the spec it is based on).
This code deviates from the current spec in a number of ways
to work around current firmware issues and issues with kernels
using 64K page sizes.
caveat utilitor
Signed-off-by: Mark Salter <msalter@redhat.com>
Modified to match the revisions to acpi.c for the v9 set of the
ACPI core patches for arm64.
Signed-off-by: Al Stone <ahs3@redhat.com>
Signed-off-by: Graeme Gregory <graeme.gregory@linaro.org>
|
|
Add ACPI support to perf_event driver. This involves getting
the irq info from the MADT and registering a platform device
when booting with ACPI. This requires updated firmware for
Mustang and FM for PMU driver to get correct info from ACPI.
Signed-off-by: Mark Salter <msalter@redhat.com>
|
|
Signed-off-by: Geoff Levand <geoff@infradead.org>
|
|
Using the ACPI code to parse the SPCR, use the information in the
table to set up the console on arm64. This is the default behavior;
using console= on the command line will of course override this.
Signed-off-by: Jon Masters <jcm@redhat.com>
Signed-off-by: Torez Smith <torez@redhat.com>
Signed-off-by: Al Stone <ahs3@redhat.com>
|
|
Signed-off-by: Jon Masters <jcm@redhat.com>
Signed-off-by: Torez Smith <torez@redhat.com>
|
|
If console= is not added to the kernel command line, the console
is not registered until much further into the booting process. This
patch provides generic parsing of the SPCR ACPI table in order to pull
out console information early on.
Signed-off-by: Jon Masters <jcm@redhat.com>
Signed-off-by: Torez Smith <torez@redhat.com>
Signed-off-by: Al Stone <ahs3@redhat.com>
|
|
The patch update arm_arch_timer driver to use the function
provided by the new GTDT driver of ACPI.
By this way, arm_arch_timer.c can be simplified, and separate
all the ACPI GTDT knowledge from this timer driver.
Signed-off-by: Fu Wei <fu.wei@linaro.org>
Signed-off-by: Hanjun Guo <hanjun.guo@linaro.org>
|
|
This driver adds support for parsing SBSA Generic Watchdog
Structure in GTDT, and creating a platform device with that
information. This allows the operating system to obtain device
data from the resource of platform device.
The platform device named "sbsa-gwdt" can be used by the
ARM SBSA Generic Watchdog driver.
Signed-off-by: Fu Wei <fu.wei@linaro.org>
Signed-off-by: Hanjun Guo <hanjun.guo@linaro.org>
|
|
This driver bases on linux kernel watchdog framework, and
use "pretimeout" in the framework. It supports getting timeout and
pretimeout from parameter and FDT at the driver init stage.
In first timeout, the interrupt routine run panic to save
system context.
Signed-off-by: Fu Wei <fu.wei@linaro.org>
|
|
Also update Documentation/watchdog/watchdog-kernel-api.txt to
introduce:
(1)the new elements in the watchdog_device and watchdog_ops struct;
(2)the new API "watchdog_init_timeouts"
Reasons:
(1)kernel already has two watchdog drivers are using "pretimeout":
drivers/char/ipmi/ipmi_watchdog.c
drivers/watchdog/kempld_wdt.c(but the definition is different)
(2)some other drivers are going to use this: ARM SBSA Generic Watchdog
Signed-off-by: Fu Wei <fu.wei@linaro.org>
|
|
This can be a example of adding SBSA Generic Watchdog device node
into some dts files for the Soc which contains SBSA Generic Watchdog.
Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@amd.com>
Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@amd.com>
Signed-off-by: Fu Wei <fu.wei@linaro.org>
|
|
This can be a example of adding SBSA Generic Watchdog device node
into some dts files for the Soc which contains SBSA Generic Watchdog.
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Fu Wei <fu.wei@linaro.org>
|
|
The sbsa-gwdt.txt documentation in devicetree/bindings/watchdog is for
introducing SBSA(Server Base System Architecture) Generic Watchdog
device node info into FDT.
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Fu Wei <fu.wei@linaro.org>
|
|
On some architectures /dev/mem is being removed. For debug/analysis
tools like FWTS/acpidump we therefore need to expose the ACPI root
tables in sysfs like the other tables.
Signed-off-by: Graeme Gregory <graeme.gregory@linaro.org>
|
|
This commit is consequence of making x86 MMCONFIG code available for all
architectures. Current code has old name fashion so for the sake of
making it more understandable and express where it comes from,
we are changing functions/variables/macros etc. name *mmconfig* -> *ecam*
Signed-off-by: Tomasz Nowicki <tomasz.nowicki@linaro.org>
|
|
MCFG can be used perfectly for all architectures which support ACPI.
ACPI mandates MCFG to describe PCI config space ranges which means
we should use MMCONFIG accessors by default.
Signed-off-by: Tomasz Nowicki <tomasz.nowicki@linaro.org>
|
|
Architectures which want to take advantage of ECAM generic goodness
should select CONFIG_PCI_ECAM_GENERIC. Otherwise, like x86 32bits machines,
are obligated to provide own low-level ECAM calls.
Signed-off-by: Tomasz Nowicki <tomasz.nowicki@linaro.org>
|
|
mmconfig_64.c version is going to be default implementation for arch
agnostic low-level direct PCI config space accessors for ECAM dirver.
However, now it initialize raw_pci_ext_ops pointer which is x86 specific
code only. Moreover, mmconfig_32.c is doing the same thing at the same time.
Move it to mmconfig_shared.c so it becomes common for both and
mmconfig_64.c turns out to be purely arch agnostic.
Signed-off-by: Tomasz Nowicki <tomasz.nowicki@linaro.org>
|
|
First function acpi_mcfg_check_entry() does not apply any quirks by default.
Last two functions are required by ACPI subsystem to make PCI config
space accessible. Generic code assume to do nothing for early init call but
late init call does as follow:
- parse MCFG table and add regions to ECAM resource list
- map regions
- add regions to iomem_resource
Signed-off-by: Tomasz Nowicki <tomasz.nowicki@linaro.org>
|
|
arch/x86/ directory
ECAM standard and MCFG table are architecture independent and it makes
sense to share common code across all architectures. Both are going to
corresponding files - ecam.c and mcfg.c
While we are here, rename pci_parse_mcfg to acpi_parse_mcfg.
We already have acpi_parse_mcfg prototype which is used nowhere.
At the same time, we need pci_parse_mcfg been global so acpi_parse_mcfg
can be used perfectly here.
Signed-off-by: Tomasz Nowicki <tomasz.nowicki@linaro.org>
|
|
This patch is the first step for MMCONFIG refactoring process.
Code that uses pci_mmcfg_lock will be moved to common file and become
accessible for all architectures. pci_mmconfig_insert() cannot be moved
so easily since it is mixing generic mmconfig code with x86 specific logic
inside of mutual exclusive block guarded by pci_mmcfg_lock.
To get rid of that constraint, we reorder actions as follow:
1. sanity check for mmconfig region presence, if we already have such
region it doesn't make snese to alloc new mmconfig list entry
2. mmconfig entry allocation, no need to lock
3. insertion to iomem_resource has its own lock, no need to wrap it into mutex
4. insertion to mmconfig list can be done as the final step in separate
function (candidate for further refactoring) and needs another mmconfig
lookup to avoid race condition.
Signed-off-by: Tomasz Nowicki <tomasz.nowicki@linaro.org>
|
|
exclusively.
From now on, readb()/writeb()/etc. generic calls are used as default
approach. Special MMIO accessors are registered for AMD Fam10h CPUs only.
Signed-off-by: Tomasz Nowicki <tomasz.nowicki@linaro.org>
|
|
Fam10h CPUs.
- fix typo
- improve explanation
- add reference to the related document
Signed-off-by: Tomasz Nowicki <tomasz.nowicki@linaro.org>
|
|
Signed-off-by: Geoff Levand <geoff@infradead.org>
|