Just some additional thoughts... The amdgpu driver already supports this as I mentioned, however only for the non-DC codepath. "Set HDMI/DPAudio. Only affects non-DC display handling. The default is -1 (Enabled), set 0 to disabled it."
Linux doesn't have a good infrastructure to disable sound cards afaik. If someone has 6 displays, do they really need 6 extra sound cards? Minor thing, I know. It was very easy to do, and didn't feel intrusive. //E Den ons 27 jan. 2021 kl 12:11 skrev Christian König < [email protected]>: > Am 26.01.21 um 17:15 schrieb Harry Wentland: > > On 2021-01-26 9:51 a.m., Ernst Sjöstrand wrote: > >> No problems with amdgpu, but when my headphone port is glitching I > >> often end up with some HDMI audio output selected instead. > >> > > > > Wouldn't this be better fixed in the audio management service, like > > PulseAudio? It sounds like it's not remembering your preferences > > correctly. > > Yeah agree. A feature like this in a specific hardware driver is > justified if it prevents hangs or something similar. > > But this just sounds like a problem in a higher level of the stack which > should be fixed hardware driver independently. > > Christian. > > > > > Harry > > > >> It also cleans up the clutter in the audio selection list. > >> > >> //E > >> > >> Den tis 26 jan. 2021 kl 15:34 skrev Alex Deucher > >> <[email protected] <mailto:[email protected]>>: > >> > >> On Tue, Jan 26, 2021 at 9:32 AM Ernst Sjöstrand <[email protected] > >> <mailto:[email protected]>> wrote: > >> > > >> > With the pre-DC path you could set audio=0 to disable audio. > >> > This adds a similar feature for the DC path with > >> > amdgpu.dcfeaturemask=0x10. > >> > > >> > Signed-off-by: Ernst Sjöstrand <[email protected] > >> <mailto:[email protected]>> > >> > >> Is there a reason you want this? I.e., is audio causing problems > >> for you? > >> > >> Alex > >> > >> > --- > >> > drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 3 +++ > >> > drivers/gpu/drm/amd/display/dc/core/dc_resource.c | 7 ++++--- > >> > drivers/gpu/drm/amd/display/dc/dc.h | 1 + > >> > drivers/gpu/drm/amd/include/amd_shared.h | 1 + > >> > 4 files changed, 9 insertions(+), 3 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 e490fc2486f7..322d9439b9c2 100644 > >> > --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c > >> > +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c > >> > @@ -1013,6 +1013,9 @@ static int amdgpu_dm_init(struct > >> amdgpu_device *adev) > >> > if (amdgpu_dc_feature_mask & > >> DC_DISABLE_FRACTIONAL_PWM_MASK) > >> > init_data.flags.disable_fractional_pwm = true; > >> > > >> > + if (amdgpu_dc_feature_mask & DC_DISABLE_AUDIO) > >> > + init_data.flags.disable_audio = true; > >> > + > >> > init_data.flags.power_down_display_on_boot = true; > >> > > >> > init_data.soc_bounding_box = adev->dm.soc_bounding_box; > >> > diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_resource.c > >> b/drivers/gpu/drm/amd/display/dc/core/dc_resource.c > >> > index 68b65a090d17..4cc0d2308c98 100644 > >> > --- a/drivers/gpu/drm/amd/display/dc/core/dc_resource.c > >> > +++ b/drivers/gpu/drm/amd/display/dc/core/dc_resource.c > >> > @@ -2141,9 +2141,10 @@ enum dc_status > >> resource_map_pool_resources( > >> > true); > >> > > >> > /* TODO: Add check if ASIC support and EDID audio */ > >> > - if (!stream->converter_disable_audio && > >> > - dc_is_audio_capable_signal(pipe_ctx->stream->signal) && > >> > - stream->audio_info.mode_count && > >> stream->audio_info.flags.all) { > >> > + if (!dc->config.disable_audio && > >> > + !stream->converter_disable_audio && > >> > + dc_is_audio_capable_signal(pipe_ctx->stream->signal) && > >> > + stream->audio_info.mode_count && > >> stream->audio_info.flags.all) { > >> > pipe_ctx->stream_res.audio = > >> find_first_free_audio( > >> > &context->res_ctx, pool, > >> pipe_ctx->stream_res.stream_enc->id, dc_ctx->dce_version); > >> > > >> > diff --git a/drivers/gpu/drm/amd/display/dc/dc.h > >> b/drivers/gpu/drm/amd/display/dc/dc.h > >> > index 71d46ade24e5..2ab6d770c66b 100644 > >> > --- a/drivers/gpu/drm/amd/display/dc/dc.h > >> > +++ b/drivers/gpu/drm/amd/display/dc/dc.h > >> > @@ -297,6 +297,7 @@ struct dc_config { > >> > bool multi_mon_pp_mclk_switch; > >> > bool disable_dmcu; > >> > bool enable_4to1MPC; > >> > + bool disable_audio; > >> > #if defined(CONFIG_DRM_AMD_DC_DCN) > >> > bool clamp_min_dcfclk; > >> > #endif > >> > diff --git a/drivers/gpu/drm/amd/include/amd_shared.h > >> b/drivers/gpu/drm/amd/include/amd_shared.h > >> > index 9676016a37ce..7202d816a97e 100644 > >> > --- a/drivers/gpu/drm/amd/include/amd_shared.h > >> > +++ b/drivers/gpu/drm/amd/include/amd_shared.h > >> > @@ -220,6 +220,7 @@ enum DC_FEATURE_MASK { > >> > DC_MULTI_MON_PP_MCLK_SWITCH_MASK = 0x2, > >> > DC_DISABLE_FRACTIONAL_PWM_MASK = 0x4, > >> > DC_PSR_MASK = 0x8, > >> > + DC_DISABLE_AUDIO = 0x10, > >> > }; > >> > > >> > enum DC_DEBUG_MASK { > >> > -- > >> > 2.27.0 > >> > > >> > _______________________________________________ > >> > amd-gfx mailing list > >> > [email protected] > >> <mailto:[email protected]> > >> > https://lists.freedesktop.org/mailman/listinfo/amd-gfx > >> < > https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.freedesktop.org%2Fmailman%2Flistinfo%2Famd-gfx&data=04%7C01%7CHARRY.WENTLAND%40amd.com%7C736532bfba5d4b96e9ac08d8c209e99d%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637472695123517788%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=1MWOfMfaIhdV%2BcnH%2BeAC0aRqb9BMVrdvReZBKG2ZJSc%3D&reserved=0 > > > >> > >> > >> _______________________________________________ > >> amd-gfx mailing list > >> [email protected] > >> https://lists.freedesktop.org/mailman/listinfo/amd-gfx > >> > > _______________________________________________ > > amd-gfx mailing list > > [email protected] > > https://lists.freedesktop.org/mailman/listinfo/amd-gfx > >
_______________________________________________ amd-gfx mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/amd-gfx
