FWTS 18.09.00 is released.
It is available from:
Tar: http://fwts.ubuntu.com/release/fwts-V18.09.00.tar.gz
PPA: https://launchpad.net/~firmware-testing-team/+archive/ubuntu/ppa-fwts-stable
Release notes: https://wiki.ubuntu.com/FirmwareTestSuite/ReleaseNotes/18.09.00
= New Features =
* dmicheck: checks (Extended) Maximum Capacity for type 16
* snapcraft: add libbsd-dev to build-packages
* efi_runtime: re-enable the resetsystem runtime interface
= Fixed Bugs =
* dmicheck: fix incorrect boundary checks for various types
* DMI: Fix the way to load SMBIOS 3.x tables via sysfs
* acpi: acpiinfo: use stdint print format specifiers for uint8_t values
* acpi: nfit: minor code cleanup changes
* acpi: acpitables: use PRIu32 format specifier for a uint32_t type
* acpi: apicinstance: use correct format specifiers
* acpi: checksum: print size_t values using %zd specifier
* acpi: cstates: add whitespacing, use %d for int format specifiers
* acpi: fadt: use inttype.h print format size specifiers
* acpi/dmar: use PRIu8 specifier for uint8_t type
* acpi/madt: use inttype.h print format size specifiers
* acpi/method: use inttype.h print format size specifiers
* sbbr/fadt: use inttype.h print format size specifiers
* fwts-test: apicinstance: fix up incorrect hex values
= Detail Changelog =
To check /usr/share/doc/fwts/changelog.Debian.gz or
fwts_18.09.00-0ubuntu1.debian.tar.gz from
https://launchpad.net/ubuntu/+source/fwts
FWTS 18.08.00 is released.
It is available from:
Tar: http://fwts.ubuntu.com/release/fwts-V18.08.00.tar.gz
PPA: https://launchpad.net/~firmware-testing-team/+archive/ubuntu/ppa-fwts-stable
Release notes: https://wiki.ubuntu.com/FirmwareTestSuite/ReleaseNotes/18.08.00
= New Features =
* ACPICA: Update to version 20180810
* uefi: uefivarinfo: add to UNSAFE category
* acpi: gtdt: add checking the valid base physical address
= Fixed Bugs =
* lib: dmicheck: replace defines by enum type
* acpitables: remove redundant "OEM" from Creator ID field
* acpitables: remove unnecessary new line character
* src: remove unnecessary new line characters and trailing spaces
* fwts-test: sync up with new line char and trailing space changes
* acpi: wakealarm: remove failure messages for non-x86 arch
* acpiinfo: update acpi version supported by kernel
* ac_adapter: skip tests when no power supply exists
* lib: fwts: Add abstracted pragma macros to push/pop state and
disable warnings
* fwts_uefi.h: replace _Pragmas with abstracted pragma macros
* Wrap ACPI_ROOT_OBJECT with PRAGMA_NULL_PTR_MATH for clang builds
* lib/src/fwts_acpi_tables: disable clang warning
* lib: fwts_coreboot_cbmem.c: initialize all fields in array of structs
* uefi: uefirtauthvar: don't logically or a constant operand.
* dmi: dmicheck: remove redundant array fwts_dmi_chassis_type
* Add MIN, MAX and ARRAY_SIZE macros to fwts.h
* fwts_coreboot_cbmem: fwts coding style changes, use off_t for addresses
* lib: fwts_cpu: make found a boolean
* lib: fwts_cpu: minor fwts coding style changes
* lib: fwts_deviceytree: make a function argument const and a style change
* lib: fwts_firmware: remove some empty lines
* lib: fwts_iasl: remove a whitespace
* lib: fwts_interactive: add sanity check on fileno, fix typo, tidy code
* lib: fwts_ipmi: make fwts_ipmi_msg_id static, make some code style changes
* lib: fwts_keymap: some minor fwts coding style changes
* lib: fwts_list: some minor fwts coding style changes
* lib: fwts_multiproc: remove whitespace
* lib: fwts_olog: minor code style change on FILE pointers
* lib: fwts_release: make some helper functions static
* lib: fwts_scan_efi_systab: add empty line to match fwts coding style
* fwts_coreboot_cbmem: fix off-by-one error on last char of buffer
* lib: fwts_coreboot_cbmem: fix cbmem_console_addr check
* lib: fwts_clog.c: replace space indentations with tab
* lib/src/fwts_acpi_tables: remove shadowed pointer ptr
* lib: fwts_framework: ensure src pointer is const
* fwts_framework: no need to pass tests_to_skip as it is locally scoped
* lib: fwts_framework: argument 'arg' should not be const
* lib: fwts_log: remove const arg in fwts_log_set_field_filter
* lib: fwts_summary: remove redundant redefinition of fwts_summary_deinit
* lib: fwts_safe_mem: add in missing constifications
* lib: fwts_log_scan: rename function argument to avoid name shadowing
* lib: fwts_stringextras: fix some missing constifictions
* lib: fwts_text_list: fix up some const casting issues
* lib: fwts_json.h: fix casting warning, add missing const
* lib: fwts_coreboot_cbmen: fix missing const in cast
* sbbr: acpitables: make function sbbr_search_acpi_tables static
* acpi: crsdump: add in missing pointer constifications
* acpi: ecdt: fix some missing pointer constifications
* acpi: fadt: add in missing const to fix build warnings
* sbbr: fadt: add in missing const to fix build warnings
* acpi: method: make function method_test_CRS_return static
* acpi: nfit: rename table to nfit_table to avoid name shadowing
* acpi: wmi: add in missing const to fix build warnings
* acpi: stao: add in missing const to fix build warnings
* bios: mtrr make function multi_types_check static
* opal: reserv_mem: add in missing const to fix build warnings
* hotkey: rename list 'hotkeys' to avoid name shadowing
* uefi: uefirtauthvar: rename argument attibutes to var_attributes
* uefi: uefirtvariable: rename argument attibutes to var_attributes
* coreboot: clog: rename list 'clog' to avoid name shadowing
* lib: fwts_acpi_tables: unconstify data and don't strcpy ACPI table ids
* snapcraft: remove libjson-c3 stage package, it is not required
* Fix some strncpy/strcat gcc 8.2 warnings by using libbsd strlcpy/strlcat
* uefi: clean and check status with magic value ~0ULL (LP: #1784365)
= Detail Changelog =
To check /usr/share/doc/fwts/changelog.Debian.gz or
fwts_18.08.00-0ubuntu1.debian.tar.gz from
https://launchpad.net/ubuntu/+source/fwts
FWTS 18.05.00 is released.
It is available from:
Tar: http://fwts.ubuntu.com/release/fwts-V18.05.00.tar.gz
PPA: https://launchpad.net/~firmware-testing-team/+archive/ubuntu/ppa-fwts-stable
Release notes: https://wiki.ubuntu.com/FirmwareTestSuite/ReleaseNotes/18.05.00
= New Features =
* fan: add cooling_device# to error messages
* doc: adding acpitests, uefitests and sbbr options to man page
* acpi: syntaxcheck: change it from batch to batch-experimental
* fwts_framework: add an "ifv" option for Independent Firmware Vendor
* dmicheck: skip checks of DMI default values for IFV
* acpi: method: add test for _CLS control method
* lib: create helper functions for device identification objects
* acpi: devices: add common objects
* fwts-frontend-text: add a recommended option for IFV (IBV)
* fwts-frontend-text: add an option for ARM SBBR
* auto-packager: mkpackage.sh: add cosmic
* ACPICA: Update to version 20180427
* ACPICA: Update to version 20180508
* README: Add libpci-dev dependency ppc64el
* cpufreq: Add support to read boost frequencies
= Fixed Bugs =
* fan: cur_state == -1 is valid for intel_powerclamp
* cpu: msr: do not check SYSENTER_* MSRs
* cpu: msr: do not check SYSCALL MSRs
* dmi: dmicheck: fix missing spaces in failures of type 9
* acpi: method: fix a copy-n-paste error in _SUB test
* acpi: fan: fix potential null pointer dereference issue
* efi_runtime: fix gcc warning for efi_runtime_reset_system
* lib: fwts_pipeio: fix regression from memory leak fix
* devicetree: dt_base: Make dtc warnings not failures
* facs: Add a check for empty BIOS memory map info list
* opal: power_mgt: Fixes related to pstate parsing
* cpufreq: Do not free a NULL pointer
* opal: cpu_info: Designate property optional
* opal: mem_info: Designate property optional
* opal: prd_info: Add resilience to service check
= Detail Changelog =
To check /usr/share/doc/fwts/changelog.Debian.gz or
fwts_18.05.00-0ubuntu1.debian.tar.gz from
https://launchpad.net/ubuntu/+source/fwts
FWTS 17.11.00 is released.
It is available from:
Tar: http://fwts.ubuntu.com/release/fwts-V17.11.00.tar.gz
PPA: https://launchpad.net/~firmware-testing-team/+archive/ubuntu/ppa-fwts-stable
Release notes: https://wiki.ubuntu.com/FirmwareTestSuite/ReleaseNotes/17.11.00
= New Features =
* acpi: devices: add a new test for acpi ec device
* acpi: devices: add a new test for ACPI AC adapter device
* acpi: devices: add a new test for ACPI battery device
* acpi: devices: add a new test for smart battery device
* acpi: devices: add new tests for power and sleep button devices
* acpi: madt: check GICD's system vector according to mantis 1819 (ACPI 6.2a)
* acp: nfit: add platform capability according to manit 1831 (ACPI 6.2a)
* lib: add new large resource data type for _CRS methods
* acpi: sdev: add ACPI SDEV test (mantis 1632)
* acpi: dppt: add ACPI PDTT test (mantis 1576)
* acpi: devices: add new tests for lid device
* acpi: devices: add new tests for ambient light sensor device
* acpi: devices: add new tests for time and alarm device
* acpi: devices: add new tests for wireless power calibration device
* acpi: add tests for _SRT control method
* auto-packager: mkpackage.sh: add bionic
* fwts: add bash command-line completion
* Add ACPI 1.0 RSDP test to make sure RSDT field isn't null
* ACPICA: Update to version 20171110
* uefi: uefidump: add dumping for BluetoothLE device path
* uefi: uefidump: add dumping for DNS device path
* uefi: uefibootpath: add test for BluetoothLE device path
* uefi: uefibootpath: add test for DNS device path
= Fixed Bugs =
* lib: move and rename helper functions from method.c
* lib: move _CRS helper functions from method.c
* acpi: devices: print device name in acpi_ac test
* acpi: devices: deiniit acpica when tests are skipped
* acpi: sync up _BIX test in method to acpi_battery tests
* acpi: fadt: ACPI 6.2 explicitly states 64-bit supersedes 32-bit
* lib: print reference names in fwts_acpi_object_dump
* lib: raise severity of acpi method failures
* lib: fix offset error for GPIO connection descriptor
* acpi: method: add a missing space in _TSS tests
* dmi: dmicheck: fix incorrect use of lock bit in chassis type
* acpi: update checks of _BIX return package
* Remove length test for ACPI 1.0 RSDPs, fix checks against revision field
* lib: fwts_safe_mem: fix buffer end calculation
* lib: fwts_acpi_object_eval: fix build issues with older toolchains
* lib: fwts_battery: fix build issues with older toolchains
* lib: fwts_args: ensure a null short_option is never passed to getopt_long
* uefi: uefidump: add some guarding on allocation size
* uefi: uefidump: add some guarding on loop iteration
* dmi: dmicheck: zero buffer buf, cleans up a static analysis warning
* hpet: fix the false alarm of hpet configuration test
* uefi: uefirttime: fix the time zone to exact value
* uefi: uefirtauthvar: update the test auth data (LP: #1724455)
= Detail Changelog =
To check /usr/share/doc/fwts/changelog.Debian.gz or
fwts_17.11.00-0ubuntu1.debian.tar.gz from
https://launchpad.net/ubuntu/+source/fwts
FWTS 17.09.00 is released.
It is available from:
Tar: http://fwts.ubuntu.com/release/fwts-V17.09.00.tar.gz
PPA:
https://launchpad.net/~firmware-testing-team/+archive/ubuntu/ppa-fwts-stable
Release notes:
https://wiki.ubuntu.com/FirmwareTestSuite/ReleaseNotes/17.09.00
= New Features =
* ACPICA: Update to version 20170831
* dmi: dmicheck: Add BMC Interface Type definitions from IPMI spec
* lib: fwts_acpi_tables: add a new function to check Reserved field
* lib: fwts_acpi_tables: add a new function to check reserved bits
* efi_runtime: add resetsystem runtime service
= Fixed Bugs =
* acpi: replace checks for Reserved by fwts_acpi_reserved_zero_check
* lib: replace spaces by tabs
* acpi: replace checks for Flags by fwts_acpi_reserved_bits_check
* fwts-test: sync up with new fwts_acpi_reserved_bits_check
* acpi: replace checks for reserved bits by fwts_acpi_reserved_bits_check
* acpi: spcr: check reserved values for parity and stop fields
* debian: copyright: fix spelling mistake: acpcia -> acpica
* acpica: fix spelling mistake: acpcia -> acpica
* iASL: Fix incorrect memory allocation
* lib: constify a couple of arrays
* src/acpi/brightness: constify sys_path and return of
brightness_get_path
* acpi: method: constify arrays
* acpica: constify array fwts_default_space_id_list
* cmos: cmosdump: constify several char * arrays
* bios: bios_info: constify array bios_info
* bios: multiproc: constify array bus_types
* dmi: dmicheck: constify array dmi_used_by_kernel_table
* uefi: securebootcert: make array securebootcert_info_table const
* uefi: uefidump: make array uefidump_info_table const
* uefi: uefirtmisc: make arrays flag static const
* uefi: uefirttime: constify static array dayofmonth
* lib: fwts_firmware: make enums into a defined type
* lib: fwts_framework: make several int fields into uint32_t
* lib: fwts_framework: re-order and clean up fwts_framework fields
* lib: fwts_log: make magic uint64_t to improve corruption checking
* fwts_log: make line_number to a uint32_t type
* acpica: constify bool parameter val in
fwts_acpi_region_handler_called_set
* lib: fwts_acpi_table: make indexes which and index uint32_t
* lib: fwts-battery: make battery type a typedef'd enum
* lib: fwts_battery: clean up battery interfaces
* lib: fwts_button: make button counts and button number uint32_t
* lib: fwts_checksum: object sizes should be size_t rather than int
* lib: fwts_devicetree: constify a few function arguments
* lib: fwts_formatting: make width parameter size_t
* lib: fwts_wakealarm: make wakealarm times uint32_t
* lib: fwts_battery: include inttypes.h for PRIu32 definition
* lib: fwts_log_plaintext: include inttypes.h for PRIu32 definition
* lib: fwts_log_xml: include inttypes.h for PRIu32 definition
* acpi: battery: include stdint.h and inttypes.h
* acpi: wakealarm: include stdint.h and inttypes.h
* securebootcert: remove the SignatureOwner on signature presence check
* dmi: dmicheck: Fix Base Address Modifier checking
* acpi: method: sbbr: set some methods as optional
= Detail Changelog =
To check /usr/share/doc/fwts/changelog.Debian.gz or
fwts_17.09.00-0ubuntu1.debian.tar.gz from
https://launchpad.net/ubuntu/+source/fwts
+ MdeModulePkg maintainers (GOP), linaro-acpi, Graeme, Ard.
On Wed, Sep 13, 2017 at 12:23:01PM +0000, Evan Lloyd wrote:
> We have a minor conundrum, and would like an element of consensus
> before we make a commit.
> We want to (re-)submit patches adding HDLCD/GOP for some ARM
> platforms.
> We have previously been asked to make this optional, as some people
> do not want the overhead of GOP (and the frame buffer) in their
> image/RAM. This is fine, and a build flag called HEADLESS would
> seem to fit the bill.
>
> The query arises from the ACPI spec which has (in FADT): "
> HEADLESS 1 12 System Type Attribute. If set indicates the system
> cannot detect the monitor or keyboard / mouse devices."
>
> And what we need to confirm is that there is no case of a system
> with no display still wanting to have keyboard and/or mouse. I
> can't imagine there is, but thought it best to check.
>
> Any thoughts?
I can't think of any.
Even if your video is only accessible via BMC, that's still video.
/
Leif
FWTS 17.07.00 is released.
It is available from:
Tar: http://fwts.ubuntu.com/release/fwts-V17.07.00.tar.gz
PPA: https://launchpad.net/~firmware-testing-team/+archive/ubuntu/ppa-fwts-stable
Release notes: https://wiki.ubuntu.com/FirmwareTestSuite/ReleaseNotes/17.07.00
= New Features =
* acpi: bgrt: update according to acpi 6.1 errata (mantis 1577)
* acpi: method: update _PSD and _TSD tests according to ACPI 6.1 errata
* acpi: rsdp: revision 1 must have length 20 according to ACPI 6.1 errata
* acpi: method: Add _CPC revision 3 according to ACPI 6.2 (mantis 1611)
* acpi: hest: add new type 11 introduced in ACPI 6.2 (mantis 1649)
* acpi: srat: add new type 4 according to ACPI 6.2 (mantis 1656)
* acpi: method: update _GCP according to ACPI 6.2 (mantis 1703)
* acpi: hest: add notification type 11 according to ACPI 6.2 (mantis 1731)
* acpi: fadt: update minor version to 2 for ACPI 6.2 (mantis 1769)
* acpi: hest: add checks for GHES_ASSIST flag value in ACPI 6.2 (mantis 1674)
* acpi: wsmt: add wsmt test according to ACPI 6.2 (mantis 1585)
* ACPICA: Update to version 20170629
* acpi: tpm2: Add additional start method values
* acpi: iort: Add PMCG support
= Fixed Bugs =
* acpi: hest: change type from hex to dec as in ACPI spec
* acpi: hest: change a function name to meet the patterns of others
* acpi: hest: fix typo for type 7
* dmi: dmicheck: ensure mmap'd SMBIOS data is readable before accessing it
* bios32: ensure mmap'd memory is readable before accessing it
* bios: ebdadump: ensure mmap'd memory is readable before accessing it
* bios: romdump: ensure mmap'd memory is readable before accessing it
* lib: fwts_smbios: ensure mmap'd memory is readable before accessing it
* efi_runtime: Use memdup_user helper
= Detail Changelog =
To check /usr/share/doc/fwts/changelog.Debian.gz or
fwts_17.07.00-0ubuntu1.debian.tar.gz from
https://launchpad.net/ubuntu/+source/fwts
FWTS 17.06.00 is released.
It is available from:
Tar: http://fwts.ubuntu.com/release/fwts-V17.06.00.tar.gz
PPA: https://launchpad.net/~firmware-testing-team/+archive/ubuntu/ppa-fwts-stable
Release notes: https://wiki.ubuntu.com/FirmwareTestSuite/ReleaseNotes/17.06.00
= New Features =
* ACPICA: Update to version 20170531
* olog: olog.json: Update OPAL skiboot errors to check on olog scan
* bios: mtrr: print out actual default type of MTRR
= Fixed Bugs =
* lib: fwts_alloc: only parse mem info once we have a valid line read in
* lib: fwts_safe_mem: add SIGBUS handling
* lib: fwts_alloc: re-work the memory parsing again
* acpi: method use correct format specifier for uint32_t type
* bios: mtrr: fix compile error in ubuntu trusty
* opal: fix tests dependency on libfdt
* bios: mtrr: fix overlaped MTRR (LP: #1694710)
= Detail Changelog =
To check /usr/share/doc/fwts/changelog.Debian.gz or
fwts_17.06.00-0ubuntu1.debian.tar.gz from
https://launchpad.net/ubuntu/+source/fwts
FWTS 17.05.00 is released.
It is available from:
Tar: http://fwts.ubuntu.com/release/fwts-V17.05.00.tar.gz
PPA:
https://launchpad.net/~firmware-testing-team/+archive/ubuntu/ppa-fwts-stable
Release notes:
https://wiki.ubuntu.com/FirmwareTestSuite/ReleaseNotes/17.05.00
= New Features =
* Support SMBIOS 3.1.1 tests
* dmi: dmicheck: check new offset in spec 3.11
* dmi: dmicheck: check reserved bits of Type 7 offset 0x5
* dmi: dmicheck: check reserved bits of Type 7 offset 0xd
* dmi: dmicheck: add a function to verify reserved bits
* dmi: dmicheck: add a helper function to check word min/max value
* dmi: dmicheck: check pci(e) slot and segment, bus and dev/func
* dmi: dmicheck: check reserved bits of offset 0x5 in type 13
* dmi: dmicheck: add a helper function to check a reserved offset
* dmi: dmicheck: check reserved bits in type 15 & type 17
* dmi: dmicheck: check reserved fields in type 22, 23, 30, 32, 38 and 39
* dmi: dmicheck: add 64-bit integer to dmi_reserved_bits_check
* dmi: dmicheck: add checks for new type 43
* dmi: dmicheck: check reserved bits in Type 0
* fwts/opal: Power management DT Validation tests.
* fwts/opal: Reserved memory DT validation tests.
* Add snapcraft rules to build a fwts snap
= Fixed Bugs =
* acpi: method: make _PTS & _WAK optional
* dmi: dmicheck: add type 9 to dmi_used_by_kernel_table
* dmi: dmicheck: fix a typo in a type 15's error message
* klog.json: remove unnecessary comma and trailing spaces
* klog.json: add an ACPI warning message "SysmtemMemory conflicts
* acpi: method: check _WAK & _PTS for supported sleep states only
* dmi: dmicheck: type 22 offset 9 is an enum from 1 to 8
* lib: fwts_pm_method: clean up formatting and remove extraneous log
message
* acpi: gpedump: fix spelling mistake
* acpica: add some extra run time verification to FACP (FADT)
* lib: fwts_acpi_tables: Add extra fix-up for FACS and DSDT table
addresses
* acpi: wmi: add and re-order WMI GUIDs
* lib: fwts_pipeio: fix incorrect size of command being passed
* lib: fwts_summary: move statement into previous if block
* lib: fwts_stringextras: free original string on failed realloc
* compiler: fwts_iasl_interface: free original string on failed realloc
* uefi: uefidump: free original string on failed realloc
* kernelscan: ensure parse_kernel_message returns PARSER_OK
* lib: fwts_gpe: free original gpe buffer on failed realloc
* lib: fwts_cpu: The string "flags" is 5 chars, fix incorrect strncmp
size
* dmi: dmicheck: remove redundant check on boolean advice_given
* acpi: einj: fix incorrect addition on cast
* lib: fwts_log: fix spelling mistake on LOG_UNKOWN_FIELD
* lib: fwts_log: add LOG_NO_FIELD and use this to indicate an unfound
field
* debian/control: Update description, fwts no longer is just for x86
systems
* lib: fwts_gpe: fix double free on gpe buffer
* opal: prd_info: NULLify output after free
* debian/control: update standards version to 3.9.8
* debian/control: remove ${shlibs:Depends} for fwts-frontend and
fwts-efi-runtime-dkms
* acpi: method: work around some gcc madness (LP: #1687056)
* Reduce the sysfs path to 2K to work around a gcc warning
* data: klog.json: make missing EINJ table message an INFO message
* cpu: cpufreq: make small one-line helper functions inline
* Snapcraft: fix typo in path
* debian: fwts.install: add missing olog.json file
* debian: changelog: fix some debian warnings
* New script to generate a Debian orig tarball from source
* data: klog.json: Fix spelling mistake "cound" -> "could"
* opal: reserve_mem: fix 32 bit build issues
* lib: fwts_acpi_tables: remove dead assignment of facs
* acpica/fwts_acpica: remove debug message on FADT/FACS
* acpica/fwts_acpica: cast to uintptr_t before casting to
ACPI_PHYSICAL_ADDRESS
* uefi: securebootcert: warnings for secure boot variables not exist
instead of failures
* uefi: securebootcert: specify the failure reason for the variable
not found
* README: Fix missing libfdt-dev dependency in README
= Detail Changelog =
To check /usr/share/doc/fwts/changelog.Debian.gz or
fwts_17.05.00-0ubuntu1.debian.tar.gz from
https://launchpad.net/ubuntu/+source/fwts
This implements a quirk for the Marvell Armada80x0 running in ACPI mode,
in which case the config space configuration is not 100% ECAM compatible.
The issue with this SoC is that it only consists of a host bridge, and
all type 0 configuration cycles are forwarded to the peer (i.e., the
device in the slot), which will therefore appear at all device slots
on bus 0. This can be fixed by reducing the IATU window size for bus 0,
but due to CX_ATU_MIN_REGION_SIZE == 64KB (which is a synthesis-time
configuration parameter of the IP block) the window producing type 0
config cycles will always produce two copies of the peer device.
So add a quirk that specifies a config space accessor override, and
override config space accesses to devices on bus 0 other than device 0.
Signed-off-by: Ard Biesheuvel <ard.biesheuvel(a)linaro.org>
---
drivers/acpi/pci_mcfg.c | 36 ++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)
diff --git a/drivers/acpi/pci_mcfg.c b/drivers/acpi/pci_mcfg.c
index 2944353253ed..7d68b3208043 100644
--- a/drivers/acpi/pci_mcfg.c
+++ b/drivers/acpi/pci_mcfg.c
@@ -49,6 +49,40 @@ struct mcfg_fixup {
NULL, IORESOURCE_BUS)
#define MCFG_BUS_ANY MCFG_BUS_RANGE(0x0, 0xff)
+/*
+ * The Armada 8k uses Synopsys PCIe IP, which /can/ be configured at
+ * synthesis time to be ECAM compatible, by reducing the IATU minimum
+ * window size to 32 KB. This way, we can reduce the window that produces
+ * type 0 config cycles to only cover b/d 0/0, which will make the peer
+ * only appear once on bus 0. The rest of the ECAM region can be enabled
+ * to generate type 1 config cycles in an ECAM compliant manner, which
+ * makes the rest of the hierarchy accessible if the peer is a true
+ * bridge.
+ *
+ * Note that in this configuration, there is only a host bridge that
+ * translates memory accesses to PCI bus cycles, and given that there
+ * is only a single peer, there is no reason to model a pseudobridge
+ * on bus 0 and make the peer appear on bus 1. (This is how the various
+ * DT drivers for snps,dw-pcie compatible controllers are implemented.)
+ */
+static void __iomem *armada8k_pcie_ecam_map_bus(struct pci_bus *bus,
+ unsigned int devfn,
+ int where)
+{
+ if (bus->number == 0 && PCI_SLOT(devfn) > 0)
+ return NULL;
+ return pci_ecam_map_bus(bus, devfn, where);
+}
+
+static struct pci_ecam_ops armada8k_pcie_ecam_ops = {
+ .bus_shift = 20,
+ .pci_ops = {
+ .map_bus = armada8k_pcie_ecam_map_bus,
+ .read = pci_generic_config_read,
+ .write = pci_generic_config_write,
+ }
+};
+
static struct mcfg_fixup mcfg_quirks[] = {
/* { OEM_ID, OEM_TABLE_ID, REV, SEGMENT, BUS_RANGE, ops, cfgres }, */
@@ -133,6 +167,8 @@ static struct mcfg_fixup mcfg_quirks[] = {
XGENE_V2_ECAM_MCFG(4, 0),
XGENE_V2_ECAM_MCFG(4, 1),
XGENE_V2_ECAM_MCFG(4, 2),
+
+ { "MVEBU ", "ARMADA8K", 0, 0, MCFG_BUS_ANY, &armada8k_pcie_ecam_ops },
};
static char mcfg_oem_id[ACPI_OEM_ID_SIZE];
--
2.9.3
From: Fu Wei <fu.wei(a)linaro.org>
This patchset:
(1)Preparation for adding GTDT support in arm_arch_timer:
1. Introduce a MMIO CNTFRQ helper.
2. separate out device-tree code from arch_timer_detect_rate
3. replace arch_timer_detect_rate with arch_timer_of_configure_rate
4. Refactor arch_timer_needs_probing, and move it into DT init call
5. Introduce some new structs and refactor the MMIO timer init code
for reusing some common code.
(2)Introduce ACPI GTDT parser: drivers/acpi/arm64/gtdt.c
Parse all kinds of timer in GTDT table of ACPI:arch timer,
memory-mapped timer and SBSA Generic Watchdog timer.
This driver can help to simplify all the relevant timer drivers,
and separate all the ACPI GTDT knowledge from them.
(3)Simplify ACPI code for arm_arch_timer
(4)Add GTDT support for ARM memory-mapped timer.
This patchset has been tested on the following platforms with ACPI enabled:
(1)ARM Foundation v8 model
Changelog:
v24: https://lkml.org/lkml/2017/4/14/
Mark Rutland:
Rework comments
Refactor the probing split
Verify CNTFRQ:arch_timer_mem_verify_cntfrq
Only register the first frame:arch_timer_mem_find_best_frame
Fu Wei:
Fetches from git://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git arch-timer/gtdt
Introduces acpi_unregister_irq function, and use it in drivers/acpi/arm64/gtdt.c
v23: https://lkml.org/lkml/2017/3/31/629
Rebase to git://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git arch-timer/cleanup
Improve the data struct of arch_timer_mem and arch_timer_mem_frame to
improve the parser of GT blocks and arch_timer_mem initualization.
Improve arch_timer_rate detection: sysreg frequency is primary in DT boot
Improve some comments in GTDT parser driver.
Improve acpi_gtdt_init function, and make a comment for the multiple calls.
Improve the unwinding for the irq of timers, when an error occurs.
Handle the case of virtual timer GSIV is 0.
v22: https://lkml.org/lkml/2017/3/21/523
Rebase to git://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git arch-timer/cleanup
Only Introduce arch_timer_mem_get_cntfrq to get the frequency from mmio.
Merged patch 2,3(about arch_timer_detect_rate).
Keep arch_timer_rate, do NOT split it for different types of timer.
Improve memory-mapped timer support by comments and variable name:
data-->timer_mem
frame-->gtdt_frame
Delete zero check for SBSA watchdog irq.
Skip secure SBSA watchdog in GTDT driver.
Delete Kconfig modification for SBSA watchdog driver.
Delete no_irq, using nr_res instead.
v21: https://lkml.org/lkml/2017/2/6/734
Introduce two functions to get the frequency from mmio and sysreg.
Remove arch_timer_detect_rate use arch_timer_get_*_freq directly
Split arch_timer_rate for different types of timer.
Skip secure timer frame in GTDT driver.
Rebase to git://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git arch-timer/cleanup
(The first 6 patches in v20 have been merged into arch-timer/cleanup branch)
v20: https://lkml.org/lkml/2017/1/18/534
Reorder the first 4 patches and split the 4th patches.
Leave CNTHCTL_* as they originally were.
Fix the bug in arch_timer_select_ppi.
Split "Rework counter frequency detection" patch.
Rework the arch_timer_detect_rate function.
Improve the commit message of "Refactor MMIO timer probing".
Rebase to 4.10.0-rc4
v19: https://lkml.org/lkml/2016/12/21/25
Fix a '\n' missing in a error message in arch_timer_mem_init.
Add "request_mem_region" for ioremapping cntbase, according to
f947ee1 clocksource/drivers/arm_arch_timer: Map frame with of_io_request_and_map()
Rebase to 4.9.0-gfb779ff
v18: https://lkml.org/lkml/2016/12/8/446
Fix 8/15 patch problem of "int ret;" in arch_timer_acpi_init.
Rebase to 4.9.0-rc8-g9269898
v17: https://lkml.org/lkml/2016/11/25/140
Take out some cleanups from 4/15.
Merge 5/15 and 6/15, improve PPI determination code,
improve commit message.
Rework counter frequency detection.
Move arch_timer_needs_of_probing into DT init call.
Move Platform Timer scan loop back to timer init call to avoid allocating
and free memory.
Improve all the exported functions' comment.
v16: https://lkml.org/lkml/2016/11/16/268
Fix patchset problem about static enum ppi_nr of 01/13 in v15.
Refactor arch_timer_detect_rate.
Refactor arch_timer_needs_probing.
v15: https://lkml.org/lkml/2016/11/15/366
Re-order patches
Add arm_arch_timer refactoring patches to prepare for GTDT:
1. rename some enums and defines, and some cleanups
2. separate out arch_timer_uses_ppi init code and fix a potential bug
3. Improve some new structs, refactor the timer init code.
Since the some structs have been changed, GTDT parser for memory-mapped
timer and SBSA Generic Watchdog timer have been update.
v14: https://lkml.org/lkml/2016/9/28/573
Separate memory-mapped timer GTDT support into two patches
1. Refactor the timer init code to prepare for GTDT
2. Add GTDT support for memory-mapped timer
v13: http://www.mail-archive.com/linux-kernel@vger.kernel.org/msg1231717.html
Improve arm_arch_timer code for memory-mapped
timer GTDT support, refactor original memory-mapped timer
dt support for reusing some common code.
v12: https://lkml.org/lkml/2016/9/13/250
Rebase to latest Linux 4.8-rc6
Delete the confusing "skipping" in the error message.
V11: https://lkml.org/lkml/2016/9/6/354
Rebase to latest Linux 4.8-rc5
Delete typedef (suggested by checkpatch.pl)
V10: https://lkml.org/lkml/2016/7/26/215
Drop the "readq" patch.
Rebase to latest Linux 4.7.
V9: https://lkml.org/lkml/2016/7/25/345
Improve pr_err message in acpi gtdt driver.
Update Commit message for 7/9
shorten the irq mapping function name
Improve GTDT driver for memory-mapped timer
v8: https://lkml.org/lkml/2016/7/19/660
Improve "pr_fmt(fmt)" definition: add "ACPI" in front of "GTDT",
and also improve printk message.
Simplify is_timer_block and is_watchdog.
Merge acpi_gtdt_desc_init and gtdt_arch_timer_init into acpi_gtdt_init();
Delete __init in include/linux/acpi.h for GTDT API
Make ARM64 select GTDT.
Delete "#include <linux/module.h>" from acpi_gtdt.c
Simplify GT block parse code.
v7: https://lkml.org/lkml/2016/7/13/769
Move the GTDT driver to drivers/acpi/arm64
Add add the ARM64-specific ACPI Support maintainers in MAINTAINERS
Merge 3 patches of GTDT parser driver.
Fix the for_each_platform_timer bug.
v6: https://lkml.org/lkml/2016/6/29/580
split the GTDT driver to 4 parts: basic, arch_timer, memory-mapped timer,
and SBSA Generic Watchdog timer
Improve driver by suggestions and example code from Daniel Lezcano
v5: https://lkml.org/lkml/2016/5/24/356
Sorting out all patches, simplify the API of GTDT driver:
GTDT driver just fills the data struct for arm_arch_timer driver.
v4: https://lists.linaro.org/pipermail/linaro-acpi/2016-March/006667.html
Delete the kvm relevant patches
Separate two patches for sorting out the code for arm_arch_timer.
Improve irq info export code to allow missing irq info in GTDT table.
v3: https://lkml.org/lkml/2016/2/1/658
Improve GTDT driver code:
(1)improve pr_* by defining pr_fmt(fmt)
(2)simplify gtdt_sbsa_gwdt_init
(3)improve gtdt_arch_timer_data_init, if table is NULL, it will try
to get GTDT table.
Move enum ppi_nr to arm_arch_timer.h, and add enum spi_nr.
Add arm_arch_timer get ppi from DT and GTDT support for kvm.
v2: https://lkml.org/lkml/2015/12/2/10
Rebase to latest kernel version(4.4-rc3).
Fix the bug about the config problem,
use CONFIG_ACPI_GTDT instead of CONFIG_ACPI in arm_arch_timer.c
v1: The first upstreaming version: https://lkml.org/lkml/2015/10/28/553
Fu Wei (11):
clocksource: arm_arch_timer: split dt-only rate handling
clocksource: arm_arch_timer: refactor arch_timer_needs_probing
clocksource: arm_arch_timer: move arch_timer_needs_of_probing into DT
init call
clocksource: arm_arch_timer: add structs to describe MMIO timer
clocksource: arm_arch_timer: split MMIO timer probing.
acpi/arm64: Add GTDT table parse driver
clocksource: arm_arch_timer: simplify ACPI support code.
acpi: Add acpi_unregister_irq function
acpi/arm64: Add memory-mapped timer support in GTDT driver
clocksource: arm_arch_timer: add GTDT support for memory-mapped timer
acpi/arm64: Add SBSA Generic Watchdog support in GTDT driver
arch/arm64/Kconfig | 1 +
drivers/acpi/arm64/Kconfig | 3 +
drivers/acpi/arm64/Makefile | 1 +
drivers/acpi/arm64/gtdt.c | 404 +++++++++++++++++++++++++++++++++++
drivers/acpi/irq.c | 10 +
drivers/clocksource/arm_arch_timer.c | 393 ++++++++++++++++++++++++----------
include/clocksource/arm_arch_timer.h | 16 ++
include/linux/acpi.h | 14 ++
8 files changed, 724 insertions(+), 118 deletions(-)
create mode 100644 drivers/acpi/arm64/gtdt.c
--
2.9.3
From: Fu Wei <fu.wei(a)linaro.org>
This patchset:
(1)Preparation for adding GTDT support in arm_arch_timer:
1. Introduce a MMIO CNTFRQ helper.
2. separate out device-tree code from arch_timer_detect_rate
3. remove arch_timer_detect_rate use arch_timer_*get_cntfrq directly
4. Refactor arch_timer_needs_probing, and move it into DT init call
5. Introduce some new structs and refactor the MMIO timer init code
for reusing some common code.
(2)Introduce ACPI GTDT parser: drivers/acpi/arm64/acpi_gtdt.c
Parse all kinds of timer in GTDT table of ACPI:arch timer,
memory-mapped timer and SBSA Generic Watchdog timer.
This driver can help to simplify all the relevant timer drivers,
and separate all the ACPI GTDT knowledge from them.
(3)Simplify ACPI code for arm_arch_timer
(4)Add GTDT support for ARM memory-mapped timer.
This patchset has been tested on the following platforms with ACPI enabled:
(1)ARM Foundation v8 model
Changelog:
v23: https://lkml.org/lkml/2017/3/31/
Rebase to git://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git arch-timer/cleanup
Improve the data struct of arch_timer_mem and arch_timer_mem_frame to
improve the parser of GT blocks and arch_timer_mem initualization.
Improve arch_timer_rate detection: sysreg frequency is primary in DT boot
Improve some comments in GTDT parser driver.
Improve acpi_gtdt_init function, and make a comment for the multiple calls.
Improve the unwinding for the irq of timers, when an error occurs.
Handle the case of virtual timer GSIV is 0.
v22: https://lkml.org/lkml/2017/3/21/523
Rebase to git://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git arch-timer/cleanup
Only Introduce arch_timer_mem_get_cntfrq to get the frequency from mmio.
Merged patch 2,3(about arch_timer_detect_rate).
Keep arch_timer_rate, do NOT split it for different types of timer.
Improve memory-mapped timer support by comments and variable name:
data-->timer_mem
frame-->gtdt_frame
Delete zero check for SBSA watchdog irq.
Skip secure SBSA watchdog in GTDT driver.
Delete Kconfig modification for SBSA watchdog driver.
Delete no_irq, using nr_res instead.
v21: https://lkml.org/lkml/2017/2/6/734
Introduce two functions to get the frequency from mmio and sysreg.
Remove arch_timer_detect_rate use arch_timer_get_*_freq directly
Split arch_timer_rate for different types of timer.
Skip secure timer frame in GTDT driver.
Rebase to git://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git arch-timer/cleanup
(The first 6 patches in v20 have been merged into arch-timer/cleanup branch)
v20: https://lkml.org/lkml/2017/1/18/534
Reorder the first 4 patches and split the 4th patches.
Leave CNTHCTL_* as they originally were.
Fix the bug in arch_timer_select_ppi.
Split "Rework counter frequency detection" patch.
Rework the arch_timer_detect_rate function.
Improve the commit message of "Refactor MMIO timer probing".
Rebase to 4.10.0-rc4
v19: https://lkml.org/lkml/2016/12/21/25
Fix a '\n' missing in a error message in arch_timer_mem_init.
Add "request_mem_region" for ioremapping cntbase, according to
f947ee1 clocksource/drivers/arm_arch_timer: Map frame with of_io_request_and_map()
Rebase to 4.9.0-gfb779ff
v18: https://lkml.org/lkml/2016/12/8/446
Fix 8/15 patch problem of "int ret;" in arch_timer_acpi_init.
Rebase to 4.9.0-rc8-g9269898
v17: https://lkml.org/lkml/2016/11/25/140
Take out some cleanups from 4/15.
Merge 5/15 and 6/15, improve PPI determination code,
improve commit message.
Rework counter frequency detection.
Move arch_timer_needs_of_probing into DT init call.
Move Platform Timer scan loop back to timer init call to avoid allocating
and free memory.
Improve all the exported functions' comment.
v16: https://lkml.org/lkml/2016/11/16/268
Fix patchset problem about static enum ppi_nr of 01/13 in v15.
Refactor arch_timer_detect_rate.
Refactor arch_timer_needs_probing.
v15: https://lkml.org/lkml/2016/11/15/366
Re-order patches
Add arm_arch_timer refactoring patches to prepare for GTDT:
1. rename some enums and defines, and some cleanups
2. separate out arch_timer_uses_ppi init code and fix a potential bug
3. Improve some new structs, refactor the timer init code.
Since the some structs have been changed, GTDT parser for memory-mapped
timer and SBSA Generic Watchdog timer have been update.
v14: https://lkml.org/lkml/2016/9/28/573
Separate memory-mapped timer GTDT support into two patches
1. Refactor the timer init code to prepare for GTDT
2. Add GTDT support for memory-mapped timer
v13: http://www.mail-archive.com/linux-kernel@vger.kernel.org/msg1231717.html
Improve arm_arch_timer code for memory-mapped
timer GTDT support, refactor original memory-mapped timer
dt support for reusing some common code.
v12: https://lkml.org/lkml/2016/9/13/250
Rebase to latest Linux 4.8-rc6
Delete the confusing "skipping" in the error message.
V11: https://lkml.org/lkml/2016/9/6/354
Rebase to latest Linux 4.8-rc5
Delete typedef (suggested by checkpatch.pl)
V10: https://lkml.org/lkml/2016/7/26/215
Drop the "readq" patch.
Rebase to latest Linux 4.7.
V9: https://lkml.org/lkml/2016/7/25/345
Improve pr_err message in acpi gtdt driver.
Update Commit message for 7/9
shorten the irq mapping function name
Improve GTDT driver for memory-mapped timer
v8: https://lkml.org/lkml/2016/7/19/660
Improve "pr_fmt(fmt)" definition: add "ACPI" in front of "GTDT",
and also improve printk message.
Simplify is_timer_block and is_watchdog.
Merge acpi_gtdt_desc_init and gtdt_arch_timer_init into acpi_gtdt_init();
Delete __init in include/linux/acpi.h for GTDT API
Make ARM64 select GTDT.
Delete "#include <linux/module.h>" from acpi_gtdt.c
Simplify GT block parse code.
v7: https://lkml.org/lkml/2016/7/13/769
Move the GTDT driver to drivers/acpi/arm64
Add add the ARM64-specific ACPI Support maintainers in MAINTAINERS
Merge 3 patches of GTDT parser driver.
Fix the for_each_platform_timer bug.
v6: https://lkml.org/lkml/2016/6/29/580
split the GTDT driver to 4 parts: basic, arch_timer, memory-mapped timer,
and SBSA Generic Watchdog timer
Improve driver by suggestions and example code from Daniel Lezcano
v5: https://lkml.org/lkml/2016/5/24/356
Sorting out all patches, simplify the API of GTDT driver:
GTDT driver just fills the data struct for arm_arch_timer driver.
v4: https://lists.linaro.org/pipermail/linaro-acpi/2016-March/006667.html
Delete the kvm relevant patches
Separate two patches for sorting out the code for arm_arch_timer.
Improve irq info export code to allow missing irq info in GTDT table.
v3: https://lkml.org/lkml/2016/2/1/658
Improve GTDT driver code:
(1)improve pr_* by defining pr_fmt(fmt)
(2)simplify gtdt_sbsa_gwdt_init
(3)improve gtdt_arch_timer_data_init, if table is NULL, it will try
to get GTDT table.
Move enum ppi_nr to arm_arch_timer.h, and add enum spi_nr.
Add arm_arch_timer get ppi from DT and GTDT support for kvm.
v2: https://lkml.org/lkml/2015/12/2/10
Rebase to latest kernel version(4.4-rc3).
Fix the bug about the config problem,
use CONFIG_ACPI_GTDT instead of CONFIG_ACPI in arm_arch_timer.c
v1: The first upstreaming version: https://lkml.org/lkml/2015/10/28/553
Fu Wei (11):
clocksource: arm_arch_timer: add MMIO CNTFRQ helper
clocksource: arm_arch_timer: split dt-only rate handling
clocksource: arm_arch_timer: refactor arch_timer_needs_probing
clocksource: arm_arch_timer: move arch_timer_needs_of_probing into DT
init call
clocksource: arm_arch_timer: add structs to describe MMIO timer
clocksource: arm_arch_timer: refactor MMIO timer probing.
acpi/arm64: Add GTDT table parse driver
clocksource: arm_arch_timer: simplify ACPI support code.
acpi/arm64: Add memory-mapped timer support in GTDT driver
clocksource: arm_arch_timer: add GTDT support for memory-mapped timer
acpi/arm64: Add SBSA Generic Watchdog support in GTDT driver
arch/arm64/Kconfig | 1 +
drivers/acpi/arm64/Kconfig | 3 +
drivers/acpi/arm64/Makefile | 1 +
drivers/acpi/arm64/gtdt.c | 406 +++++++++++++++++++++++++++++++++++
drivers/clocksource/arm_arch_timer.c | 338 ++++++++++++++++++-----------
include/clocksource/arm_arch_timer.h | 16 ++
include/linux/acpi.h | 7 +
7 files changed, 648 insertions(+), 124 deletions(-)
create mode 100644 drivers/acpi/arm64/gtdt.c
--
2.9.3
From: Fu Wei <fu.wei(a)linaro.org>
This patchset:
(1)Preparation for adding GTDT support in arm_arch_timer:
1. Introduce a wrapper function to get the frequency from mmio.
2. separate out device-tree code from arch_timer_detect_rate
3. remove arch_timer_detect_rate use arch_timer_*get_cntfrq directly
4. Refactor arch_timer_needs_probing, and move it into DT init call
5. Introduce some new structs and refactor the MMIO timer init code
for reusing some common code.
(2)Introduce ACPI GTDT parser: drivers/acpi/arm64/acpi_gtdt.c
Parse all kinds of timer in GTDT table of ACPI:arch timer,
memory-mapped timer and SBSA Generic Watchdog timer.
This driver can help to simplify all the relevant timer drivers,
and separate all the ACPI GTDT knowledge from them.
(3)Simplify ACPI code for arm_arch_timer
(4)Add GTDT support for ARM memory-mapped timer.
This patchset has been tested on the following platforms with ACPI enabled:
(1)ARM Foundation v8 model
Changelog:
v22: https://lkml.org/lkml/2017/3/21/
Rebase to git://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git arch-timer/cleanup
Only Introduce arch_timer_mem_get_cntfrq to get the frequency from mmio.
Merged patch 2,3(about arch_timer_detect_rate).
Keep arch_timer_rate, do NOT split it for different types of timer.
Improve memory-mapped timer support by comments and variable name:
data-->timer_mem
frame-->gtdt_frame
Delete zero check for SBSA watchdog irq.
Skip secure SBSA watchdog in GTDT driver.
Delete Kconfig modification for SBSA watchdog driver.
Delete no_irq, using nr_res instead.
v21: https://lkml.org/lkml/2017/2/6/734
Introduce two functions to get the frequency from mmio and sysreg.
Remove arch_timer_detect_rate use arch_timer_get_*_freq directly
Split arch_timer_rate for different types of timer.
Skip secure timer frame in GTDT driver.
Rebase to git://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git arch-timer/cleanup
(The first 6 patches in v20 have been merged into arch-timer/cleanup branch)
v20: https://lkml.org/lkml/2017/1/18/534
Reorder the first 4 patches and split the 4th patches.
Leave CNTHCTL_* as they originally were.
Fix the bug in arch_timer_select_ppi.
Split "Rework counter frequency detection" patch.
Rework the arch_timer_detect_rate function.
Improve the commit message of "Refactor MMIO timer probing".
Rebase to 4.10.0-rc4
v19: https://lkml.org/lkml/2016/12/21/25
Fix a '\n' missing in a error message in arch_timer_mem_init.
Add "request_mem_region" for ioremapping cntbase, according to
f947ee1 clocksource/drivers/arm_arch_timer: Map frame with of_io_request_and_map()
Rebase to 4.9.0-gfb779ff
v18: https://lkml.org/lkml/2016/12/8/446
Fix 8/15 patch problem of "int ret;" in arch_timer_acpi_init.
Rebase to 4.9.0-rc8-g9269898
v17: https://lkml.org/lkml/2016/11/25/140
Take out some cleanups from 4/15.
Merge 5/15 and 6/15, improve PPI determination code,
improve commit message.
Rework counter frequency detection.
Move arch_timer_needs_of_probing into DT init call.
Move Platform Timer scan loop back to timer init call to avoid allocating
and free memory.
Improve all the exported functions' comment.
v16: https://lkml.org/lkml/2016/11/16/268
Fix patchset problem about static enum ppi_nr of 01/13 in v15.
Refactor arch_timer_detect_rate.
Refactor arch_timer_needs_probing.
v15: https://lkml.org/lkml/2016/11/15/366
Re-order patches
Add arm_arch_timer refactoring patches to prepare for GTDT:
1. rename some enums and defines, and some cleanups
2. separate out arch_timer_uses_ppi init code and fix a potential bug
3. Improve some new structs, refactor the timer init code.
Since the some structs have been changed, GTDT parser for memory-mapped
timer and SBSA Generic Watchdog timer have been update.
v14: https://lkml.org/lkml/2016/9/28/573
Separate memory-mapped timer GTDT support into two patches
1. Refactor the timer init code to prepare for GTDT
2. Add GTDT support for memory-mapped timer
v13: http://www.mail-archive.com/linux-kernel@vger.kernel.org/msg1231717.html
Improve arm_arch_timer code for memory-mapped
timer GTDT support, refactor original memory-mapped timer
dt support for reusing some common code.
v12: https://lkml.org/lkml/2016/9/13/250
Rebase to latest Linux 4.8-rc6
Delete the confusing "skipping" in the error message.
V11: https://lkml.org/lkml/2016/9/6/354
Rebase to latest Linux 4.8-rc5
Delete typedef (suggested by checkpatch.pl)
V10: https://lkml.org/lkml/2016/7/26/215
Drop the "readq" patch.
Rebase to latest Linux 4.7.
V9: https://lkml.org/lkml/2016/7/25/345
Improve pr_err message in acpi gtdt driver.
Update Commit message for 7/9
shorten the irq mapping function name
Improve GTDT driver for memory-mapped timer
v8: https://lkml.org/lkml/2016/7/19/660
Improve "pr_fmt(fmt)" definition: add "ACPI" in front of "GTDT",
and also improve printk message.
Simplify is_timer_block and is_watchdog.
Merge acpi_gtdt_desc_init and gtdt_arch_timer_init into acpi_gtdt_init();
Delete __init in include/linux/acpi.h for GTDT API
Make ARM64 select GTDT.
Delete "#include <linux/module.h>" from acpi_gtdt.c
Simplify GT block parse code.
v7: https://lkml.org/lkml/2016/7/13/769
Move the GTDT driver to drivers/acpi/arm64
Add add the ARM64-specific ACPI Support maintainers in MAINTAINERS
Merge 3 patches of GTDT parser driver.
Fix the for_each_platform_timer bug.
v6: https://lkml.org/lkml/2016/6/29/580
split the GTDT driver to 4 parts: basic, arch_timer, memory-mapped timer,
and SBSA Generic Watchdog timer
Improve driver by suggestions and example code from Daniel Lezcano
v5: https://lkml.org/lkml/2016/5/24/356
Sorting out all patches, simplify the API of GTDT driver:
GTDT driver just fills the data struct for arm_arch_timer driver.
v4: https://lists.linaro.org/pipermail/linaro-acpi/2016-March/006667.html
Delete the kvm relevant patches
Separate two patches for sorting out the code for arm_arch_timer.
Improve irq info export code to allow missing irq info in GTDT table.
v3: https://lkml.org/lkml/2016/2/1/658
Improve GTDT driver code:
(1)improve pr_* by defining pr_fmt(fmt)
(2)simplify gtdt_sbsa_gwdt_init
(3)improve gtdt_arch_timer_data_init, if table is NULL, it will try
to get GTDT table.
Move enum ppi_nr to arm_arch_timer.h, and add enum spi_nr.
Add arm_arch_timer get ppi from DT and GTDT support for kvm.
v2: https://lkml.org/lkml/2015/12/2/10
Rebase to latest kernel version(4.4-rc3).
Fix the bug about the config problem,
use CONFIG_ACPI_GTDT instead of CONFIG_ACPI in arm_arch_timer.c
v1: The first upstreaming version: https://lkml.org/lkml/2015/10/28/553
Fu Wei (11):
clocksource: arm_arch_timer: introduce a wrapper function to get the
frequency from mmio.
clocksource: arm_arch_timer: separate out device-tree code and remove
arch_timer_detect_rate
clocksource: arm_arch_timer: refactor arch_timer_needs_probing
clocksource: arm_arch_timer: move arch_timer_needs_of_probing into DT
init call
clocksource: arm_arch_timer: introduce some new structs to prepare for
GTDT
clocksource: arm_arch_timer: refactor MMIO timer probing.
acpi/arm64: Add GTDT table parse driver
clocksource: arm_arch_timer: simplify ACPI support code.
acpi/arm64: Add memory-mapped timer support in GTDT driver
clocksource: arm_arch_timer: add GTDT support for memory-mapped timer
acpi/arm64: Add SBSA Generic Watchdog support in GTDT driver
arch/arm64/Kconfig | 1 +
drivers/acpi/arm64/Kconfig | 3 +
drivers/acpi/arm64/Makefile | 1 +
drivers/acpi/arm64/gtdt.c | 381 +++++++++++++++++++++++++++++++++++
drivers/clocksource/arm_arch_timer.c | 326 +++++++++++++++++++-----------
include/clocksource/arm_arch_timer.h | 17 ++
include/linux/acpi.h | 7 +
7 files changed, 614 insertions(+), 122 deletions(-)
create mode 100644 drivers/acpi/arm64/gtdt.c
--
2.9.3
From: Fu Wei <fu.wei(a)linaro.org>
This patchset:
(1)Preparation for adding GTDT support in arm_arch_timer:
1. Introduce two functions to get the frequency from mmio and sysreg.
2. separate out device-tree code from arch_timer_detect_rate
3. remove arch_timer_detect_rate use arch_timer_get_*_freq directly
4. split arch_timer_rate for different types of timer
5. Refactor arch_timer_needs_probing, and move it into DT init call
6. Introduce some new structs and refactor the MMIO timer init code
for reusing some common code.
(2)Introduce ACPI GTDT parser: drivers/acpi/arm64/acpi_gtdt.c
Parse all kinds of timer in GTDT table of ACPI:arch timer,
memory-mapped timer and SBSA Generic Watchdog timer.
This driver can help to simplify all the relevant timer drivers,
and separate all the ACPI GTDT knowledge from them.
(3)Simplify ACPI code for arm_arch_timer
(4)Add GTDT support for ARM memory-mapped timer.
This patchset has been tested on the following platforms with ACPI enabled:
(1)ARM Foundation v8 model
Changelog:
v21: https://lkml.org/lkml/2017/2/6/
Introduce two functions to get the frequency from mmio and sysreg.
Remove arch_timer_detect_rate use arch_timer_get_*_freq directly
Split arch_timer_rate for different types of timer.
Skip secure timer frame in GTDT driver.
Rebase to git://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git arch-timer/cleanup
(The first 6 patches in v20 have been merged into arch-timer/cleanup branch)
v20: https://lkml.org/lkml/2017/1/18/534
Reorder the first 4 patches and split the 4th patches.
Leave CNTHCTL_* as they originally were.
Fix the bug in arch_timer_select_ppi.
Split "Rework counter frequency detection" patch.
Rework the arch_timer_detect_rate function.
Improve the commit message of "Refactor MMIO timer probing".
Rebase to 4.10.0-rc4
v19: https://lkml.org/lkml/2016/12/21/25
Fix a '\n' missing in a error message in arch_timer_mem_init.
Add "request_mem_region" for ioremapping cntbase, according to
f947ee1 clocksource/drivers/arm_arch_timer: Map frame with of_io_request_and_map()
Rebase to 4.9.0-gfb779ff
v18: https://lkml.org/lkml/2016/12/8/446
Fix 8/15 patch problem of "int ret;" in arch_timer_acpi_init.
Rebase to 4.9.0-rc8-g9269898
v17: https://lkml.org/lkml/2016/11/25/140
Take out some cleanups from 4/15.
Merge 5/15 and 6/15, improve PPI determination code,
improve commit message.
Rework counter frequency detection.
Move arch_timer_needs_of_probing into DT init call.
Move Platform Timer scan loop back to timer init call to avoid allocating
and free memory.
Improve all the exported functions' comment.
v16: https://lkml.org/lkml/2016/11/16/268
Fix patchset problem about static enum ppi_nr of 01/13 in v15.
Refactor arch_timer_detect_rate.
Refactor arch_timer_needs_probing.
v15: https://lkml.org/lkml/2016/11/15/366
Re-order patches
Add arm_arch_timer refactoring patches to prepare for GTDT:
1. rename some enums and defines, and some cleanups
2. separate out arch_timer_uses_ppi init code and fix a potential bug
3. Improve some new structs, refactor the timer init code.
Since the some structs have been changed, GTDT parser for memory-mapped
timer and SBSA Generic Watchdog timer have been update.
v14: https://lkml.org/lkml/2016/9/28/573
Separate memory-mapped timer GTDT support into two patches
1. Refactor the timer init code to prepare for GTDT
2. Add GTDT support for memory-mapped timer
v13: http://www.mail-archive.com/linux-kernel@vger.kernel.org/msg1231717.html
Improve arm_arch_timer code for memory-mapped
timer GTDT support, refactor original memory-mapped timer
dt support for reusing some common code.
v12: https://lkml.org/lkml/2016/9/13/250
Rebase to latest Linux 4.8-rc6
Delete the confusing "skipping" in the error message.
V11: https://lkml.org/lkml/2016/9/6/354
Rebase to latest Linux 4.8-rc5
Delete typedef (suggested by checkpatch.pl)
V10: https://lkml.org/lkml/2016/7/26/215
Drop the "readq" patch.
Rebase to latest Linux 4.7.
V9: https://lkml.org/lkml/2016/7/25/345
Improve pr_err message in acpi gtdt driver.
Update Commit message for 7/9
shorten the irq mapping function name
Improve GTDT driver for memory-mapped timer
v8: https://lkml.org/lkml/2016/7/19/660
Improve "pr_fmt(fmt)" definition: add "ACPI" in front of "GTDT",
and also improve printk message.
Simplify is_timer_block and is_watchdog.
Merge acpi_gtdt_desc_init and gtdt_arch_timer_init into acpi_gtdt_init();
Delete __init in include/linux/acpi.h for GTDT API
Make ARM64 select GTDT.
Delete "#include <linux/module.h>" from acpi_gtdt.c
Simplify GT block parse code.
v7: https://lkml.org/lkml/2016/7/13/769
Move the GTDT driver to drivers/acpi/arm64
Add add the ARM64-specific ACPI Support maintainers in MAINTAINERS
Merge 3 patches of GTDT parser driver.
Fix the for_each_platform_timer bug.
v6: https://lkml.org/lkml/2016/6/29/580
split the GTDT driver to 4 parts: basic, arch_timer, memory-mapped timer,
and SBSA Generic Watchdog timer
Improve driver by suggestions and example code from Daniel Lezcano
v5: https://lkml.org/lkml/2016/5/24/356
Sorting out all patches, simplify the API of GTDT driver:
GTDT driver just fills the data struct for arm_arch_timer driver.
v4: https://lists.linaro.org/pipermail/linaro-acpi/2016-March/006667.html
Delete the kvm relevant patches
Separate two patches for sorting out the code for arm_arch_timer.
Improve irq info export code to allow missing irq info in GTDT table.
v3: https://lkml.org/lkml/2016/2/1/658
Improve GTDT driver code:
(1)improve pr_* by defining pr_fmt(fmt)
(2)simplify gtdt_sbsa_gwdt_init
(3)improve gtdt_arch_timer_data_init, if table is NULL, it will try
to get GTDT table.
Move enum ppi_nr to arm_arch_timer.h, and add enum spi_nr.
Add arm_arch_timer get ppi from DT and GTDT support for kvm.
v2: https://lkml.org/lkml/2015/12/2/10
Rebase to latest kernel version(4.4-rc3).
Fix the bug about the config problem,
use CONFIG_ACPI_GTDT instead of CONFIG_ACPI in arm_arch_timer.c
v1: The first upstreaming version: https://lkml.org/lkml/2015/10/28/553
Fu Wei (13):
clocksource: arm_arch_timer: introduce two functions to get the
frequency from mmio and sysreg.
clocksource: arm_arch_timer: separate out device-tree code from
arch_timer_detect_rate
clocksource: arm_arch_timer: remove arch_timer_detect_rate
clocksource: arm_arch_timer: split arch_timer_rate for different types
of timer
clocksource: arm_arch_timer: refactor arch_timer_needs_probing
clocksource: arm_arch_timer: move arch_timer_needs_of_probing into DT
init call
clocksource: arm_arch_timer: introduce some new structs to prepare for
GTDT
clocksource: arm_arch_timer: refactor MMIO timer probing.
acpi/arm64: Add GTDT table parse driver
clocksource: arm_arch_timer: simplify ACPI support code.
acpi/arm64: Add memory-mapped timer support in GTDT driver
clocksource: arm_arch_timer: add GTDT support for memory-mapped timer
acpi/arm64: Add SBSA Generic Watchdog support in GTDT driver
arch/arm64/Kconfig | 1 +
drivers/acpi/arm64/Kconfig | 3 +
drivers/acpi/arm64/Makefile | 1 +
drivers/acpi/arm64/gtdt.c | 378 +++++++++++++++++++++++++++++++++++
drivers/clocksource/arm_arch_timer.c | 354 ++++++++++++++++++++------------
drivers/watchdog/Kconfig | 1 +
include/clocksource/arm_arch_timer.h | 17 ++
include/linux/acpi.h | 7 +
8 files changed, 635 insertions(+), 127 deletions(-)
create mode 100644 drivers/acpi/arm64/gtdt.c
--
2.9.3
FWTS 17.03.00 is released.
It is available from:
Tar: http://fwts.ubuntu.com/release/fwts-V17.03.00.tar.gz
PPA:
https://launchpad.net/~firmware-testing-team/+archive/ubuntu/ppa-fwts-stable
Release notes:
https://wiki.ubuntu.com/FirmwareTestSuite/ReleaseNotes/17.03.00
= New Features =
* ACPICA: Update to version 20170224
* sbbr: Add "--sbbr" flag to support running SBBR Tests.
* acpi: iort: Add support for SMMUv3
= Fixed Bugs =
* dmicheck: update chassis type limit according to SMBIOS 3.0
* dmicheck: update type 3, 4, 9 limits according to SMBIOS spec 3.11
* lib: fwts_alloc: move all memory tracking to hash records
* klog.json: Add some missing ACPI Power Management kernel messages
to klog database
* opal: reduce scope of variable 'prop_buf'
* lib: fwts_alloc: clear hash table at end of garbage collection
* lib: fwts_alloc: fix incorrect accounting on hash entry count
* acpi: mpst: remove redundant assigments to passed on errors
* acpi: drtm: remove redundant assigments to passed on errors
* opal: pci_info: remove redundant assignment to bytes
* lib: fwts_devicetree.h: minor code formatting cleanups
* opal: make found_dimm static as it is local to just this source
* opal: minor code style changes
* opal: mem_info check for dimm presence in property
* acpi: acpiinfo: Print minor version where applicable
= Detail Changelog =
To check /usr/share/doc/fwts/changelog.Debian.gz or
fwts_17.03.00-0ubuntu1.debian.tar.gz from
https://launchpad.net/ubuntu/+source/fwts
FWTS 17.02.00 is released.
It is available from:
Tar: http://fwts.ubuntu.com/release/fwts-V17.02.00.tar.gz
PPA: https://launchpad.net/~firmware-testing-team/+archive/ubuntu/ppa-fwts-stable
Release notes: https://wiki.ubuntu.com/FirmwareTestSuite/ReleaseNotes/17.02.00
= New Features =
* ACPICA: Update to version 20170119
* acpi: s3: Add new --s3-resume-hook option
* Add README_JSON.txt for FWTS
* klog.json: Add some more kernel messages to klog data base
* klog.json: Add some EFI driver kernel messages to klog database
* klog.json: Add some EFI quirk driver kernel messages to klog database
* klog.json: Add some more EFI driver kernel messages to klog database
* klog.json: Add some miscellaneous messages to klog database
* Integrate PPC for FWTS-LIVE Frontend
* fedora: Add fedora internal versioning number in fwts.spec
* fedora: Add fwts.spec.in
* fedora: Update buildsrpm.sh for dynamic versioning
* fwts_framework: handle -? option differently from -h
= Fixed Bugs =
* dmicheck: fix mistakes in error messages for SMBIOS type 9
* README: update git URL to http://kernel.ubuntu.com/git/hwe/fwts.git/
* lib: fwts_args: fix arg parameter sanity range checking
* uefi/uefirtvariable: fix options check error messages
* clean up missing whitespaces
* acpi: acpitables: fix indentation, no functional change
* devicetree: dt_sysinfo: reduce scope of version_buf
* lib: fwts_acpid: remove re-assignment of ptr to NULL
* lib: fwts_cpu: force compiler to increment i rather than optimize it out
* opal: mem_info: remove redundant initialization of prop_string to NULL
* opal: mem_info: reduce scope of some variables
* opal: cpu_info: remove redundant initialization of prop_string to NULL
* opal: cpu_info: reduce scope of some variables
* opal: pci_info: reduce scope of some variables
* doc: remove trailing white spaces
* opal/mtd_info.c: make a couple of functions static to reduce global scope
* uefi: uefirtmisc: make gEfiCapsuleHeaderGuid static
* opal: prd_info: make a couple of functions static to reduce global scope
* ipmi: bmc: make fwts_bmc_info_check static
* acpi: msdm: make variable table static
* acpi: slit: make variable table static
* acpi: fpdt: make variable table static
* acpi: slic: make variable table static
* misc: fix various spelling mistakes
* data: fix some spelling mistakes in klog and olog databases
* lib: fwts_olog: ensure buffer is null terminated
* lib: fwts_pipeio: fix memory leak on zero sized text allocation
* fwts-alloc: track memory allocations, cleans up 6 coverity scan warnings
* fwts-alloc: garbage collect hash records
* klog.json: fix a couple of klog patterns
* fedora: Fix location of klog.json file in fwts.spec
= Detail Changelog =
To check /usr/share/doc/fwts/changelog.Debian.gz or
fwts_17.02.00-0ubuntu1.debian.tar.gz from
https://launchpad.net/ubuntu/+source/fwts
--
Cheers,
Alex Hung
If you're on the To: line, you have a kernel tree currently being
build/boot tested by kernelCI.org that will be disabled (hopefully,
temporarily.)
Our infrastructure (graciously hosted by Linaro) is having several
problems, and is not currently scaling well as we've been adding
trees. These issues have been causing a variety of problems, but
mainly resulting lots of false failures and generally low quality and
usefulness of the reporting.
Until we have the time and resources to address these growing pains
(kernel CI is currently all-volunteer, spare-time only), we've decided
to reduce the number of trees we build to: mainline, linux-next,
arm-soc, and stable.
This will reduce load and (hopefully) increase the quality of the
remaining upstream-focused build/boot results until we have the
resources (both time and humans) to address the current problems and
make things scalable to a large number of trees.
Sorry for the inconvenience,
Kevin
(on behalf of the core kernel CI team of myself and the Linaro crew:
Tyler Baker, Milo Casagrande, Mark Brown and Matt Hart.)
Here's another stab at this writeup. I'd appreciate any comments!
Changes from v1 to v2:
- Consumer/Producer is defined for Extended Address Space descriptors;
should be ignored for QWord/DWord/Word Address Space descriptors
- New arches may use Extended Address Space descriptors in PNP0A03 for
bridge registers, including ECAM (if the arch adds support for this)
- Add more details about MCFG and _CBA (Lv's suggestion)
- Incorporate Rafael's suggestions
---
Bjorn Helgaas (1):
PCI: Add information about describing PCI in ACPI
Documentation/PCI/00-INDEX | 2
Documentation/PCI/acpi-info.txt | 180 +++++++++++++++++++++++++++++++++++++++
2 files changed, 182 insertions(+)
create mode 100644 Documentation/PCI/acpi-info.txt
From: Fu Wei <fu.wei(a)linaro.org>
This patchset:
(1)Preparation for adding GTDT support in arm_arch_timer:
1. Clean up printk() usage
2. Rename the type macros
3. Rename the PPI enum & enum values
4. Move the type macro and PPI enum into the header file
5. Add new enum for SPIs
6. Rework PPI determination;
7. Rework counter frequency detection;
8. Refactor arch_timer_needs_probing, move it into DT init call
9. Introduce some new structs and refactor the MMIO timer init code
for reusing some common code.
(2)Introduce ACPI GTDT parser: drivers/acpi/arm64/acpi_gtdt.c
Parse all kinds of timer in GTDT table of ACPI:arch timer,
memory-mapped timer and SBSA Generic Watchdog timer.
This driver can help to simplify all the relevant timer drivers,
and separate all the ACPI GTDT knowledge from them.
(3)Simplify ACPI code for arm_arch_timer
(4)Add GTDT support for ARM memory-mapped timer.
This patchset has been tested on the following platforms with ACPI enabled:
(1)ARM Foundation v8 model
Changelog:
v20: https://lkml.org/lkml/2017/1/18/
Reorder the first 4 patches and split the 4th patches.
Leave CNTHCTL_* as they originally were.
Fix the bug in arch_timer_select_ppi.
Split "Rework counter frequency detection" patch.
Rework the arch_timer_detect_rate function.
Improve the commit message of "Refactor MMIO timer probing".
Rebase to 4.10.0-rc4
v19: https://lkml.org/lkml/2016/12/21/25
Fix a '\n' missing in a error message in arch_timer_mem_init.
Add "request_mem_region" for ioremapping cntbase, according to
f947ee1 clocksource/drivers/arm_arch_timer: Map frame with of_io_request_and_map()
Rebase to 4.9.0-gfb779ff
v18: https://lkml.org/lkml/2016/12/8/446
Fix 8/15 patch problem of "int ret;" in arch_timer_acpi_init.
Rebase to 4.9.0-rc8-g9269898
v17: https://lkml.org/lkml/2016/11/25/140
Take out some cleanups from 4/15.
Merge 5/15 and 6/15, improve PPI determination code,
improve commit message.
Rework counter frequency detection.
Move arch_timer_needs_of_probing into DT init call.
Move Platform Timer scan loop back to timer init call to avoid allocating
and free memory.
Improve all the exported functions' comment.
v16: https://lkml.org/lkml/2016/11/16/268
Fix patchset problem about static enum ppi_nr of 01/13 in v15.
Refactor arch_timer_detect_rate.
Refactor arch_timer_needs_probing.
v15: https://lkml.org/lkml/2016/11/15/366
Re-order patches
Add arm_arch_timer refactoring patches to prepare for GTDT:
1. rename some enums and defines, and some cleanups
2. separate out arch_timer_uses_ppi init code and fix a potential bug
3. Improve some new structs, refactor the timer init code.
Since the some structs have been changed, GTDT parser for memory-mapped
timer and SBSA Generic Watchdog timer have been update.
v14: https://lkml.org/lkml/2016/9/28/573
Separate memory-mapped timer GTDT support into two patches
1. Refactor the timer init code to prepare for GTDT
2. Add GTDT support for memory-mapped timer
v13: http://www.mail-archive.com/linux-kernel@vger.kernel.org/msg1231717.html
Improve arm_arch_timer code for memory-mapped
timer GTDT support, refactor original memory-mapped timer
dt support for reusing some common code.
v12: https://lkml.org/lkml/2016/9/13/250
Rebase to latest Linux 4.8-rc6
Delete the confusing "skipping" in the error message.
V11: https://lkml.org/lkml/2016/9/6/354
Rebase to latest Linux 4.8-rc5
Delete typedef (suggested by checkpatch.pl)
V10: https://lkml.org/lkml/2016/7/26/215
Drop the "readq" patch.
Rebase to latest Linux 4.7.
V9: https://lkml.org/lkml/2016/7/25/345
Improve pr_err message in acpi gtdt driver.
Update Commit message for 7/9
shorten the irq mapping function name
Improve GTDT driver for memory-mapped timer
v8: https://lkml.org/lkml/2016/7/19/660
Improve "pr_fmt(fmt)" definition: add "ACPI" in front of "GTDT",
and also improve printk message.
Simplify is_timer_block and is_watchdog.
Merge acpi_gtdt_desc_init and gtdt_arch_timer_init into acpi_gtdt_init();
Delete __init in include/linux/acpi.h for GTDT API
Make ARM64 select GTDT.
Delete "#include <linux/module.h>" from acpi_gtdt.c
Simplify GT block parse code.
v7: https://lkml.org/lkml/2016/7/13/769
Move the GTDT driver to drivers/acpi/arm64
Add add the ARM64-specific ACPI Support maintainers in MAINTAINERS
Merge 3 patches of GTDT parser driver.
Fix the for_each_platform_timer bug.
v6: https://lkml.org/lkml/2016/6/29/580
split the GTDT driver to 4 parts: basic, arch_timer, memory-mapped timer,
and SBSA Generic Watchdog timer
Improve driver by suggestions and example code from Daniel Lezcano
v5: https://lkml.org/lkml/2016/5/24/356
Sorting out all patches, simplify the API of GTDT driver:
GTDT driver just fills the data struct for arm_arch_timer driver.
v4: https://lists.linaro.org/pipermail/linaro-acpi/2016-March/006667.html
Delete the kvm relevant patches
Separate two patches for sorting out the code for arm_arch_timer.
Improve irq info export code to allow missing irq info in GTDT table.
v3: https://lkml.org/lkml/2016/2/1/658
Improve GTDT driver code:
(1)improve pr_* by defining pr_fmt(fmt)
(2)simplify gtdt_sbsa_gwdt_init
(3)improve gtdt_arch_timer_data_init, if table is NULL, it will try
to get GTDT table.
Move enum ppi_nr to arm_arch_timer.h, and add enum spi_nr.
Add arm_arch_timer get ppi from DT and GTDT support for kvm.
v2: https://lkml.org/lkml/2015/12/2/10
Rebase to latest kernel version(4.4-rc3).
Fix the bug about the config problem,
use CONFIG_ACPI_GTDT instead of CONFIG_ACPI in arm_arch_timer.c
v1: The first upstreaming version: https://lkml.org/lkml/2015/10/28/553
Fu Wei (17):
clocksource/drivers/arm_arch_timer: Improve printk relevant code
clocksource/drivers/arm_arch_timer: Rename the timer type macros.
clocksource/drivers/arm_arch_timer: Rename the PPI enum and its
values.
clocksource/drivers/arm_arch_timer: Move enums and defines to header
file.
clocksource/drivers/arm_arch_timer: Add a new enum for spi type
clocksource/drivers/arm_arch_timer: rework PPI determination
clocksource/drivers/arm_arch_timer: Separate out device-tree code from
arch_timer_detect_rate
clocksource/drivers/arm_arch_timer: Rework counter frequency
detection.
clocksource/drivers/arm_arch_timer: Refactor arch_timer_needs_probing
clocksource/drivers/arm_arch_timer: Move arch_timer_needs_of_probing
into DT init call
clocksource/drivers/arm_arch_timer: Introduce some new structs to
prepare for GTDT
clocksource/drivers/arm_arch_timer: Refactor MMIO timer probing.
acpi/arm64: Add GTDT table parse driver
clocksource/drivers/arm_arch_timer: Simplify ACPI support code.
acpi/arm64: Add memory-mapped timer support in GTDT driver
clocksource/drivers/arm_arch_timer: Add GTDT support for memory-mapped
timer
acpi/arm64: Add SBSA Generic Watchdog support in GTDT driver
arch/arm64/Kconfig | 1 +
drivers/acpi/arm64/Kconfig | 3 +
drivers/acpi/arm64/Makefile | 1 +
drivers/acpi/arm64/gtdt.c | 374 ++++++++++++++++++++++++++
drivers/clocksource/arm_arch_timer.c | 497 +++++++++++++++++++++--------------
drivers/watchdog/Kconfig | 1 +
include/clocksource/arm_arch_timer.h | 35 +++
include/linux/acpi.h | 7 +
8 files changed, 717 insertions(+), 202 deletions(-)
create mode 100644 drivers/acpi/arm64/gtdt.c
--
2.9.3