Yasuaki Ishimatsu | 2 Sep 03:53 2014

Question of " 202317a : ACPI / scan: Add acpi_device objects for all device nodes in the namespace" commit

Hi Rafael,

Why is _SUN method decoded and the sun sysfs created even if _STA reports
that the device is not present and not functional?

By this commit, "202317a : ACPI / scan: Add acpi_device objects for all
device nodes in the namespace", all device nodes in the namespace are
shown under /sys/bus/acpi/devices direcotry even if the devices are not
present and not functional.

But ACPI specification says against return value information of _STA:
A device can only decode its hardware resources if both bits 0 and 1 are set.
If the device is not present (bit 0 cleared) or not enabled (bit 1 cleared),
then the device must not decode its resources.

In my understanding, when the device is not present and not functional,
_SUN of the device must not be decoded. Is my understanding worng?

In our box, when the device is not present and not functional, _SUN method
of the device returns wrong value. And the values is cached to
acpi_device->pnp.sun. So when hot adding the device and changing _SUN value,
the information is not reflected to acpi_device->pnp.sun.

I think the issue is solved by not caching sun value. But at first, I want
to know whether current implementation is correct or not.

Thanks,
Yasuaki Ishimatsu

--
(Continue reading)

Hanjun Guo | 1 Sep 17:05 2014

[RFC PATCH for Juno 0/2] Drivers for Juno to boot from ACPI

This patch set is example of the sort of driver changes needed to boot
Juno using ACPI tables, which using the ACPI tables devloped for MS
Windows and published by ARM [1].

For the smsc911x driver, it is based on the following ASL fragment
which is part of DSDT for Juno:

    // LAN9118 Ethernet
    //
    Device(ETH0) {
      Name(_HID, "ARMH9118")
      Name(_UID, Zero)
      Name(_CRS, ResourceTemplate() {
              Memory32Fixed(ReadWrite, 0x1A000000, 0x1000)
              Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 192 }
      })
    }

UART driver is just for review purpose, ARM is working on a more
functional UART driver that does not poll to transmit. But it shows
how to initialise SBSA compatible UART without clock definitions in
DSDT.

You also can refer to the boot log from [2].

[1]: https://github.com/ARM-software/edk2/tree/juno-acpi/ArmPlatformPkg/ArmJunoPkg/AcpiTables
[2]: http://www.xora.org.uk/2014/08/29/juno-booting-from-acpi-tables/

Graeme Gregory (2):
  net: smsc911x add support for probing from ACPI
(Continue reading)

Hanjun Guo | 1 Sep 16:57 2014

[PATCH v3 00/17] Introduce ACPI for ARM64 based on ACPI 5.1

ACPI 5.1 has been released and now be freely available for
download [1]. It fixed some major gaps to run ACPI on ARM,
this patch just follow the ACPI 5.1 spec and prepare the
code to run ACPI on ARM64.

ACPI 5.1 has some major changes for the following tables and
method which are essential for ARM platforms:
1) MADT table updates.
2) FADT updates for PSCI
3) GTDT

This patch set is the ARM64 ACPI core patches covered MADT, FADT
and GTDT, platform board specific drivers are not covered by this
patch set, but we provide drivers for Juno to boot with ACPI only
in the follwing patch set for review purpose.

We first introduce acpi.c and its related head file which are needed
by ACPI core, and then get RSDP to extract all the ACPI boot-time tables.
When all the boot-time tables (FADT, MADT, GTDT) are ready, then
parse them to init the sytem when booted. Specifically, 
a) we use FADT to init PSCI and use PSCI to boot SMP;
b) Use MADT for GIC init and SMP init;
c) GTDT for arch timer init.

This patch set is based on 3.17-rc2 and was tested by Graeme on Juno
and FVP base model boot with ACPI only OK, if you want to test them,
you can pull from acpi-5.1-v3 branch in leg/acpi repo:
git://git.linaro.org/leg/acpi/acpi.git

Updates since v2:
(Continue reading)

Rafael J. Wysocki | 29 Aug 23:14 2014

[GIT PULL] ACPI and power management fixes for 3.17-rc3

Hi Linus,

Please pull from

 git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git \
 pm+acpi-3.17-rc3

to receive more ACPI and power management fixes for v3.17-rc3 with
top-most commit 0b4f58b7cebd74ede19d13b81fb43a7eaeba10a3

 Merge branch 'pm-cpufreq'

on top of commit 52addcf9d6669fa439387610bc65c92fa0980cef

 Linux 3.17-rc2

These are ACPI regression fixes (fixed events handling, EC driver
and PNP enumeration), intel_pstate fix for excessive messages on
boot, spurious __init removal from the s5pv210 cpufreq driver and
new IDs for Intel Braswell.

Specifics:

 - Fix for an ACPI regression related to the handling of fixed events
   that caused netlink routines to be (incorrectly) run in interrupt
   context from Lan Tianyu.

 - Fix for an ACPI EC driver regression on Acer Aspire V5-573G that
   caused AC/battery plug/unplug and video brightness change
   notifications to be delayed on that machine from Lv Zheng.
(Continue reading)

Jiang Liu | 29 Aug 11:26 2014
Picon

[Patch v4] x86, irq, PCI: Keep IRQ assignment for runtime power management

Now IOAPIC driver dynamically allocates IRQ numbers for IOAPIC pins.
We need to keep IRQ assignment for PCI devices during runtime power
management, otherwise it may cause failure of device wakeups.

Commit 3eec595235c17a7 "x86, irq, PCI: Keep IRQ assignment for PCI
devices during suspend/hibernation" has fixed the issue for suspend/
hibernation, we also need the same fix for runtime device sleep too.

Fix: https://bugzilla.kernel.org/show_bug.cgi?id=83271
Reported-and-Tested-by: EmanueL Czirai <amanual <at> openmailbox.org>
Signed-off-by: Jiang Liu <jiang.liu <at> linux.intel.com>
---
 arch/x86/include/asm/io_apic.h |    2 ++
 arch/x86/kernel/apic/io_apic.c |   12 ++++++++++++
 arch/x86/pci/intel_mid_pci.c   |    2 +-
 arch/x86/pci/irq.c             |    2 +-
 drivers/acpi/pci_irq.c         |    4 ++++
 5 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/arch/x86/include/asm/io_apic.h b/arch/x86/include/asm/io_apic.h
index 0aeed5ca356e..478c490f3654 100644
--- a/arch/x86/include/asm/io_apic.h
+++ b/arch/x86/include/asm/io_apic.h
 <at>  <at>  -227,6 +227,8  <at>  <at>  static inline void io_apic_modify(unsigned int apic, unsigned int reg, unsigned

 extern void io_apic_eoi(unsigned int apic, unsigned int vector);

+extern bool mp_should_keep_irq(struct device *dev);
+
 #else  /* !CONFIG_X86_IO_APIC */
(Continue reading)

Lan Tianyu | 29 Aug 04:50 2014
Picon

[PATCH] ACPI/EC: Add msi quirk for Clevo W350etq

Clevo W350etq's EC will not produce GPE interrupt some time after
booting. The ACPI notify event won't trigger when the issue takes
place. After debugging, adding msi quirk for the machine can fix
the issue. This patch is to add msi quirk for the machine.

Reference: https://bugzilla.kernel.org/show_bug.cgi?id=77431
Reported-and-tested-by: qbanin <at> gmail.com
Signed-off-by: Lan Tianyu <tianyu.lan <at> intel.com>
---
 drivers/acpi/ec.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/acpi/ec.c b/drivers/acpi/ec.c
index a66ab65..d8535b3 100644
--- a/drivers/acpi/ec.c
+++ b/drivers/acpi/ec.c
 <at>  <at>  -1015,6 +1015,10  <at>  <at>  static struct dmi_system_id ec_dmi_table[] __initdata = {
 	DMI_MATCH(DMI_SYS_VENDOR, "Quanta"),
 	DMI_MATCH(DMI_PRODUCT_NAME, "TW9/SW9"),}, NULL},
 	{
+	ec_flag_msi, "Clevo W350etq", {
+	DMI_MATCH(DMI_SYS_VENDOR, "CLEVO CO."),
+	DMI_MATCH(DMI_PRODUCT_NAME, "W35_37ET"),}, NULL},
+	{
 	ec_validate_ecdt, "ASUS hardware", {
 	DMI_MATCH(DMI_BIOS_VENDOR, "ASUS") }, NULL},
 	{
--

-- 
1.8.4.rc0.1.g8f6a3e5.dirty

(Continue reading)

Lv Zheng | 29 Aug 03:32 2014
Picon

[PATCH] ACPICA: ACPI 5.1: Add support for runtime validation of _DSD package.

From: Mika Westerberg <mika.westerberg <at> linux.intel.com>

Adds ACPICA kernel runtime support to validate contents/format
of the _DSD package, similar to the iASL support. Ported by
Mika Westerberg.

Signed-off-by: Mika Westerberg <mika.westerberg <at> linux.intel.com>
Signed-off-by: Bob Moore <robert.moore <at> intel.com>
Signed-off-by: Lv Zheng <lv.zheng <at> intel.com>
---
 drivers/acpi/acpica/nsprepkg.c |   39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/drivers/acpi/acpica/nsprepkg.c b/drivers/acpi/acpica/nsprepkg.c
index 68f7258..1b13b92 100644
--- a/drivers/acpi/acpica/nsprepkg.c
+++ b/drivers/acpi/acpica/nsprepkg.c
 <at>  <at>  -316,6 +316,45  <at>  <at>  acpi_ns_check_package(struct acpi_evaluate_info *info,
 		    acpi_ns_check_package_list(info, package, elements, count);
 		break;

+	case ACPI_PTYPE2_UUID_PAIR:
+
+		/* The package must contain pairs of (UUID + type) */
+
+		if (count & 1) {
+			expected_count = count + 1;
+			goto package_too_small;
+		}
+
(Continue reading)

Hans de Goede | 28 Aug 16:47 2014
Picon

Dealing with desktops with an acpi-video interface claiming backlight control

Hi All,

I've been on the receiving and of several bug reports
complaining about Linux showing a backlight control
(and the desktop environment a brightness slider) on
non laptop machines:

https://bugzilla.redhat.com/show_bug.cgi?id=1097436
https://bugzilla.redhat.com/show_bug.cgi?id=1133327
https://bugzilla.redhat.com/show_bug.cgi?id=1133329
https://bugzilla.redhat.com/show_bug.cgi?id=1133646

Note the first one is already fixed in asus-wmi.c, as
that seemed best at the time. But the problem seems
to be wider then just Asus motherboards, and so far
all the machines with this issue seem to have this
issue due to acpi-video registering a backlight
interface.

For the asus-wmi.c driver the following solution was
chosen:

        /* Some Asus desktop boards export an acpi-video backlight interface,
           stop this from showing up */
        chassis_type = dmi_get_system_info(DMI_CHASSIS_TYPE);
        if (chassis_type && !strcmp(chassis_type, "3"))
                acpi_video_dmi_promote_vendor();

That will work for 2 of the 3 new models too, the 3th
model has a value of "6", aka "Mini Tower", so we could
(Continue reading)

Sudip Mukherjee | 28 Aug 15:47 2014
Picon

[PATCH v2] acpi: fan.c: printk replacement

printk replaced with corresponding dev_err and dev_info 
fixed one broken user-visible string 
multiine comment edited for correct commenting style 
asm/uaccess.h replaced with linux/uaccess.h
PREFIX removed

Signed-off-by: Sudip Mukherjee <sudip <at> vectorindia.org>
---

modified with reference to the discussion at https://lkml.org/lkml/2014/8/22/176 

 drivers/acpi/fan.c | 18 ++++++++----------
 1 file changed, 8 insertions(+), 10 deletions(-)

diff --git a/drivers/acpi/fan.c b/drivers/acpi/fan.c
index 8acf53e..5328b10 100644
--- a/drivers/acpi/fan.c
+++ b/drivers/acpi/fan.c
 <at>  <at>  -27,12 +27,10  <at>  <at> 
 #include <linux/module.h>
 #include <linux/init.h>
 #include <linux/types.h>
-#include <asm/uaccess.h>
+#include <linux/uaccess.h>
 #include <linux/thermal.h>
 #include <linux/acpi.h>

-#define PREFIX "ACPI: "
-
 #define ACPI_FAN_CLASS			"fan"
(Continue reading)

Sudip Mukherjee | 28 Aug 13:33 2014
Picon

[PATCH][RESEND] acpi: fan.c: printk replacement

printk replaced with corresponding dev_err and dev_info 
fixed one broken user-visible string 
multiine comment edited for correct commenting style 
asm/uaccess.h replaced with linux/uaccess.h
PREFIX removed

Signed-off-by: Sudip Mukherjee <sudip <at> vectorindia.org>
---

modified with reference to the discussion at https://lkml.org/lkml/2014/8/22/176 

 drivers/acpi/fan.c | 18 ++++++++----------
 1 file changed, 8 insertions(+), 10 deletions(-)

diff --git a/drivers/acpi/fan.c b/drivers/acpi/fan.c
index 8acf53e..5328b10 100644
--- a/drivers/acpi/fan.c
+++ b/drivers/acpi/fan.c
 <at>  <at>  -27,12 +27,10  <at>  <at> 
 #include <linux/module.h>
 #include <linux/init.h>
 #include <linux/types.h>
-#include <asm/uaccess.h>
+#include <linux/uaccess.h>
 #include <linux/thermal.h>
 #include <linux/acpi.h>

-#define PREFIX "ACPI: "
-
 #define ACPI_FAN_CLASS			"fan"
(Continue reading)

Ulf Hansson | 28 Aug 10:38 2014

[PATCH v2 0/9] PM / Domains: Generic OF-based support

Changes in v2:
	- Fix the ACPI patch, it didn't even compile for CONFIG_ACPI.
	- Updated some comments in code and in commit messages.
	- Fixed the dev_pm_domain_attach API to handle EPROBE_DEFER properly.
	- Rebased the ARM Exynos patch.
	- Added some Tested-by tags.

This patchset has a bit of a history and some parts of it has been posted
earlier.

http://lists.infradead.org/pipermail/linux-arm-kernel/2014-June/262725.html

In the first revision I intentially didn't increase version number of the
patches, since I think it would have cause more confusion than clarity.

A summary of changes in V1 and since the last patchset, from the link above:
	- Instead of letting driver core handling the device to power domain
	binding/unbinding, follow the behavior of how the ACPI power domain
	is handled.

This is a summary of what these patches are intended to do:

1)
Add generic power domain OF-based support which also includes APIs to handle
attach/detach of generic power domains to devices.

2)
Adding a common API to attach/detach power domains and include support for the
ACPI and the generic power domain in there.

(Continue reading)


Gmane