All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/8] clk: sunxi-ng: Consider alternative parent rates when determining NKM clock rate
@ 2023-07-02 17:55 ` Frank Oltmanns
  0 siblings, 0 replies; 59+ messages in thread
From: Frank Oltmanns @ 2023-07-02 17:55 UTC (permalink / raw)
  To: Maxime Ripard, Michael Turquette, Stephen Boyd, Chen-Yu Tsai,
	Jernej Skrabec, Samuel Holland, Andre Przywara, Roman Beranek
  Cc: linux-clk, linux-arm-kernel, linux-sunxi, linux-kernel,
	Frank Oltmanns

This patchset enables NKM clocks to consider alternative parent rates
and utilize this new feature to adjust the pll-video0 clock on Allwinner
A64 (PATCH 1 and 2).

Furthermore, with this patchset pll-video0 considers rates that are
higher than the requested rate when finding the closest rate. In
consequence, higher rates are also considered by pll-video0's
descandents (PATCH 3 et. seq.).

This allows us to achieve an optimal rate for driving the board's panel.

To provide some context, the clock structure involved in this process is
as follows:
    clock                       clock type
    --------------------------------------
    pll-video0                  ccu_nm
       pll-mipi                 ccu_nkm
          tcon0                 ccu_mux
             tcon-data-clock    sun4i_dclk

The divider between tcon0 and tcon-data-clock is fixed at 4. Therefore,
in order to achieve a rate that closely matches the desired rate of the
panel, pll-mipi needs to operate at a specific rate.

Tests
=====
So far, this has been successfully tested on the A64-based Pinephone
using three different panel rates:

 1. A panel rate that can be matched exactly by pll-video0.
 2. A panel rate that requires pll-video0 to undershoot to get the
    closest rate.
 3. A panel rate that requires pll-video0 to overshoot to get the
    closest rate.

Test records:

Re 1:
-----
Panel requests tcon-data-clock of 103500000 Hz, i.e., pll-mipi needs to
run at 414000000 Hz. This results in the following clock rates:
   clock                            rate
----------------------------------------
    pll-video0                 207000000
       hdmi-phy-clk             51750000
       hdmi                    207000000
       tcon1                   207000000
       pll-mipi                414000000
          tcon0                414000000
             tcon-data-clock   103500000

The results of the find_best calls:
[   12.345862] ccu_nkm_find_best_with_parent_adj: rate=414000000, best_rate=414000000, best_parent_rate=207000000, n=1, k=2, m=1
[   12.346111] ccu_nkm_find_best_with_parent_adj: rate=414000000, best_rate=414000000, best_parent_rate=207000000, n=1, k=2, m=1
[   12.346291] ccu_nkm_find_best_with_parent_adj: rate=414000000, best_rate=414000000, best_parent_rate=207000000, n=1, k=2, m=1
[   12.346471] ccu_nkm_find_best_with_parent_adj: rate=414000000, best_rate=414000000, best_parent_rate=207000000, n=1, k=2, m=1
[   12.346867] ccu_nkm_find_best: rate=414000000, best_rate=414000000, parent_rate=207000000, n=1, k=2, m=1

Re 2:
-----
Panel requests tcon-data-clock of 103650000 Hz, i.e., pll-mipi needs to
run at 414600000 Hz. This results in the following clock rates:
   clock                            rate
----------------------------------------
    pll-video0                 282666666
       hdmi-phy-clk             70666666
       hdmi                    282666666
       tcon1                   282666666
       pll-mipi                414577776
          tcon0                414577776
             tcon-data-clock   103644444

The results of the find_best calls:
[   13.638954] ccu_nkm_find_best_with_parent_adj: rate=414600000, best_rate=414577776, best_parent_rate=282666666, n=11, k=2, m=15
[   13.639212] ccu_nkm_find_best_with_parent_adj: rate=414600000, best_rate=414577776, best_parent_rate=282666666, n=11, k=2, m=15
[   13.639395] ccu_nkm_find_best_with_parent_adj: rate=414577776, best_rate=414577776, best_parent_rate=282666666, n=11, k=2, m=15
[   13.639577] ccu_nkm_find_best_with_parent_adj: rate=414577776, best_rate=414577776, best_parent_rate=282666666, n=11, k=2, m=15
[   13.639913] ccu_nkm_find_best: rate=414577776, best_rate=414577776, parent_rate=282666666, n=11, k=2, m=15

Here, we consistently ask the pll-video0 for a rate that it can't
provide exactly:
 - rate=414600000: We ask the parent for 282681818 (rate * m / (n * k)),
   it returns 282666666. Here the parent undershoots.
 - rate=414577776: We ask the parent for 282666665 (rate * m / (n * k)),
   it returns 282666666. Here the parent overshoots.

So, in both cases it rounds to the nearest rate (first down, then up),
which is the intended behaviour.

Re 3:
-----
Panel requests tcon-data-clock of 112266000 Hz, i.e., pll-mipi needs to
run at 449064000 Hz. This results in the following clock rates:
   clock                            rate
----------------------------------------
    pll-video0                 207272727
       hdmi-phy-clk             51818181
       hdmi                    207272727
       tcon1                   207272727
       pll-mipi                449090908
          tcon0                449090908
             tcon-data-clock   112272727

The results of the find_best calls:
[   13.871022] ccu_nkm_find_best_with_parent_adj: rate=449064000, best_rate=449090908, best_parent_rate=207272727, n=13, k=2, m=12
[   13.871277] ccu_nkm_find_best_with_parent_adj: rate=449064000, best_rate=449090908, best_parent_rate=207272727, n=13, k=2, m=12
[   13.871461] ccu_nkm_find_best_with_parent_adj: rate=449090908, best_rate=449090908, best_parent_rate=207272727, n=13, k=2, m=12
[   13.871646] ccu_nkm_find_best_with_parent_adj: rate=449090908, best_rate=449090908, best_parent_rate=207272727, n=13, k=2, m=12
[   13.872050] ccu_nkm_find_best: rate=449090908, best_rate=449090908, parent_rate=207272727, n=13, k=2, m=12

Here, we consistently ask the pll-video0 for a rate that it can't
provide exactly:
 - rate=449064000: We ask the parent for 207260307 (rate * m / (n * k)),
   it returns 207272727.
 - rate=449090908: We ask the parent for 207272726 (rate * m / (n * k)),
   it returns 207272727.

So, in both cases, it rounds up to the nearest rate, which is the
intended behavior.

Changes in v3:
 - Use dedicated function for finding the best rate in cases where an
   nkm clock supports setting its parent's rate, streamlining it with
   the structure that is used in other sunxi-ng ccus such as ccu_mp
   (PATCH 1).
 - Therefore, remove the now obsolete comments that were introduced in
   v2 (PATCH 1).
 - Remove the dedicated function for calculating the optimal parent rate
   for nkm clocks that was introduced in v2. Instead use a simple
   calculation and require the parent clock to select the closest rate to
   achieve optimal results (PATCH 1).
 - Therefore, add support to set the closest rate for nm clocks (because
   pll-mipi's parent pll-video0 is an nm clock) and all clock types that
   are descendants of a64's pll-video0, i.e., nkm, mux, and div (PATCH 3
   et. seq.).
 - Link to v2: https://lore.kernel.org/all/20230611090143.132257-1-frank@oltmanns.dev/

Changes in V2:
 - Move optimal parent rate calculation to dedicated function
 - Choose a parent rate that does not to overshoot requested rate
 - Add comments to ccu_nkm_find_best
 - Make sure that best_parent_rate stays at original parent rate in the unlikely
   case that all combinations overshoot.

Link to V1:
https://lore.kernel.org/lkml/20230605190745.366882-1-frank@oltmanns.dev/

---
Frank Oltmanns (8):
      clk: sunxi-ng: nkm: consider alternative parent rates when determining rate
      clk: sunxi-ng: a64: allow pll-mipi to set parent's rate
      clk: sunxi-ng: Add feature to find closest rate
      clk: sunxi-ng: nm: Support finding closest rate
      clk: sunxi-ng: nkm: Support finding closest rate
      clk: sunxi-ng: mux: Support finding closest rate
      clk: sunxi-ng: div: Support finding closest rate
      clk: sunxi-ng: a64: select closest rate for pll-video0

 drivers/clk/sunxi-ng/ccu-sun50i-a64.c | 25 ++++++-----
 drivers/clk/sunxi-ng/ccu-sun8i-h3.c   |  3 +-
 drivers/clk/sunxi-ng/ccu-sun8i-r40.c  |  6 ++-
 drivers/clk/sunxi-ng/ccu_common.h     |  1 +
 drivers/clk/sunxi-ng/ccu_div.h        | 30 +++++++++++++
 drivers/clk/sunxi-ng/ccu_mux.c        | 36 +++++++++++++---
 drivers/clk/sunxi-ng/ccu_mux.h        | 17 ++++++++
 drivers/clk/sunxi-ng/ccu_nkm.c        | 80 ++++++++++++++++++++++++++++++++---
 drivers/clk/sunxi-ng/ccu_nm.c         | 23 +++++++++-
 drivers/clk/sunxi-ng/ccu_nm.h         |  6 ++-
 10 files changed, 198 insertions(+), 29 deletions(-)
---
base-commit: 6995e2de6891c724bfeb2db33d7b87775f913ad1
change-id: 20230626-pll-mipi_set_rate_parent-3363fc0d6e6f

Best regards,
-- 
Frank Oltmanns <frank@oltmanns.dev>


^ permalink raw reply	[flat|nested] 59+ messages in thread
* Re: [PATCH v3 5/8] clk: sunxi-ng: nkm: Support finding closest rate
@ 2023-07-03 20:19 kernel test robot
  0 siblings, 0 replies; 59+ messages in thread
From: kernel test robot @ 2023-07-03 20:19 UTC (permalink / raw)
  To: oe-kbuild; +Cc: lkp, Dan Carpenter

BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
In-Reply-To: <20230702-pll-mipi_set_rate_parent-v3-5-46dcb8aa9cbc@oltmanns.dev>
References: <20230702-pll-mipi_set_rate_parent-v3-5-46dcb8aa9cbc@oltmanns.dev>
TO: Frank Oltmanns <frank@oltmanns.dev>
TO: Maxime Ripard <maxime@cerno.tech>
TO: Michael Turquette <mturquette@baylibre.com>
TO: Stephen Boyd <sboyd@kernel.org>
TO: "Chen-Yu Tsai" <wens@csie.org>
TO: Jernej Skrabec <jernej.skrabec@gmail.com>
TO: Samuel Holland <samuel@sholland.org>
TO: Andre Przywara <andre.przywara@arm.com>
TO: Roman Beranek <me@crly.cz>
CC: linux-clk@vger.kernel.org
CC: linux-arm-kernel@lists.infradead.org
CC: linux-sunxi@lists.linux.dev
CC: linux-kernel@vger.kernel.org
CC: Frank Oltmanns <frank@oltmanns.dev>

Hi Frank,

kernel test robot noticed the following build warnings:

[auto build test WARNING on 6995e2de6891c724bfeb2db33d7b87775f913ad1]

url:    https://github.com/intel-lab-lkp/linux/commits/Frank-Oltmanns/clk-sunxi-ng-nkm-consider-alternative-parent-rates-when-determining-rate/20230703-015726
base:   6995e2de6891c724bfeb2db33d7b87775f913ad1
patch link:    https://lore.kernel.org/r/20230702-pll-mipi_set_rate_parent-v3-5-46dcb8aa9cbc%40oltmanns.dev
patch subject: [PATCH v3 5/8] clk: sunxi-ng: nkm: Support finding closest rate
:::::: branch date: 26 hours ago
:::::: commit date: 26 hours ago
config: riscv-randconfig-m031-20230703 (https://download.01.org/0day-ci/archive/20230704/202307040351.19rZm4kd-lkp@intel.com/config)
compiler: riscv64-linux-gcc (GCC) 12.3.0
reproduce: (https://download.01.org/0day-ci/archive/20230704/202307040351.19rZm4kd-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202307040351.19rZm4kd-lkp@intel.com/

smatch warnings:
drivers/clk/sunxi-ng/ccu_nkm.c:46 ccu_nkm_find_best_with_parent_adj() error: uninitialized symbol 'tmp_diff'.
drivers/clk/sunxi-ng/ccu_nkm.c:93 ccu_nkm_find_best() error: uninitialized symbol 'tmp_diff'.

vim +/tmp_diff +46 drivers/clk/sunxi-ng/ccu_nkm.c

df6561e60244c0 Maxime Ripard  2016-06-29   19  
8a97d9f6cbb457 Frank Oltmanns 2023-07-02   20  static unsigned long ccu_nkm_find_best_with_parent_adj(unsigned long *parent, unsigned long rate,
8e5b4aea92912f Frank Oltmanns 2023-07-02   21  						       struct _ccu_nkm *nkm, struct clk_hw *phw,
8e5b4aea92912f Frank Oltmanns 2023-07-02   22  						       unsigned long features)
8a97d9f6cbb457 Frank Oltmanns 2023-07-02   23  {
8e5b4aea92912f Frank Oltmanns 2023-07-02   24  	unsigned long best_rate = 0, best_parent_rate = 0, tmp_parent = *parent;
8e5b4aea92912f Frank Oltmanns 2023-07-02   25  	unsigned long best_diff = ULONG_MAX;
8a97d9f6cbb457 Frank Oltmanns 2023-07-02   26  	unsigned long best_n = 0, best_k = 0, best_m = 0;
8a97d9f6cbb457 Frank Oltmanns 2023-07-02   27  	unsigned long _n, _k, _m;
8a97d9f6cbb457 Frank Oltmanns 2023-07-02   28  
8a97d9f6cbb457 Frank Oltmanns 2023-07-02   29  	for (_k = nkm->min_k; _k <= nkm->max_k; _k++) {
8a97d9f6cbb457 Frank Oltmanns 2023-07-02   30  		for (_n = nkm->min_n; _n <= nkm->max_n; _n++) {
8a97d9f6cbb457 Frank Oltmanns 2023-07-02   31  			for (_m = nkm->min_m; _m <= nkm->max_m; _m++) {
8a97d9f6cbb457 Frank Oltmanns 2023-07-02   32  				unsigned long tmp_rate;
8e5b4aea92912f Frank Oltmanns 2023-07-02   33  				unsigned long tmp_diff;
8a97d9f6cbb457 Frank Oltmanns 2023-07-02   34  
8a97d9f6cbb457 Frank Oltmanns 2023-07-02   35  				tmp_parent = clk_hw_round_rate(phw, rate * _m / (_n * _k));
8a97d9f6cbb457 Frank Oltmanns 2023-07-02   36  
8a97d9f6cbb457 Frank Oltmanns 2023-07-02   37  				tmp_rate = tmp_parent * _n * _k / _m;
8e5b4aea92912f Frank Oltmanns 2023-07-02   38  
8e5b4aea92912f Frank Oltmanns 2023-07-02   39  				if (features & CCU_FEATURE_CLOSEST_RATE) {
8e5b4aea92912f Frank Oltmanns 2023-07-02   40  					tmp_diff = rate > tmp_rate ?
8e5b4aea92912f Frank Oltmanns 2023-07-02   41  						   rate - tmp_rate :
8e5b4aea92912f Frank Oltmanns 2023-07-02   42  						   tmp_rate - rate;
8e5b4aea92912f Frank Oltmanns 2023-07-02   43  				} else {
8a97d9f6cbb457 Frank Oltmanns 2023-07-02   44  					if (tmp_rate > rate)
8a97d9f6cbb457 Frank Oltmanns 2023-07-02   45  						continue;
8e5b4aea92912f Frank Oltmanns 2023-07-02  @46  					tmp_diff = rate - tmp_diff;
8e5b4aea92912f Frank Oltmanns 2023-07-02   47  				}
8a97d9f6cbb457 Frank Oltmanns 2023-07-02   48  
8e5b4aea92912f Frank Oltmanns 2023-07-02   49  				if (tmp_diff < best_diff) {
8a97d9f6cbb457 Frank Oltmanns 2023-07-02   50  					best_rate = tmp_rate;
8a97d9f6cbb457 Frank Oltmanns 2023-07-02   51  					best_parent_rate = tmp_parent;
8e5b4aea92912f Frank Oltmanns 2023-07-02   52  					best_diff = tmp_diff;
8a97d9f6cbb457 Frank Oltmanns 2023-07-02   53  					best_n = _n;
8a97d9f6cbb457 Frank Oltmanns 2023-07-02   54  					best_k = _k;
8a97d9f6cbb457 Frank Oltmanns 2023-07-02   55  					best_m = _m;
8a97d9f6cbb457 Frank Oltmanns 2023-07-02   56  				}
8a97d9f6cbb457 Frank Oltmanns 2023-07-02   57  			}
8a97d9f6cbb457 Frank Oltmanns 2023-07-02   58  		}
8a97d9f6cbb457 Frank Oltmanns 2023-07-02   59  	}
8a97d9f6cbb457 Frank Oltmanns 2023-07-02   60  
8a97d9f6cbb457 Frank Oltmanns 2023-07-02   61  	nkm->n = best_n;
8a97d9f6cbb457 Frank Oltmanns 2023-07-02   62  	nkm->k = best_k;
8a97d9f6cbb457 Frank Oltmanns 2023-07-02   63  	nkm->m = best_m;
8a97d9f6cbb457 Frank Oltmanns 2023-07-02   64  
8a97d9f6cbb457 Frank Oltmanns 2023-07-02   65  	*parent = best_parent_rate;
8a97d9f6cbb457 Frank Oltmanns 2023-07-02   66  
8a97d9f6cbb457 Frank Oltmanns 2023-07-02   67  	return best_rate;
8a97d9f6cbb457 Frank Oltmanns 2023-07-02   68  }
8a97d9f6cbb457 Frank Oltmanns 2023-07-02   69  
657f477a89acb2 Samuel Holland 2022-12-31   70  static unsigned long ccu_nkm_find_best(unsigned long parent, unsigned long rate,
8e5b4aea92912f Frank Oltmanns 2023-07-02   71  				       struct _ccu_nkm *nkm, unsigned long features)
df6561e60244c0 Maxime Ripard  2016-06-29   72  {
df6561e60244c0 Maxime Ripard  2016-06-29   73  	unsigned long best_rate = 0;
8e5b4aea92912f Frank Oltmanns 2023-07-02   74  	unsigned long best_diff = ULONG_MAX;
df6561e60244c0 Maxime Ripard  2016-06-29   75  	unsigned long best_n = 0, best_k = 0, best_m = 0;
df6561e60244c0 Maxime Ripard  2016-06-29   76  	unsigned long _n, _k, _m;
df6561e60244c0 Maxime Ripard  2016-06-29   77  
6e0d50daa97f4b Maxime Ripard  2016-09-29   78  	for (_k = nkm->min_k; _k <= nkm->max_k; _k++) {
6e0d50daa97f4b Maxime Ripard  2016-09-29   79  		for (_n = nkm->min_n; _n <= nkm->max_n; _n++) {
6e0d50daa97f4b Maxime Ripard  2016-09-29   80  			for (_m = nkm->min_m; _m <= nkm->max_m; _m++) {
df6561e60244c0 Maxime Ripard  2016-06-29   81  				unsigned long tmp_rate;
8e5b4aea92912f Frank Oltmanns 2023-07-02   82  				unsigned long tmp_diff;
df6561e60244c0 Maxime Ripard  2016-06-29   83  
df6561e60244c0 Maxime Ripard  2016-06-29   84  				tmp_rate = parent * _n * _k / _m;
df6561e60244c0 Maxime Ripard  2016-06-29   85  
8e5b4aea92912f Frank Oltmanns 2023-07-02   86  				if (features & CCU_FEATURE_CLOSEST_RATE) {
8e5b4aea92912f Frank Oltmanns 2023-07-02   87  					tmp_diff = rate > tmp_rate ?
8e5b4aea92912f Frank Oltmanns 2023-07-02   88  						   rate - tmp_rate :
8e5b4aea92912f Frank Oltmanns 2023-07-02   89  						   tmp_rate - rate;
8e5b4aea92912f Frank Oltmanns 2023-07-02   90  				} else {
df6561e60244c0 Maxime Ripard  2016-06-29   91  					if (tmp_rate > rate)
df6561e60244c0 Maxime Ripard  2016-06-29   92  						continue;
8e5b4aea92912f Frank Oltmanns 2023-07-02  @93  					tmp_diff = rate - tmp_diff;
8e5b4aea92912f Frank Oltmanns 2023-07-02   94  				}
8e5b4aea92912f Frank Oltmanns 2023-07-02   95  
8e5b4aea92912f Frank Oltmanns 2023-07-02   96  				if (tmp_diff < best_diff) {
df6561e60244c0 Maxime Ripard  2016-06-29   97  					best_rate = tmp_rate;
8e5b4aea92912f Frank Oltmanns 2023-07-02   98  					best_diff = tmp_diff;
df6561e60244c0 Maxime Ripard  2016-06-29   99  					best_n = _n;
df6561e60244c0 Maxime Ripard  2016-06-29  100  					best_k = _k;
df6561e60244c0 Maxime Ripard  2016-06-29  101  					best_m = _m;
df6561e60244c0 Maxime Ripard  2016-06-29  102  				}
df6561e60244c0 Maxime Ripard  2016-06-29  103  			}
ee28648cb2b4d4 Maxime Ripard  2016-09-29  104  		}
ee28648cb2b4d4 Maxime Ripard  2016-09-29  105  	}
df6561e60244c0 Maxime Ripard  2016-06-29  106  
df6561e60244c0 Maxime Ripard  2016-06-29  107  	nkm->n = best_n;
df6561e60244c0 Maxime Ripard  2016-06-29  108  	nkm->k = best_k;
df6561e60244c0 Maxime Ripard  2016-06-29  109  	nkm->m = best_m;
657f477a89acb2 Samuel Holland 2022-12-31  110  
657f477a89acb2 Samuel Holland 2022-12-31  111  	return best_rate;
df6561e60244c0 Maxime Ripard  2016-06-29  112  }
df6561e60244c0 Maxime Ripard  2016-06-29  113  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] 59+ messages in thread

end of thread, other threads:[~2023-07-03 20:19 UTC | newest]

Thread overview: 59+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-07-02 17:55 [PATCH v3 0/8] clk: sunxi-ng: Consider alternative parent rates when determining NKM clock rate Frank Oltmanns
2023-07-02 17:55 ` Frank Oltmanns
2023-07-02 17:55 ` [PATCH v3 1/8] clk: sunxi-ng: nkm: consider alternative parent rates when determining rate Frank Oltmanns
2023-07-02 17:55   ` Frank Oltmanns
2023-07-03  6:47   ` Maxime Ripard
2023-07-03  6:47     ` Maxime Ripard
2023-07-03  8:02     ` Frank Oltmanns
2023-07-03  8:02       ` Frank Oltmanns
2023-07-02 17:55 ` [PATCH v3 2/8] clk: sunxi-ng: a64: allow pll-mipi to set parent's rate Frank Oltmanns
2023-07-02 17:55   ` Frank Oltmanns
2023-07-03  6:47   ` Maxime Ripard
2023-07-03  6:47     ` Maxime Ripard
2023-07-02 17:55 ` [PATCH v3 3/8] clk: sunxi-ng: Add feature to find closest rate Frank Oltmanns
2023-07-02 17:55   ` Frank Oltmanns
2023-07-03  6:48   ` Maxime Ripard
2023-07-03  6:48     ` Maxime Ripard
2023-07-02 17:55 ` [PATCH v3 4/8] clk: sunxi-ng: nm: Support finding " Frank Oltmanns
2023-07-02 17:55   ` Frank Oltmanns
2023-07-03  7:24   ` Maxime Ripard
2023-07-03  7:24     ` Maxime Ripard
2023-07-03  8:46     ` Frank Oltmanns
2023-07-03  8:46       ` Frank Oltmanns
2023-07-02 17:55 ` [PATCH v3 5/8] clk: sunxi-ng: nkm: " Frank Oltmanns
2023-07-02 17:55   ` Frank Oltmanns
2023-07-02 20:06   ` kernel test robot
2023-07-02 20:06     ` kernel test robot
2023-07-03  7:17   ` Frank Oltmanns
2023-07-03  7:17     ` Frank Oltmanns
2023-07-03  7:25     ` Maxime Ripard
2023-07-03  7:25       ` Maxime Ripard
2023-07-03  8:59       ` Frank Oltmanns
2023-07-03  8:59         ` Frank Oltmanns
2023-07-03 11:36         ` Maxime Ripard
2023-07-03 11:36           ` Maxime Ripard
2023-07-03  7:33   ` Maxime Ripard
2023-07-03  7:33     ` Maxime Ripard
2023-07-02 17:55 ` [PATCH v3 6/8] clk: sunxi-ng: mux: " Frank Oltmanns
2023-07-02 17:55   ` Frank Oltmanns
2023-07-03  7:38   ` Maxime Ripard
2023-07-03  7:38     ` Maxime Ripard
2023-07-03  9:17     ` Frank Oltmanns
2023-07-03  9:17       ` Frank Oltmanns
2023-07-03 11:37       ` Maxime Ripard
2023-07-03 11:37         ` Maxime Ripard
2023-07-02 17:55 ` [PATCH v3 7/8] clk: sunxi-ng: div: " Frank Oltmanns
2023-07-02 17:55   ` Frank Oltmanns
2023-07-03  7:39   ` Maxime Ripard
2023-07-03  7:39     ` Maxime Ripard
2023-07-02 17:55 ` [PATCH v3 8/8] clk: sunxi-ng: a64: select closest rate for pll-video0 Frank Oltmanns
2023-07-02 17:55   ` Frank Oltmanns
2023-07-03  7:50   ` Maxime Ripard
2023-07-03  7:50     ` Maxime Ripard
2023-07-03  9:28     ` Frank Oltmanns
2023-07-03  9:28       ` Frank Oltmanns
2023-07-03  7:51 ` [PATCH v3 0/8] clk: sunxi-ng: Consider alternative parent rates when determining NKM clock rate Maxime Ripard
2023-07-03  7:51   ` Maxime Ripard
2023-07-03  9:36   ` Frank Oltmanns
2023-07-03  9:36     ` Frank Oltmanns
  -- strict thread matches above, loose matches on Subject: below --
2023-07-03 20:19 [PATCH v3 5/8] clk: sunxi-ng: nkm: Support finding closest rate kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.