lkml.org 
[lkml]   [2022]   [Jun]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH v3 07/10] scsi: ufs-mediatek: Support flexible parameters for smc calls
From
On 6/14/22 07:16, Stanley Chu wrote:
> From: Alice Chao <alice.chao@mediatek.com>
>
> Provide flexible number of parameters for UFS SMC calls to be
> easily used for future SMC usages.

How far in the future? Please only introduce what is needed for this
patch series.

> +/*
> + * SMC call wapper function
^^^^^^
typo

> + */
> +#define _ufs_mtk_smc(cmd, res, v1, v2, v3, v4, v5, v6) \
> + arm_smccc_smc(MTK_SIP_UFS_CONTROL, \
> + cmd, v1, v2, v3, v4, v5, v6, &(res))
> +
> +#define _ufs_mtk_smc_0(cmd, res) \
> + _ufs_mtk_smc(cmd, res, 0, 0, 0, 0, 0, 0)
> +
> +#define _ufs_mtk_smc_1(cmd, res, v1) \
> + _ufs_mtk_smc(cmd, res, v1, 0, 0, 0, 0, 0)
> +
> +#define _ufs_mtk_smc_2(cmd, res, v1, v2) \
> + _ufs_mtk_smc(cmd, res, v1, v2, 0, 0, 0, 0)
> +
> +#define _ufs_mtk_smc_3(cmd, res, v1, v2, v3) \
> + _ufs_mtk_smc(cmd, res, v1, v2, v3, 0, 0, 0)
> +
> +#define _ufs_mtk_smc_4(cmd, res, v1, v2, v3, v4) \
> + _ufs_mtk_smc(cmd, res, v1, v2, v3, v4, 0, 0)
> +
> +#define _ufs_mtk_smc_5(cmd, res, v1, v2, v3, v4, v5) \
> + _ufs_mtk_smc(cmd, res, v1, v2, v3, v4, v5, 0)
> +
> +#define _ufs_mtk_smc_6(cmd, res, v1, v2, v3, v4, v5, v6) \
> + _ufs_mtk_smc(cmd, res, v1, v2, v3, v4, v5, v6)
> +
> +#define _ufs_mtk_smc_selector(cmd, res, v1, v2, v3, v4, v5, v6, FUNC, ...) FUNC
> +
> +#define ufs_mtk_smc(...) \
> + _ufs_mtk_smc_selector(__VA_ARGS__, \
> + _ufs_mtk_smc_6(__VA_ARGS__), \
> + _ufs_mtk_smc_5(__VA_ARGS__), \
> + _ufs_mtk_smc_4(__VA_ARGS__), \
> + _ufs_mtk_smc_3(__VA_ARGS__), \
> + _ufs_mtk_smc_2(__VA_ARGS__), \
> + _ufs_mtk_smc_1(__VA_ARGS__), \
> + _ufs_mtk_smc_0(__VA_ARGS__) \
> + )

If _ufs_mtk_smc() would be modified to accept an struct _ufs_mtk_args as
its only argument, would that allow to simplify the above into the
following?

#define ufs_mtk_smc(...) \
_ufs_mtk_smc((struct _ufs_mtk_args){__VA_ARGS__})

> +/*
> + * Sip kernel interface
> + */

What is "Sip"? Should it perhaps be spelled as "SIP"?

Thanks,

Bart.

\
 
 \ /
  Last update: 2022-06-14 18:30    [W:0.115 / U:0.296 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site