Linux-ARM-Kernel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Stefan Wahren <wahrenst@gmx.net>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Florian Fainelli <florian.fainelli@broadcom.com>,
	Ray Jui <rjui@broadcom.com>,
	Scott Branden <sbranden@broadcom.com>,
	Maxime Ripard <mripard@kernel.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Jassi Brar <jassisinghbrar@gmail.com>,
	Ulf Hansson <ulf.hansson@linaro.org>,
	Jiri Slaby <jirislaby@kernel.org>,
	Minas Harutyunyan <hminas@synopsys.com>
Cc: Dave Stevenson <dave.stevenson@raspberrypi.com>,
	Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
	Thomas Zimmermann <tzimmermann@suse.de>,
	David Airlie <airlied@gmail.com>, Daniel Vetter <daniel@ffwll.ch>,
	Lukas Wunner <lukas@wunner.de>,
	Peter Robinson <pbrobinson@gmail.com>,
	dri-devel@lists.freedesktop.org,
	bcm-kernel-feedback-list@broadcom.com, linux-pm@vger.kernel.org,
	linux-serial@vger.kernel.org, linux-usb@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	kernel-list@raspberrypi.com, Stefan Wahren <wahrenst@gmx.net>
Subject: [PATCH 07/11] drm/vc4: hdmi: Disable connector status polling during suspend
Date: Sun, 30 Jun 2024 17:36:48 +0200	[thread overview]
Message-ID: <20240630153652.318882-8-wahrenst@gmx.net> (raw)
In-Reply-To: <20240630153652.318882-1-wahrenst@gmx.net>

Suspend of VC4 HDMI will likely triggers a warning from
vc4_hdmi_connector_detect_ctx() during poll of connector status.
The power management will prevent the resume and keep the relevant
power domain disabled.

Since there is no reason to poll the connector status during
suspend, the polling should be disabled during this.

It not possible to use drm_mode_config_helper_suspend() here,
because the callbacks might be called during bind phase and not all
components are fully initialized.

Link: https://lore.kernel.org/dri-devel/7003512d-7303-4f41-b0d6-a8af5bf8e497@gmx.net/
Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
---
 drivers/gpu/drm/vc4/vc4_hdmi.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c
index b3a42b709718..e80495cea6ac 100644
--- a/drivers/gpu/drm/vc4/vc4_hdmi.c
+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
@@ -3106,6 +3106,13 @@ static int vc5_hdmi_init_resources(struct drm_device *drm,
 static int vc4_hdmi_runtime_suspend(struct device *dev)
 {
 	struct vc4_hdmi *vc4_hdmi = dev_get_drvdata(dev);
+	struct drm_device *drm = vc4_hdmi->connector.dev;
+
+	/*
+	 * Don't disable polling if it was never initialized
+	 */
+	if (drm && drm->mode_config.poll_enabled)
+		drm_kms_helper_poll_disable(drm);

 	clk_disable_unprepare(vc4_hdmi->hsm_clock);

@@ -3115,6 +3122,7 @@ static int vc4_hdmi_runtime_suspend(struct device *dev)
 static int vc4_hdmi_runtime_resume(struct device *dev)
 {
 	struct vc4_hdmi *vc4_hdmi = dev_get_drvdata(dev);
+	struct drm_device *drm = vc4_hdmi->connector.dev;
 	unsigned long __maybe_unused flags;
 	u32 __maybe_unused value;
 	unsigned long rate;
@@ -3159,6 +3167,9 @@ static int vc4_hdmi_runtime_resume(struct device *dev)
 	}
 #endif

+	if (drm && drm->mode_config.poll_enabled)
+		drm_kms_helper_poll_enable(drm);
+
 	return 0;

 err_disable_clk:
--
2.34.1



  parent reply	other threads:[~2024-06-30 15:38 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-06-30 15:36 [PATCH 00/11] ARM: bcm2835: Implement initial S2Idle for Raspberry Pi Stefan Wahren
2024-06-30 15:36 ` [PATCH 01/11] firmware: raspberrypi: Improve timeout warning Stefan Wahren
2024-07-04 14:10   ` Florian Fainelli
2024-06-30 15:36 ` [PATCH 02/11] mailbox: bcm2835: Fix timeout during suspend mode Stefan Wahren
2024-07-04 14:10   ` Florian Fainelli
2024-06-30 15:36 ` [PATCH 03/11] pmdomain: raspberrypi-power: Adjust packet definition Stefan Wahren
2024-07-04 14:11   ` Florian Fainelli
2024-06-30 15:36 ` [PATCH 04/11] pmdomain: raspberrypi-power: Avoid powering down USB Stefan Wahren
2024-06-30 15:36 ` [PATCH 05/11] irqchip/bcm2835: Enable SKIP_SET_WAKE and MASK_ON_SUSPEND Stefan Wahren
2024-07-04 14:11   ` Florian Fainelli
2024-06-30 15:36 ` [PATCH 06/11] drm/vc4: hdmi: Handle error case of pm_runtime_resume_and_get Stefan Wahren
2024-07-02 13:48   ` Maxime Ripard
2024-07-02 19:46   ` Maíra Canal
2024-07-23 17:27   ` Stefan Wahren
2024-06-30 15:36 ` Stefan Wahren [this message]
2024-07-02 13:48   ` [PATCH 07/11] drm/vc4: hdmi: Disable connector status polling during suspend Maxime Ripard
2024-07-03 10:28     ` Stefan Wahren
2024-07-03 15:32       ` Stefan Wahren
2024-07-03 15:58         ` Dave Stevenson
2024-07-02 20:02   ` Peter Robinson
2024-07-04 16:25     ` Stefan Wahren
2024-06-30 15:36 ` [PATCH 08/11] usb: dwc2: debugfs: Print parameter no_clock_gating Stefan Wahren
2024-07-01  5:56   ` Minas Harutyunyan
2024-07-04 14:13   ` Florian Fainelli
2024-06-30 15:36 ` [PATCH 09/11] usb: dwc2: Skip clock gating on Broadcom SoCs Stefan Wahren
2024-07-01  5:56   ` Minas Harutyunyan
2024-07-04 14:14   ` Florian Fainelli
2024-07-04 15:33     ` Stefan Wahren
     [not found]     ` <ZoezRpXBgB1B5WjB@wunner.de>
2024-07-05 10:22       ` Stefan Wahren
     [not found]         ` <ZogLXYopViQO11ta@wunner.de>
2024-07-05 15:21           ` Stefan Wahren
2024-07-05 17:16             ` Jeremy Linton
     [not found]               ` <ZohiJgyaDwAoGtAx@wunner.de>
2024-07-10 13:33                 ` Stefan Wahren
2024-07-10 15:50                 ` Jeremy Linton
2024-06-30 16:53 ` [PATCH RFT 10/11] serial: 8250_bcm2835aux: add PM suspend/resume support Stefan Wahren
2024-07-04 14:12   ` Florian Fainelli
2024-07-04 15:40     ` Stefan Wahren
2024-06-30 17:19 ` [PATCH 11/11] ARM: bcm2835_defconfig: Enable SUSPEND Stefan Wahren
2024-07-04 14:13   ` Florian Fainelli
2024-07-02 20:08 ` [PATCH 00/11] ARM: bcm2835: Implement initial S2Idle for Raspberry Pi Peter Robinson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240630153652.318882-8-wahrenst@gmx.net \
    --to=wahrenst@gmx.net \
    --cc=airlied@gmail.com \
    --cc=bcm-kernel-feedback-list@broadcom.com \
    --cc=daniel@ffwll.ch \
    --cc=dave.stevenson@raspberrypi.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=florian.fainelli@broadcom.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=hminas@synopsys.com \
    --cc=jassisinghbrar@gmail.com \
    --cc=jirislaby@kernel.org \
    --cc=kernel-list@raspberrypi.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=linux-serial@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=lukas@wunner.de \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=mripard@kernel.org \
    --cc=pbrobinson@gmail.com \
    --cc=rjui@broadcom.com \
    --cc=sbranden@broadcom.com \
    --cc=tglx@linutronix.de \
    --cc=tzimmermann@suse.de \
    --cc=ulf.hansson@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox