[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20191008133741.GG608@amd>
Date: Tue, 8 Oct 2019 15:37:41 +0200
From: Pavel Machek <pavel@...x.de>
To: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Cc: linux-kernel@...r.kernel.org, stable@...r.kernel.org,
Charlene Liu <charlene.liu@....com>,
Dmytro Laktyushkin <Dmytro.Laktyushkin@....com>,
Bhawanpreet Lakha <Bhawanpreet.Lakha@....com>,
Alex Deucher <alexander.deucher@....com>,
Sasha Levin <sashal@...nel.org>
Subject: Re: [PATCH 4.19 033/106] drm/amd/display: support spdif
Hi!
> [ Upstream commit b5a41620bb88efb9fb31a4fa5e652e3d5bead7d4 ]
>
> [Description]
> port spdif fix to staging:
> spdif hardwired to afmt inst 1.
> spdif func pointer
> spdif resource allocation (reserve last audio endpoint for spdif only)
I'm sorry, but I don't understand this changelog. Code below modifies
whitespace, adds a debug output, and uses local variable for
pool->audio_count.
Does not seem to be a bugfix, and does not seem to do anything with
staging.
Best regards,
Pavel
> +++ b/drivers/gpu/drm/amd/display/dc/core/dc_resource.c
> @@ -229,12 +229,10 @@ bool resource_construct(
> DC_ERR("DC: failed to create audio!\n");
> return false;
> }
> -
> if (!aud->funcs->endpoint_valid(aud)) {
> aud->funcs->destroy(&aud);
> break;
> }
> -
> pool->audios[i] = aud;
> pool->audio_count++;
> }
> @@ -1703,24 +1701,25 @@ static struct audio *find_first_free_audio(
> const struct resource_pool *pool,
> enum engine_id id)
> {
> - int i;
> - for (i = 0; i < pool->audio_count; i++) {
> + int i, available_audio_count;
> +
> + available_audio_count = pool->audio_count;
> +
> + for (i = 0; i < available_audio_count; i++) {
> if ((res_ctx->is_audio_acquired[i] == false) && (res_ctx->is_stream_enc_acquired[i] == true)) {
> /*we have enough audio endpoint, find the matching inst*/
> if (id != i)
> continue;
> -
> return pool->audios[i];
> }
> }
>
> - /* use engine id to find free audio */
> - if ((id < pool->audio_count) && (res_ctx->is_audio_acquired[id] == false)) {
> + /* use engine id to find free audio */
> + if ((id < available_audio_count) && (res_ctx->is_audio_acquired[id] == false)) {
> return pool->audios[id];
> }
> -
> /*not found the matching one, first come first serve*/
> - for (i = 0; i < pool->audio_count; i++) {
> + for (i = 0; i < available_audio_count; i++) {
> if (res_ctx->is_audio_acquired[i] == false) {
> return pool->audios[i];
> }
> diff --git a/drivers/gpu/drm/amd/display/dc/dce/dce_audio.c b/drivers/gpu/drm/amd/display/dc/dce/dce_audio.c
> index 7f6d724686f1a..abb559ce64085 100644
> --- a/drivers/gpu/drm/amd/display/dc/dce/dce_audio.c
> +++ b/drivers/gpu/drm/amd/display/dc/dce/dce_audio.c
> @@ -611,6 +611,8 @@ void dce_aud_az_configure(
>
> AZ_REG_WRITE(AZALIA_F0_CODEC_PIN_CONTROL_SINK_INFO1,
> value);
> + DC_LOG_HW_AUDIO("\n\tAUDIO:az_configure: index: %u data, 0x%x, displayName %s: \n",
> + audio->inst, value, audio_info->display_name);
>
> /*
> *write the port ID:
> @@ -922,7 +924,6 @@ static const struct audio_funcs funcs = {
> .az_configure = dce_aud_az_configure,
> .destroy = dce_aud_destroy,
> };
> -
> void dce_aud_destroy(struct audio **audio)
> {
> struct dce_audio *aud = DCE_AUD(*audio);
> @@ -953,7 +954,6 @@ struct audio *dce_audio_create(
> audio->regs = reg;
> audio->shifts = shifts;
> audio->masks = masks;
> -
> return &audio->base;
> }
>
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
Download attachment "signature.asc" of type "application/pgp-signature" (182 bytes)
Powered by blists - more mailing lists