Re: [PATCH] ASoC: intel: skylake: Drop superfluous mmap callback

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2021-07-30 8:20 PM, Takashi Iwai wrote:
On Fri, 30 Jul 2021 15:59:54 +0200,
Cezary Rojewski wrote:

...


Thanks for the input, Takashi.
While I welcome the change, have two quick questions:

1) Does this impact hw_support_mmap() and its user behavior? i.e. is
there some implicit behavior change that skylake-users may experience
along the way?

hw_support_mmap() must return true for this case as long as you've set
up the buffer in the right way (either preallocation or managed).

hw_support_mmap() has an 'if' checking substream->ops->mmap. ASoC framework won't assign snd_soc_pcm_component_mmap as mmap-ops in soc_new_pcm() if component_driver didn't provided custom handler.

This makes me believe function's behavior may change but I might as well be missing something here.

2) Since snd_pcm_mmap_data() defaults to snd_pcm_lib_default_mmap()
why not update ops assignment - snd_pcm_set_ops() - in such a way that
if/else is no longer needed in the former?

Simply put: when the buffer is allocated via
snd_pcm_set_managed_buffer*(), you can omit the mmap callback.
The only case you need the mmap callback is only when a special buffer
is used or it needs a special way of mmap itself.

Comment of my was more of a suggestion i.e. snd_pcm_mmap_data() has an if-statement:

if (substream->ops->mmap)
	err = substream->ops->mmap(substream, area);
else
	err = snd_pcm_lib-default_mmap(substream, area);

I believe this could be replaced by one-liner with snd_pcm_set_ops() modified: do the validity check + default assignment there instead.


Czarek



[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Pulse Audio]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux