mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* 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®