Re: [RFC v1 4/6] platform: x86: Add generic Intel IPC driver

From: sathya
Date: Tue Aug 22 2017 - 01:09:51 EST


Hi Andy,


On 08/18/2017 05:38 AM, Andy Shevchenko wrote:
On Tue, Aug 1, 2017 at 9:13 PM,
<sathyanarayanan.kuppuswamy@xxxxxxxxxxxxxxx> wrote:
From: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@xxxxxxxxxxxxxxx>

Currently intel_scu_ipc.c, intel_pmc_ipc.c and intel_punit_ipc.c
redundantly implements the same IPC features and has lot of code
duplication between them. This driver addresses this issue by grouping
the common IPC functionalities under the same driver.

Signed-off-by: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@xxxxxxxxxxxxxxx>
---
arch/x86/include/asm/intel_ipc_dev.h | 148 ++++++++++++
No, it should go under include/linux/platform_data/x86/

+/*
+ * intel_ipc_dev.h: IPC class device header file
No file names in the top of files.

+ *
+ * (C) Copyright 2017 Intel Corporation
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; version 2
+ * of the License.
+ *
+ */
+struct intel_ipc_dev_cfg {
+ void __iomem *base;
+ void __iomem *wrbuf_reg;
+ void __iomem *rbuf_reg;
+ void __iomem *sptr_reg;
+ void __iomem *dptr_reg;
+ void __iomem *status_reg;
+ void __iomem *cmd_reg;
No, you have to switch to regmap instead.
Do you want me to register regmap in intel_pmc_ipc.c and pass this regmap pointer to devm_intel_ipc_dev_create()
instead of regular mem address ? Please correct me if my understanding is incorrect.

But I don't understand how this change will improve the design.

+ int mode;
+ int irq;
+ int irqflags;
+ int chan_type;
+ bool use_msi;
+};

-
Sathya