Re: [PATCH v7 2/3] phy: qcom-snps: Add support for overriding phy tuning parameters

From: Pavan Kondeti
Date: Tue May 31 2022 - 22:09:12 EST


On Tue, May 31, 2022 at 09:44:52PM +0530, Krishna Kurapati wrote:
> Add support for overriding electrical signal tuning parameters for
> SNPS HS Phy.
>
> Signed-off-by: Krishna Kurapati <quic_kriskura@xxxxxxxxxxx>
> ---
> drivers/phy/qualcomm/phy-qcom-snps-femto-v2.c | 268 +++++++++++++++++++++++++-
> 1 file changed, 266 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/phy/qualcomm/phy-qcom-snps-femto-v2.c b/drivers/phy/qualcomm/phy-qcom-snps-femto-v2.c
> index 5d20378..3a17216 100644
> --- a/drivers/phy/qualcomm/phy-qcom-snps-femto-v2.c
> +++ b/drivers/phy/qualcomm/phy-qcom-snps-femto-v2.c
> @@ -52,6 +52,12 @@
> #define USB2_SUSPEND_N BIT(2)
> #define USB2_SUSPEND_N_SEL BIT(3)
>

<snip>

> +static void qcom_snps_hsphy_override_param_update_val(
> + const struct override_param_map map,
> + s32 dt_val, struct phy_override_seq *seq_entry)
> +{
> + int i;
> +
> + /*
> + * Param table for each param is in increasing order
> + * of dt values. We need to iterate over the list to
> + * select the entry that has equal or the next highest value.
> + */
> + for (i = 0; i < map.table_size - 1; i++) {
> + if (map.param_table[i].value >= dt_val)
> + break;
> + }
> +
> + seq_entry->need_update = true;
> + seq_entry->offset = map.reg_offset;
> + seq_entry->mask = map.param_mask;
> + seq_entry->value = map.param_table[i].reg << __ffs(map.param_mask);
> +}
> +
> +static void qcom_snps_hsphy_read_override_param_seq(struct device *dev)
> +{
> + struct device_node *node = dev->of_node;
> + s32 val;
> + int ret, i;
> + struct qcom_snps_hsphy *hsphy;
> + const struct override_param_map *cfg =
> + (struct override_param_map *) of_device_get_match_data(dev);

As mentioned in the previous patch-set, the explicit typecast is not needed.

overall, looks good to me. After fixing the above, feel free to use

Reviewed-by: Pavankumar Kondeti <quic_pkondeti@xxxxxxxxxxx>

Thanks,
Pavan