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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux Kernel Development]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux