public inbox for linux-next@vger.kernel.org 
 help / color / mirror / Atom feed
From: Stephen Rothwell <sfr@canb•auug.org.au>
To: Dave Airlie <airlied@redhat•com>, Alex Deucher <alexdeucher@gmail•com>
Cc: Alex Deucher <alexander.deucher@amd•com>,
	Ivan Lipski <ivan.lipski@amd•com>,
	DRI <dri-devel@lists•freedesktop.org>,
	Linux Kernel Mailing List <linux-kernel@vger•kernel.org>,
	Linux Next Mailing List <linux-next@vger•kernel.org>
Subject: linux-next: build failure after merge of the drm tree
Date: Thu, 4 Dec 2025 15:24:03 +1100	[thread overview]
Message-ID: <20251204152403.256c135a@canb.auug.org.au> (raw)

[-- Attachment #1: Type: text/plain, Size: 5763 bytes --]

Hi all,

After merging the drm tree, today's linux-next build (x86_64 allmodconfig)
failed like this:

drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c:4026:13: error: redefinition of 'are_sinks_equal'
 4026 | static bool are_sinks_equal(const struct dc_sink *sink1, const struct dc_sink *sink2)
      |             ^~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c:3935:13: note: previous definition of 'are_sinks_equal' with type 'bool(const struct dc_sink *, const struct dc_sink *)' {aka '_Bool(const struct dc_sink *, const struct dc_sink *)'}
 3935 | static bool are_sinks_equal(const struct dc_sink *sink1, const struct dc_sink *sink2)
      |             ^~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c:4058:13: error: redefinition of 'hdmi_hpd_debounce_work'
 4058 | static void hdmi_hpd_debounce_work(struct work_struct *work)
      |             ^~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c:3967:13: note: previous definition of 'hdmi_hpd_debounce_work' with type 'void(struct work_struct *)'
 3967 | static void hdmi_hpd_debounce_work(struct work_struct *work)
      |             ^~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c:3967:13: error: 'hdmi_hpd_debounce_work' defined but not used [-Werror=unused-function]
cc1: all warnings being treated as errors

Caused by commit

  c918e75e1ed9 ("drm/amd/display: Add an HPD filter for HDMI")

merging badly with commit

  c97da4785b3b ("drm/amd/display: Add an HPD filter for HDMI")

from Linus' tree :-(

I have applied the following merge fix patch for tosay.

From 1be223e7e9978a416cbdb835ea283da95abf7b58 Mon Sep 17 00:00:00 2001
From: Stephen Rothwell <sfr@canb•auug.org.au>
Date: Thu, 4 Dec 2025 14:43:35 +1100
Subject: [PATCH] fix up for duplicate commit "drm/amd/display: Add an HPD
 filter for HDMI"

merging badly

Signed-off-by: Stephen Rothwell <sfr@canb•auug.org.au>
---
 .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 91 -------------------
 1 file changed, 91 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
index 8b43d49dffcd..740711ac1037 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
@@ -3949,97 +3949,6 @@ static bool are_sinks_equal(const struct dc_sink *sink1, const struct dc_sink *s
 }
 
 
-/**
- * DOC: hdmi_hpd_debounce_work
- *
- * HDMI HPD debounce delay in milliseconds. When an HDMI display toggles HPD
- * (such as during power save transitions), this delay determines how long to
- * wait before processing the HPD event. This allows distinguishing between a
- * physical unplug (>hdmi_hpd_debounce_delay)
- * and a spontaneous RX HPD toggle (<hdmi_hpd_debounce_delay).
- *
- * If the toggle is less than this delay, the driver compares sink capabilities
- * and permits a hotplug event if they changed.
- *
- * The default value of 1500ms was chosen based on experimental testing with
- * various monitors that exhibit spontaneous HPD toggling behavior.
- */
-static void hdmi_hpd_debounce_work(struct work_struct *work)
-{
-	struct amdgpu_dm_connector *aconnector =
-		container_of(to_delayed_work(work), struct amdgpu_dm_connector,
-			     hdmi_hpd_debounce_work);
-	struct drm_connector *connector = &aconnector->base;
-	struct drm_device *dev = connector->dev;
-	struct amdgpu_device *adev = drm_to_adev(dev);
-	struct dc *dc = aconnector->dc_link->ctx->dc;
-	bool fake_reconnect = false;
-	bool reallow_idle = false;
-	bool ret = false;
-	guard(mutex)(&aconnector->hpd_lock);
-
-	/* Re-detect the display */
-	scoped_guard(mutex, &adev->dm.dc_lock) {
-		if (dc->caps.ips_support && dc->ctx->dmub_srv->idle_allowed) {
-			dc_allow_idle_optimizations(dc, false);
-			reallow_idle = true;
-		}
-		ret = dc_link_detect(aconnector->dc_link, DETECT_REASON_HPD);
-	}
-
-	if (ret) {
-		/* Apply workaround delay for certain panels */
-		apply_delay_after_dpcd_poweroff(adev, aconnector->dc_sink);
-		/* Compare sinks to determine if this was a spontaneous HPD toggle */
-		if (are_sinks_equal(aconnector->dc_link->local_sink, aconnector->hdmi_prev_sink)) {
-			/*
-			* Sinks match - this was a spontaneous HDMI HPD toggle.
-			*/
-			drm_dbg_kms(dev, "HDMI HPD: Sink unchanged after debounce, internal re-enable\n");
-			fake_reconnect = true;
-		}
-
-		/* Update connector state */
-		amdgpu_dm_update_connector_after_detect(aconnector);
-
-		drm_modeset_lock_all(dev);
-		dm_restore_drm_connector_state(dev, connector);
-		drm_modeset_unlock_all(dev);
-
-		/* Only notify OS if sink actually changed */
-		if (!fake_reconnect && aconnector->base.force == DRM_FORCE_UNSPECIFIED)
-			drm_kms_helper_hotplug_event(dev);
-	}
-
-	/* Release the cached sink reference */
-	if (aconnector->hdmi_prev_sink) {
-		dc_sink_release(aconnector->hdmi_prev_sink);
-		aconnector->hdmi_prev_sink = NULL;
-	}
-
-	scoped_guard(mutex, &adev->dm.dc_lock) {
-		if (reallow_idle && dc->caps.ips_support)
-			dc_allow_idle_optimizations(dc, true);
-	}
-}
-
-static bool are_sinks_equal(const struct dc_sink *sink1, const struct dc_sink *sink2)
-{
-	if (!sink1 || !sink2)
-		return false;
-	if (sink1->sink_signal != sink2->sink_signal)
-		return false;
-
-	if (sink1->dc_edid.length != sink2->dc_edid.length)
-		return false;
-
-	if (memcmp(sink1->dc_edid.raw_edid, sink2->dc_edid.raw_edid,
-		   sink1->dc_edid.length) != 0)
-		return false;
-	return true;
-}
-
-
 /**
  * DOC: hdmi_hpd_debounce_work
  *
-- 
2.52.0

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

             reply	other threads:[~2025-12-04  4:24 UTC|newest]

Thread overview: 154+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-12-04  4:24 Stephen Rothwell [this message]
2025-12-04 13:49 ` linux-next: build failure after merge of the drm tree Alex Deucher
  -- strict thread matches above, loose matches on Subject: below --
2026-06-03 13:32 Mark Brown
2026-03-10 15:25 Mark Brown
2026-03-10 15:36 ` Jacob Moroni
2026-03-10 15:42 ` Christian König
2026-02-10 21:08 Mark Brown
2025-04-28  3:30 Stephen Rothwell
2025-04-28  3:57 ` Dave Airlie
2025-04-28  4:24 ` Stephen Rothwell
2024-07-01  9:13 Stephen Rothwell
2024-07-01 17:19 ` Nathan Chancellor
2024-07-12  2:28   ` Stephen Rothwell
2024-07-12  3:12     ` David Airlie
2024-06-28 19:46 Mark Brown
2024-06-30  7:26 ` Greg Kroah-Hartman
2024-07-01  9:41   ` Philippe CORNU
2024-07-01 23:13     ` Stephen Rothwell
2024-07-23 23:11 ` Stephen Rothwell
2024-07-24  7:33   ` Raphael Gallais-Pou
2023-04-11  6:47 Stephen Rothwell
2023-01-19  2:12 Stephen Rothwell
2022-09-30 10:54 broonie
2022-10-04  2:20 ` Stephen Rothwell
2022-10-04  2:24   ` David Airlie
2022-10-04  3:05     ` Stephen Rothwell
2022-10-04 11:39       ` Mark Brown
2022-10-05 15:30         ` Alex Deucher
2022-10-05 16:45           ` Hamza Mahfooz
2022-10-05 22:28             ` Stephen Rothwell
2022-10-06  8:12               ` Stephen Rothwell
2022-10-06 13:56                 ` Alex Deucher
2022-10-06 16:52                   ` Stephen Rothwell
2022-10-06 16:25                 ` Hamza Mahfooz
2022-02-25 16:42 broonie
2022-02-28  3:46 ` Stephen Rothwell
2022-02-28  6:44 ` Hsin-Yi Wang
2022-02-28  6:48   ` Dave Airlie
2022-02-28 15:33     ` Robert Foss
2021-08-20  2:33 Stephen Rothwell
2021-08-20  6:23 ` Masahiro Yamada
2021-09-01 21:50   ` Stephen Rothwell
2021-09-05 22:49     ` Stephen Rothwell
2021-09-06  7:34       ` Daniel Vetter
2021-09-08  3:13         ` Masahiro Yamada
2021-09-08  9:07           ` Daniel Vetter
2021-04-09  3:36 Stephen Rothwell
2021-01-08  0:55 Stephen Rothwell
2021-01-08  1:25 ` Stephen Rothwell
2021-01-10 23:56   ` Stephen Rothwell
2021-01-18  0:59     ` Stephen Rothwell
2021-01-18  1:06       ` Dave Airlie
2021-01-20 12:12         ` Daniel Vetter
2021-01-20 20:44           ` Stephen Rothwell
2020-12-09  1:53 Stephen Rothwell
2020-09-28  3:54 Stephen Rothwell
2020-09-28  6:04 ` Christoph Hellwig
2020-09-28  6:08   ` Dave Airlie
2020-09-28  6:14     ` Christoph Hellwig
2020-09-28 10:15   ` Paul Cercueil
2020-09-28 11:34     ` Christoph Hellwig
2020-09-28 11:46       ` Paul Cercueil
2020-09-28 12:10         ` Christoph Hellwig
2020-09-28 13:31           ` Paul Cercueil
2020-09-30  9:02             ` Christoph Hellwig
2020-09-30 13:33               ` Paul Cercueil
2020-09-30 16:11                 ` Christoph Hellwig
2020-09-30 16:39                   ` Paul Cercueil
2020-09-30 16:40                     ` Christoph Hellwig
2020-09-30 16:45                       ` Paul Cercueil
2020-09-30 16:52                         ` Christoph Hellwig
2020-05-08  4:29 Stephen Rothwell
2019-11-05  2:54 Stephen Rothwell
2019-10-10  0:22 Stephen Rothwell
2019-07-08  4:48 Stephen Rothwell
2019-04-26  2:17 Stephen Rothwell
2018-05-16  6:53 Stephen Rothwell
2018-05-16  8:09 ` Oded Gabbay
2018-05-17  5:00   ` Dave Airlie
2018-03-13  5:46 Stephen Rothwell
2018-01-02  1:48 Stephen Rothwell
2017-09-28  4:57 Stephen Rothwell
2017-03-20  0:51 Stephen Rothwell
2017-03-20  8:03 ` Daniel Vetter
2017-03-20  8:05   ` Daniel Vetter
2017-02-23 23:25 Stephen Rothwell
2017-01-24  1:25 Stephen Rothwell
2017-01-25 10:52 ` Vincent ABRIOU
2016-07-15  3:40 Stephen Rothwell
2016-07-15  4:32 ` Sedat Dilek
2016-04-28  1:57 Stephen Rothwell
2016-04-28  8:11 ` Jani Nikula
2016-03-17  4:41 Stephen Rothwell
2016-03-17  8:41 ` Christian König
2016-02-22  0:45 Stephen Rothwell
2015-12-31 10:31 Stephen Rothwell
2016-01-07  2:44 ` Stephen Rothwell
2016-01-11 22:54   ` Stephen Rothwell
2016-01-12  0:31     ` Dave Airlie
2016-01-12  4:35       ` Stephen Rothwell
2016-01-12  7:48         ` Zhu, Rex
2015-12-31  2:40 Stephen Rothwell
2015-12-31  5:14 ` Mark yao
2015-11-04  9:22 Stephen Rothwell
2015-11-09 16:45 ` Guenter Roeck
2015-11-10  4:55   ` Alexandre Courbot
2015-10-06  1:09 Stephen Rothwell
2015-06-09 13:42 Stephen Rothwell
2015-06-09 14:02 ` Deucher, Alexander
2015-06-10  0:28   ` Stephen Rothwell
2015-05-20  3:08 Stephen Rothwell
2015-05-20  4:41 ` Dave Airlie
2015-05-20  5:25   ` Stephen Rothwell
2015-05-20  5:31     ` Stephen Rothwell
2015-05-20  6:01       ` Oded Gabbay
2015-05-20  6:08         ` Dave Airlie
2015-01-29  2:38 Stephen Rothwell
2015-01-29  8:21 ` Oded Gabbay
2015-01-29  9:35   ` Stephen Rothwell
2014-09-08  4:26 Stephen Rothwell
2014-06-05  4:12 Stephen Rothwell
2014-06-05  4:28 ` Stephen Rothwell
2012-09-24  3:18 Stephen Rothwell
2012-09-24 11:31 ` Daniel Vetter
2012-09-24 11:58   ` Stephen Rothwell
2012-08-24  3:49 Stephen Rothwell
2012-05-17  3:47 Stephen Rothwell
2012-04-30  3:22 Stephen Rothwell
2012-04-23  3:42 Stephen Rothwell
2012-03-16  2:53 Stephen Rothwell
2012-03-19  2:45 ` Stephen Rothwell
2011-11-28  2:49 Stephen Rothwell
2011-11-16  0:30 Stephen Rothwell
2011-11-16 10:16 ` Alan Cox
2011-11-16 16:42   ` Jesse Barnes
2011-11-25  1:49 ` Stephen Rothwell
2011-11-25 10:30   ` Alan Cox
2011-11-25 10:34     ` Dave Airlie
2011-11-28  2:53       ` Stephen Rothwell
2011-11-28 11:30         ` Alan Cox
2011-11-28 13:13           ` Stephen Rothwell
2011-11-28 13:18             ` Alan Cox
2011-11-28 13:53               ` Stephen Rothwell
2011-11-28 14:05                 ` Dave Airlie
2011-11-28 14:08                 ` Alan Cox
2011-11-28  2:52     ` Stephen Rothwell
2011-11-28  5:07       ` Greg KH
2011-11-28 11:33       ` Alan Cox
2011-03-15  3:49 Stephen Rothwell
2010-04-08  3:12 Stephen Rothwell
2010-04-08  3:52 ` Dave Airlie
2010-04-08  4:14   ` Stephen Rothwell
2010-04-08 16:19     ` Tony Luck
2010-04-08 20:50       ` Pauli Nieminen

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=20251204152403.256c135a@canb.auug.org.au \
    --to=sfr@canb$(echo .)auug.org.au \
    --cc=airlied@redhat$(echo .)com \
    --cc=alexander.deucher@amd$(echo .)com \
    --cc=alexdeucher@gmail$(echo .)com \
    --cc=dri-devel@lists$(echo .)freedesktop.org \
    --cc=ivan.lipski@amd$(echo .)com \
    --cc=linux-kernel@vger$(echo .)kernel.org \
    --cc=linux-next@vger$(echo .)kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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