From patchwork Tue Mar 21 02:31:33 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adam Ford X-Patchwork-Id: 13182169 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 40E59C6FD1D for ; Tue, 21 Mar 2023 02:32:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=Jlw6zg8toVejChpfiNDAS+FWhnX7ySi6gmrcqXAt/dk=; b=ohMjTARFuEMH4Y 0V2AWzjotkmUD2bhkbMWjt1SyAGEanwRzjlymfpZoKhi7wLFdcIO0bss/zAJPYaMXQrDlptXgU4uy d2aAt5r6XLqJKj4VDmOys3SsYk4GDNeuZ7aF5c0Nwf4OYB20Kuua7cewTjKNouX+sn7Sp/4NxqwK8 57l/pfPQk1reeJCyKw+QvGmgpOVgLwsCB4Im0GJwS2ChI3kuoItZkFuE0r1Xbt3nUopcGVJDeRuda x/ZVnoAFAT0C/U12DFS3HPytyGwd6rFbl492GzSgOUARQ5zftP/Y3iidKJQJz/Nvm1GfDZYzcp1GZ LVfNBFKiOzG+3OGfQsUg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1peRn5-00B1Eb-0o; Tue, 21 Mar 2023 02:31:59 +0000 Received: from mail-io1-xd2a.google.com ([2607:f8b0:4864:20::d2a]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1peRmw-00B1BU-0e for linux-arm-kernel@lists.infradead.org; Tue, 21 Mar 2023 02:31:51 +0000 Received: by mail-io1-xd2a.google.com with SMTP id t129so6356891iof.12 for ; Mon, 20 Mar 2023 19:31:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1679365909; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=sTo3F/m/SxPHAqEXuebTGyXW2LKYPQRkLUm8e3SciVw=; b=jtWm45HrEd24L4clToDHgC5saIGxP00MYJ3iEBnl+HmrGuNeaWFNY0Y2ArHLweqAAy Xuspfga6nrYvqO1IUmUGeUeolYCixybPy7ejgqDex647tY9G6Ys1q41Uvbjcr4c37yGv WxiZld+rhzzulzvvPFOQwqyiOmQzEt1TCQSo26UTMk7G4SwpU1Ds2iH9FKJU4L9FUFu2 EsHlNqd++9PdTtCKOp0Jw9WI5hdVvQ26NKHKRmCwnEugnoZ/KdzdQXQqxKH813DH2vgI VE4qUcT4HUVoS/ifDGZ5ZLoss+RCVWrONgBPipOJOT6PQwGoeb7y2cIYoTYBTIhiczSM WFQQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679365909; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=sTo3F/m/SxPHAqEXuebTGyXW2LKYPQRkLUm8e3SciVw=; b=KgBLAJKgvsNgySjbzLCMh64PUm65waL7y8dkRRyqeD4YRsmDK0Tyv3hVXTkYWsh5Pf QIeUJSTwcRC30EsF8lufN5YxDAejMk7WS0fxdCuubD7ijRcGFiqlSfpOiRu6b30L2m7k jW37D46WB0ZvYqS3TnyOGjuKoYCCk+MQZCIbtkM4YTJuakP9lE6nsWOMM+YShm5qTgvd lB2QccNJPY4aPKkb3NvPo/vK7VJn4oWxJuMKz4OsTO82fCuIjofPYL3bm3fCyvQqKHXE BFGv87sq3ezzT9Q1skAYkRD5afzHBomQYDqYUzV/2Op2dNe7SCcD/+/ygQPBnO4L1gL3 4QVg== X-Gm-Message-State: AO0yUKXwrFgG1EHZLPPcsxTpAUrEWaAEuerlW3f+f8xZVYeidH/X0eH8 QhHhW2duLUBEJSL0ntfsStY= X-Google-Smtp-Source: AK7set+Ibe5aCthxCU51+MZKk4ghN93jB6Jsfgn9wVamJsAh+oHNdRypAPnQ3pM47QAflwju4EDD1Q== X-Received: by 2002:a5d:895a:0:b0:74c:e456:629d with SMTP id b26-20020a5d895a000000b0074ce456629dmr699641iot.7.1679365908946; Mon, 20 Mar 2023 19:31:48 -0700 (PDT) Received: from aford-IdeaCentre-A730.lan ([2601:447:d001:897f:1387:3268:b209:f4ec]) by smtp.gmail.com with ESMTPSA id a28-20020a027a1c000000b004065ad317fdsm2241200jac.151.2023.03.20.19.31.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Mar 2023 19:31:48 -0700 (PDT) From: Adam Ford To: linux-clk@vger.kernel.org Cc: aford@beaconembedded.com, Adam Ford , Abel Vesa , Peng Fan , Michael Turquette , Stephen Boyd , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , NXP Linux Team , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH V2 1/4] clk: imx: composite-8m: Add support to determine_rate Date: Mon, 20 Mar 2023 21:31:33 -0500 Message-Id: <20230321023136.57986-2-aford173@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230321023136.57986-1-aford173@gmail.com> References: <20230321023136.57986-1-aford173@gmail.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230320_193150_235327_90DE032D X-CRM114-Status: GOOD ( 10.85 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Similar to imx/clk-composite-93 and imx/clk-divider-gate, the imx8m_clk_composite_divider_ops can support determine_rate. Without this the parent clocks are set to a fixed value, and if a consumer needs a slower reate, the clock is divided, but the division is only as good as the parent clock rate. With this added, the system can attempt to adjust the parent rate if the proper flags are set which can lead to a more precise clock value. Signed-off-by: Adam Ford --- V2: No Change diff --git a/drivers/clk/imx/clk-composite-8m.c b/drivers/clk/imx/clk-composite-8m.c index cbf0d7955a00..3b63e47f088f 100644 --- a/drivers/clk/imx/clk-composite-8m.c +++ b/drivers/clk/imx/clk-composite-8m.c @@ -119,10 +119,17 @@ static int imx8m_clk_composite_divider_set_rate(struct clk_hw *hw, return ret; } +static int clk_divider_determine_rate(struct clk_hw *hw, + struct clk_rate_request *req) +{ + return clk_divider_ops.determine_rate(hw, req); +} + static const struct clk_ops imx8m_clk_composite_divider_ops = { .recalc_rate = imx8m_clk_composite_divider_recalc_rate, .round_rate = imx8m_clk_composite_divider_round_rate, .set_rate = imx8m_clk_composite_divider_set_rate, + .determine_rate = clk_divider_determine_rate, }; static u8 imx8m_clk_composite_mux_get_parent(struct clk_hw *hw) From patchwork Tue Mar 21 02:31:34 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adam Ford X-Patchwork-Id: 13182171 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 77926C6FD1C for ; Tue, 21 Mar 2023 02:32:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=iPkv1nEDTbOGOzunljihLKpCut3tk9Gj8w8MTuOgzSI=; b=iHKr4kH8VAFpYn KgRx3l0NrNPZbC80v10MgLee1Jo5AvVjZaVAic4YOVhaDHpJMtatBI/zEINH3V7P5gLP3QbYy1B+0 Jyflr4gV3N6MXexuuFtIKa2eyNPqu/Bl8jUtGN5L38fNN10/Hh39qHIyr+K3bt5R3wfHnJrAkGkiO QJJ6xvlEIUn8oWIN2+7m1y6rLcaUv0JqVSigI5SHVI3INynfV4rxx053gJLfpNZXx9LvyVzKujuXW 2j+7YKAUbhbVoXmXrfitBxuc23xFoXBAHjDyWjWARDBLMF06FimKISt1bAHzrjoGJ5AHuLhIaVjqZ SveJpH1WOJ/UfIx3gUnA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1peRnF-00B1Jd-18; Tue, 21 Mar 2023 02:32:09 +0000 Received: from mail-il1-x12f.google.com ([2607:f8b0:4864:20::12f]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1peRn9-00B1Cr-0d for linux-arm-kernel@lists.infradead.org; Tue, 21 Mar 2023 02:32:04 +0000 Received: by mail-il1-x12f.google.com with SMTP id s1so1553569ild.6 for ; Mon, 20 Mar 2023 19:31:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1679365910; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=YBy7Uhw8n9XJJSSN0OA/4i8xS/Flp3zKZhGIeWwusVM=; b=iQatrVrSpMzWM30D/QDBzwK1QzX3H9/6UAnHFb1yBrZ6JUUw82BPT4EPusvdKi6pjl VuNXhHXYsPY0VGRKIy+IFLw9Rd2Zrad/wTtin7ziRywR5F3PfHy6TzJbdW0QD9TtFRPs FUSrOocS0aBhsv4wedUXG3LohtmMEzWfFfwLAHBDAA8Fi4ZmCz4sbxjcNlqrT49HgIkv mKIOPPmNS/VYSkKTIRvR+9qZ/cTa3lKow3n2Uh04LLP31Yt+y+r+Y6pYvshtyyGcWEQ7 xAzRfovnLhDkFlLpPMaXkyG0Te9DdSXthpmauHL38b82JH0BbNKSBYf33V+sLcDaPwiT lPCQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679365910; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=YBy7Uhw8n9XJJSSN0OA/4i8xS/Flp3zKZhGIeWwusVM=; b=We9oXGJi19XQfu2yhdtmserp70fsq+QqOXpCpwKVI9nwHBMtKGHsOpc6yDbxMfq4nJ Ap6IocbJ/JpUfojqCpeJufMP4hUD2J2TtETn7m/cq0UdDhgrZLVqpdP4f11RI0MIR3nh 7sGaDrw09A/fURmtbNFtxy2/wMbqjvJ6p8ijzqQoVuQmkJXVaFCjI3vlD6n18h2B/SxH IUqm+NIlqB7qx7wiZ1CxKKV00nmZsVAQtKVfAEpKnNAaICeCKM3TyrSCtLymyo3eIe/d GZyW/bBSIq1B4ZMIeZPXrk9aXBu8h+Ojmd+WKaAnNbAemijWxuBRoNhA8x1iajVQoZmh sDgA== X-Gm-Message-State: AO0yUKW7Q0MynLFD0CUWSUt03O2HXWBgCSLG0Fqva1hCSJnoo/XhhQI4 XOddzXPUvDKjbklYd5qXTa4= X-Google-Smtp-Source: AK7set9vcTeQrv+uY9TyXI19wR3n5BkdxkTtvMfVMUNnyt8RgvFbS0D7h3ZFNj2n45e0XVTDmmeRyQ== X-Received: by 2002:a92:d312:0:b0:318:aac7:d7aa with SMTP id x18-20020a92d312000000b00318aac7d7aamr517200ila.29.1679365910474; Mon, 20 Mar 2023 19:31:50 -0700 (PDT) Received: from aford-IdeaCentre-A730.lan ([2601:447:d001:897f:1387:3268:b209:f4ec]) by smtp.gmail.com with ESMTPSA id a28-20020a027a1c000000b004065ad317fdsm2241200jac.151.2023.03.20.19.31.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Mar 2023 19:31:50 -0700 (PDT) From: Adam Ford To: linux-clk@vger.kernel.org Cc: aford@beaconembedded.com, Adam Ford , Abel Vesa , Peng Fan , Michael Turquette , Stephen Boyd , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , NXP Linux Team , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH V2 2/4] clk: imx: Add imx8m_clk_hw_composite_flags macro Date: Mon, 20 Mar 2023 21:31:34 -0500 Message-Id: <20230321023136.57986-3-aford173@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230321023136.57986-1-aford173@gmail.com> References: <20230321023136.57986-1-aford173@gmail.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230320_193203_238440_67360234 X-CRM114-Status: UNSURE ( 8.66 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org In order to set custom flags to imx8m_clk_hw_composite, split it off into a separate macro which can accept additional flags. Signed-off-by: Adam Ford --- V2: Split into its own patch and re-order to fix build error diff --git a/drivers/clk/imx/clk.h b/drivers/clk/imx/clk.h index 3d94722bbf99..621b0e84ef27 100644 --- a/drivers/clk/imx/clk.h +++ b/drivers/clk/imx/clk.h @@ -417,6 +417,10 @@ struct clk_hw *__imx8m_clk_hw_composite(const char *name, _imx8m_clk_hw_composite(name, parent_names, reg, \ 0, IMX_COMPOSITE_CLK_FLAGS_DEFAULT) +#define imx8m_clk_hw_composite_flags(name, parent_names, reg, flags) \ + _imx8m_clk_hw_composite(name, parent_names, reg, \ + 0, IMX_COMPOSITE_CLK_FLAGS_DEFAULT | flags) + #define imx8m_clk_hw_composite_critical(name, parent_names, reg) \ _imx8m_clk_hw_composite(name, parent_names, reg, \ 0, IMX_COMPOSITE_CLK_FLAGS_CRITICAL) From patchwork Tue Mar 21 02:31:35 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adam Ford X-Patchwork-Id: 13182170 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id D6B3EC6FD1C for ; Tue, 21 Mar 2023 02:32:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=hPWLn3G93RZqyRcK/PnjFn2OsO9YAARxwHV08Mw8LPM=; b=wvf6DUO8+r1UWH NOf5MzerLwXAkItYqAE0XQqjAwnvNzZacv6hMZ82IRxjTNlLCd8N7gWY51BnkDnB+b6lvg1QfZxG4 3AUiW+eX10E8+RRrYsyWru2PgpNIN0ZZKf36Fny+NS5RwYGuW2P/1kcoEqFfTZsOk52+JWZtgqhgI 8IgOOYDxQvpqts8eqomHrtkCgwqhT7wcBqmk/5b0KTKQM7suoIzASz963U73SqXM5csyOkOL6IHYG 7NwJ5tMLqP9Yu6Q8sJ8wQSuOy59RvUYM1ODRL2CQC886VnSjPxDXikL0mloQfvr9ZKI1UYNl7/24K 6U5K/NEddRnhI63ueY4Q==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1peRnC-00B1IK-1Y; Tue, 21 Mar 2023 02:32:06 +0000 Received: from mail-il1-x12d.google.com ([2607:f8b0:4864:20::12d]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1peRn6-00B1Cs-10 for linux-arm-kernel@lists.infradead.org; Tue, 21 Mar 2023 02:32:01 +0000 Received: by mail-il1-x12d.google.com with SMTP id bc5so1756694ilb.9 for ; Mon, 20 Mar 2023 19:31:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1679365912; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=n/mm5G0PkOndQQapwu4nkn1W5qAmcqtIfUJayOecLk0=; b=njQQ2EZ6+w4LBgLXRCDOA1u/7yBrAiap9M56rD9qLhp8bs3ohxOy5MjiVFuMarc+PJ 5ifchgcAVvsBA0HIYA90NPsQau9ZJgJ/qGCV6HN5EINCiiIlTxhXUR3XOyvEPQVdHsPA wVAhNWso3D8bz+51lpszZqRXycM+P/1iiJN2DrYsP8qcv5XW0HVew+5IfCT3Kc65xenM Sa7cu0z4L5h9CLJPUM/ndxB7u421CfqPkUBXh8oGkkCx425O22GJEiuA1BuxDMmEsjsy 0rSGTSgWh6uqZEow46y6hGw+FxlxAJ9MeeL6dtSnLlkkrivn0u6RSGmO1YipG8O5f2BE 5z1A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679365912; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=n/mm5G0PkOndQQapwu4nkn1W5qAmcqtIfUJayOecLk0=; b=IUB+rXnQVXg9souex8IjBQ2R9oPrEVavv1VbJZLCUcZppSpKa+zA842YvcPFBDQqch jAOk6/Mrmw9lYG7jYCuUr3EXNAPaqEQqB1Nh+28hO0as4z5o+i1kCQ5nFL84isMuJV8f cJrUY7Blt5eT3KmEAoIVCSq6vFVveyagHLypOiHB4nFi4ru1KB+SCC445uWNBMwkSJjR /MVBkAIOkn9TXN6RN3koTEohxwkwgOi3Z0WqjsuqpM76doahGsQl7Z6Rdb8xle+fCFFM Q3CNkjoyAd0MjOboanWqpYIyqFx1bBrNYx6t4YQMIDaSwHJkGVpVR+Il9Rn4QnBfTs4/ 071Q== X-Gm-Message-State: AO0yUKV8IsqCWS58HpFxkPAfK2nCz5uVJiVffjA3NUejYBKkPtfRNLAZ AsGixg1C55HUZqD/YV+ul38= X-Google-Smtp-Source: AK7set/xGd4TZlxrqYJ02heVW2VbJ5R2Z1EZ24Lg2WVPoEgarTmsm6XiI/xSD+9eq4JwVthB9RTdvA== X-Received: by 2002:a92:4b0a:0:b0:317:93dc:10f5 with SMTP id m10-20020a924b0a000000b0031793dc10f5mr524195ilg.19.1679365912239; Mon, 20 Mar 2023 19:31:52 -0700 (PDT) Received: from aford-IdeaCentre-A730.lan ([2601:447:d001:897f:1387:3268:b209:f4ec]) by smtp.gmail.com with ESMTPSA id a28-20020a027a1c000000b004065ad317fdsm2241200jac.151.2023.03.20.19.31.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Mar 2023 19:31:51 -0700 (PDT) From: Adam Ford To: linux-clk@vger.kernel.org Cc: aford@beaconembedded.com, Adam Ford , Abel Vesa , Peng Fan , Michael Turquette , Stephen Boyd , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , NXP Linux Team , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH V2 3/4] clk: imx8mm: Let IMX8MM_CLK_LCDIF_PIXEL set parent rate Date: Mon, 20 Mar 2023 21:31:35 -0500 Message-Id: <20230321023136.57986-4-aford173@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230321023136.57986-1-aford173@gmail.com> References: <20230321023136.57986-1-aford173@gmail.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230320_193200_370861_34149C27 X-CRM114-Status: UNSURE ( 9.76 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org By default the display pixel clock needs to be evenly divide down from 594MHz which rules out a significant number of resolution and refresh rates. The current clock tree looks something like: video_pll1 594000000 video_pll1_bypass 594000000 video_pll1_out 594000000 lcdif_pixel 148500000 Now that composite-8m supports determine_rate, we can allow lcdif_pixel to set the parent rate which then switches every clock in the chain to a new frequency when lcdif_pixel cannot evenly divide from video_pll1_out. Signed-off-by: Adam Ford --- V2: No Change diff --git a/drivers/clk/imx/clk-imx8mm.c b/drivers/clk/imx/clk-imx8mm.c index b618892170f2..075f643e3f35 100644 --- a/drivers/clk/imx/clk-imx8mm.c +++ b/drivers/clk/imx/clk-imx8mm.c @@ -468,7 +468,7 @@ static int imx8mm_clocks_probe(struct platform_device *pdev) hws[IMX8MM_CLK_PCIE1_PHY] = imx8m_clk_hw_composite("pcie1_phy", imx8mm_pcie1_phy_sels, base + 0xa380); hws[IMX8MM_CLK_PCIE1_AUX] = imx8m_clk_hw_composite("pcie1_aux", imx8mm_pcie1_aux_sels, base + 0xa400); hws[IMX8MM_CLK_DC_PIXEL] = imx8m_clk_hw_composite("dc_pixel", imx8mm_dc_pixel_sels, base + 0xa480); - hws[IMX8MM_CLK_LCDIF_PIXEL] = imx8m_clk_hw_composite("lcdif_pixel", imx8mm_lcdif_pixel_sels, base + 0xa500); + hws[IMX8MM_CLK_LCDIF_PIXEL] = imx8m_clk_hw_composite_flags("lcdif_pixel", imx8mm_lcdif_pixel_sels, base + 0xa500, CLK_SET_RATE_PARENT); hws[IMX8MM_CLK_SAI1] = imx8m_clk_hw_composite("sai1", imx8mm_sai1_sels, base + 0xa580); hws[IMX8MM_CLK_SAI2] = imx8m_clk_hw_composite("sai2", imx8mm_sai2_sels, base + 0xa600); hws[IMX8MM_CLK_SAI3] = imx8m_clk_hw_composite("sai3", imx8mm_sai3_sels, base + 0xa680); From patchwork Tue Mar 21 02:31:36 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adam Ford X-Patchwork-Id: 13182172 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 96123C6FD1D for ; Tue, 21 Mar 2023 02:32:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=CxxB/dAbRM2t440vuVaPUIVYlpe5BmLQKpugjbKk6u0=; b=Qtb82xTuQyw5WJ nw0Qy3xxdltdCYcgjLQ7M9IPTgib08LXyqnTNb6XaPW+pBptTX90CI7iXYI37y7RvosZqeRrM8qbc rUp2Kkp+rug7XsbVes1We7uw1Gvzbn5zKOtMdJ3whrPvwgCXoY7lJUcJ5K4oCzh2dOnsT4bBHjP6/ uerF5UaeTe9wnXMgTjOCjcO4Xx+9xQE5yLtW4ONf/Xu+coW4zO1gNY3TnfKPg3Hl37lVA/G5Tnrq0 E5T+UpruHXweaBO7lOOSofWNrFOqgUBrDUKo7X1/4AYm7LIwaLR+twH29FtgUortvZ9T0bEAzhaGc kz1OWr7XUKQeiZz29caQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1peRnD-00B1Iy-2Y; Tue, 21 Mar 2023 02:32:07 +0000 Received: from mail-il1-x12d.google.com ([2607:f8b0:4864:20::12d]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1peRn6-00B1D4-10 for linux-arm-kernel@lists.infradead.org; Tue, 21 Mar 2023 02:32:01 +0000 Received: by mail-il1-x12d.google.com with SMTP id h7so7508891ila.5 for ; Mon, 20 Mar 2023 19:31:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1679365914; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=dqpGcS63yc5cSPHmxqdpFofUmCewSZ11m39gJLQd6jk=; b=XJK8bYuAYWV4i+jlGHDK0/eQ6IRVok7DNw6IJTnUYWwb4ig0zAAX0SIU3PHXgfpnJt 2HQF2Umxf9xDQihRG/fSD65jlmjzeBcSQUgPywH4RijcHEjUSbGWDZc3WgourQC8J4Ic dzn+iNwn5DrCUANEZUqD28UUJtZUpM8a5pOsNwo6uG2rE8ZKmrDjJD/biWzU+f5dPpli W0R7BtzGCR9ZCu8ITtypWIWuM74mjNg/ZBV8eh+yGx8Vcs8iq4Z283Ktyx22dxd4dSNM AvPqHZNsn7l+K+zxiQr0551r7gtRKAEZWwPy0Bth2GJaTKOlGRMbuQ6g0ozw28kRm4a8 oe8Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679365914; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=dqpGcS63yc5cSPHmxqdpFofUmCewSZ11m39gJLQd6jk=; b=qFHfsD800iIfJWky1lSsAkukBaV9om+pdn3dd1zgKVZVk6bjqSGSkATpQN1SUhggqv ooEp/cawFulDilV/4v8K66YL244Jrb1k21kjMHAyak6AfU5xAzlgPLqw1z3H9y340rpr 3mwE9wSLsoxV4fk6EKUTbp/ULS0PKV/zQRUHb3h6/OMGdAuUKibZYgJH+FmeQ3n55jjn fDf8ic23L3R3sXPT/ZPwoK/eMYuBWwp8OG8iDu+wpywZ4JaNRFi8l4iByWsYzotViWBa XW2c3aVi4PMCsXAoj9CBOPO5uW2kHZjD3Al5HSNj5+4G0B7bCdSLuBIUPmWuxTbuBwhs rSRA== X-Gm-Message-State: AO0yUKXxeGPCy/VF/MJICpNENY0GLV4oQO8S70r3sgDGmvm6zd4YN5ex Qf4y/3tCgsRlKdwK2FMUQ1A= X-Google-Smtp-Source: AK7set8HYWHZUuD+7SIheB2PsHjWfQQaWd1+NCf3uo8ARCLs+rPES5DAi/i/7R+KWeEiFzcgOgKtOA== X-Received: by 2002:a05:6e02:2162:b0:315:6f9d:e75 with SMTP id s2-20020a056e02216200b003156f9d0e75mr395505ilv.7.1679365913785; Mon, 20 Mar 2023 19:31:53 -0700 (PDT) Received: from aford-IdeaCentre-A730.lan ([2601:447:d001:897f:1387:3268:b209:f4ec]) by smtp.gmail.com with ESMTPSA id a28-20020a027a1c000000b004065ad317fdsm2241200jac.151.2023.03.20.19.31.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Mar 2023 19:31:53 -0700 (PDT) From: Adam Ford To: linux-clk@vger.kernel.org Cc: aford@beaconembedded.com, Adam Ford , Abel Vesa , Peng Fan , Michael Turquette , Stephen Boyd , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , NXP Linux Team , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH V2 4/4] clk: imx: Let IMX8MN_CLK_DISP_PIXEL set parent rate Date: Mon, 20 Mar 2023 21:31:36 -0500 Message-Id: <20230321023136.57986-5-aford173@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230321023136.57986-1-aford173@gmail.com> References: <20230321023136.57986-1-aford173@gmail.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230320_193200_365123_6AE5AA65 X-CRM114-Status: UNSURE ( 9.91 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org By default the display pixel clock needs to be evenly divide down from the video_pll_out clock which rules out a significant number of resolution and refresh rates. The current clock tree looks something like: video_pll 594000000 video_pll_bypass 594000000 video_pll_out 594000000 disp_pixel 148500000 disp_pixel_clk 148500000 Now that composite-8m supports determine_rate, we can allow disp_pixel to set the parent rate which then switches every clock in the chain to a new frequency when disp_pixel cannot evenly divide from video_pll_out. Signed-off-by: Adam Ford --- V2: Move imx8m_clk_hw_composite_flags macro into its own patch diff --git a/drivers/clk/imx/clk-imx8mn.c b/drivers/clk/imx/clk-imx8mn.c index a042ed3a9d6c..4b23a4648600 100644 --- a/drivers/clk/imx/clk-imx8mn.c +++ b/drivers/clk/imx/clk-imx8mn.c @@ -470,7 +470,7 @@ static int imx8mn_clocks_probe(struct platform_device *pdev) hws[IMX8MN_CLK_DRAM_ALT] = imx8m_clk_hw_fw_managed_composite("dram_alt", imx8mn_dram_alt_sels, base + 0xa000); hws[IMX8MN_CLK_DRAM_APB] = imx8m_clk_hw_fw_managed_composite_critical("dram_apb", imx8mn_dram_apb_sels, base + 0xa080); - hws[IMX8MN_CLK_DISP_PIXEL] = imx8m_clk_hw_composite("disp_pixel", imx8mn_disp_pixel_sels, base + 0xa500); + hws[IMX8MN_CLK_DISP_PIXEL] = imx8m_clk_hw_composite_flags("disp_pixel", imx8mn_disp_pixel_sels, base + 0xa500, CLK_SET_RATE_PARENT); hws[IMX8MN_CLK_SAI2] = imx8m_clk_hw_composite("sai2", imx8mn_sai2_sels, base + 0xa600); hws[IMX8MN_CLK_SAI3] = imx8m_clk_hw_composite("sai3", imx8mn_sai3_sels, base + 0xa680); hws[IMX8MN_CLK_SAI5] = imx8m_clk_hw_composite("sai5", imx8mn_sai5_sels, base + 0xa780);