<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/drivers/clk, branch master</title>
<subtitle>Clone of https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git</subtitle>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/'/>
<entry>
<title>Merge tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux</title>
<updated>2024-11-10T22:16:28+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2024-11-10T22:16:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=541f3d87b6b7eb97073d0e5a46beae5ebcc0ba96'/>
<id>541f3d87b6b7eb97073d0e5a46beae5ebcc0ba96</id>
<content type='text'>
Pull clk fixes from Stephen Boyd:
 "A handful of Qualcomm clk driver fixes:

   - Correct flags for X Elite USB MP GDSC and pcie pipediv2 clocks

   - Fix alpha PLL post_div mask for the cases where width is not
     specified

   - Avoid hangs in the SM8350 video driver (venus) by setting HW_CTRL
     trigger feature on the video clocks"

* tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux:
  clk: qcom: gcc-x1e80100: Fix USB MP SS1 PHY GDSC pwrsts flags
  clk: qcom: gcc-x1e80100: Fix halt_check for pipediv2 clocks
  clk: qcom: clk-alpha-pll: Fix pll post div mask when width is not set
  clk: qcom: videocc-sm8350: use HW_CTRL_TRIGGER for vcodec GDSCs
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pull clk fixes from Stephen Boyd:
 "A handful of Qualcomm clk driver fixes:

   - Correct flags for X Elite USB MP GDSC and pcie pipediv2 clocks

   - Fix alpha PLL post_div mask for the cases where width is not
     specified

   - Avoid hangs in the SM8350 video driver (venus) by setting HW_CTRL
     trigger feature on the video clocks"

* tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux:
  clk: qcom: gcc-x1e80100: Fix USB MP SS1 PHY GDSC pwrsts flags
  clk: qcom: gcc-x1e80100: Fix halt_check for pipediv2 clocks
  clk: qcom: clk-alpha-pll: Fix pll post div mask when width is not set
  clk: qcom: videocc-sm8350: use HW_CTRL_TRIGGER for vcodec GDSCs
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge tag 'qcom-clk-fixes-for-6.12' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into clk-fixes</title>
<updated>2024-11-05T23:32:08+00:00</updated>
<author>
<name>Stephen Boyd</name>
<email>sboyd@kernel.org</email>
</author>
<published>2024-11-05T23:30:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=714398d8742d5e019a8e5512de2abb8db69ba0a3'/>
<id>714398d8742d5e019a8e5512de2abb8db69ba0a3</id>
<content type='text'>
Pull Qualcomm clk driver fixes from Bjorn Andersson:

 - Correct flags for X Elite USB MP GDSC and pcie pipediv2 clocks
 - Fix alpha PLL post_div mask for the cases where width is not
   specified
 - Avoid hangs in the SM8350 video driver (venus) by setting HW_CTRL
   trigger feature on the video clocks

* tag 'qcom-clk-fixes-for-6.12' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux:
  clk: qcom: gcc-x1e80100: Fix USB MP SS1 PHY GDSC pwrsts flags
  clk: qcom: gcc-x1e80100: Fix halt_check for pipediv2 clocks
  clk: qcom: clk-alpha-pll: Fix pll post div mask when width is not set
  clk: qcom: videocc-sm8350: use HW_CTRL_TRIGGER for vcodec GDSCs
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pull Qualcomm clk driver fixes from Bjorn Andersson:

 - Correct flags for X Elite USB MP GDSC and pcie pipediv2 clocks
 - Fix alpha PLL post_div mask for the cases where width is not
   specified
 - Avoid hangs in the SM8350 video driver (venus) by setting HW_CTRL
   trigger feature on the video clocks

* tag 'qcom-clk-fixes-for-6.12' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux:
  clk: qcom: gcc-x1e80100: Fix USB MP SS1 PHY GDSC pwrsts flags
  clk: qcom: gcc-x1e80100: Fix halt_check for pipediv2 clocks
  clk: qcom: clk-alpha-pll: Fix pll post div mask when width is not set
  clk: qcom: videocc-sm8350: use HW_CTRL_TRIGGER for vcodec GDSCs
</pre>
</div>
</content>
</entry>
<entry>
<title>clk: qcom: gcc-x1e80100: Fix USB MP SS1 PHY GDSC pwrsts flags</title>
<updated>2024-10-22T20:35:15+00:00</updated>
<author>
<name>Abel Vesa</name>
<email>abel.vesa@linaro.org</email>
</author>
<published>2024-10-21T12:46:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=e7f37a7d16310d3c9474825de26a67f00983ebea'/>
<id>e7f37a7d16310d3c9474825de26a67f00983ebea</id>
<content type='text'>
Allowing these GDSCs to collapse makes the QMP combo PHYs lose their
configuration on machine suspend. Currently, the QMP combo PHY driver
doesn't reinitialise the HW on resume. Under such conditions, the USB
SuperSpeed support is broken. To avoid this, mark the pwrsts flags with
RET_ON. This has been already done for USB 0 and 1 SS PHY GDSCs,
Do this also for the USB MP SS1 PHY GDSC config. The USB MP SS0 PHY GDSC
already has it.

Fixes: 161b7c401f4b ("clk: qcom: Add Global Clock controller (GCC) driver for X1E80100")
Reviewed-by: Johan Hovold &lt;johan+linaro@kernel.org&gt;
Signed-off-by: Abel Vesa &lt;abel.vesa@linaro.org&gt;
Link: https://lore.kernel.org/r/20241021-x1e80100-clk-gcc-fix-usb-mp-phy-gdsc-pwrsts-flags-v2-1-0bfd64556238@linaro.org
Signed-off-by: Bjorn Andersson &lt;andersson@kernel.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Allowing these GDSCs to collapse makes the QMP combo PHYs lose their
configuration on machine suspend. Currently, the QMP combo PHY driver
doesn't reinitialise the HW on resume. Under such conditions, the USB
SuperSpeed support is broken. To avoid this, mark the pwrsts flags with
RET_ON. This has been already done for USB 0 and 1 SS PHY GDSCs,
Do this also for the USB MP SS1 PHY GDSC config. The USB MP SS0 PHY GDSC
already has it.

Fixes: 161b7c401f4b ("clk: qcom: Add Global Clock controller (GCC) driver for X1E80100")
Reviewed-by: Johan Hovold &lt;johan+linaro@kernel.org&gt;
Signed-off-by: Abel Vesa &lt;abel.vesa@linaro.org&gt;
Link: https://lore.kernel.org/r/20241021-x1e80100-clk-gcc-fix-usb-mp-phy-gdsc-pwrsts-flags-v2-1-0bfd64556238@linaro.org
Signed-off-by: Bjorn Andersson &lt;andersson@kernel.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux</title>
<updated>2024-10-17T23:24:42+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2024-10-17T23:24:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=d4b82e5808241239cb3ae2bff5a6c6767ea976cb'/>
<id>d4b82e5808241239cb3ae2bff5a6c6767ea976cb</id>
<content type='text'>
Pull clk fixes from Stephen Boyd:
 "Two clk driver fixes and a unit test fix:

   - Terminate the of_device_id table in the Samsung exynosautov920 clk
     driver so that device matching logic doesn't run off the end of the
     array into other memory and break matching for any kernel with this
     driver loaded

   - Properly limit the max clk ID in the Rockchip clk driver

   - Use clk kunit helpers in the clk tests so that memory isn't leaked
     after the test concludes"

* tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux:
  clk: test: Fix some memory leaks
  clk: rockchip: fix finding of maximum clock ID
  clk: samsung: Fix out-of-bound access of of_match_node()
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pull clk fixes from Stephen Boyd:
 "Two clk driver fixes and a unit test fix:

   - Terminate the of_device_id table in the Samsung exynosautov920 clk
     driver so that device matching logic doesn't run off the end of the
     array into other memory and break matching for any kernel with this
     driver loaded

   - Properly limit the max clk ID in the Rockchip clk driver

   - Use clk kunit helpers in the clk tests so that memory isn't leaked
     after the test concludes"

* tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux:
  clk: test: Fix some memory leaks
  clk: rockchip: fix finding of maximum clock ID
  clk: samsung: Fix out-of-bound access of of_match_node()
</pre>
</div>
</content>
</entry>
<entry>
<title>clk: test: Fix some memory leaks</title>
<updated>2024-10-16T21:39:18+00:00</updated>
<author>
<name>Jinjie Ruan</name>
<email>ruanjinjie@huawei.com</email>
</author>
<published>2024-10-16T02:26:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=6b5cca7868fdd2499384e21279fdab86bfa04997'/>
<id>6b5cca7868fdd2499384e21279fdab86bfa04997</id>
<content type='text'>
CONFIG_CLK_KUNIT_TEST=y, CONFIG_DEBUG_KMEMLEAK=y
and CONFIG_DEBUG_KMEMLEAK_AUTO_SCAN=y, the following memory leak occurs.

If the KUNIT_ASSERT_*() fails, the latter (exit() or testcases)
clk_put() or clk_hw_unregister() will fail to release the clk resource
and cause memory leaks, use new clk_hw_register_kunit()
and clk_hw_get_clk_kunit() to automatically release them.

	unreferenced object 0xffffff80c6af5000 (size 512):
	  comm "kunit_try_catch", pid 371, jiffies 4294896001
	  hex dump (first 32 bytes):
	    20 4c c0 86 e1 ff ff ff e0 1a c0 86 e1 ff ff ff   L..............
	    c0 75 e3 c6 80 ff ff ff 00 00 00 00 00 00 00 00  .u..............
	  backtrace (crc 8ca788fa):
	    [&lt;00000000e21852d0&gt;] kmemleak_alloc+0x34/0x40
	    [&lt;000000009c583f7b&gt;] __kmalloc_cache_noprof+0x26c/0x2f4
	    [&lt;00000000d1bc850c&gt;] __clk_register+0x80/0x1ecc
	    [&lt;00000000b08c78c5&gt;] clk_hw_register+0xc4/0x110
	    [&lt;00000000b16d6df8&gt;] clk_multiple_parents_mux_test_init+0x238/0x288
	    [&lt;0000000014a7e804&gt;] kunit_try_run_case+0x10c/0x3ac
	    [&lt;0000000026b41f03&gt;] kunit_generic_run_threadfn_adapter+0x80/0xec
	    [&lt;0000000066619fb8&gt;] kthread+0x2e8/0x374
	    [&lt;00000000a1157f53&gt;] ret_from_fork+0x10/0x20
	unreferenced object 0xffffff80c6e37880 (size 96):
	  comm "kunit_try_catch", pid 371, jiffies 4294896002
	  hex dump (first 32 bytes):
	    00 50 af c6 80 ff ff ff 00 00 00 00 00 00 00 00  .P..............
	    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	  backtrace (crc b4b766dd):
	    [&lt;00000000e21852d0&gt;] kmemleak_alloc+0x34/0x40
	    [&lt;000000009c583f7b&gt;] __kmalloc_cache_noprof+0x26c/0x2f4
	    [&lt;0000000086e7dd64&gt;] clk_hw_create_clk.part.0.isra.0+0x58/0x2f4
	    [&lt;00000000dcf1ac31&gt;] clk_hw_get_clk+0x8c/0x114
	    [&lt;000000006fab5bfa&gt;] clk_test_multiple_parents_mux_set_range_set_parent_get_rate+0x3c/0xa0
	    [&lt;00000000c97db55a&gt;] kunit_try_run_case+0x13c/0x3ac
	    [&lt;0000000026b41f03&gt;] kunit_generic_run_threadfn_adapter+0x80/0xec
	    [&lt;0000000066619fb8&gt;] kthread+0x2e8/0x374
	    [&lt;00000000a1157f53&gt;] ret_from_fork+0x10/0x20
	unreferenced object 0xffffff80c2b56900 (size 96):
	  comm "kunit_try_catch", pid 395, jiffies 4294896107
	  hex dump (first 32 bytes):
	    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	    00 00 00 00 00 00 00 00 e0 49 c0 86 e1 ff ff ff  .........I......
	  backtrace (crc 2e59b327):
	    [&lt;00000000e21852d0&gt;] kmemleak_alloc+0x34/0x40
	    [&lt;00000000c6c715a8&gt;] __kmalloc_noprof+0x2bc/0x3c0
	    [&lt;00000000f04a7951&gt;] __clk_register+0x70c/0x1ecc
	    [&lt;00000000b08c78c5&gt;] clk_hw_register+0xc4/0x110
	    [&lt;00000000cafa9563&gt;] clk_orphan_transparent_multiple_parent_mux_test_init+0x1a8/0x1dc
	    [&lt;0000000014a7e804&gt;] kunit_try_run_case+0x10c/0x3ac
	    [&lt;0000000026b41f03&gt;] kunit_generic_run_threadfn_adapter+0x80/0xec
	    [&lt;0000000066619fb8&gt;] kthread+0x2e8/0x374
	    [&lt;00000000a1157f53&gt;] ret_from_fork+0x10/0x20
	unreferenced object 0xffffff80c87c9400 (size 512):
	  comm "kunit_try_catch", pid 483, jiffies 4294896907
	  hex dump (first 32 bytes):
	    a0 44 c0 86 e1 ff ff ff e0 1a c0 86 e1 ff ff ff  .D..............
	    20 05 a8 c8 80 ff ff ff 00 00 00 00 00 00 00 00   ...............
	  backtrace (crc c25b43fb):
	    [&lt;00000000e21852d0&gt;] kmemleak_alloc+0x34/0x40
	    [&lt;000000009c583f7b&gt;] __kmalloc_cache_noprof+0x26c/0x2f4
	    [&lt;00000000d1bc850c&gt;] __clk_register+0x80/0x1ecc
	    [&lt;00000000b08c78c5&gt;] clk_hw_register+0xc4/0x110
	    [&lt;000000002688be48&gt;] clk_single_parent_mux_test_init+0x1a0/0x1d4
	    [&lt;0000000014a7e804&gt;] kunit_try_run_case+0x10c/0x3ac
	    [&lt;0000000026b41f03&gt;] kunit_generic_run_threadfn_adapter+0x80/0xec
	    [&lt;0000000066619fb8&gt;] kthread+0x2e8/0x374
	    [&lt;00000000a1157f53&gt;] ret_from_fork+0x10/0x20
	unreferenced object 0xffffff80c6dd2380 (size 96):
	  comm "kunit_try_catch", pid 483, jiffies 4294896908
	  hex dump (first 32 bytes):
	    00 94 7c c8 80 ff ff ff 00 00 00 00 00 00 00 00  ..|.............
	    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	  backtrace (crc 4401212):
	    [&lt;00000000e21852d0&gt;] kmemleak_alloc+0x34/0x40
	    [&lt;000000009c583f7b&gt;] __kmalloc_cache_noprof+0x26c/0x2f4
	    [&lt;0000000086e7dd64&gt;] clk_hw_create_clk.part.0.isra.0+0x58/0x2f4
	    [&lt;00000000dcf1ac31&gt;] clk_hw_get_clk+0x8c/0x114
	    [&lt;0000000063eb2c90&gt;] clk_test_single_parent_mux_set_range_disjoint_child_last+0x3c/0xa0
	    [&lt;00000000c97db55a&gt;] kunit_try_run_case+0x13c/0x3ac
	    [&lt;0000000026b41f03&gt;] kunit_generic_run_threadfn_adapter+0x80/0xec
	    [&lt;0000000066619fb8&gt;] kthread+0x2e8/0x374
	    [&lt;00000000a1157f53&gt;] ret_from_fork+0x10/0x20
	......

Fixes: 02cdeace1e1e ("clk: tests: Add tests for single parent mux")
Fixes: 2e9cad1abc71 ("clk: tests: Add some tests for orphan with multiple parents")
Fixes: 433fb8a611ca ("clk: tests: Add missing test case for ranges")
Signed-off-by: Jinjie Ruan &lt;ruanjinjie@huawei.com&gt;
Link: https://lore.kernel.org/r/20241016022658.2131826-1-ruanjinjie@huawei.com
Reviewed-by: Maxime Ripard &lt;mripard@kernel.org&gt;
Signed-off-by: Stephen Boyd &lt;sboyd@kernel.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
CONFIG_CLK_KUNIT_TEST=y, CONFIG_DEBUG_KMEMLEAK=y
and CONFIG_DEBUG_KMEMLEAK_AUTO_SCAN=y, the following memory leak occurs.

If the KUNIT_ASSERT_*() fails, the latter (exit() or testcases)
clk_put() or clk_hw_unregister() will fail to release the clk resource
and cause memory leaks, use new clk_hw_register_kunit()
and clk_hw_get_clk_kunit() to automatically release them.

	unreferenced object 0xffffff80c6af5000 (size 512):
	  comm "kunit_try_catch", pid 371, jiffies 4294896001
	  hex dump (first 32 bytes):
	    20 4c c0 86 e1 ff ff ff e0 1a c0 86 e1 ff ff ff   L..............
	    c0 75 e3 c6 80 ff ff ff 00 00 00 00 00 00 00 00  .u..............
	  backtrace (crc 8ca788fa):
	    [&lt;00000000e21852d0&gt;] kmemleak_alloc+0x34/0x40
	    [&lt;000000009c583f7b&gt;] __kmalloc_cache_noprof+0x26c/0x2f4
	    [&lt;00000000d1bc850c&gt;] __clk_register+0x80/0x1ecc
	    [&lt;00000000b08c78c5&gt;] clk_hw_register+0xc4/0x110
	    [&lt;00000000b16d6df8&gt;] clk_multiple_parents_mux_test_init+0x238/0x288
	    [&lt;0000000014a7e804&gt;] kunit_try_run_case+0x10c/0x3ac
	    [&lt;0000000026b41f03&gt;] kunit_generic_run_threadfn_adapter+0x80/0xec
	    [&lt;0000000066619fb8&gt;] kthread+0x2e8/0x374
	    [&lt;00000000a1157f53&gt;] ret_from_fork+0x10/0x20
	unreferenced object 0xffffff80c6e37880 (size 96):
	  comm "kunit_try_catch", pid 371, jiffies 4294896002
	  hex dump (first 32 bytes):
	    00 50 af c6 80 ff ff ff 00 00 00 00 00 00 00 00  .P..............
	    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	  backtrace (crc b4b766dd):
	    [&lt;00000000e21852d0&gt;] kmemleak_alloc+0x34/0x40
	    [&lt;000000009c583f7b&gt;] __kmalloc_cache_noprof+0x26c/0x2f4
	    [&lt;0000000086e7dd64&gt;] clk_hw_create_clk.part.0.isra.0+0x58/0x2f4
	    [&lt;00000000dcf1ac31&gt;] clk_hw_get_clk+0x8c/0x114
	    [&lt;000000006fab5bfa&gt;] clk_test_multiple_parents_mux_set_range_set_parent_get_rate+0x3c/0xa0
	    [&lt;00000000c97db55a&gt;] kunit_try_run_case+0x13c/0x3ac
	    [&lt;0000000026b41f03&gt;] kunit_generic_run_threadfn_adapter+0x80/0xec
	    [&lt;0000000066619fb8&gt;] kthread+0x2e8/0x374
	    [&lt;00000000a1157f53&gt;] ret_from_fork+0x10/0x20
	unreferenced object 0xffffff80c2b56900 (size 96):
	  comm "kunit_try_catch", pid 395, jiffies 4294896107
	  hex dump (first 32 bytes):
	    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	    00 00 00 00 00 00 00 00 e0 49 c0 86 e1 ff ff ff  .........I......
	  backtrace (crc 2e59b327):
	    [&lt;00000000e21852d0&gt;] kmemleak_alloc+0x34/0x40
	    [&lt;00000000c6c715a8&gt;] __kmalloc_noprof+0x2bc/0x3c0
	    [&lt;00000000f04a7951&gt;] __clk_register+0x70c/0x1ecc
	    [&lt;00000000b08c78c5&gt;] clk_hw_register+0xc4/0x110
	    [&lt;00000000cafa9563&gt;] clk_orphan_transparent_multiple_parent_mux_test_init+0x1a8/0x1dc
	    [&lt;0000000014a7e804&gt;] kunit_try_run_case+0x10c/0x3ac
	    [&lt;0000000026b41f03&gt;] kunit_generic_run_threadfn_adapter+0x80/0xec
	    [&lt;0000000066619fb8&gt;] kthread+0x2e8/0x374
	    [&lt;00000000a1157f53&gt;] ret_from_fork+0x10/0x20
	unreferenced object 0xffffff80c87c9400 (size 512):
	  comm "kunit_try_catch", pid 483, jiffies 4294896907
	  hex dump (first 32 bytes):
	    a0 44 c0 86 e1 ff ff ff e0 1a c0 86 e1 ff ff ff  .D..............
	    20 05 a8 c8 80 ff ff ff 00 00 00 00 00 00 00 00   ...............
	  backtrace (crc c25b43fb):
	    [&lt;00000000e21852d0&gt;] kmemleak_alloc+0x34/0x40
	    [&lt;000000009c583f7b&gt;] __kmalloc_cache_noprof+0x26c/0x2f4
	    [&lt;00000000d1bc850c&gt;] __clk_register+0x80/0x1ecc
	    [&lt;00000000b08c78c5&gt;] clk_hw_register+0xc4/0x110
	    [&lt;000000002688be48&gt;] clk_single_parent_mux_test_init+0x1a0/0x1d4
	    [&lt;0000000014a7e804&gt;] kunit_try_run_case+0x10c/0x3ac
	    [&lt;0000000026b41f03&gt;] kunit_generic_run_threadfn_adapter+0x80/0xec
	    [&lt;0000000066619fb8&gt;] kthread+0x2e8/0x374
	    [&lt;00000000a1157f53&gt;] ret_from_fork+0x10/0x20
	unreferenced object 0xffffff80c6dd2380 (size 96):
	  comm "kunit_try_catch", pid 483, jiffies 4294896908
	  hex dump (first 32 bytes):
	    00 94 7c c8 80 ff ff ff 00 00 00 00 00 00 00 00  ..|.............
	    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
	  backtrace (crc 4401212):
	    [&lt;00000000e21852d0&gt;] kmemleak_alloc+0x34/0x40
	    [&lt;000000009c583f7b&gt;] __kmalloc_cache_noprof+0x26c/0x2f4
	    [&lt;0000000086e7dd64&gt;] clk_hw_create_clk.part.0.isra.0+0x58/0x2f4
	    [&lt;00000000dcf1ac31&gt;] clk_hw_get_clk+0x8c/0x114
	    [&lt;0000000063eb2c90&gt;] clk_test_single_parent_mux_set_range_disjoint_child_last+0x3c/0xa0
	    [&lt;00000000c97db55a&gt;] kunit_try_run_case+0x13c/0x3ac
	    [&lt;0000000026b41f03&gt;] kunit_generic_run_threadfn_adapter+0x80/0xec
	    [&lt;0000000066619fb8&gt;] kthread+0x2e8/0x374
	    [&lt;00000000a1157f53&gt;] ret_from_fork+0x10/0x20
	......

Fixes: 02cdeace1e1e ("clk: tests: Add tests for single parent mux")
Fixes: 2e9cad1abc71 ("clk: tests: Add some tests for orphan with multiple parents")
Fixes: 433fb8a611ca ("clk: tests: Add missing test case for ranges")
Signed-off-by: Jinjie Ruan &lt;ruanjinjie@huawei.com&gt;
Link: https://lore.kernel.org/r/20241016022658.2131826-1-ruanjinjie@huawei.com
Reviewed-by: Maxime Ripard &lt;mripard@kernel.org&gt;
Signed-off-by: Stephen Boyd &lt;sboyd@kernel.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>clk: qcom: gcc-x1e80100: Fix halt_check for pipediv2 clocks</title>
<updated>2024-10-16T20:21:40+00:00</updated>
<author>
<name>Qiang Yu</name>
<email>quic_qianyu@quicinc.com</email>
</author>
<published>2024-10-11T10:41:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=bf0a800415a7397617765fe5f5278a645195c75a'/>
<id>bf0a800415a7397617765fe5f5278a645195c75a</id>
<content type='text'>
The pipediv2_clk's source from the same mux as pipe clock. So they have
same limitation, which is that the PHY sequence requires to enable these
local CBCs before the PHY is actually outputting a clock to them. This
means the clock won't actually turn on when we vote them. Hence, let's
skip the halt bit check of the pipediv2_clk, otherwise pipediv2_clk may
stuck at off state during bootup.

Cc: stable@vger.kernel.org
Fixes: 161b7c401f4b ("clk: qcom: Add Global Clock controller (GCC) driver for X1E80100")
Suggested-by: Mike Tipton &lt;quic_mdtipton@quicinc.com&gt;
Signed-off-by: Qiang Yu &lt;quic_qianyu@quicinc.com&gt;
Reviewed-by: Konrad Dybcio &lt;konradybcio@kernel.org&gt;
Reviewed-by: Johan Hovold &lt;johan+linaro@kernel.org&gt;
Link: https://lore.kernel.org/r/20241011104142.1181773-6-quic_qianyu@quicinc.com
Signed-off-by: Bjorn Andersson &lt;andersson@kernel.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The pipediv2_clk's source from the same mux as pipe clock. So they have
same limitation, which is that the PHY sequence requires to enable these
local CBCs before the PHY is actually outputting a clock to them. This
means the clock won't actually turn on when we vote them. Hence, let's
skip the halt bit check of the pipediv2_clk, otherwise pipediv2_clk may
stuck at off state during bootup.

Cc: stable@vger.kernel.org
Fixes: 161b7c401f4b ("clk: qcom: Add Global Clock controller (GCC) driver for X1E80100")
Suggested-by: Mike Tipton &lt;quic_mdtipton@quicinc.com&gt;
Signed-off-by: Qiang Yu &lt;quic_qianyu@quicinc.com&gt;
Reviewed-by: Konrad Dybcio &lt;konradybcio@kernel.org&gt;
Reviewed-by: Johan Hovold &lt;johan+linaro@kernel.org&gt;
Link: https://lore.kernel.org/r/20241011104142.1181773-6-quic_qianyu@quicinc.com
Signed-off-by: Bjorn Andersson &lt;andersson@kernel.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>clk: qcom: clk-alpha-pll: Fix pll post div mask when width is not set</title>
<updated>2024-10-14T23:51:29+00:00</updated>
<author>
<name>Barnabás Czémán</name>
<email>barnabas.czeman@mainlining.org</email>
</author>
<published>2024-10-06T20:51:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=e02bfea4d7ef587bb285ad5825da4e1973ac8263'/>
<id>e02bfea4d7ef587bb285ad5825da4e1973ac8263</id>
<content type='text'>
Many qcom clock drivers do not have .width set. In that case value of
(p)-&gt;width - 1 will be negative which breaks clock tree. Fix this
by checking if width is zero, and pass 3 to GENMASK if that's the case.

Fixes: 1c3541145cbf ("clk: qcom: support for 2 bit PLL post divider")
Signed-off-by: Barnabás Czémán &lt;barnabas.czeman@mainlining.org&gt;
Reviewed-by: Dmitry Baryshkov &lt;dmitry.baryshkov@linaro.org&gt;
Reviewed-by: Christopher Obbard &lt;christopher.obbard@linaro.org&gt;
Tested-by: Christopher Obbard &lt;christopher.obbard@linaro.org&gt;
Link: https://lore.kernel.org/r/20241006-fix-postdiv-mask-v3-1-160354980433@mainlining.org
Signed-off-by: Bjorn Andersson &lt;andersson@kernel.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Many qcom clock drivers do not have .width set. In that case value of
(p)-&gt;width - 1 will be negative which breaks clock tree. Fix this
by checking if width is zero, and pass 3 to GENMASK if that's the case.

Fixes: 1c3541145cbf ("clk: qcom: support for 2 bit PLL post divider")
Signed-off-by: Barnabás Czémán &lt;barnabas.czeman@mainlining.org&gt;
Reviewed-by: Dmitry Baryshkov &lt;dmitry.baryshkov@linaro.org&gt;
Reviewed-by: Christopher Obbard &lt;christopher.obbard@linaro.org&gt;
Tested-by: Christopher Obbard &lt;christopher.obbard@linaro.org&gt;
Link: https://lore.kernel.org/r/20241006-fix-postdiv-mask-v3-1-160354980433@mainlining.org
Signed-off-by: Bjorn Andersson &lt;andersson@kernel.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge tag 'samsung-clk-fixes-6.12' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into clk-fixes</title>
<updated>2024-10-10T21:47:45+00:00</updated>
<author>
<name>Stephen Boyd</name>
<email>sboyd@kernel.org</email>
</author>
<published>2024-10-10T21:47:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=23dbbe8889250bed10cdd8a328d97efd15f808a7'/>
<id>23dbbe8889250bed10cdd8a328d97efd15f808a7</id>
<content type='text'>
Pull a Samsung clk driver fix from Krzysztof Kozlowski:

Add missing sentinel in of_device_id table so the code iterating over it
will not go over the size of an array.

* tag 'samsung-clk-fixes-6.12' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  clk: samsung: Fix out-of-bound access of of_match_node()
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pull a Samsung clk driver fix from Krzysztof Kozlowski:

Add missing sentinel in of_device_id table so the code iterating over it
will not go over the size of an array.

* tag 'samsung-clk-fixes-6.12' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  clk: samsung: Fix out-of-bound access of of_match_node()
</pre>
</div>
</content>
</entry>
<entry>
<title>clk: qcom: videocc-sm8350: use HW_CTRL_TRIGGER for vcodec GDSCs</title>
<updated>2024-10-10T02:26:29+00:00</updated>
<author>
<name>Johan Hovold</name>
<email>johan+linaro@kernel.org</email>
</author>
<published>2024-09-01T09:30:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=f903663a8dcd6e1656e52856afbf706cc14cbe6d'/>
<id>f903663a8dcd6e1656e52856afbf706cc14cbe6d</id>
<content type='text'>
A recent change in the venus driver results in a stuck clock on the
Lenovo ThinkPad X13s, for example, when streaming video in firefox:

	video_cc_mvs0_clk status stuck at 'off'
	WARNING: CPU: 6 PID: 2885 at drivers/clk/qcom/clk-branch.c:87 clk_branch_wait+0x144/0x15c
	...
	Call trace:
	 clk_branch_wait+0x144/0x15c
	 clk_branch2_enable+0x30/0x40
	 clk_core_enable+0xd8/0x29c
	 clk_enable+0x2c/0x4c
	 vcodec_clks_enable.isra.0+0x94/0xd8 [venus_core]
	 coreid_power_v4+0x464/0x628 [venus_core]
	 vdec_start_streaming+0xc4/0x510 [venus_dec]
	 vb2_start_streaming+0x6c/0x180 [videobuf2_common]
	 vb2_core_streamon+0x120/0x1dc [videobuf2_common]
	 vb2_streamon+0x1c/0x6c [videobuf2_v4l2]
	 v4l2_m2m_ioctl_streamon+0x30/0x80 [v4l2_mem2mem]
	 v4l_streamon+0x24/0x30 [videodev]

using the out-of-tree sm8350/sc8280xp venus support. [1]

Update also the sm8350/sc8280xp GDSC definitions so that the hw control
mode can be changed at runtime as the venus driver now requires.

Fixes: ec9a652e5149 ("venus: pm_helpers: Use dev_pm_genpd_set_hwmode to switch GDSC mode on V6")
Link: https://lore.kernel.org/lkml/20230731-topic-8280_venus-v1-0-8c8bbe1983a5@linaro.org/ # [1]
Cc: Jagadeesh Kona &lt;quic_jkona@quicinc.com&gt;
Cc: Taniya Das &lt;quic_tdas@quicinc.com&gt;
Cc: Abel Vesa &lt;abel.vesa@linaro.org&gt;
Cc: Konrad Dybcio &lt;konradybcio@kernel.org&gt;
Cc: stable@vger.kernel.org
Signed-off-by: Johan Hovold &lt;johan+linaro@kernel.org&gt;
Tested-by: Steev Klimaszewski &lt;steev@kali.org&gt;
Link: https://lore.kernel.org/r/20240901093024.18841-1-johan+linaro@kernel.org
Signed-off-by: Bjorn Andersson &lt;andersson@kernel.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A recent change in the venus driver results in a stuck clock on the
Lenovo ThinkPad X13s, for example, when streaming video in firefox:

	video_cc_mvs0_clk status stuck at 'off'
	WARNING: CPU: 6 PID: 2885 at drivers/clk/qcom/clk-branch.c:87 clk_branch_wait+0x144/0x15c
	...
	Call trace:
	 clk_branch_wait+0x144/0x15c
	 clk_branch2_enable+0x30/0x40
	 clk_core_enable+0xd8/0x29c
	 clk_enable+0x2c/0x4c
	 vcodec_clks_enable.isra.0+0x94/0xd8 [venus_core]
	 coreid_power_v4+0x464/0x628 [venus_core]
	 vdec_start_streaming+0xc4/0x510 [venus_dec]
	 vb2_start_streaming+0x6c/0x180 [videobuf2_common]
	 vb2_core_streamon+0x120/0x1dc [videobuf2_common]
	 vb2_streamon+0x1c/0x6c [videobuf2_v4l2]
	 v4l2_m2m_ioctl_streamon+0x30/0x80 [v4l2_mem2mem]
	 v4l_streamon+0x24/0x30 [videodev]

using the out-of-tree sm8350/sc8280xp venus support. [1]

Update also the sm8350/sc8280xp GDSC definitions so that the hw control
mode can be changed at runtime as the venus driver now requires.

Fixes: ec9a652e5149 ("venus: pm_helpers: Use dev_pm_genpd_set_hwmode to switch GDSC mode on V6")
Link: https://lore.kernel.org/lkml/20230731-topic-8280_venus-v1-0-8c8bbe1983a5@linaro.org/ # [1]
Cc: Jagadeesh Kona &lt;quic_jkona@quicinc.com&gt;
Cc: Taniya Das &lt;quic_tdas@quicinc.com&gt;
Cc: Abel Vesa &lt;abel.vesa@linaro.org&gt;
Cc: Konrad Dybcio &lt;konradybcio@kernel.org&gt;
Cc: stable@vger.kernel.org
Signed-off-by: Johan Hovold &lt;johan+linaro@kernel.org&gt;
Tested-by: Steev Klimaszewski &lt;steev@kali.org&gt;
Link: https://lore.kernel.org/r/20240901093024.18841-1-johan+linaro@kernel.org
Signed-off-by: Bjorn Andersson &lt;andersson@kernel.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>clk: rockchip: fix finding of maximum clock ID</title>
<updated>2024-10-09T23:06:51+00:00</updated>
<author>
<name>Yao Zi</name>
<email>ziyao@disroot.org</email>
</author>
<published>2024-09-12T13:32:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=ad1081a0da2744141d12e94ff816ac91feb871ca'/>
<id>ad1081a0da2744141d12e94ff816ac91feb871ca</id>
<content type='text'>
If an ID of a branch's child is greater than current maximum, we should
set new maximum to the child's ID, instead of its parent's.

Fixes: 2dc66a5ab2c6 ("clk: rockchip: rk3588: fix CLK_NR_CLKS usage")
Signed-off-by: Yao Zi &lt;ziyao@disroot.org&gt;
Link: https://lore.kernel.org/r/20240912133204.29089-2-ziyao@disroot.org
Reviewed-by: Sebastian Reichel &lt;sebastian.reichel@collabora.com&gt;
Reviewed-by: Heiko Stuebner &lt;heiko@sntech.de&gt;
Signed-off-by: Stephen Boyd &lt;sboyd@kernel.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If an ID of a branch's child is greater than current maximum, we should
set new maximum to the child's ID, instead of its parent's.

Fixes: 2dc66a5ab2c6 ("clk: rockchip: rk3588: fix CLK_NR_CLKS usage")
Signed-off-by: Yao Zi &lt;ziyao@disroot.org&gt;
Link: https://lore.kernel.org/r/20240912133204.29089-2-ziyao@disroot.org
Reviewed-by: Sebastian Reichel &lt;sebastian.reichel@collabora.com&gt;
Reviewed-by: Heiko Stuebner &lt;heiko@sntech.de&gt;
Signed-off-by: Stephen Boyd &lt;sboyd@kernel.org&gt;
</pre>
</div>
</content>
</entry>
</feed>
