Message ID | 20210922125419.4125779-1-maxime@cerno.tech (mailing list archive) |
---|---|
Headers | show |
Series | drm/vc4: hdmi: Remove CPU hangs, take 2 | expand |
I can confirm that this patch series (applied to linux commit 58e2cf5d794616b84f591d4d1276c8953278ce24) works for me — my Raspberry Pi 3 still boots fine (without HDMI connected). Thanks! On Wed, 22 Sept 2021 at 23:18, Michael Stapelberg <michael@stapelberg.ch> wrote: > > > On Wed, 22 Sept 2021 at 14:54, Maxime Ripard <maxime@cerno.tech> wrote: >> >> Hi, >> >> Here's another attempt at fixing the complete CPU stall while retrieving the >> HDMI connector status when the connector is disabled. >> >> This was fixed already, but eventually got reverted by Linus due to the same >> symptom happening in another situation. This was likely (but not confirmed by >> the reporter) due to the kernel being booted without an HDMI display connected, >> in which case the firmware won't initialise the HDMI State Machine clock. > > > Sorry for the lack of confirmation: yes, this problem was encountered when no HDMI display was connected. > > I’ll try testing your patch series tomorrow. > > Thanks for taking care of this! > >> >> >> This is fixed by patch 3. However, further changes in the clock drivers were >> needed for clk_set_min_rate to be used, which are patches 1 and 2. >> >> Finally, patches 4 and 5 are the original patches that were reverted. Patch 4 >> got a small modification to move the clk_set_min_rate() call before the HSM >> clock is enabled. >> >> Let me know what you think, >> Maxime >> >> Maxime Ripard (5): >> clk: bcm-2835: Pick the closest clock rate >> clk: bcm-2835: Remove rounding up the dividers >> drm/vc4: hdmi: Set a default HSM rate >> drm/vc4: hdmi: Move the HSM clock enable to runtime_pm >> drm/vc4: hdmi: Make sure the controller is powered in detect >> >> drivers/clk/bcm/clk-bcm2835.c | 13 ++--- >> drivers/gpu/drm/vc4/vc4_hdmi.c | 90 ++++++++++++++++++++++++---------- >> 2 files changed, 68 insertions(+), 35 deletions(-) >> >> -- >> 2.31.1 >> > > > -- > Best regards, > Michael
Hi, On Wed, Sep 22, 2021 at 02:54:14PM +0200, Maxime Ripard wrote: > Hi, > > Here's another attempt at fixing the complete CPU stall while retrieving the > HDMI connector status when the connector is disabled. > > This was fixed already, but eventually got reverted by Linus due to the same > symptom happening in another situation. This was likely (but not confirmed by > the reporter) due to the kernel being booted without an HDMI display connected, > in which case the firmware won't initialise the HDMI State Machine clock. > > This is fixed by patch 3. However, further changes in the clock drivers were > needed for clk_set_min_rate to be used, which are patches 1 and 2. > > Finally, patches 4 and 5 are the original patches that were reverted. Patch 4 > got a small modification to move the clk_set_min_rate() call before the HSM > clock is enabled. If we merge the clock patches and DRM patches separately we're going to break bisectability. I guess the easiest approach would be to merge the clk patches through DRM. Does that work for everyone? Maxime
On Fri, Sep 24, 2021 at 09:40:44AM +0200, Maxime Ripard wrote: > Hi, > > On Wed, Sep 22, 2021 at 02:54:14PM +0200, Maxime Ripard wrote: > > Hi, > > > > Here's another attempt at fixing the complete CPU stall while retrieving the > > HDMI connector status when the connector is disabled. > > > > This was fixed already, but eventually got reverted by Linus due to the same > > symptom happening in another situation. This was likely (but not confirmed by > > the reporter) due to the kernel being booted without an HDMI display connected, > > in which case the firmware won't initialise the HDMI State Machine clock. > > > > This is fixed by patch 3. However, further changes in the clock drivers were > > needed for clk_set_min_rate to be used, which are patches 1 and 2. > > > > Finally, patches 4 and 5 are the original patches that were reverted. Patch 4 > > got a small modification to move the clk_set_min_rate() call before the HSM > > clock is enabled. > > If we merge the clock patches and DRM patches separately we're going to > break bisectability. I guess the easiest approach would be to merge the > clk patches through DRM. Does that work for everyone? Anyone? I can ask around for reviews on DRM, but I'd really like some reviews on the clock patches here.. Maxime
Quoting Maxime Ripard (2021-09-28 06:05:49) > On Fri, Sep 24, 2021 at 09:40:44AM +0200, Maxime Ripard wrote: > > Hi, > > > > On Wed, Sep 22, 2021 at 02:54:14PM +0200, Maxime Ripard wrote: > > > Hi, > > > > > > Here's another attempt at fixing the complete CPU stall while retrieving the > > > HDMI connector status when the connector is disabled. > > > > > > This was fixed already, but eventually got reverted by Linus due to the same > > > symptom happening in another situation. This was likely (but not confirmed by > > > the reporter) due to the kernel being booted without an HDMI display connected, > > > in which case the firmware won't initialise the HDMI State Machine clock. > > > > > > This is fixed by patch 3. However, further changes in the clock drivers were > > > needed for clk_set_min_rate to be used, which are patches 1 and 2. > > > > > > Finally, patches 4 and 5 are the original patches that were reverted. Patch 4 > > > got a small modification to move the clk_set_min_rate() call before the HSM > > > clock is enabled. > > > > If we merge the clock patches and DRM patches separately we're going to > > break bisectability. I guess the easiest approach would be to merge the > > clk patches through DRM. Does that work for everyone? > > Anyone? I can ask around for reviews on DRM, but I'd really like some > reviews on the clock patches here.. > Looks ok to me to take through drm.
On 9/30/21 11:09 AM, Stephen Boyd wrote: > Quoting Maxime Ripard (2021-09-28 06:05:49) >> On Fri, Sep 24, 2021 at 09:40:44AM +0200, Maxime Ripard wrote: >>> Hi, >>> >>> On Wed, Sep 22, 2021 at 02:54:14PM +0200, Maxime Ripard wrote: >>>> Hi, >>>> >>>> Here's another attempt at fixing the complete CPU stall while retrieving the >>>> HDMI connector status when the connector is disabled. >>>> >>>> This was fixed already, but eventually got reverted by Linus due to the same >>>> symptom happening in another situation. This was likely (but not confirmed by >>>> the reporter) due to the kernel being booted without an HDMI display connected, >>>> in which case the firmware won't initialise the HDMI State Machine clock. >>>> >>>> This is fixed by patch 3. However, further changes in the clock drivers were >>>> needed for clk_set_min_rate to be used, which are patches 1 and 2. >>>> >>>> Finally, patches 4 and 5 are the original patches that were reverted. Patch 4 >>>> got a small modification to move the clk_set_min_rate() call before the HSM >>>> clock is enabled. >>> >>> If we merge the clock patches and DRM patches separately we're going to >>> break bisectability. I guess the easiest approach would be to merge the >>> clk patches through DRM. Does that work for everyone? >> >> Anyone? I can ask around for reviews on DRM, but I'd really like some >> reviews on the clock patches here.. >> > > Looks ok to me to take through drm. Same here, assuming I even have a say in this ;)