Message ID | 1563787632-19762-1-git-send-email-viswanathl@nvidia.com |
---|---|
State | Changes Requested |
Headers | show |
Series | [v2] drm/tegra: sor: Enable HDA interrupts at plugin | expand |
22.07.2019 12:27, Viswanath L пишет: > HDMI plugout calls runtime suspend, which clears interrupt registers > and causes audio functionality to break on subsequent plugin; setting > interrupt registers in sor_audio_prepare() solves the issue Hello Viswanath, A dot should be in the end of sentence, please. And should be better to s/plugin/plug-in/ in the commit's message/title because 'plugin' sounds as a noun. Please don't version patch as v2 if v1 wasn't ever sent out. You should add a stable tag here to get patch backported into stable kernel versions: Cc: <stable@vger.kernel.org> > Signed-off-by: Viswanath L <viswanathl@nvidia.com> The kernel upstreaming rules require a full name. I'm pretty sure that L isn't yours surname. > --- > 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; > } > >
Thanks for your comments, Dmitry. Please see my responses inline. On 7/23/2019 6:00 AM, Dmitry Osipenko wrote: > 22.07.2019 12:27, Viswanath L пишет: >> HDMI plugout calls runtime suspend, which clears interrupt registers >> and causes audio functionality to break on subsequent plugin; setting >> interrupt registers in sor_audio_prepare() solves the issue > Hello Viswanath, > > A dot should be in the end of sentence, please. And should be better to > s/plugin/plug-in/ in the commit's message/title because 'plugin' sounds > as a noun. [VL] Yes, I'll make the above changes. > > Please don't version patch as v2 if v1 wasn't ever sent out. [VL] Now that I have sent v2, shall I continue with v2 for the next patch? Apologies for this oversight. > > You should add a stable tag here to get patch backported into stable > kernel versions: > > Cc: <stable@vger.kernel.org> [VL] Yes, will add. > >> Signed-off-by: Viswanath L <viswanathl@nvidia.com> > The kernel upstreaming rules require a full name. I'm pretty sure that L > isn't yours surname. [VL] My name appears as "Viswanath L" in all company records and email lists. I would strongly prefer to keep it this way, unless that is an absolute no-no. >> --- >> 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; >> } >> >>
23.07.2019 13:11, Viswanath L пишет: > Thanks for your comments, Dmitry. Please see my responses inline. > > On 7/23/2019 6:00 AM, Dmitry Osipenko wrote: >> 22.07.2019 12:27, Viswanath L пишет: >>> HDMI plugout calls runtime suspend, which clears interrupt registers >>> and causes audio functionality to break on subsequent plugin; setting >>> interrupt registers in sor_audio_prepare() solves the issue >> Hello Viswanath, >> >> A dot should be in the end of sentence, please. And should be better to >> s/plugin/plug-in/ in the commit's message/title because 'plugin' sounds >> as a noun. > [VL] Yes, I'll make the above changes. >> >> Please don't version patch as v2 if v1 wasn't ever sent out. > [VL] Now that I have sent v2, shall I continue with v2 for the next > patch? Apologies for this oversight. v3 should be good. >> You should add a stable tag here to get patch backported into stable >> kernel versions: >> >> Cc: <stable@vger.kernel.org> > [VL] Yes, will add. >> >>> Signed-off-by: Viswanath L <viswanathl@nvidia.com> >> The kernel upstreaming rules require a full name. I'm pretty sure that L >> isn't yours surname. > [VL] My name appears as "Viswanath L" in all company records and email > lists. I would strongly prefer to keep it this way, unless that is an > absolute no-no. I guess it should be okay, but a full name is much more preferable.
Hello Dmitry, I have pushed new patch set v3 (https://patchwork.ozlabs.org/patch/1135605/). Request you to kindly review. Thanks. On 7/23/2019 3:48 PM, Dmitry Osipenko wrote: > 23.07.2019 13:11, Viswanath L пишет: >> Thanks for your comments, Dmitry. Please see my responses inline. >> >> On 7/23/2019 6:00 AM, Dmitry Osipenko wrote: >>> 22.07.2019 12:27, Viswanath L пишет: >>>> HDMI plugout calls runtime suspend, which clears interrupt registers >>>> and causes audio functionality to break on subsequent plugin; setting >>>> interrupt registers in sor_audio_prepare() solves the issue >>> Hello Viswanath, >>> >>> A dot should be in the end of sentence, please. And should be better to >>> s/plugin/plug-in/ in the commit's message/title because 'plugin' sounds >>> as a noun. >> [VL] Yes, I'll make the above changes. >>> Please don't version patch as v2 if v1 wasn't ever sent out. >> [VL] Now that I have sent v2, shall I continue with v2 for the next >> patch? Apologies for this oversight. > v3 should be good. > >>> You should add a stable tag here to get patch backported into stable >>> kernel versions: >>> >>> Cc: <stable@vger.kernel.org> >> [VL] Yes, will add. >>>> Signed-off-by: Viswanath L <viswanathl@nvidia.com> >>> The kernel upstreaming rules require a full name. I'm pretty sure that L >>> isn't yours surname. >> [VL] My name appears as "Viswanath L" in all company records and email >> lists. I would strongly prefer to keep it this way, unless that is an >> absolute no-no. > I guess it should be okay, but a full name is much more preferable.
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; }
HDMI plugout calls runtime suspend, which clears interrupt registers and causes audio functionality to break on subsequent plugin; setting interrupt registers in sor_audio_prepare() solves the issue Signed-off-by: Viswanath L <viswanathl@nvidia.com> --- drivers/gpu/drm/tegra/sor.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-)