[PATCH v2 7/9] drm/stm/lvds: convert from round_rate() to determine_rate()

Yannick FERTRE yannick.fertre at foss.st.com
Thu Aug 21 09:36:13 UTC 2025


Hi Brian,

thanks for the patch.

Acked-by: Yannick Fertre <yannick.fertre at foss.st.com>

Le 11/08/2025 à 12:56, Brian Masney a écrit :
> The round_rate() clk ops is deprecated, so migrate this driver from
> round_rate() to determine_rate() using the Coccinelle semantic patch
> on the cover letter of this series.
>
> Acked-by: Raphael Gallais-Pou <raphael.gallais-pou at foss.st.com>
> Signed-off-by: Brian Masney <bmasney at redhat.com>
> ---
>   drivers/gpu/drm/stm/lvds.c | 12 +++++++-----
>   1 file changed, 7 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/stm/lvds.c b/drivers/gpu/drm/stm/lvds.c
> index 07788e8d3d8302a3951e97d64736b721033998d3..fe38c0984b2b552e1ccaef4d1e589b9d86a40ee3 100644
> --- a/drivers/gpu/drm/stm/lvds.c
> +++ b/drivers/gpu/drm/stm/lvds.c
> @@ -682,8 +682,8 @@ static unsigned long lvds_pixel_clk_recalc_rate(struct clk_hw *hw,
>   	return (unsigned long)lvds->pixel_clock_rate;
>   }
>   
> -static long lvds_pixel_clk_round_rate(struct clk_hw *hw, unsigned long rate,
> -				      unsigned long *parent_rate)
> +static int lvds_pixel_clk_determine_rate(struct clk_hw *hw,
> +					 struct clk_rate_request *req)
>   {
>   	struct stm_lvds *lvds = container_of(hw, struct stm_lvds, lvds_ck_px);
>   	unsigned int pll_in_khz, bdiv = 0, mdiv = 0, ndiv = 0;
> @@ -703,7 +703,7 @@ static long lvds_pixel_clk_round_rate(struct clk_hw *hw, unsigned long rate,
>   	mode = list_first_entry(&connector->modes,
>   				struct drm_display_mode, head);
>   
> -	pll_in_khz = (unsigned int)(*parent_rate / 1000);
> +	pll_in_khz = (unsigned int)(req->best_parent_rate / 1000);
>   
>   	if (lvds_is_dual_link(lvds->link_type))
>   		multiplier = 2;
> @@ -719,14 +719,16 @@ static long lvds_pixel_clk_round_rate(struct clk_hw *hw, unsigned long rate,
>   	lvds->pixel_clock_rate = (unsigned long)pll_get_clkout_khz(pll_in_khz, bdiv, mdiv, ndiv)
>   					 * 1000 * multiplier / 7;
>   
> -	return lvds->pixel_clock_rate;
> +	req->rate = lvds->pixel_clock_rate;
> +
> +	return 0;
>   }
>   
>   static const struct clk_ops lvds_pixel_clk_ops = {
>   	.enable = lvds_pixel_clk_enable,
>   	.disable = lvds_pixel_clk_disable,
>   	.recalc_rate = lvds_pixel_clk_recalc_rate,
> -	.round_rate = lvds_pixel_clk_round_rate,
> +	.determine_rate = lvds_pixel_clk_determine_rate,
>   };
>   
>   static const struct clk_init_data clk_data = {
>


More information about the Freedreno mailing list