Thread (12 messages) 12 messages, 2 authors, 2026-02-17

Re: [PATCH v5 3/7] clk: bcm: rpi: Mark PIXEL_CLK and HEVC_CLK as CLK_IGNORE_UNUSED

From: Maíra Canal <mcanal@igalia.com>
Date: 2026-02-16 12:18:50
Also in: dri-devel, linux-clk

Hi Maxime,

On 16/02/26 07:53, Maxime Ripard wrote:
Hi,

On Fri, Feb 13, 2026 at 03:52:56PM -0300, Maíra Canal wrote:
quoted
If PIXEL_CLK or HEVC_CLK is disabled during boot, the firmware will skip
HSM initialization, which would result in a bus lockup. However, those
clocks are consumed by drivers (vc4 and HEVC decoder drivers,
respectively), which means that they can be enabled/disabled by the
drivers.

Mark those clocks as CLK_IGNORE_UNUSED to allow them to be disabled by
drivers when appropriate.

Acked-by: Melissa Wen <mwen@igalia.com>
Signed-off-by: Maíra Canal <mcanal@igalia.com>
It looks like sync_state would be a better candidate to handle this?
I have the impression that CLK_IGNORE_UNUSED is still a better fit here.

First, the clock framework has no sync_state integration. The only use
of sync_state in clock drivers is done by Qualcomm's clock controllers,
which uses icc_sync_state for the interconnect framework. From my
understanding, CLK_IGNORE_UNUSED is the idiomatic mechanism for "don't
disable this clock during clk_disable_unused() and allow drivers to 
manage it", which is exactly what we are looking for.

Apart from that, if we decide to use sync_state, I'm not sure we could
handle granularity. sync_state is a per-device mechanism, not per-clock,
and clk-raspberrypi provides multiple clocks (consumed by different
drivers). With CLK_IGNORE_UNUSED, the protection is per-clock: once a
driver calls clk_prepare_enable/unprepare() it manages that clock,
regardless of what other consumers of other clocks are doing.

Best regards,
- Maíra
Maxime
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help