public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
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



  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