lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Tue, 14 Jun 2022 09:28:23 -0700
From:   Bart Van Assche <bvanassche@....org>
To:     Stanley Chu <stanley.chu@...iatek.com>, linux-scsi@...r.kernel.org,
        linux-kernel@...r.kernel.org, martin.petersen@...cle.com,
        avri.altman@....com, alim.akhtar@...sung.com, jejb@...ux.ibm.com
Cc:     peter.wang@...iatek.com, chun-hung.wu@...iatek.com,
        alice.chao@...iatek.com, powen.kao@...iatek.com,
        mason.zhang@...iatek.com, qilin.tan@...iatek.com,
        lin.gui@...iatek.com, eddie.huang@...iatek.com,
        tun-yu.yu@...iatek.com, cc.chou@...iatek.com,
        chaotian.jing@...iatek.com, jiajie.hao@...iatek.com
Subject: Re: [PATCH v3 07/10] scsi: ufs-mediatek: Support flexible parameters
 for smc calls

On 6/14/22 07:16, Stanley Chu wrote:
> From: Alice Chao <alice.chao@...iatek.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.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ