diff mbox series

[v3] drm/tegra: sor: Enable HDA interrupts at plug-in

Message ID 1563885610-27198-1-git-send-email-viswanathl@nvidia.com
State Deferred
Headers show
Series [v3] drm/tegra: sor: Enable HDA interrupts at plug-in | expand

Commit Message

Viswanath L July 23, 2019, 12:40 p.m. UTC
HDMI plugout calls runtime suspend, which clears interrupt registers
and causes audio functionality to break on subsequent plug-in; setting
interrupt registers in sor_audio_prepare() solves the issue.

Signed-off-by: Viswanath L <viswanathl@nvidia.com>
Fixes: 8e2988a76c26 ("drm/tegra: sor: Support for audio over HDMI")
Cc: <stable@vger.kernel.org>
---
 drivers/gpu/drm/tegra/sor.c | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

Comments

Dmitry Osipenko July 24, 2019, 9:27 a.m. UTC | #1
23.07.2019 15:40, Viswanath L пишет:
> HDMI plugout calls runtime suspend, which clears interrupt registers
> and causes audio functionality to break on subsequent plug-in; setting
> interrupt registers in sor_audio_prepare() solves the issue.
> 
> Signed-off-by: Viswanath L <viswanathl@nvidia.com>

Yours signed-off-by always should be the last line of the commit's
message because the text below it belongs to a person who applies this
patch, Thierry in this case. This is not a big deal at all and Thierry
could make a fixup while applying the patch if will deem that as necessary.

Secondly, there is no need to add "stable@vger.kernel.org" to the
email's recipients because the patch will flow into stable kernel
versions from the mainline once it will get applied. That happens based
on the stable tag presence, hence it's enough to add the 'Cc' tag to the
commit's message in order to get patch backported.

Lastly, next time please add everyone to the email's recipients whom
you're expecting to get a reply. Otherwise there is a chance that patch
will be left unnoticed.

Everything else looks good to me, thanks!

Reviewed-by: Dmitry Osipenko <digetx@gmail.com>

> Fixes: 8e2988a76c26 ("drm/tegra: sor: Support for audio over HDMI")
> Cc: <stable@vger.kernel.org>
> ---
>  drivers/gpu/drm/tegra/sor.c | 18 +++++++++---------
>  1 file changed, 9 insertions(+), 9 deletions(-)
> 
> diff --git a/drivers/gpu/drm/tegra/sor.c b/drivers/gpu/drm/tegra/sor.c
> index 5be5a08..0470cfe 100644
> --- a/drivers/gpu/drm/tegra/sor.c
> +++ b/drivers/gpu/drm/tegra/sor.c
> @@ -2164,6 +2164,15 @@ static void tegra_sor_audio_prepare(struct tegra_sor *sor)
>  
>  	value = SOR_AUDIO_HDA_PRESENSE_ELDV | SOR_AUDIO_HDA_PRESENSE_PD;
>  	tegra_sor_writel(sor, value, SOR_AUDIO_HDA_PRESENSE);
> +
> +	/*
> +	 * Enable and unmask the HDA codec SCRATCH0 register interrupt. This
> +	 * is used for interoperability between the HDA codec driver and the
> +	 * HDMI/DP driver.
> +	 */
> +	value = SOR_INT_CODEC_SCRATCH1 | SOR_INT_CODEC_SCRATCH0;
> +	tegra_sor_writel(sor, value, SOR_INT_ENABLE);
> +	tegra_sor_writel(sor, value, SOR_INT_MASK);
>  }
>  
>  static void tegra_sor_audio_unprepare(struct tegra_sor *sor)
> @@ -2913,15 +2922,6 @@ static int tegra_sor_init(struct host1x_client *client)
>  	if (err < 0)
>  		return err;
>  
> -	/*
> -	 * Enable and unmask the HDA codec SCRATCH0 register interrupt. This
> -	 * is used for interoperability between the HDA codec driver and the
> -	 * HDMI/DP driver.
> -	 */
> -	value = SOR_INT_CODEC_SCRATCH1 | SOR_INT_CODEC_SCRATCH0;
> -	tegra_sor_writel(sor, value, SOR_INT_ENABLE);
> -	tegra_sor_writel(sor, value, SOR_INT_MASK);
> -
>  	return 0;
>  }
>  
>
Viswanath L July 24, 2019, 11:09 a.m. UTC | #2
Thanks very much for the review, Dmitry!

-----Original Message-----
From: Dmitry Osipenko <digetx@gmail.com> 
Sent: Wednesday, July 24, 2019 2:58 PM
To: Viswanath L <viswanathl@nvidia.com>; thierry.reding@gmail.com; Jonathan Hunter <jonathanh@nvidia.com>
Cc: airlied@linux.ie; daniel@ffwll.ch; dri-devel@lists.freedesktop.org; linux-tegra@vger.kernel.org; linux-kernel@vger.kernel.org; stable@vger.kernel.org
Subject: Re: [PATCH v3] drm/tegra: sor: Enable HDA interrupts at plug-in

23.07.2019 15:40, Viswanath L пишет:
> HDMI plugout calls runtime suspend, which clears interrupt registers 
> and causes audio functionality to break on subsequent plug-in; setting 
> interrupt registers in sor_audio_prepare() solves the issue.
> 
> Signed-off-by: Viswanath L <viswanathl@nvidia.com>

Yours signed-off-by always should be the last line of the commit's message because the text below it belongs to a person who applies this patch, Thierry in this case. This is not a big deal at all and Thierry could make a fixup while applying the patch if will deem that as necessary.

Secondly, there is no need to add "stable@vger.kernel.org" to the email's recipients because the patch will flow into stable kernel versions from the mainline once it will get applied. That happens based on the stable tag presence, hence it's enough to add the 'Cc' tag to the commit's message in order to get patch backported.

Lastly, next time please add everyone to the email's recipients whom you're expecting to get a reply. Otherwise there is a chance that patch will be left unnoticed.

Everything else looks good to me, thanks!

Reviewed-by: Dmitry Osipenko <digetx@gmail.com>

> Fixes: 8e2988a76c26 ("drm/tegra: sor: Support for audio over HDMI")
> Cc: <stable@vger.kernel.org>
> ---
>  drivers/gpu/drm/tegra/sor.c | 18 +++++++++---------
>  1 file changed, 9 insertions(+), 9 deletions(-)
> 
> diff --git a/drivers/gpu/drm/tegra/sor.c b/drivers/gpu/drm/tegra/sor.c 
> index 5be5a08..0470cfe 100644
> --- a/drivers/gpu/drm/tegra/sor.c
> +++ b/drivers/gpu/drm/tegra/sor.c
> @@ -2164,6 +2164,15 @@ static void tegra_sor_audio_prepare(struct 
> tegra_sor *sor)
>  
>  	value = SOR_AUDIO_HDA_PRESENSE_ELDV | SOR_AUDIO_HDA_PRESENSE_PD;
>  	tegra_sor_writel(sor, value, SOR_AUDIO_HDA_PRESENSE);
> +
> +	/*
> +	 * Enable and unmask the HDA codec SCRATCH0 register interrupt. This
> +	 * is used for interoperability between the HDA codec driver and the
> +	 * HDMI/DP driver.
> +	 */
> +	value = SOR_INT_CODEC_SCRATCH1 | SOR_INT_CODEC_SCRATCH0;
> +	tegra_sor_writel(sor, value, SOR_INT_ENABLE);
> +	tegra_sor_writel(sor, value, SOR_INT_MASK);
>  }
>  
>  static void tegra_sor_audio_unprepare(struct tegra_sor *sor) @@ 
> -2913,15 +2922,6 @@ static int tegra_sor_init(struct host1x_client *client)
>  	if (err < 0)
>  		return err;
>  
> -	/*
> -	 * Enable and unmask the HDA codec SCRATCH0 register interrupt. This
> -	 * is used for interoperability between the HDA codec driver and the
> -	 * HDMI/DP driver.
> -	 */
> -	value = SOR_INT_CODEC_SCRATCH1 | SOR_INT_CODEC_SCRATCH0;
> -	tegra_sor_writel(sor, value, SOR_INT_ENABLE);
> -	tegra_sor_writel(sor, value, SOR_INT_MASK);
> -
>  	return 0;
>  }
>  
>
Jon Hunter July 24, 2019, 11:11 a.m. UTC | #3
On 24/07/2019 10:27, Dmitry Osipenko wrote:
> 23.07.2019 15:40, Viswanath L пишет:
>> HDMI plugout calls runtime suspend, which clears interrupt registers
>> and causes audio functionality to break on subsequent plug-in; setting
>> interrupt registers in sor_audio_prepare() solves the issue.
>>
>> Signed-off-by: Viswanath L <viswanathl@nvidia.com>
> 
> Yours signed-off-by always should be the last line of the commit's
> message because the text below it belongs to a person who applies this
> patch, Thierry in this case. This is not a big deal at all and Thierry
> could make a fixup while applying the patch if will deem that as necessary.
> 
> Secondly, there is no need to add "stable@vger.kernel.org" to the
> email's recipients because the patch will flow into stable kernel
> versions from the mainline once it will get applied. That happens based
> on the stable tag presence, hence it's enough to add the 'Cc' tag to the
> commit's message in order to get patch backported.

I believe 'git send-email' automatically does this.

Jon
Dmitry Osipenko July 24, 2019, 11:29 a.m. UTC | #4
24.07.2019 14:11, Jon Hunter пишет:
> 
> On 24/07/2019 10:27, Dmitry Osipenko wrote:
>> 23.07.2019 15:40, Viswanath L пишет:
>>> HDMI plugout calls runtime suspend, which clears interrupt registers
>>> and causes audio functionality to break on subsequent plug-in; setting
>>> interrupt registers in sor_audio_prepare() solves the issue.
>>>
>>> Signed-off-by: Viswanath L <viswanathl@nvidia.com>
>>
>> Yours signed-off-by always should be the last line of the commit's
>> message because the text below it belongs to a person who applies this
>> patch, Thierry in this case. This is not a big deal at all and Thierry
>> could make a fixup while applying the patch if will deem that as necessary.
>>
>> Secondly, there is no need to add "stable@vger.kernel.org" to the
>> email's recipients because the patch will flow into stable kernel
>> versions from the mainline once it will get applied. That happens based
>> on the stable tag presence, hence it's enough to add the 'Cc' tag to the
>> commit's message in order to get patch backported.
> 
> I believe 'git send-email' automatically does this.

Indeed, completely forgot that I have '--suppress-cc=all' in my git's setup.
diff mbox series

Patch

diff --git a/drivers/gpu/drm/tegra/sor.c b/drivers/gpu/drm/tegra/sor.c
index 5be5a08..0470cfe 100644
--- a/drivers/gpu/drm/tegra/sor.c
+++ b/drivers/gpu/drm/tegra/sor.c
@@ -2164,6 +2164,15 @@  static void tegra_sor_audio_prepare(struct tegra_sor *sor)
 
 	value = SOR_AUDIO_HDA_PRESENSE_ELDV | SOR_AUDIO_HDA_PRESENSE_PD;
 	tegra_sor_writel(sor, value, SOR_AUDIO_HDA_PRESENSE);
+
+	/*
+	 * Enable and unmask the HDA codec SCRATCH0 register interrupt. This
+	 * is used for interoperability between the HDA codec driver and the
+	 * HDMI/DP driver.
+	 */
+	value = SOR_INT_CODEC_SCRATCH1 | SOR_INT_CODEC_SCRATCH0;
+	tegra_sor_writel(sor, value, SOR_INT_ENABLE);
+	tegra_sor_writel(sor, value, SOR_INT_MASK);
 }
 
 static void tegra_sor_audio_unprepare(struct tegra_sor *sor)
@@ -2913,15 +2922,6 @@  static int tegra_sor_init(struct host1x_client *client)
 	if (err < 0)
 		return err;
 
-	/*
-	 * Enable and unmask the HDA codec SCRATCH0 register interrupt. This
-	 * is used for interoperability between the HDA codec driver and the
-	 * HDMI/DP driver.
-	 */
-	value = SOR_INT_CODEC_SCRATCH1 | SOR_INT_CODEC_SCRATCH0;
-	tegra_sor_writel(sor, value, SOR_INT_ENABLE);
-	tegra_sor_writel(sor, value, SOR_INT_MASK);
-
 	return 0;
 }