* [PATCH 0/1] Ядро 6.12/sisyphus с поддержкой СнК Байкал-М @ 2025-09-03 14:41 Daniil Gnusarev 2025-09-03 14:41 ` [d-kernel] [PATCH 1/1] dw-hdmi: add flag SNDRV_PCM_INFO_BATCH for audio via hdmi on Baikal-M Daniil Gnusarev 2025-09-03 23:39 ` [d-kernel] [PATCH 0/1] п╞п╢я─п╬ 6.12/sisyphus я│ п©п╬п╢п╢п╣я─п╤п╨п╬п╧ п║п╫п п▒п╟п╧п╨п╟п╩-п° Vitaly Chikunov 0 siblings, 2 replies; 5+ messages in thread From: Daniil Gnusarev @ 2025-09-03 14:41 UTC (permalink / raw) To: gnusarevda, devel-kernel При выводе звука через hdmi на ПК серии Байкал-М наблюдается нестабильность работы. Буфер вывода своевременно не пополняется новыми данными. Из-за этого появляются остановки воспроизведения. Особенно заметно при нескольких источниках звука. Проблема устраняется добавлением флага SNDRV_PCM_INFO_BATCH к свойствам используемого драйвера dw-hdmi-ahb-audio. При этом становится возможна беспроблемная одновременная работа трех проигрывателей (audacious, VLC media player, Gapless), восьми копий pw-cat, и в добавок при запущеном stress-ng --cpu 8. Возможно не стоит выделять отдельно Байкал-М, а применить в общем случае для dw-hdmi-ahb-audio? Daniil Gnusarev (1): dw-hdmi: add flag SNDRV_PCM_INFO_BATCH for audio via hdmi on Baikal-M drivers/gpu/drm/bridge/synopsys/dw-hdmi-ahb-audio.c | 2 ++ drivers/gpu/drm/bridge/synopsys/dw-hdmi-audio.h | 1 + drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 3 ++- 3 files changed, 5 insertions(+), 1 deletion(-) -- 2.42.2 ^ permalink raw reply [flat|nested] 5+ messages in thread
* [d-kernel] [PATCH 1/1] dw-hdmi: add flag SNDRV_PCM_INFO_BATCH for audio via hdmi on Baikal-M 2025-09-03 14:41 [PATCH 0/1] Ядро 6.12/sisyphus с поддержкой СнК Байкал-М Daniil Gnusarev @ 2025-09-03 14:41 ` Daniil Gnusarev 2025-09-03 23:50 ` Vitaly Chikunov 2025-09-03 23:39 ` [d-kernel] [PATCH 0/1] п╞п╢я─п╬ 6.12/sisyphus я│ п©п╬п╢п╢п╣я─п╤п╨п╬п╧ п║п╫п п▒п╟п╧п╨п╟п╩-п° Vitaly Chikunov 1 sibling, 1 reply; 5+ messages in thread From: Daniil Gnusarev @ 2025-09-03 14:41 UTC (permalink / raw) To: gnusarevda, devel-kernel There is an unstable sound output via HDMI with the dw-hdmi-ahb-audiо driver when working on Baikal-M. Additional setting of the SNDRV_PCM_INFO_BATCH flag solves this problem. Let's use it. Signed-off-by: Daniil Gnusarev <gnusarevda@basealt.ru> --- drivers/gpu/drm/bridge/synopsys/dw-hdmi-ahb-audio.c | 2 ++ drivers/gpu/drm/bridge/synopsys/dw-hdmi-audio.h | 1 + drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 3 ++- 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-ahb-audio.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-ahb-audio.c index 89af1b6a2ef2b..af0295d3bdfcb 100644 --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-ahb-audio.c +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-ahb-audio.c @@ -356,6 +356,8 @@ static int dw_hdmi_open(struct snd_pcm_substream *substream) int ret; runtime->hw = dw_hdmi_hw; + if (dw->data.batch_mode) + runtime->hw.info |= SNDRV_PCM_INFO_BATCH; eld = dw->data.get_eld(dw->data.hdmi); if (eld) { diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-audio.h b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-audio.h index 3250588d39ff0..aa9f470fcd03a 100644 --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-audio.h +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-audio.h @@ -11,6 +11,7 @@ struct dw_hdmi_audio_data { struct dw_hdmi *hdmi; u8 *(*get_eld)(struct dw_hdmi *hdmi); unsigned regshift; + bool batch_mode; }; struct dw_hdmi_i2s_audio_data { diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c index 2805b58619a76..7dc010524c0cc 100644 --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c @@ -3527,7 +3527,8 @@ struct dw_hdmi *dw_hdmi_probe(struct platform_device *pdev, audio.regshift = 2; dev_info(dev, "setting audio.regshift=%d for BE-M1000 SoC\n", audio.regshift); - } + audio.batch_mode = true; + } else audio.batch_mode = false; hdmi->enable_audio = dw_hdmi_ahb_audio_enable; hdmi->disable_audio = dw_hdmi_ahb_audio_disable; -- 2.42.2 ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [d-kernel] [PATCH 1/1] dw-hdmi: add flag SNDRV_PCM_INFO_BATCH for audio via hdmi on Baikal-M 2025-09-03 14:41 ` [d-kernel] [PATCH 1/1] dw-hdmi: add flag SNDRV_PCM_INFO_BATCH for audio via hdmi on Baikal-M Daniil Gnusarev @ 2025-09-03 23:50 ` Vitaly Chikunov 2025-09-03 23:53 ` Vitaly Chikunov 0 siblings, 1 reply; 5+ messages in thread From: Vitaly Chikunov @ 2025-09-03 23:50 UTC (permalink / raw) To: ALT Linux kernel packages development Daniil, On Wed, Sep 03, 2025 at 06:41:51PM +0400, Daniil Gnusarev wrote: > There is an unstable sound output via HDMI with the dw-hdmi-ahb-audiо > driver when working on Baikal-M. Additional setting of > the SNDRV_PCM_INFO_BATCH flag solves this problem. Let's use it. > > Signed-off-by: Daniil Gnusarev <gnusarevda@basealt.ru> > --- > drivers/gpu/drm/bridge/synopsys/dw-hdmi-ahb-audio.c | 2 ++ > drivers/gpu/drm/bridge/synopsys/dw-hdmi-audio.h | 1 + > drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 3 ++- > 3 files changed, 5 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-ahb-audio.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-ahb-audio.c > index 89af1b6a2ef2b..af0295d3bdfcb 100644 > --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-ahb-audio.c > +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-ahb-audio.c > @@ -356,6 +356,8 @@ static int dw_hdmi_open(struct snd_pcm_substream *substream) > int ret; > > runtime->hw = dw_hdmi_hw; > + if (dw->data.batch_mode) > + runtime->hw.info |= SNDRV_PCM_INFO_BATCH; > > eld = dw->data.get_eld(dw->data.hdmi); > if (eld) { > diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-audio.h b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-audio.h > index 3250588d39ff0..aa9f470fcd03a 100644 > --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-audio.h > +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-audio.h > @@ -11,6 +11,7 @@ struct dw_hdmi_audio_data { > struct dw_hdmi *hdmi; > u8 *(*get_eld)(struct dw_hdmi *hdmi); > unsigned regshift; > + bool batch_mode; > }; > > struct dw_hdmi_i2s_audio_data { > diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c > index 2805b58619a76..7dc010524c0cc 100644 > --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c > +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c > @@ -3527,7 +3527,8 @@ struct dw_hdmi *dw_hdmi_probe(struct platform_device *pdev, > audio.regshift = 2; > dev_info(dev, "setting audio.regshift=%d for BE-M1000 SoC\n", > audio.regshift); > - } > + audio.batch_mode = true; > + } else audio.batch_mode = false; Пожалуйста, на будущее, форматируйте код по стандартам ядра. Кроме того, ниже в ветках кода "} else if (iores && config3 & HDMI_CONFIG3_GPAUD) {" и "} else if (config0 & HDMI_CONFIG0_I2S) {" вы не инициализируете audio.batch_mode, - не создает ли это проблем с непроинициализированной памятью? Thanks, > hdmi->enable_audio = dw_hdmi_ahb_audio_enable; > hdmi->disable_audio = dw_hdmi_ahb_audio_disable; > > -- > 2.42.2 > > _______________________________________________ > devel-kernel mailing list > devel-kernel@lists.altlinux.org > https://lists.altlinux.org/mailman/listinfo/devel-kernel ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [d-kernel] [PATCH 1/1] dw-hdmi: add flag SNDRV_PCM_INFO_BATCH for audio via hdmi on Baikal-M 2025-09-03 23:50 ` Vitaly Chikunov @ 2025-09-03 23:53 ` Vitaly Chikunov 0 siblings, 0 replies; 5+ messages in thread From: Vitaly Chikunov @ 2025-09-03 23:53 UTC (permalink / raw) To: ALT Linux kernel packages development Daniil, On Thu, Sep 04, 2025 at 02:50:57AM +0300, Vitaly Chikunov wrote: > Daniil, > > On Wed, Sep 03, 2025 at 06:41:51PM +0400, Daniil Gnusarev wrote: > > There is an unstable sound output via HDMI with the dw-hdmi-ahb-audiо > > driver when working on Baikal-M. Additional setting of > > the SNDRV_PCM_INFO_BATCH flag solves this problem. Let's use it. > > > > Signed-off-by: Daniil Gnusarev <gnusarevda@basealt.ru> > > --- > > drivers/gpu/drm/bridge/synopsys/dw-hdmi-ahb-audio.c | 2 ++ > > drivers/gpu/drm/bridge/synopsys/dw-hdmi-audio.h | 1 + > > drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 3 ++- > > 3 files changed, 5 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-ahb-audio.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-ahb-audio.c > > index 89af1b6a2ef2b..af0295d3bdfcb 100644 > > --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-ahb-audio.c > > +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-ahb-audio.c > > @@ -356,6 +356,8 @@ static int dw_hdmi_open(struct snd_pcm_substream *substream) > > int ret; > > > > runtime->hw = dw_hdmi_hw; > > + if (dw->data.batch_mode) > > + runtime->hw.info |= SNDRV_PCM_INFO_BATCH; > > > > eld = dw->data.get_eld(dw->data.hdmi); > > if (eld) { > > diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-audio.h b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-audio.h > > index 3250588d39ff0..aa9f470fcd03a 100644 > > --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-audio.h > > +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-audio.h > > @@ -11,6 +11,7 @@ struct dw_hdmi_audio_data { > > struct dw_hdmi *hdmi; > > u8 *(*get_eld)(struct dw_hdmi *hdmi); > > unsigned regshift; > > + bool batch_mode; > > }; > > > > struct dw_hdmi_i2s_audio_data { > > diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c > > index 2805b58619a76..7dc010524c0cc 100644 > > --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c > > +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c > > @@ -3527,7 +3527,8 @@ struct dw_hdmi *dw_hdmi_probe(struct platform_device *pdev, > > audio.regshift = 2; > > dev_info(dev, "setting audio.regshift=%d for BE-M1000 SoC\n", > > audio.regshift); > > - } > > + audio.batch_mode = true; > > + } else audio.batch_mode = false; > > Пожалуйста, на будущее, форматируйте код по стандартам ядра. > > Кроме того, ниже в ветках кода > > "} else if (iores && config3 & HDMI_CONFIG3_GPAUD) {" и > "} else if (config0 & HDMI_CONFIG0_I2S) {" > > вы не инициализируете audio.batch_mode, - не создает ли это проблем с > непроинициализированной памятью? Я откатил ваш коммит пока вы не ответите на этот вопрос или не пришлете v2. Thanks, > > Thanks, > > > hdmi->enable_audio = dw_hdmi_ahb_audio_enable; > > hdmi->disable_audio = dw_hdmi_ahb_audio_disable; > > > > -- > > 2.42.2 > > > > _______________________________________________ > > devel-kernel mailing list > > devel-kernel@lists.altlinux.org > > https://lists.altlinux.org/mailman/listinfo/devel-kernel > _______________________________________________ > devel-kernel mailing list > devel-kernel@lists.altlinux.org > https://lists.altlinux.org/mailman/listinfo/devel-kernel ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [d-kernel] [PATCH 0/1] п╞п╢я─п╬ 6.12/sisyphus я│ п©п╬п╢п╢п╣я─п╤п╨п╬п╧ п║п╫п п▒п╟п╧п╨п╟п╩-п° 2025-09-03 14:41 [PATCH 0/1] Ядро 6.12/sisyphus с поддержкой СнК Байкал-М Daniil Gnusarev 2025-09-03 14:41 ` [d-kernel] [PATCH 1/1] dw-hdmi: add flag SNDRV_PCM_INFO_BATCH for audio via hdmi on Baikal-M Daniil Gnusarev @ 2025-09-03 23:39 ` Vitaly Chikunov 1 sibling, 0 replies; 5+ messages in thread From: Vitaly Chikunov @ 2025-09-03 23:39 UTC (permalink / raw) To: ALT Linux kernel packages development On Wed, Sep 03, 2025 at 06:41:50PM +0400, Daniil Gnusarev wrote: > При выводе звука через hdmi на ПК серии Байкал-М наблюдается нестабильность > работы. Буфер вывода своевременно не пополняется новыми данными. Из-за > этого появляются остановки воспроизведения. Особенно заметно при нескольких > источниках звука. Проблема устраняется добавлением флага SNDRV_PCM_INFO_BATCH > к свойствам используемого драйвера dw-hdmi-ahb-audio. При этом становится > возможна беспроблемная одновременная работа трех проигрывателей (audacious, > VLC media player, Gapless), восьми копий pw-cat, и в добавок при запущеном > stress-ng --cpu 8. > Возможно не стоит выделять отдельно Байкал-М, а применить в общем случае > для dw-hdmi-ahb-audio? Не стоит без отсылки в апстрим. К сожалению subject не читаем, поэтому предположил что это нужно во все ядра 6.12. Applied, thanks > > Daniil Gnusarev (1): > dw-hdmi: add flag SNDRV_PCM_INFO_BATCH for audio via hdmi on Baikal-M > > drivers/gpu/drm/bridge/synopsys/dw-hdmi-ahb-audio.c | 2 ++ > drivers/gpu/drm/bridge/synopsys/dw-hdmi-audio.h | 1 + > drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 3 ++- > 3 files changed, 5 insertions(+), 1 deletion(-) > > -- > 2.42.2 > > _______________________________________________ > devel-kernel mailing list > devel-kernel@lists.altlinux.org > https://lists.altlinux.org/mailman/listinfo/devel-kernel ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2025-09-03 23:53 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2025-09-03 14:41 [PATCH 0/1] Ядро 6.12/sisyphus с поддержкой СнК Байкал-М Daniil Gnusarev 2025-09-03 14:41 ` [d-kernel] [PATCH 1/1] dw-hdmi: add flag SNDRV_PCM_INFO_BATCH for audio via hdmi on Baikal-M Daniil Gnusarev 2025-09-03 23:50 ` Vitaly Chikunov 2025-09-03 23:53 ` Vitaly Chikunov 2025-09-03 23:39 ` [d-kernel] [PATCH 0/1] п╞п╢я─п╬ 6.12/sisyphus я│ п©п╬п╢п╢п╣я─п╤п╨п╬п╧ п║п╫п п▒п╟п╧п╨п╟п╩-п° Vitaly Chikunov
ALT Linux kernel packages development This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/devel-kernel/0 devel-kernel/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 devel-kernel devel-kernel/ http://lore.altlinux.org/devel-kernel \ devel-kernel@altlinux.org devel-kernel@altlinux.ru devel-kernel@altlinux.com public-inbox-index devel-kernel Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.devel-kernel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git