[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <d9591107-cce8-417d-a8a3-72482d939c9c@gmail.com>
Date: Mon, 22 Jan 2024 10:14:02 +0100
From: Matthias Brugger <matthias.bgg@...il.com>
To: Mark Hasemeyer <markhas@...omium.org>, LKML <linux-kernel@...r.kernel.org>
Cc: Sudeep Holla <sudeep.holla@....com>,
AngeloGioacchino Del Regno <angelogioacchino.delregno@...labora.com>,
Rob Herring <robh@...nel.org>, Andy Shevchenko
<andriy.shevchenko@...el.com>,
Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>,
Konrad Dybcio <konrad.dybcio@...aro.org>, Raul Rangel
<rrangel@...omium.org>, Tzung-Bi Shih <tzungbi@...nel.org>,
AKASHI Takahiro <takahiro.akashi@...aro.org>,
Alexandre TORGUE <alexandre.torgue@...com>,
Alim Akhtar <alim.akhtar@...sung.com>,
Andre Przywara <andre.przywara@....com>,
Andrew Morton <akpm@...ux-foundation.org>,
Andy Shevchenko <andriy.shevchenko@...ux.intel.com>,
Baoquan He <bhe@...hat.com>, Bartosz Golaszewski <brgl@...ev.pl>,
Benson Leung <bleung@...omium.org>,
Bhanu Prakash Maiya <bhanumaiya@...omium.org>,
Bjorn Andersson <andersson@...nel.org>, Chen-Yu Tsai <wenst@...omium.org>,
Conor Dooley <conor+dt@...nel.org>, Daniel Scally <djrscally@...il.com>,
David Gow <davidgow@...gle.com>, Frank Rowand <frowand.list@...il.com>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Guenter Roeck <groeck@...omium.org>,
Heikki Krogerus <heikki.krogerus@...ux.intel.com>,
Heiko Stuebner <heiko@...ech.de>, Jonathan Hunter <jonathanh@...dia.com>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
Len Brown <lenb@...nel.org>, Linus Walleij <linus.walleij@...aro.org>,
Mark Brown <broonie@...nel.org>,
Mika Westerberg <mika.westerberg@...ux.intel.com>,
Nick Hawkins <nick.hawkins@....com>, Paul Barker <paul.barker@...cloud.com>,
Prashant Malani <pmalani@...omium.org>, "Rafael J. Wysocki"
<rafael@...nel.org>, Rob Barnes <robbarnes@...gle.com>,
Rob Herring <robh+dt@...nel.org>, Romain Perier <romain.perier@...il.com>,
Sakari Ailus <sakari.ailus@...ux.intel.com>,
Stephen Boyd <swboyd@...omium.org>, Takashi Iwai <tiwai@...e.de>,
Thierry Reding <thierry.reding@...il.com>,
Uwe Kleine-König <u.kleine-koenig@...gutronix.de>,
Wei Xu <xuwei5@...ilicon.com>, Wolfram Sang <wsa@...nel.org>,
chrome-platform@...ts.linux.dev, cros-qcom-dts-watchers@...omium.org,
devicetree@...r.kernel.org, linux-acpi@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, linux-arm-msm@...r.kernel.org,
linux-gpio@...r.kernel.org, linux-i2c@...r.kernel.org,
linux-mediatek@...ts.infradead.org, linux-rockchip@...ts.infradead.org,
linux-samsung-soc@...r.kernel.org, linux-tegra@...r.kernel.org
Subject: Re: [PATCH v4 00/24] Improve IRQ wake capability reporting and update
the cros_ec driver to use it
On 02/01/2024 22:07, Mark Hasemeyer wrote:
> Currently the cros_ec driver assumes that its associated interrupt is
> wake capable. This is an incorrect assumption as some Chromebooks use a
> separate wake pin, while others overload the interrupt for wake and IO.
> This patch train updates the driver to query the underlying ACPI/DT data
> to determine whether or not the IRQ should be enabled for wake.
>
> Both the device tree and ACPI systems have methods for reporting IRQ
> wake capability. In device tree based systems, a node can advertise
> itself as a 'wakeup-source'. In ACPI based systems, GpioInt and
> Interrupt resource descriptors can use the 'SharedAndWake' or
> 'ExclusiveAndWake' share types.
>
> Some logic is added to the platform, ACPI, and DT subsystems to more
> easily pipe wakeirq information up to the driver.
>
Patch 9, 10, 11 and 12 applied to the mediatek tree.
Thanks!
> Changes in v4:
> -Rebase on linux-next
> -See each patch for patch specific changes
>
> Changes in v3:
> -Rebase on linux-next
> -See each patch for patch specific changes
>
> Changes in v2:
> -Rebase on linux-next
> -Add cover letter
> -See each patch for patch specific changes
>
> Mark Hasemeyer (24):
> resource: Add DEFINE_RES_*_NAMED_FLAGS macro
> gpiolib: acpi: Modify acpi_dev_irq_wake_get_by() to use resource
> i2c: acpi: Modify i2c_acpi_get_irq() to use resource
> dt-bindings: power: Clarify wording for wakeup-source property
> ARM: dts: tegra: Enable cros-ec-spi as wake source
> ARM: dts: rockchip: rk3288: Enable cros-ec-spi as wake source
> ARM: dts: samsung: exynos5420: Enable cros-ec-spi as wake source
> ARM: dts: samsung: exynos5800: Enable cros-ec-spi as wake source
> arm64: dts: mediatek: mt8173: Enable cros-ec-spi as wake source
> arm64: dts: mediatek: mt8183: Enable cros-ec-spi as wake source
> arm64: dts: mediatek: mt8192: Enable cros-ec-spi as wake source
> arm64: dts: mediatek: mt8195: Enable cros-ec-spi as wake source
> arm64: dts: tegra: Enable cros-ec-spi as wake source
> arm64: dts: qcom: sc7180: Enable cros-ec-spi as wake source
> arm64: dts: qcom: sc7280: Enable cros-ec-spi as wake source
> arm64: dts: qcom: sdm845: Enable cros-ec-spi as wake source
> arm64: dts: rockchip: rk3399: Enable cros-ec-spi as wake source
> of: irq: add wake capable bit to of_irq_resource()
> of: irq: Add default implementation for of_irq_to_resource()
> of: irq: Remove extern from function declarations
> device property: Modify fwnode irq_get() to use resource
> device property: Update functions to use EXPORT_SYMBOL_GPL()
> platform: Modify platform_get_irq_optional() to use resource
> platform/chrome: cros_ec: Use PM subsystem to manage wakeirq
>
> .../bindings/power/wakeup-source.txt | 18 ++--
> arch/arm/boot/dts/nvidia/tegra124-nyan.dtsi | 1 +
> arch/arm/boot/dts/nvidia/tegra124-venice2.dts | 1 +
> .../rockchip/rk3288-veyron-chromebook.dtsi | 1 +
> .../boot/dts/samsung/exynos5420-peach-pit.dts | 1 +
> .../boot/dts/samsung/exynos5800-peach-pi.dts | 1 +
> arch/arm64/boot/dts/mediatek/mt8173-elm.dtsi | 1 +
> .../arm64/boot/dts/mediatek/mt8183-kukui.dtsi | 1 +
> .../boot/dts/mediatek/mt8192-asurada.dtsi | 1 +
> .../boot/dts/mediatek/mt8195-cherry.dtsi | 1 +
> .../arm64/boot/dts/nvidia/tegra132-norrin.dts | 1 +
> arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi | 1 +
> .../arm64/boot/dts/qcom/sc7280-herobrine.dtsi | 1 +
> .../arm64/boot/dts/qcom/sc7280-idp-ec-h1.dtsi | 1 +
> arch/arm64/boot/dts/qcom/sdm845-cheza.dtsi | 1 +
> arch/arm64/boot/dts/rockchip/rk3399-gru.dtsi | 1 +
> drivers/acpi/property.c | 11 ++-
> drivers/base/platform.c | 90 ++++++++++++-------
> drivers/base/property.c | 40 ++++++---
> drivers/gpio/gpiolib-acpi.c | 28 ++++--
> drivers/i2c/i2c-core-acpi.c | 43 ++++-----
> drivers/i2c/i2c-core-base.c | 6 +-
> drivers/i2c/i2c-core.h | 4 +-
> drivers/of/irq.c | 39 +++++++-
> drivers/of/property.c | 8 +-
> drivers/platform/chrome/cros_ec.c | 48 ++++++++--
> drivers/platform/chrome/cros_ec_lpc.c | 40 +++++++--
> drivers/platform/chrome/cros_ec_spi.c | 15 ++--
> drivers/platform/chrome/cros_ec_uart.c | 14 ++-
> include/linux/acpi.h | 25 +++---
> include/linux/fwnode.h | 8 +-
> include/linux/ioport.h | 20 +++--
> include/linux/of_irq.h | 41 +++++----
> include/linux/platform_data/cros_ec_proto.h | 4 +-
> include/linux/platform_device.h | 3 +
> include/linux/property.h | 2 +
> 36 files changed, 350 insertions(+), 172 deletions(-)
>
Powered by blists - more mailing lists