From: Maxime Ripard <maxime@cerno.tech> To: Daniel Vetter <daniel.vetter@intel.com>, David Airlie <airlied@linux.ie>, Maarten Lankhorst <maarten.lankhorst@linux.intel.com>, Thomas Zimmermann <tzimmermann@suse.de>, Maxime Ripard <maxime@cerno.tech> Cc: Phil Elwell <phil@raspberrypi.org>, stable@vger.kernel.org, dri-devel@lists.freedesktop.org Subject: [PATCH 17/33] drm/vc4: hdmi: Disable audio if dmas property is present but empty Date: Mon, 13 Jun 2022 16:47:44 +0200 [thread overview] Message-ID: <20220613144800.326124-18-maxime@cerno.tech> (raw) In-Reply-To: <20220613144800.326124-1-maxime@cerno.tech> From: Phil Elwell <phil@raspberrypi.org> The dmas property is used to hold the dmaengine channel used for audio output. Older device trees were missing that property, so if it's not there we disable the audio output entirely. However, some overlays have set an empty value to that property, mostly to workaround the fact that overlays cannot remove a property. Let's add a test for that case and if it's empty, let's disable it as well. Cc: <stable@vger.kernel.org> Signed-off-by: Phil Elwell <phil@raspberrypi.org> Signed-off-by: Maxime Ripard <maxime@cerno.tech> --- drivers/gpu/drm/vc4/vc4_hdmi.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c index 6aadb65eb640..c8571e17afa8 100644 --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c @@ -2034,12 +2034,12 @@ static int vc4_hdmi_audio_init(struct vc4_hdmi *vc4_hdmi) struct device *dev = &vc4_hdmi->pdev->dev; struct platform_device *codec_pdev; const __be32 *addr; - int index; + int index, len; int ret; - if (!of_find_property(dev->of_node, "dmas", NULL)) { + if (!of_find_property(dev->of_node, "dmas", &len) || !len) { dev_warn(dev, - "'dmas' DT property is missing, no HDMI audio\n"); + "'dmas' DT property is missing or empty, no HDMI audio\n"); return 0; } -- 2.36.1
WARNING: multiple messages have this Message-ID (diff)
From: Maxime Ripard <maxime@cerno.tech> To: Daniel Vetter <daniel.vetter@intel.com>, David Airlie <airlied@linux.ie>, Maarten Lankhorst <maarten.lankhorst@linux.intel.com>, Thomas Zimmermann <tzimmermann@suse.de>, Maxime Ripard <maxime@cerno.tech> Cc: dri-devel@lists.freedesktop.org, Phil Elwell <phil@raspberrypi.org>, stable@vger.kernel.org Subject: [PATCH 17/33] drm/vc4: hdmi: Disable audio if dmas property is present but empty Date: Mon, 13 Jun 2022 16:47:44 +0200 [thread overview] Message-ID: <20220613144800.326124-18-maxime@cerno.tech> (raw) In-Reply-To: <20220613144800.326124-1-maxime@cerno.tech> From: Phil Elwell <phil@raspberrypi.org> The dmas property is used to hold the dmaengine channel used for audio output. Older device trees were missing that property, so if it's not there we disable the audio output entirely. However, some overlays have set an empty value to that property, mostly to workaround the fact that overlays cannot remove a property. Let's add a test for that case and if it's empty, let's disable it as well. Cc: <stable@vger.kernel.org> Signed-off-by: Phil Elwell <phil@raspberrypi.org> Signed-off-by: Maxime Ripard <maxime@cerno.tech> --- drivers/gpu/drm/vc4/vc4_hdmi.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c index 6aadb65eb640..c8571e17afa8 100644 --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c @@ -2034,12 +2034,12 @@ static int vc4_hdmi_audio_init(struct vc4_hdmi *vc4_hdmi) struct device *dev = &vc4_hdmi->pdev->dev; struct platform_device *codec_pdev; const __be32 *addr; - int index; + int index, len; int ret; - if (!of_find_property(dev->of_node, "dmas", NULL)) { + if (!of_find_property(dev->of_node, "dmas", &len) || !len) { dev_warn(dev, - "'dmas' DT property is missing, no HDMI audio\n"); + "'dmas' DT property is missing or empty, no HDMI audio\n"); return 0; } -- 2.36.1
next prev parent reply other threads:[~2022-06-13 14:49 UTC|newest] Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top 2022-06-13 14:47 [PATCH 00/33] drm/vc4: Misc fixes Maxime Ripard 2022-06-13 14:47 ` [PATCH 01/33] drm/vc4: drv: Adopt the dma configuration from the HVS or V3D component Maxime Ripard 2022-06-13 14:47 ` Maxime Ripard 2022-06-13 14:47 ` [PATCH 02/33] drm/vc4: kms: Warn if clk_set_min_rate fails Maxime Ripard 2022-06-28 11:28 ` Dave Stevenson 2022-06-13 14:47 ` [PATCH 03/33] drm/vc4: kms: Use maximum FIFO load for the HVS clock rate Maxime Ripard 2022-06-28 11:30 ` Dave Stevenson 2022-06-13 14:47 ` [PATCH 04/33] drm/vc4: plane: Remove subpixel positioning check Maxime Ripard 2022-06-13 14:47 ` [PATCH 05/33] drm/vc4: plane: Fix margin calculations for the right/bottom edges Maxime Ripard 2022-06-13 14:47 ` [PATCH 06/33] drm/vc4: plane: Add alpha_blend_mode property to each plane Maxime Ripard 2022-06-13 14:47 ` [PATCH 07/33] drm/vc4: hvs: Add debugfs node that dumps the current display lists Maxime Ripard 2022-06-13 14:47 ` [PATCH 08/33] drm/vc4: dpi: Add support for composite syncs to vc4_dpi Maxime Ripard 2022-06-13 14:47 ` [PATCH 09/33] drm/vc4: dpi: Add option for inverting pixel clock and output enable Maxime Ripard 2022-06-13 14:47 ` [PATCH 10/33] drm/vc4: dpi: Ensure a default format is selected Maxime Ripard 2022-06-13 14:47 ` [PATCH 11/33] drm/vc4: dsi: Release workaround buffer and DMA Maxime Ripard 2022-06-13 14:47 ` [PATCH 12/33] drm/vc4: dsi: Correct DSI divider calculations Maxime Ripard 2022-06-13 14:47 ` [PATCH 13/33] drm/vc4: dsi: Correct pixel order for DSI0 Maxime Ripard 2022-06-13 14:47 ` [PATCH 14/33] drm/vc4: dsi: Register dsi0 as the correct vc4 encoder type Maxime Ripard 2022-06-13 14:47 ` [PATCH 15/33] drm/vc4: dsi: Fix dsi0 interrupt support Maxime Ripard 2022-06-13 14:47 ` [PATCH 16/33] drm/vc4: dsi: Add correct stop condition to vc4_dsi_encoder_disable iteration Maxime Ripard 2022-06-13 14:47 ` Maxime Ripard [this message] 2022-06-13 14:47 ` [PATCH 17/33] drm/vc4: hdmi: Disable audio if dmas property is present but empty Maxime Ripard 2022-06-13 14:47 ` [PATCH 18/33] drm/vc4: hdmi: Add all the vc5 HDMI registers into the debugfs dumps Maxime Ripard 2022-06-13 14:47 ` [PATCH 19/33] drm/vc4: hdmi: Clear unused infoframe packet RAM registers Maxime Ripard 2022-06-13 14:47 ` [PATCH 20/33] drm/vc4: hdmi: Avoid full hdmi audio fifo writes Maxime Ripard 2022-06-13 14:47 ` [PATCH 21/33] drm/vc4: hdmi: Reset HDMI MISC_CONTROL register Maxime Ripard 2022-06-13 14:47 ` [PATCH 22/33] drm/vc4: hdmi: Switch to pm_runtime_status_suspended Maxime Ripard 2022-06-13 14:47 ` [PATCH 23/33] drm/vc4: hdmi: Move HDMI reset to pm_resume Maxime Ripard 2022-08-04 23:11 ` Florian Fainelli 2022-08-09 19:02 ` Florian Fainelli 2022-08-10 11:06 ` Dave Stevenson 2022-08-10 20:33 ` Stefan Wahren 2022-08-15 14:12 ` Maxime Ripard 2022-08-15 16:52 ` Florian Fainelli 2022-08-18 15:38 ` Maxime Ripard 2022-08-09 20:16 ` Stefan Wahren 2022-08-09 20:28 ` Florian Fainelli 2022-06-13 14:47 ` [PATCH 24/33] drm/vc4: hdmi: Stop checking for enabled output in audio Maxime Ripard 2022-06-13 14:47 ` [PATCH 25/33] drm/vc4: hdmi: Skip writes to disabled packet RAM Maxime Ripard 2022-06-13 14:47 ` [PATCH 26/33] drm/vc4: hdmi: Remove VC4_HDMI_SCHEDULER_CONTROL_VERT_ALWAYS_KEEPOUT Maxime Ripard 2022-06-13 14:47 ` [PATCH 27/33] drm/vc4: hdmi: Add HDMI format detection registers to register list Maxime Ripard 2022-06-13 14:47 ` [PATCH 28/33] drm/vc4: hdmi: Add MISC_CONTROL register for vc4 Maxime Ripard 2022-06-13 14:47 ` [PATCH 29/33] drm/vc4: hdmi: Report that 3d/stereo is allowed Maxime Ripard 2022-06-13 14:47 ` [PATCH 30/33] drm/vc4: hdmi: Fix timings for interlaced modes Maxime Ripard 2022-06-13 14:47 ` [PATCH 31/33] drm/vc4: hdmi: Force modeset when bpc or format changes Maxime Ripard 2022-06-13 14:47 ` [PATCH 32/33] drm/vc4: hdmi: Correct HDMI timing registers for interlaced modes Maxime Ripard 2022-06-13 14:48 ` [PATCH 33/33] drm/vc4: hdmi: Move pixel doubling from Pixelvalve to HDMI block Maxime Ripard 2022-06-28 13:34 ` [PATCH 00/33] drm/vc4: Misc fixes Maxime Ripard
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=20220613144800.326124-18-maxime@cerno.tech \ --to=maxime@cerno.tech \ --cc=airlied@linux.ie \ --cc=daniel.vetter@intel.com \ --cc=dri-devel@lists.freedesktop.org \ --cc=maarten.lankhorst@linux.intel.com \ --cc=phil@raspberrypi.org \ --cc=stable@vger.kernel.org \ --cc=tzimmermann@suse.de \ /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: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.