[PATCH] drm/amdgpu: Fixed an issue where audio did not turn off properly after unplugging HDMI

kernel test robot lkp at intel.com
Sat Aug 16 00:57:28 UTC 2025


Hi,

kernel test robot noticed the following build errors:

[auto build test ERROR on drm-exynos/exynos-drm-next]
[also build test ERROR on linus/master v6.17-rc1 next-20250815]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/2564278112-qq-com/drm-amdgpu-Fixed-an-issue-where-audio-did-not-turn-off-properly-after-unplugging-HDMI/20250815-164929
base:   https://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos.git exynos-drm-next
patch link:    https://lore.kernel.org/r/tencent_E5B1CAABB0320691EB730CDB19E55EA85E05%40qq.com
patch subject: [PATCH] drm/amdgpu: Fixed an issue where audio did not turn off properly after unplugging HDMI
config: x86_64-buildonly-randconfig-002-20250816 (https://download.01.org/0day-ci/archive/20250816/202508160829.jfFPh4YJ-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14+deb12u1) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250816/202508160829.jfFPh4YJ-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp at intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202508160829.jfFPh4YJ-lkp@intel.com/

All error/warnings (new ones prefixed by >>):

   drivers/gpu/drm/amd/amdgpu/dce_v6_0.c: In function 'dce_v6_0_encoder_mode_set':
>> drivers/gpu/drm/amd/amdgpu/dce_v6_0.c:3271:38: error: implicit declaration of function 'amdgpu_connector_edid'; did you mean 'amdgpu_connector_add'? [-Werror=implicit-function-declaration]
    3271 |         if (drm_detect_monitor_audio(amdgpu_connector_edid(connector))) {
         |                                      ^~~~~~~~~~~~~~~~~~~~~
         |                                      amdgpu_connector_add
>> drivers/gpu/drm/amd/amdgpu/dce_v6_0.c:3271:38: warning: passing argument 1 of 'drm_detect_monitor_audio' makes pointer from integer without a cast [-Wint-conversion]
    3271 |         if (drm_detect_monitor_audio(amdgpu_connector_edid(connector))) {
         |                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         |                                      |
         |                                      int
   In file included from drivers/gpu/drm/amd/amdgpu/dce_v6_0.c:26:
   include/drm/drm_edid.h:443:50: note: expected 'const struct edid *' but argument is of type 'int'
     443 | bool drm_detect_monitor_audio(const struct edid *edid);
         |                               ~~~~~~~~~~~~~~~~~~~^~~~
   drivers/gpu/drm/amd/amdgpu/dce_v6_0.c: In function 'dce_v6_0_encoder_disable':
   drivers/gpu/drm/amd/amdgpu/dce_v6_0.c:3341:46: warning: passing argument 1 of 'drm_detect_monitor_audio' makes pointer from integer without a cast [-Wint-conversion]
    3341 |                 if (drm_detect_monitor_audio(amdgpu_connector_edid(connector)))
         |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         |                                              |
         |                                              int
   include/drm/drm_edid.h:443:50: note: expected 'const struct edid *' but argument is of type 'int'
     443 | bool drm_detect_monitor_audio(const struct edid *edid);
         |                               ~~~~~~~~~~~~~~~~~~~^~~~
   cc1: some warnings being treated as errors


vim +3271 drivers/gpu/drm/amd/amdgpu/dce_v6_0.c

  3250	
  3251	static void dce_v6_0_encoder_mode_set(struct drm_encoder *encoder,
  3252				  struct drm_display_mode *mode,
  3253				  struct drm_display_mode *adjusted_mode)
  3254	{
  3255		struct amdgpu_encoder *amdgpu_encoder = to_amdgpu_encoder(encoder);
  3256		struct drm_connector *connector;
  3257		struct amdgpu_connector *amdgpu_connector = NULL;
  3258		amdgpu_encoder->pixel_clock = adjusted_mode->clock;
  3259	
  3260		/* need to call this here rather than in prepare() since we need some crtc info */
  3261		amdgpu_atombios_encoder_dpms(encoder, DRM_MODE_DPMS_OFF);
  3262		connector = amdgpu_get_connector_for_encoder_init(encoder);
  3263		amdgpu_connector = to_amdgpu_connector(connector);
  3264		if (!amdgpu_connector) {
  3265			DRM_ERROR("Couldn't find encoder's connector\n");
  3266		}
  3267	
  3268		/* set scaler clears this on some chips */
  3269		dce_v6_0_set_interleave(encoder->crtc, mode);
  3270	
> 3271		if (drm_detect_monitor_audio(amdgpu_connector_edid(connector))) {
  3272			dce_v6_0_afmt_enable(encoder, true);
  3273			dce_v6_0_afmt_setmode(encoder, adjusted_mode);
  3274		}
  3275	}
  3276	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki


More information about the amd-gfx mailing list