Skip to content

Commit 14e193b

Browse files
committed
drm/vc4: hdmi: Warn if we access the controller while disabled
We've had many silent hangs where the kernel would look like it just stalled due to the access to one of the HDMI registers while the controller was disabled. Add a warning if we're about to do that so that it's at least not silent anymore. Reviewed-by: Dave Stevenson <dave.stevenson@raspberrypi.com> Signed-off-by: Maxime Ripard <maxime@cerno.tech> Link: https://patchwork.freedesktop.org/patch/msgid/20210819135931.895976-7-maxime@cerno.tech
1 parent 20b0dfa commit 14e193b

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

drivers/gpu/drm/vc4/vc4_hdmi_regs.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
#ifndef _VC4_HDMI_REGS_H_
22
#define _VC4_HDMI_REGS_H_
33

4+
#include <linux/pm_runtime.h>
5+
46
#include "vc4_hdmi.h"
57

68
#define VC4_HDMI_PACKET_STRIDE 0x24
@@ -412,6 +414,8 @@ static inline u32 vc4_hdmi_read(struct vc4_hdmi *hdmi,
412414
const struct vc4_hdmi_variant *variant = hdmi->variant;
413415
void __iomem *base;
414416

417+
WARN_ON(!pm_runtime_active(&hdmi->pdev->dev));
418+
415419
if (reg >= variant->num_registers) {
416420
dev_warn(&hdmi->pdev->dev,
417421
"Invalid register ID %u\n", reg);
@@ -438,6 +442,8 @@ static inline void vc4_hdmi_write(struct vc4_hdmi *hdmi,
438442
const struct vc4_hdmi_variant *variant = hdmi->variant;
439443
void __iomem *base;
440444

445+
WARN_ON(!pm_runtime_active(&hdmi->pdev->dev));
446+
441447
if (reg >= variant->num_registers) {
442448
dev_warn(&hdmi->pdev->dev,
443449
"Invalid register ID %u\n", reg);

0 commit comments

Comments
 (0)