Re: [PATCH v2 11/36] platform/x86: intel_scu_ipc: Drop intel_scu_ipc_raw_command()
From: Andy Shevchenko
Date: Wed Jan 08 2020 - 11:42:18 EST
On Wed, Jan 08, 2020 at 02:41:36PM +0300, Mika Westerberg wrote:
> There is no user for this function so we can drop it from the driver.
>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
> Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>
> ---
> arch/x86/include/asm/intel_scu_ipc.h | 2 -
> drivers/platform/x86/intel_scu_ipc.c | 63 ----------------------------
> 2 files changed, 65 deletions(-)
>
> diff --git a/arch/x86/include/asm/intel_scu_ipc.h b/arch/x86/include/asm/intel_scu_ipc.h
> index b59afa59a4cb..2a1442ba6e78 100644
> --- a/arch/x86/include/asm/intel_scu_ipc.h
> +++ b/arch/x86/include/asm/intel_scu_ipc.h
> @@ -38,8 +38,6 @@ int intel_scu_ipc_update_register(u16 addr, u8 data, u8 mask);
> int intel_scu_ipc_simple_command(int cmd, int sub);
> int intel_scu_ipc_command(int cmd, int sub, u32 *in, int inlen,
> u32 *out, int outlen);
> -int intel_scu_ipc_raw_command(int cmd, int sub, u8 *in, int inlen,
> - u32 *out, int outlen, u32 dptr, u32 sptr);
>
> extern struct blocking_notifier_head intel_scu_notifier;
>
> diff --git a/drivers/platform/x86/intel_scu_ipc.c b/drivers/platform/x86/intel_scu_ipc.c
> index ba857e54800b..93a810fa6c8a 100644
> --- a/drivers/platform/x86/intel_scu_ipc.c
> +++ b/drivers/platform/x86/intel_scu_ipc.c
> @@ -383,69 +383,6 @@ int intel_scu_ipc_command(int cmd, int sub, u32 *in, int inlen,
> }
> EXPORT_SYMBOL(intel_scu_ipc_command);
>
> -#define IPC_SPTR 0x08
> -#define IPC_DPTR 0x0C
> -
> -/**
> - * intel_scu_ipc_raw_command() - IPC command with data and pointers
> - * @cmd: IPC command code.
> - * @sub: IPC command sub type.
> - * @in: input data of this IPC command.
> - * @inlen: input data length in dwords.
> - * @out: output data of this IPC command.
> - * @outlen: output data length in dwords.
> - * @sptr: data writing to SPTR register.
> - * @dptr: data writing to DPTR register.
> - *
> - * Send an IPC command to SCU with input/output data and source/dest pointers.
> - *
> - * Return: an IPC error code or 0 on success.
> - */
> -int intel_scu_ipc_raw_command(int cmd, int sub, u8 *in, int inlen,
> - u32 *out, int outlen, u32 dptr, u32 sptr)
> -{
> - struct intel_scu_ipc_dev *scu = &ipcdev;
> - int inbuflen = DIV_ROUND_UP(inlen, 4);
> - u32 inbuf[4];
> - int i, err;
> -
> - /* Up to 16 bytes */
> - if (inbuflen > 4)
> - return -EINVAL;
> -
> - mutex_lock(&ipclock);
> - if (scu->dev == NULL) {
> - mutex_unlock(&ipclock);
> - return -ENODEV;
> - }
> -
> - writel(dptr, scu->ipc_base + IPC_DPTR);
> - writel(sptr, scu->ipc_base + IPC_SPTR);
> -
> - /*
> - * SRAM controller doesn't support 8-bit writes, it only
> - * supports 32-bit writes, so we have to copy input data into
> - * the temporary buffer, and SCU FW will use the inlen to
> - * determine the actual input data length in the temporary
> - * buffer.
> - */
> - memcpy(inbuf, in, inlen);
> -
> - for (i = 0; i < inbuflen; i++)
> - ipc_data_writel(scu, inbuf[i], 4 * i);
> -
> - ipc_command(scu, (inlen << 16) | (sub << 12) | cmd);
> - err = intel_scu_ipc_check_status(scu);
> - if (!err) {
> - for (i = 0; i < outlen; i++)
> - *out++ = ipc_data_readl(scu, 4 * i);
> - }
> -
> - mutex_unlock(&ipclock);
> - return err;
> -}
> -EXPORT_SYMBOL_GPL(intel_scu_ipc_raw_command);
> -
> /*
> * Interrupt handler gets called when ioc bit of IPC_COMMAND_REG set to 1
> * When ioc bit is set to 1, caller api must wait for interrupt handler called
> --
> 2.24.1
>
--
With Best Regards,
Andy Shevchenko