From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Mika Westerberg <mika.westerberg@linux.intel.com>
Cc: Darren Hart <dvhart@infradead.org>,
Lee Jones <lee.jones@linaro.org>,
Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
"H . Peter Anvin" <hpa@zytor.com>,
x86@kernel.org, Zha Qipeng <qipeng.zha@intel.com>,
Rajneesh Bhardwaj <rajneesh.bhardwaj@linux.intel.com>,
"David E . Box" <david.e.box@linux.intel.com>,
Guenter Roeck <linux@roeck-us.net>,
Heikki Krogerus <heikki.krogerus@linux.intel.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Wim Van Sebroeck <wim@linux-watchdog.org>,
platform-driver-x86@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 29/36] platform/x86: intel_telemetry: Convert to use new SCU IPC API
Date: Wed, 8 Jan 2020 18:54:46 +0200 [thread overview]
Message-ID: <20200108165446.GO32742@smile.fi.intel.com> (raw)
In-Reply-To: <20200108114201.27908-30-mika.westerberg@linux.intel.com>
On Wed, Jan 08, 2020 at 02:41:54PM +0300, Mika Westerberg wrote:
> Convert the Intel Apollo Lake telemetry driver to use the new SCU IPC
> API. This allows us to get rid of the duplicate PMC IPC implementation
> which is now covered in SCU IPC driver.
>
> Also move telemetry specific IPC message constant to the telementry
> driver where it belongs.
>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
> ---
> arch/x86/include/asm/intel_pmc_ipc.h | 1 -
> arch/x86/include/asm/intel_telemetry.h | 3 +
> drivers/platform/x86/intel_telemetry_pltdrv.c | 101 +++++++++---------
> 3 files changed, 55 insertions(+), 50 deletions(-)
>
> diff --git a/arch/x86/include/asm/intel_pmc_ipc.h b/arch/x86/include/asm/intel_pmc_ipc.h
> index b438a488f613..ddc964b9c78c 100644
> --- a/arch/x86/include/asm/intel_pmc_ipc.h
> +++ b/arch/x86/include/asm/intel_pmc_ipc.h
> @@ -8,7 +8,6 @@
> #define PMC_IPC_PHY_CONFIG 0xEE
> #define PMC_IPC_NORTHPEAK_CTRL 0xED
> #define PMC_IPC_PM_DEBUG 0xEC
> -#define PMC_IPC_PMC_TELEMTRY 0xEB
> #define PMC_IPC_PMC_FW_MSG_CTRL 0xEA
>
> /* IPC return code */
> diff --git a/arch/x86/include/asm/intel_telemetry.h b/arch/x86/include/asm/intel_telemetry.h
> index 214394860632..e19deb776003 100644
> --- a/arch/x86/include/asm/intel_telemetry.h
> +++ b/arch/x86/include/asm/intel_telemetry.h
> @@ -10,6 +10,8 @@
> #define TELEM_MAX_EVENTS_SRAM 28
> #define TELEM_MAX_OS_ALLOCATED_EVENTS 20
>
> +#include <asm/intel_scu_ipc.h>
> +
> enum telemetry_unit {
> TELEM_PSS = 0,
> TELEM_IOSS,
> @@ -54,6 +56,7 @@ struct telemetry_plt_config {
> struct telemetry_unit_config ioss_config;
> struct mutex telem_trace_lock;
> struct mutex telem_lock;
> + struct intel_scu_ipc_dev *scu;
> bool telem_in_use;
> };
>
> diff --git a/drivers/platform/x86/intel_telemetry_pltdrv.c b/drivers/platform/x86/intel_telemetry_pltdrv.c
> index df8565bad595..d39dde634866 100644
> --- a/drivers/platform/x86/intel_telemetry_pltdrv.c
> +++ b/drivers/platform/x86/intel_telemetry_pltdrv.c
> @@ -15,7 +15,6 @@
>
> #include <asm/cpu_device_id.h>
> #include <asm/intel-family.h>
> -#include <asm/intel_pmc_ipc.h>
> #include <asm/intel_punit_ipc.h>
> #include <asm/intel_telemetry.h>
>
> @@ -35,6 +34,7 @@
> #define TELEM_SSRAM_STARTTIME_OFFSET 8
> #define TELEM_SSRAM_EVTLOG_OFFSET 16
>
> +#define IOSS_TELEM 0xeb
> #define IOSS_TELEM_EVENT_READ 0x0
> #define IOSS_TELEM_EVENT_WRITE 0x1
> #define IOSS_TELEM_INFO_READ 0x2
> @@ -42,9 +42,6 @@
> #define IOSS_TELEM_TRACE_CTL_WRITE 0x6
> #define IOSS_TELEM_EVENT_CTL_READ 0x7
> #define IOSS_TELEM_EVENT_CTL_WRITE 0x8
> -#define IOSS_TELEM_EVT_CTRL_WRITE_SIZE 0x4
> -#define IOSS_TELEM_READ_WORD 0x1
> -#define IOSS_TELEM_WRITE_FOURBYTES 0x4
> #define IOSS_TELEM_EVT_WRITE_SIZE 0x3
>
> #define TELEM_INFO_SRAMEVTS_MASK 0xFF00
> @@ -253,17 +250,14 @@ static int telemetry_check_evtid(enum telemetry_unit telem_unit,
> static inline int telemetry_plt_config_ioss_event(u32 evt_id, int index)
> {
> u32 write_buf;
> - int ret;
>
> write_buf = evt_id | TELEM_EVENT_ENABLE;
> write_buf <<= BITS_PER_BYTE;
> write_buf |= index;
>
> - ret = intel_pmc_ipc_command(PMC_IPC_PMC_TELEMTRY,
> - IOSS_TELEM_EVENT_WRITE, (u8 *)&write_buf,
> - IOSS_TELEM_EVT_WRITE_SIZE, NULL, 0);
> -
> - return ret;
> + return intel_scu_ipc_dev_command(telm_conf->scu, IOSS_TELEM,
> + IOSS_TELEM_EVENT_WRITE, &write_buf,
> + IOSS_TELEM_EVT_WRITE_SIZE, NULL, 0);
> }
>
> static inline int telemetry_plt_config_pss_event(u32 evt_id, int index)
> @@ -281,6 +275,7 @@ static inline int telemetry_plt_config_pss_event(u32 evt_id, int index)
> static int telemetry_setup_iossevtconfig(struct telemetry_evtconfig evtconfig,
> enum telemetry_action action)
> {
> + struct intel_scu_ipc_dev *scu = telm_conf->scu;
> u8 num_ioss_evts, ioss_period;
> int ret, index, idx;
> u32 *ioss_evtmap;
> @@ -291,9 +286,9 @@ static int telemetry_setup_iossevtconfig(struct telemetry_evtconfig evtconfig,
> ioss_evtmap = evtconfig.evtmap;
>
> /* Get telemetry EVENT CTL */
> - ret = intel_pmc_ipc_command(PMC_IPC_PMC_TELEMTRY,
> + ret = intel_scu_ipc_dev_command(scu, IOSS_TELEM,
> IOSS_TELEM_EVENT_CTL_READ, NULL, 0,
> - &telem_ctrl, IOSS_TELEM_READ_WORD);
> + &telem_ctrl, sizeof(telem_ctrl));
> if (ret) {
> pr_err("IOSS TELEM_CTRL Read Failed\n");
> return ret;
> @@ -302,11 +297,9 @@ static int telemetry_setup_iossevtconfig(struct telemetry_evtconfig evtconfig,
> /* Disable Telemetry */
> TELEM_DISABLE(telem_ctrl);
>
> - ret = intel_pmc_ipc_command(PMC_IPC_PMC_TELEMTRY,
> - IOSS_TELEM_EVENT_CTL_WRITE,
> - (u8 *)&telem_ctrl,
> - IOSS_TELEM_EVT_CTRL_WRITE_SIZE,
> - NULL, 0);
> + ret = intel_scu_ipc_dev_command(scu, IOSS_TELEM,
> + IOSS_TELEM_EVENT_CTL_WRITE, &telem_ctrl,
> + sizeof(telem_ctrl), NULL, 0);
> if (ret) {
> pr_err("IOSS TELEM_CTRL Event Disable Write Failed\n");
> return ret;
> @@ -318,10 +311,9 @@ static int telemetry_setup_iossevtconfig(struct telemetry_evtconfig evtconfig,
> /* Clear All Events */
> TELEM_CLEAR_EVENTS(telem_ctrl);
>
> - ret = intel_pmc_ipc_command(PMC_IPC_PMC_TELEMTRY,
> + ret = intel_scu_ipc_dev_command(scu, IOSS_TELEM,
> IOSS_TELEM_EVENT_CTL_WRITE,
> - (u8 *)&telem_ctrl,
> - IOSS_TELEM_EVT_CTRL_WRITE_SIZE,
> + &telem_ctrl, sizeof(telem_ctrl),
> NULL, 0);
> if (ret) {
> pr_err("IOSS TELEM_CTRL Event Disable Write Failed\n");
> @@ -347,10 +339,9 @@ static int telemetry_setup_iossevtconfig(struct telemetry_evtconfig evtconfig,
> /* Clear All Events */
> TELEM_CLEAR_EVENTS(telem_ctrl);
>
> - ret = intel_pmc_ipc_command(PMC_IPC_PMC_TELEMTRY,
> + ret = intel_scu_ipc_dev_command(scu, IOSS_TELEM,
> IOSS_TELEM_EVENT_CTL_WRITE,
> - (u8 *)&telem_ctrl,
> - IOSS_TELEM_EVT_CTRL_WRITE_SIZE,
> + &telem_ctrl, sizeof(telem_ctrl),
> NULL, 0);
> if (ret) {
> pr_err("IOSS TELEM_CTRL Event Disable Write Failed\n");
> @@ -399,10 +390,9 @@ static int telemetry_setup_iossevtconfig(struct telemetry_evtconfig evtconfig,
> TELEM_ENABLE_PERIODIC(telem_ctrl);
> telem_ctrl |= ioss_period;
>
> - ret = intel_pmc_ipc_command(PMC_IPC_PMC_TELEMTRY,
> + ret = intel_scu_ipc_dev_command(scu, IOSS_TELEM,
> IOSS_TELEM_EVENT_CTL_WRITE,
> - (u8 *)&telem_ctrl,
> - IOSS_TELEM_EVT_CTRL_WRITE_SIZE, NULL, 0);
> + &telem_ctrl, sizeof(telem_ctrl), NULL, 0);
> if (ret) {
> pr_err("IOSS TELEM_CTRL Event Enable Write Failed\n");
> return ret;
> @@ -589,8 +579,9 @@ static int telemetry_setup(struct platform_device *pdev)
> u32 read_buf, events, event_regs;
> int ret;
>
> - ret = intel_pmc_ipc_command(PMC_IPC_PMC_TELEMTRY, IOSS_TELEM_INFO_READ,
> - NULL, 0, &read_buf, IOSS_TELEM_READ_WORD);
> + ret = intel_scu_ipc_dev_command(telm_conf->scu, IOSS_TELEM,
> + IOSS_TELEM_INFO_READ, NULL, 0,
> + &read_buf, sizeof(read_buf));
> if (ret) {
> dev_err(&pdev->dev, "IOSS TELEM_INFO Read Failed\n");
> return ret;
> @@ -684,6 +675,8 @@ static int telemetry_plt_set_sampling_period(u8 pss_period, u8 ioss_period)
>
> mutex_lock(&(telm_conf->telem_lock));
> if (ioss_period) {
> + struct intel_scu_ipc_dev *scu = telm_conf->scu;
> +
> if (TELEM_SAMPLE_PERIOD_INVALID(ioss_period)) {
> pr_err("IOSS Sampling Period Out of Range\n");
> ret = -EINVAL;
> @@ -691,9 +684,9 @@ static int telemetry_plt_set_sampling_period(u8 pss_period, u8 ioss_period)
> }
>
> /* Get telemetry EVENT CTL */
> - ret = intel_pmc_ipc_command(PMC_IPC_PMC_TELEMTRY,
> + ret = intel_scu_ipc_dev_command(scu, IOSS_TELEM,
> IOSS_TELEM_EVENT_CTL_READ, NULL, 0,
> - &telem_ctrl, IOSS_TELEM_READ_WORD);
> + &telem_ctrl, sizeof(telem_ctrl));
> if (ret) {
> pr_err("IOSS TELEM_CTRL Read Failed\n");
> goto out;
> @@ -702,11 +695,10 @@ static int telemetry_plt_set_sampling_period(u8 pss_period, u8 ioss_period)
> /* Disable Telemetry */
> TELEM_DISABLE(telem_ctrl);
>
> - ret = intel_pmc_ipc_command(PMC_IPC_PMC_TELEMTRY,
> - IOSS_TELEM_EVENT_CTL_WRITE,
> - (u8 *)&telem_ctrl,
> - IOSS_TELEM_EVT_CTRL_WRITE_SIZE,
> - NULL, 0);
> + ret = intel_scu_ipc_dev_command(scu, IOSS_TELEM,
> + IOSS_TELEM_EVENT_CTL_WRITE,
> + &telem_ctrl, sizeof(telem_ctrl),
> + NULL, 0);
> if (ret) {
> pr_err("IOSS TELEM_CTRL Event Disable Write Failed\n");
> goto out;
> @@ -718,11 +710,10 @@ static int telemetry_plt_set_sampling_period(u8 pss_period, u8 ioss_period)
> TELEM_ENABLE_PERIODIC(telem_ctrl);
> telem_ctrl |= ioss_period;
>
> - ret = intel_pmc_ipc_command(PMC_IPC_PMC_TELEMTRY,
> - IOSS_TELEM_EVENT_CTL_WRITE,
> - (u8 *)&telem_ctrl,
> - IOSS_TELEM_EVT_CTRL_WRITE_SIZE,
> - NULL, 0);
> + ret = intel_scu_ipc_dev_command(scu, IOSS_TELEM,
> + IOSS_TELEM_EVENT_CTL_WRITE,
> + &telem_ctrl, sizeof(telem_ctrl),
> + NULL, 0);
> if (ret) {
> pr_err("IOSS TELEM_CTRL Event Enable Write Failed\n");
> goto out;
> @@ -1017,9 +1008,9 @@ static int telemetry_plt_get_trace_verbosity(enum telemetry_unit telem_unit,
> break;
>
> case TELEM_IOSS:
> - ret = intel_pmc_ipc_command(PMC_IPC_PMC_TELEMTRY,
> - IOSS_TELEM_TRACE_CTL_READ, NULL, 0, &temp,
> - IOSS_TELEM_READ_WORD);
> + ret = intel_scu_ipc_dev_command(telm_conf->scu,
> + IOSS_TELEM, IOSS_TELEM_TRACE_CTL_READ,
> + NULL, 0, &temp, sizeof(temp));
> if (ret) {
> pr_err("IOSS TRACE_CTL Read Failed\n");
> goto out;
> @@ -1071,9 +1062,9 @@ static int telemetry_plt_set_trace_verbosity(enum telemetry_unit telem_unit,
> break;
>
> case TELEM_IOSS:
> - ret = intel_pmc_ipc_command(PMC_IPC_PMC_TELEMTRY,
> - IOSS_TELEM_TRACE_CTL_READ, NULL, 0, &temp,
> - IOSS_TELEM_READ_WORD);
> + ret = intel_scu_ipc_dev_command(telm_conf->scu, IOSS_TELEM,
> + IOSS_TELEM_TRACE_CTL_READ,
> + NULL, 0, &temp, sizeof(temp));
> if (ret) {
> pr_err("IOSS TRACE_CTL Read Failed\n");
> goto out;
> @@ -1082,9 +1073,9 @@ static int telemetry_plt_set_trace_verbosity(enum telemetry_unit telem_unit,
> TELEM_CLEAR_VERBOSITY_BITS(temp);
> TELEM_SET_VERBOSITY_BITS(temp, verbosity);
>
> - ret = intel_pmc_ipc_command(PMC_IPC_PMC_TELEMTRY,
> - IOSS_TELEM_TRACE_CTL_WRITE, (u8 *)&temp,
> - IOSS_TELEM_WRITE_FOURBYTES, NULL, 0);
> + ret = intel_scu_ipc_dev_command(telm_conf->scu, IOSS_TELEM,
> + IOSS_TELEM_TRACE_CTL_WRITE,
> + &temp, sizeof(temp), NULL, 0);
> if (ret) {
> pr_err("IOSS TRACE_CTL Verbosity Set Failed\n");
> goto out;
> @@ -1172,6 +1163,12 @@ static int telemetry_pltdrv_probe(struct platform_device *pdev)
> goto out;
> }
>
> + telm_conf->scu = intel_scu_ipc_dev_get();
> + if (!telm_conf->scu) {
> + ret = -ENOMEM;
> + goto out;
> + }
> +
> mutex_init(&telm_conf->telem_lock);
> mutex_init(&telm_conf->telem_trace_lock);
>
> @@ -1196,6 +1193,10 @@ static int telemetry_pltdrv_probe(struct platform_device *pdev)
> iounmap(telm_conf->pss_config.regmap);
> if (telm_conf->ioss_config.regmap)
> iounmap(telm_conf->ioss_config.regmap);
> + if (telm_conf->scu) {
> + intel_scu_ipc_dev_put(telm_conf->scu);
> + telm_conf->scu = NULL;
> + }
> dev_err(&pdev->dev, "TELEMETRY Setup Failed.\n");
>
> return ret;
> @@ -1204,6 +1205,8 @@ static int telemetry_pltdrv_probe(struct platform_device *pdev)
> static int telemetry_pltdrv_remove(struct platform_device *pdev)
> {
> telemetry_clear_pltdata();
> + intel_scu_ipc_dev_put(telm_conf->scu);
> + telm_conf->scu = NULL;
> iounmap(telm_conf->pss_config.regmap);
> iounmap(telm_conf->ioss_config.regmap);
>
> --
> 2.24.1
>
--
With Best Regards,
Andy Shevchenko
next prev parent reply other threads:[~2020-01-08 16:54 UTC|newest]
Thread overview: 81+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-01-08 11:41 [PATCH v2 00/36] platform/x86: Rework intel_scu_ipc and intel_pmc_ipc drivers Mika Westerberg
2020-01-08 11:41 ` [PATCH v2 01/36] platform/x86: intel_mid_powerbtn: Take a copy of ddata Mika Westerberg
2020-01-08 16:37 ` Andy Shevchenko
2020-01-08 11:41 ` [PATCH v2 02/36] platform/x86: intel_scu_ipcutil: Remove default y from Kconfig Mika Westerberg
2020-01-08 16:38 ` Andy Shevchenko
2020-01-08 11:41 ` [PATCH v2 03/36] platform/x86: intel_scu_ipc: Add constants for register offsets Mika Westerberg
2020-01-08 16:39 ` Andy Shevchenko
2020-01-08 11:41 ` [PATCH v2 04/36] platform/x86: intel_scu_ipc: Remove Lincroft support Mika Westerberg
2020-01-08 16:39 ` Andy Shevchenko
2020-01-08 11:41 ` [PATCH v2 05/36] platform/x86: intel_scu_ipc: Drop intel_scu_ipc_i2c_cntrl() Mika Westerberg
2020-01-08 16:39 ` Andy Shevchenko
2020-01-08 11:41 ` [PATCH v2 06/36] platform/x86: intel_scu_ipc: Fix interrupt support Mika Westerberg
2020-01-08 16:40 ` Andy Shevchenko
2020-01-08 11:41 ` [PATCH v2 07/36] platform/x86: intel_scu_ipc: Sleeping is fine when polling Mika Westerberg
2020-01-08 17:12 ` Andy Shevchenko
2020-01-08 11:41 ` [PATCH v2 08/36] platform/x86: intel_scu_ipc: Drop unused prototype intel_scu_ipc_fw_update() Mika Westerberg
2020-01-08 16:41 ` Andy Shevchenko
2020-01-08 11:41 ` [PATCH v2 09/36] platform/x86: intel_scu_ipc: Drop unused macros Mika Westerberg
2020-01-08 16:41 ` Andy Shevchenko
2020-01-08 11:41 ` [PATCH v2 10/36] platform/x86: intel_scu_ipc: Drop intel_scu_ipc_io[read|write][8|16]() Mika Westerberg
2020-01-08 16:41 ` Andy Shevchenko
2020-01-08 11:41 ` [PATCH v2 11/36] platform/x86: intel_scu_ipc: Drop intel_scu_ipc_raw_command() Mika Westerberg
2020-01-08 16:42 ` Andy Shevchenko
2020-01-08 11:41 ` [PATCH v2 12/36] platform/x86: intel_scu_ipc: Split out SCU IPC functionality from the SCU driver Mika Westerberg
2020-01-08 17:22 ` Andy Shevchenko
2020-01-08 11:41 ` [PATCH v2 13/36] platform/x86: intel_scu_ipc: Reformat kernel-doc comments of exported functions Mika Westerberg
2020-01-08 16:42 ` Andy Shevchenko
2020-01-08 11:41 ` [PATCH v2 14/36] platform/x86: intel_scu_ipc: Introduce new SCU IPC API Mika Westerberg
2020-01-09 11:30 ` Andy Shevchenko
2020-01-09 11:39 ` Mika Westerberg
2020-01-08 11:41 ` [PATCH v2 15/36] platform/x86: intel_mid_powerbtn: Convert to use " Mika Westerberg
2020-01-08 16:43 ` Andy Shevchenko
2020-01-08 11:41 ` [PATCH v2 16/36] watchdog: intel-mid_wdt: " Mika Westerberg
2020-01-08 15:37 ` Guenter Roeck
2020-01-08 17:38 ` Andy Shevchenko
2020-01-08 11:41 ` [PATCH v2 17/36] platform/x86: intel_scu_ipcutil: " Mika Westerberg
2020-01-08 16:45 ` Andy Shevchenko
2020-01-08 11:41 ` [PATCH v2 18/36] platform/x86: intel_pmc_ipc: Make intel_pmc_gcr_update() static Mika Westerberg
2020-01-08 16:46 ` Andy Shevchenko
2020-01-08 11:41 ` [PATCH v2 19/36] platform/x86: intel_pmc_ipc: Make intel_pmc_ipc_simple_command() static Mika Westerberg
2020-01-08 16:46 ` Andy Shevchenko
2020-01-08 11:41 ` [PATCH v2 20/36] platform/x86: intel_pmc_ipc: Make intel_pmc_ipc_raw_cmd() static Mika Westerberg
2020-01-08 16:46 ` Andy Shevchenko
2020-01-08 11:41 ` [PATCH v2 21/36] platform/x86: intel_pmc_ipc: Drop intel_pmc_gcr_read() and intel_pmc_gcr_write() Mika Westerberg
2020-01-08 16:47 ` Andy Shevchenko
2020-01-08 11:41 ` [PATCH v2 22/36] platform/x86: intel_pmc_ipc: Drop ipc_data_readb() Mika Westerberg
2020-01-08 16:47 ` Andy Shevchenko
2020-01-08 11:41 ` [PATCH v2 23/36] platform/x86: intel_pmc_ipc: Get rid of unnecessary includes Mika Westerberg
2020-01-08 16:47 ` Andy Shevchenko
2020-01-08 11:41 ` [PATCH v2 24/36] platform/x86: intel_scu_ipc: Add function to remove SCU IPC Mika Westerberg
2020-01-08 17:28 ` Andy Shevchenko
2020-01-08 11:41 ` [PATCH v2 25/36] platform/x86: intel_pmc_ipc: Start using " Mika Westerberg
2020-01-08 16:52 ` Andy Shevchenko
2020-01-08 11:41 ` [PATCH v2 26/36] mfd: intel_soc_pmic: Add SCU IPC member to struct intel_soc_pmic Mika Westerberg
2020-01-08 17:31 ` Andy Shevchenko
2020-01-08 11:41 ` [PATCH v2 27/36] mfd: intel_soc_pmic_bxtwc: Convert to use new SCU IPC API Mika Westerberg
2020-01-08 17:32 ` Andy Shevchenko
2020-01-08 11:41 ` [PATCH v2 28/36] mfd: intel_soc_pmic_mrfld: " Mika Westerberg
2020-01-08 17:35 ` Andy Shevchenko
2020-01-08 11:41 ` [PATCH v2 29/36] platform/x86: intel_telemetry: " Mika Westerberg
2020-01-08 16:54 ` Andy Shevchenko [this message]
2020-01-08 11:41 ` [PATCH v2 30/36] platform/x86: intel_pmc_ipc: Drop intel_pmc_ipc_command() Mika Westerberg
2020-01-08 16:57 ` Andy Shevchenko
2020-01-08 11:41 ` [PATCH v2 31/36] x86/platform/intel-mid: Add empty stubs for intel_scu_devices_[create|destroy]() Mika Westerberg
2020-01-08 17:36 ` Andy Shevchenko
2020-01-08 11:41 ` [PATCH v2 32/36] platform/x86: intel_pmc_ipc: Move PCI IDs to intel_scu_pcidrv.c Mika Westerberg
2020-01-08 17:03 ` Andy Shevchenko
2020-01-08 11:41 ` [PATCH v2 33/36] platform/x86: intel_pmc_ipc: Use octal permissions in sysfs attributes Mika Westerberg
2020-01-08 16:58 ` Andy Shevchenko
2020-01-08 11:41 ` [PATCH v2 34/36] platform/x86: intel_pmc_ipc: Convert to MFD Mika Westerberg
2020-01-09 11:43 ` Andy Shevchenko
2020-01-09 11:47 ` Mika Westerberg
2020-01-09 12:57 ` Mika Westerberg
2020-01-09 14:25 ` Andy Shevchenko
2020-01-08 11:42 ` [PATCH v2 35/36] mfd: intel_pmc_bxt: Switch to use driver->dev_groups Mika Westerberg
2020-01-08 17:30 ` Andy Shevchenko
2020-01-08 11:42 ` [PATCH v2 36/36] MAINTAINERS: Update entry for Intel Broxton PMC driver Mika Westerberg
2020-01-08 17:06 ` Andy Shevchenko
2020-01-08 17:34 ` [PATCH v2 00/36] platform/x86: Rework intel_scu_ipc and intel_pmc_ipc drivers Andy Shevchenko
2020-01-09 6:13 ` Mika Westerberg
2020-01-13 10:38 ` Lee Jones
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200108165446.GO32742@smile.fi.intel.com \
--to=andriy.shevchenko@linux.intel.com \
--cc=bp@alien8.de \
--cc=david.e.box@linux.intel.com \
--cc=dvhart@infradead.org \
--cc=gregkh@linuxfoundation.org \
--cc=heikki.krogerus@linux.intel.com \
--cc=hpa@zytor.com \
--cc=lee.jones@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@roeck-us.net \
--cc=mika.westerberg@linux.intel.com \
--cc=mingo@redhat.com \
--cc=platform-driver-x86@vger.kernel.org \
--cc=qipeng.zha@intel.com \
--cc=rajneesh.bhardwaj@linux.intel.com \
--cc=tglx@linutronix.de \
--cc=wim@linux-watchdog.org \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox