* Re: Patch "ALSA: pci: rme: Set up buffer type properly" has been added to the 5.14-stable tree
[not found] <163629655751249@kroah.com>
@ 2021-11-07 14:59 ` Greg KH
2021-11-07 17:01 ` Takashi Iwai
0 siblings, 1 reply; 2+ messages in thread
From: Greg KH @ 2021-11-07 14:59 UTC (permalink / raw)
To: linux-kernel; +Cc: tiwai, stable-commits
On Sun, Nov 07, 2021 at 03:49:17PM +0100, gregkh@linuxfoundation.org wrote:
>
> This is a note to let you know that I've just added the patch titled
>
> ALSA: pci: rme: Set up buffer type properly
>
> to the 5.14-stable tree which can be found at:
> http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
>
> The filename of the patch is:
> alsa-pci-rme-set-up-buffer-type-properly.patch
> and it can be found in the queue-5.14 subdirectory.
>
> If you, or anyone else, feels it should not be added to the stable tree,
> please let <stable@vger.kernel.org> know about it.
>
>
> >From 0899a7a23047f106c06888769d6cd6ff43d7395f Mon Sep 17 00:00:00 2001
> From: Takashi Iwai <tiwai@suse.de>
> Date: Mon, 9 Aug 2021 09:18:28 +0200
> Subject: ALSA: pci: rme: Set up buffer type properly
>
> From: Takashi Iwai <tiwai@suse.de>
>
> commit 0899a7a23047f106c06888769d6cd6ff43d7395f upstream.
>
> Although the regression of the mmap was fixed in the recent commit
> dc0dc8a73e8e ("ALSA: pcm: Fix mmap breakage without explicit buffer
> setup"), RME9652 and HDSP drivers have still potential issues with
> their mmap handling. Namely, they use the default mmap handler
> without the standard buffer preallocation, and PCM core wouldn't use
> the coherent DMA mapping. It's practically OK on x86, but on some
> exotic architectures, it wouldn't work.
>
> This patch addresses the potential breakage by replacing the buffer
> setup with the proper macro. It also simplifies the source code,
> too.
>
> Link: https://lore.kernel.org/r/20210809071829.22238-3-tiwai@suse.de
> Signed-off-by: Takashi Iwai <tiwai@suse.de>
> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> ---
> sound/pci/rme9652/hdsp.c | 6 ++----
> sound/pci/rme9652/rme9652.c | 6 ++----
> 2 files changed, 4 insertions(+), 8 deletions(-)
>
> --- a/sound/pci/rme9652/hdsp.c
> +++ b/sound/pci/rme9652/hdsp.c
> @@ -4518,8 +4518,7 @@ static int snd_hdsp_playback_open(struct
> snd_pcm_set_sync(substream);
>
> runtime->hw = snd_hdsp_playback_subinfo;
> - runtime->dma_area = hdsp->playback_buffer;
> - runtime->dma_bytes = HDSP_DMA_AREA_BYTES;
> + snd_pcm_set_runtime_buffer(substream, hdsp->playback_dma_buf);
>
> hdsp->playback_pid = current->pid;
> hdsp->playback_substream = substream;
> @@ -4595,8 +4594,7 @@ static int snd_hdsp_capture_open(struct
> snd_pcm_set_sync(substream);
>
> runtime->hw = snd_hdsp_capture_subinfo;
> - runtime->dma_area = hdsp->capture_buffer;
> - runtime->dma_bytes = HDSP_DMA_AREA_BYTES;
> + snd_pcm_set_runtime_buffer(substream, hdsp->capture_dma_buf);
>
> hdsp->capture_pid = current->pid;
> hdsp->capture_substream = substream;
> --- a/sound/pci/rme9652/rme9652.c
> +++ b/sound/pci/rme9652/rme9652.c
> @@ -2279,8 +2279,7 @@ static int snd_rme9652_playback_open(str
> snd_pcm_set_sync(substream);
>
> runtime->hw = snd_rme9652_playback_subinfo;
> - runtime->dma_area = rme9652->playback_buffer;
> - runtime->dma_bytes = RME9652_DMA_AREA_BYTES;
> + snd_pcm_set_runtime_buffer(substream, rme9652->playback_dma_buf);
>
> if (rme9652->capture_substream == NULL) {
> rme9652_stop(rme9652);
> @@ -2339,8 +2338,7 @@ static int snd_rme9652_capture_open(stru
> snd_pcm_set_sync(substream);
>
> runtime->hw = snd_rme9652_capture_subinfo;
> - runtime->dma_area = rme9652->capture_buffer;
> - runtime->dma_bytes = RME9652_DMA_AREA_BYTES;
> + snd_pcm_set_runtime_buffer(substream, rme9652->capture_dma_buf);
>
> if (rme9652->playback_substream == NULL) {
> rme9652_stop(rme9652);
>
>
> Patches currently in stable-queue which might be from tiwai@suse.de are
>
> queue-5.14/alsa-pci-rme-set-up-buffer-type-properly.patch
> queue-5.14/alsa-pcm-check-mmap-capability-of-runtime-dma-buffer-at-first.patch
> queue-5.14/alsa-pci-cs46xx-fix-set-up-buffer-type-properly.patch
This patch breaks the build, so I will drop it.
Can you provide a working backport?
thanks,
greg k-h
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: Patch "ALSA: pci: rme: Set up buffer type properly" has been added to the 5.14-stable tree
2021-11-07 14:59 ` Patch "ALSA: pci: rme: Set up buffer type properly" has been added to the 5.14-stable tree Greg KH
@ 2021-11-07 17:01 ` Takashi Iwai
0 siblings, 0 replies; 2+ messages in thread
From: Takashi Iwai @ 2021-11-07 17:01 UTC (permalink / raw)
To: Greg KH; +Cc: linux-kernel, stable-commits
On Sun, 07 Nov 2021 15:59:32 +0100,
Greg KH wrote:
>
> On Sun, Nov 07, 2021 at 03:49:17PM +0100, gregkh@linuxfoundation.org wrote:
> >
> > This is a note to let you know that I've just added the patch titled
> >
> > ALSA: pci: rme: Set up buffer type properly
> >
> > to the 5.14-stable tree which can be found at:
> > http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
> >
> > The filename of the patch is:
> > alsa-pci-rme-set-up-buffer-type-properly.patch
> > and it can be found in the queue-5.14 subdirectory.
> >
> > If you, or anyone else, feels it should not be added to the stable tree,
> > please let <stable@vger.kernel.org> know about it.
> >
> >
> > >From 0899a7a23047f106c06888769d6cd6ff43d7395f Mon Sep 17 00:00:00 2001
> > From: Takashi Iwai <tiwai@suse.de>
> > Date: Mon, 9 Aug 2021 09:18:28 +0200
> > Subject: ALSA: pci: rme: Set up buffer type properly
> >
> > From: Takashi Iwai <tiwai@suse.de>
> >
> > commit 0899a7a23047f106c06888769d6cd6ff43d7395f upstream.
> >
> > Although the regression of the mmap was fixed in the recent commit
> > dc0dc8a73e8e ("ALSA: pcm: Fix mmap breakage without explicit buffer
> > setup"), RME9652 and HDSP drivers have still potential issues with
> > their mmap handling. Namely, they use the default mmap handler
> > without the standard buffer preallocation, and PCM core wouldn't use
> > the coherent DMA mapping. It's practically OK on x86, but on some
> > exotic architectures, it wouldn't work.
> >
> > This patch addresses the potential breakage by replacing the buffer
> > setup with the proper macro. It also simplifies the source code,
> > too.
> >
> > Link: https://lore.kernel.org/r/20210809071829.22238-3-tiwai@suse.de
> > Signed-off-by: Takashi Iwai <tiwai@suse.de>
> > Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> > ---
> > sound/pci/rme9652/hdsp.c | 6 ++----
> > sound/pci/rme9652/rme9652.c | 6 ++----
> > 2 files changed, 4 insertions(+), 8 deletions(-)
> >
> > --- a/sound/pci/rme9652/hdsp.c
> > +++ b/sound/pci/rme9652/hdsp.c
> > @@ -4518,8 +4518,7 @@ static int snd_hdsp_playback_open(struct
> > snd_pcm_set_sync(substream);
> >
> > runtime->hw = snd_hdsp_playback_subinfo;
> > - runtime->dma_area = hdsp->playback_buffer;
> > - runtime->dma_bytes = HDSP_DMA_AREA_BYTES;
> > + snd_pcm_set_runtime_buffer(substream, hdsp->playback_dma_buf);
> >
> > hdsp->playback_pid = current->pid;
> > hdsp->playback_substream = substream;
> > @@ -4595,8 +4594,7 @@ static int snd_hdsp_capture_open(struct
> > snd_pcm_set_sync(substream);
> >
> > runtime->hw = snd_hdsp_capture_subinfo;
> > - runtime->dma_area = hdsp->capture_buffer;
> > - runtime->dma_bytes = HDSP_DMA_AREA_BYTES;
> > + snd_pcm_set_runtime_buffer(substream, hdsp->capture_dma_buf);
> >
> > hdsp->capture_pid = current->pid;
> > hdsp->capture_substream = substream;
> > --- a/sound/pci/rme9652/rme9652.c
> > +++ b/sound/pci/rme9652/rme9652.c
> > @@ -2279,8 +2279,7 @@ static int snd_rme9652_playback_open(str
> > snd_pcm_set_sync(substream);
> >
> > runtime->hw = snd_rme9652_playback_subinfo;
> > - runtime->dma_area = rme9652->playback_buffer;
> > - runtime->dma_bytes = RME9652_DMA_AREA_BYTES;
> > + snd_pcm_set_runtime_buffer(substream, rme9652->playback_dma_buf);
> >
> > if (rme9652->capture_substream == NULL) {
> > rme9652_stop(rme9652);
> > @@ -2339,8 +2338,7 @@ static int snd_rme9652_capture_open(stru
> > snd_pcm_set_sync(substream);
> >
> > runtime->hw = snd_rme9652_capture_subinfo;
> > - runtime->dma_area = rme9652->capture_buffer;
> > - runtime->dma_bytes = RME9652_DMA_AREA_BYTES;
> > + snd_pcm_set_runtime_buffer(substream, rme9652->capture_dma_buf);
> >
> > if (rme9652->playback_substream == NULL) {
> > rme9652_stop(rme9652);
> >
> >
> > Patches currently in stable-queue which might be from tiwai@suse.de are
> >
> > queue-5.14/alsa-pci-rme-set-up-buffer-type-properly.patch
> > queue-5.14/alsa-pcm-check-mmap-capability-of-runtime-dma-buffer-at-first.patch
> > queue-5.14/alsa-pci-cs46xx-fix-set-up-buffer-type-properly.patch
>
> This patch breaks the build, so I will drop it.
>
> Can you provide a working backport?
Sorry, I overlooked that it's after the recent code change with the
devres support.
Then rather drop this one, as I found another potential issue in this
patch. I cooked another different fix now that should cover the
regression, instead. It'll be included in the next pull request.
The other two patches are fine for stable trees.
thanks,
Takashi
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2021-11-07 17:04 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <163629655751249@kroah.com>
2021-11-07 14:59 ` Patch "ALSA: pci: rme: Set up buffer type properly" has been added to the 5.14-stable tree Greg KH
2021-11-07 17:01 ` Takashi Iwai
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®