From patchwork Mon Aug 11 10:56:13 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Brian Masney X-Patchwork-Id: 1251 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B04B428D83B for ; Mon, 11 Aug 2025 10:56:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754909819; cv=none; b=Dr1/gL/RY18RaRkBHC69sbHQbVM2NH7SHjQtSD2bkvajjoBOXAskw1XXFw4D4Tt0BUBRxBdOQ9CTsKrZjYDPNsTGHEmeOjQB1P/Awve8CESwrjGI4qRNZCH40PZvDl2Nw5RHSGBNds1dwM00aCK5sIghl4vO9IOeO1JaNhKuFtM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754909819; c=relaxed/simple; bh=y0KLkFzoWiBCsjyKHVyFf5yBXdH+nrgv9bMtrhIbLXo=; h=From:Date:Subject:MIME-Version:Message-Id:References:In-Reply-To: To:Cc:Content-Type; b=Ubdu3Q2BJ1eDH7USijbPc7nTi5uz+/zB7rjtiHu9875pTE9fHDf1gByoOigkcaF3/gJpHA8ZYbdrV3BjnJpivo63BZvkAKC8/2vBJf4Wf3VeTpROkg3o/Y/WMb8jMJ6zg+NtYU6B8PfBJUZg16vne9W/OrgA4OA4VS6u5iXlY7k= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=GilScB5k; arc=none smtp.client-ip=170.10.129.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="GilScB5k" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1754909816; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=CR+LHOxQNJH4mrdkRrblEPU2A6Ou6dlR4qZMmeyZ4e8=; b=GilScB5kXJKCD3HRWPAFfxxZb2ToHJHsuAOrphK+se0nkjEHigrTrK9zKzxXNyxcnwdHuR P03CAHuacJV4jjvYsyRRtd41Ca/uUvyHtcB9zUD8inFPyRlPrUK4VZyPkgQJ7XaK2JzT5N q1k+TBpIZsOpjNpIFJfsdhxG7QSuPn4= Received: from mail-qk1-f200.google.com (mail-qk1-f200.google.com [209.85.222.200]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-639-t0zqOxMBMgWQmqpDDH5dYQ-1; Mon, 11 Aug 2025 06:56:55 -0400 X-MC-Unique: t0zqOxMBMgWQmqpDDH5dYQ-1 X-Mimecast-MFC-AGG-ID: t0zqOxMBMgWQmqpDDH5dYQ_1754909815 Received: by mail-qk1-f200.google.com with SMTP id af79cd13be357-7e69c14e992so834372385a.3 for ; Mon, 11 Aug 2025 03:56:55 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754909815; x=1755514615; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=CR+LHOxQNJH4mrdkRrblEPU2A6Ou6dlR4qZMmeyZ4e8=; b=iGqI2ZGl0CMQ6E16nLB/zm99rVqEj3h6c1/TjH25itvWJZthmtoNgI5rp4geRfhaYX RydR0s2MdOiIvTA2OmS/eyh8DXo3CiTReBMpVtm6FQNyZJ+Id8Fsv+xURAVw+slqS3NV TVhf9eXhmSO0eWC4+bsFM2Kowe52rhOVhLPkNKSATSn1lmw3CE76kl5OnYdu4pajPgOe wtYVsk2NdeVFJq8JRQJICvJAlJYpKcwwEqxzaXwGPOLoexeYlRSh7b4MhxxZkIDw6JxP NoxURGNAVLxlqqJ9cmoWTDcmXSluxDlD0GYENVFhKeSgr2lcSOploHx28d1/RdX9br4C 5NPg== X-Forwarded-Encrypted: i=1; AJvYcCVsy/uCSdGcThBp3KKW9sjOp3EsnCE9jm/TsKEj4BnUTP3qR+3fnpqVxPdSrJ+9KmOQgjnMnMQhgIg4xA==@lists.linux.dev X-Gm-Message-State: AOJu0YyB4CGAfHGAYe3KzmKWVi7LnAa7zXWx6SF3ZnQlvWTgsEkIlM95 QtPEPnbEXX7eGEI+Das+12dJVL+0qy5e2Bqc8/LS+d0DW456RLIVQuXqunU3iDxy/k5x9rvNobE hJoJqQtrzi5ElNvc3Ssh15e8KtxLkJqnpqbbNZ9qfxY408EheWtBHnBR9XTwsPC0l X-Gm-Gg: ASbGncugO7Y9JFLHlTb1lW5Absah2N2iJ3L+P06VySMSCVuTROvJorKt/mBL7x/bD9b mmiOBa65zTOjO+Hvd0++SyHQ6XSqIRL7xy73I3HpiTmanKhqoiN8wPqFo9E6727oory85rU0Abv DxObdp//mDK8wHoAUQEFNGkjI5XB5B94q8YOs3pEcdwqPPhl3KarMiBTnNiotH2xo+6/fpcIEeQ IikuqIP64leauC8YLxQ5x0OAoKYeJU0rTeUXXTsj6RHeY3BG6YDi2xbYfwwoOZY1W9JZn7pHFnr RkxQyJlJbqGpQnC5ZJ0KqOs9Hg4Ef+AyZ7EsKNJSIf+i+2m3h2CHBlUnmkTpob4v+R3f0tgPz7l 7vr0= X-Received: by 2002:a05:620a:1996:b0:7e8:54f7:67cd with SMTP id af79cd13be357-7e854f76862mr91488685a.50.1754909815378; Mon, 11 Aug 2025 03:56:55 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFSii5P15b+af3L4E7F/cQGCM1Xz8KwmyfhCdGkZGKODW+eFh6Bky1dDzTK+GfwnJZiiMZJQQ== X-Received: by 2002:a05:620a:1996:b0:7e8:54f7:67cd with SMTP id af79cd13be357-7e854f76862mr91484185a.50.1754909814934; Mon, 11 Aug 2025 03:56:54 -0700 (PDT) Received: from [192.168.1.15] (c-73-183-52-120.hsd1.pa.comcast.net. [73.183.52.120]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7e698de2df7sm1273446485a.80.2025.08.11.03.56.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 11 Aug 2025 03:56:53 -0700 (PDT) From: Brian Masney Date: Mon, 11 Aug 2025 06:56:13 -0400 Subject: [PATCH v2 9/9] drm/sun4i/sun4i_tcon_dclk: convert from round_rate() to determine_rate() Precedence: bulk X-Mailing-List: linux-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250811-drm-clk-round-rate-v2-9-4a91ccf239cf@redhat.com> References: <20250811-drm-clk-round-rate-v2-0-4a91ccf239cf@redhat.com> In-Reply-To: <20250811-drm-clk-round-rate-v2-0-4a91ccf239cf@redhat.com> To: Philipp Zabel , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Linus Walleij , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , Yannick Fertre , Raphael Gallais-Pou , Philippe Cornu , Maxime Coquelin , Alexandre Torgue , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Stephen Boyd Cc: linux-clk@vger.kernel.org, dri-devel@lists.freedesktop.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, linux-stm32@st-md-mailman.stormreply.com, linux-sunxi@lists.linux.dev, Brian Masney X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1754909781; l=2307; i=bmasney@redhat.com; s=20250528; h=from:subject:message-id; bh=y0KLkFzoWiBCsjyKHVyFf5yBXdH+nrgv9bMtrhIbLXo=; b=j1ZnE8gcsk3YjO3zCEvUNiC5B3rrw/rsR6rCeLo5Q9BxZp8jvK69xEFMszvH1iDCwux2pSDHd eRkR0peMpaDCxDNa8Bi3chrL3Nda3ZZTmewCk0Eb5cefUz9pD7/Qw2Q X-Developer-Key: i=bmasney@redhat.com; a=ed25519; pk=x20f2BQYftANnik+wvlm4HqLqAlNs/npfVcbhHPOK2U= X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: 6mW-V8UG9hFwFt7-D8ad5eGaQgACiETM0AM15DbsPqU_1754909815 X-Mimecast-Originator: redhat.com Status: O 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: Maxime Ripard Signed-off-by: Brian Masney --- drivers/gpu/drm/sun4i/sun4i_tcon_dclk.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/drivers/gpu/drm/sun4i/sun4i_tcon_dclk.c b/drivers/gpu/drm/sun4i/sun4i_tcon_dclk.c index 03d7de1911cd654f395ea85ad914588c4351f391..4afb12bd5281f0d1720cfe2c8f79b80d97244ef2 100644 --- a/drivers/gpu/drm/sun4i/sun4i_tcon_dclk.c +++ b/drivers/gpu/drm/sun4i/sun4i_tcon_dclk.c @@ -67,8 +67,8 @@ static unsigned long sun4i_dclk_recalc_rate(struct clk_hw *hw, return parent_rate / val; } -static long sun4i_dclk_round_rate(struct clk_hw *hw, unsigned long rate, - unsigned long *parent_rate) +static int sun4i_dclk_determine_rate(struct clk_hw *hw, + struct clk_rate_request *req) { struct sun4i_dclk *dclk = hw_to_dclk(hw); struct sun4i_tcon *tcon = dclk->tcon; @@ -77,7 +77,7 @@ static long sun4i_dclk_round_rate(struct clk_hw *hw, unsigned long rate, int i; for (i = tcon->dclk_min_div; i <= tcon->dclk_max_div; i++) { - u64 ideal = (u64)rate * i; + u64 ideal = (u64)req->rate * i; unsigned long rounded; /* @@ -99,17 +99,19 @@ static long sun4i_dclk_round_rate(struct clk_hw *hw, unsigned long rate, goto out; } - if (abs(rate - rounded / i) < - abs(rate - best_parent / best_div)) { + if (abs(req->rate - rounded / i) < + abs(req->rate - best_parent / best_div)) { best_parent = rounded; best_div = i; } } out: - *parent_rate = best_parent; + req->best_parent_rate = best_parent; - return best_parent / best_div; + req->rate = best_parent / best_div; + + return 0; } static int sun4i_dclk_set_rate(struct clk_hw *hw, unsigned long rate, @@ -155,7 +157,7 @@ static const struct clk_ops sun4i_dclk_ops = { .is_enabled = sun4i_dclk_is_enabled, .recalc_rate = sun4i_dclk_recalc_rate, - .round_rate = sun4i_dclk_round_rate, + .determine_rate = sun4i_dclk_determine_rate, .set_rate = sun4i_dclk_set_rate, .get_phase = sun4i_dclk_get_phase,