All of lore.kernel.org
 help / color / mirror / Atom feed
From: Cezary Rojewski <cezary.rojewski@intel.com>
To: Takashi Iwai <tiwai@suse.de>
Cc: lgirdwood@gmail.com, alsa-devel@alsa-project.org,
	broonie@kernel.org, tiwai@suse.com,
	pierre-louis.bossart@linux.intel.com
Subject: Re: [alsa-devel] [PATCH 1/7] ALSA: hda: Allow for compress stream to hdac_ext_stream assignment
Date: Tue, 17 Dec 2019 13:06:29 +0100	[thread overview]
Message-ID: <8d796ef4-e6d2-ade3-25c3-756599c44348@intel.com> (raw)
In-Reply-To: <s5h36dj2r0y.wl-tiwai@suse.de>



On 2019-12-17 11:19, Takashi Iwai wrote:
> On Tue, 17 Dec 2019 10:58:45 +0100,
> Cezary Rojewski wrote:
>>
>> Currently only PCM streams can enlist hdac_stream for their data
>> transfer. Add cstream field to hdac_ext_stream to expose possibility of
>> compress stream assignment in place of PCM one.
>> Limited to HOST-type only.
>>
>> Rather than copying entire hdac_ext_host_stream_assign, declare separate
>> PCM and compress wrappers and reuse it for both cases.
>>
>> Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
>> ---
>>   include/sound/hdaudio.h         |  1 +
>>   include/sound/hdaudio_ext.h     |  2 ++
>>   sound/hda/ext/hdac_ext_stream.c | 46 +++++++++++++++++++++++++++++----
>>   3 files changed, 44 insertions(+), 5 deletions(-)
>>
>> diff --git a/include/sound/hdaudio.h b/include/sound/hdaudio.h
>> index e05b95e83d5a..9a8bf1eb7d69 100644
>> --- a/include/sound/hdaudio.h
>> +++ b/include/sound/hdaudio.h
>> @@ -481,6 +481,7 @@ struct hdac_stream {
>>   	struct snd_pcm_substream *substream;	/* assigned substream,
>>   						 * set in PCM open
>>   						 */
>> +	struct snd_compr_stream *cstream;
>>   	unsigned int format_val;	/* format value to be set in the
>>   					 * controller and the codec
>>   					 */
> 
> One might use union for pointing to either PCM or compr stream and
> identify the type with some flag.
> 
> 	struct hdac_stream {
> 		union {
> 			struct snd_pcm_substream *substream;
> 			struct snd_compr_stream *cstream;
> 		};
> 		bool is_compr;
> 		....
> 
> But, I'm not advocating for this.  Although this makes the stream
> assignment more handy, it might lead to refer to a wrong object if you
> don't check the flag properly, too.  It really depends on the code.
> 

I'm happy with both - existing - and your variant. In essence, this 
causes simply: s/if (hstream->cstream)/if (hstream->is_compr)/g to occur.

In general, I'm strong supporter of a "PCM-compr marriage" idea - both 
being combined in sense of having similar base in the future so one 
could make use of "snd_base_stream", checkout the is_compr field and 
cast into actual type (_pcm_ -or- _compr_) via container_of macro.

This is more of a wish or song of the future for now, though. Compress 
and PCM ops streamlining is not within the scope of probes and requires 
much more work : )

_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
https://mailman.alsa-project.org/mailman/listinfo/alsa-devel

  reply	other threads:[~2019-12-17 12:07 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-17  9:58 [alsa-devel] [PATCH 0/7] ALSA: hda: Enable HDAudio compress Cezary Rojewski
2019-12-17  9:58 ` [alsa-devel] [PATCH 1/7] ALSA: hda: Allow for compress stream to hdac_ext_stream assignment Cezary Rojewski
2019-12-17 10:19   ` Takashi Iwai
2019-12-17 12:06     ` Cezary Rojewski [this message]
2020-01-07 16:13       ` Cezary Rojewski
2019-12-17  9:58 ` [alsa-devel] [PATCH 2/7] ALSA: hda: Prepare for compress stream support Cezary Rojewski
2019-12-17  9:58 ` [alsa-devel] [PATCH 3/7] ALSA: hda: Interrupt servicing and BDL setup for compress streams Cezary Rojewski
2019-12-17  9:58 ` [alsa-devel] [PATCH 4/7] ALSA: core: Expand DMA buffer information Cezary Rojewski
2019-12-17 10:23   ` Takashi Iwai
2019-12-17 12:13     ` Cezary Rojewski
2019-12-17  9:58 ` [alsa-devel] [PATCH 5/7] ALSA: core: Implement compress page allocation and free routines Cezary Rojewski
2019-12-17 10:24   ` Takashi Iwai
2019-12-17 12:22     ` Cezary Rojewski
2019-12-17 14:06     ` Pierre-Louis Bossart
2019-12-17  9:58 ` [alsa-devel] [PATCH 6/7] ASoC: compress: Add pm_runtime support Cezary Rojewski
2019-12-17 12:39   ` [alsa-devel] Applied "ASoC: compress: Add pm_runtime support" to the asoc tree Mark Brown
2019-12-17  9:58 ` [alsa-devel] [PATCH 7/7] ASoC: SOF: Intel: Account for compress streams when servicing IRQs Cezary Rojewski
2019-12-17 10:30   ` Takashi Iwai
2019-12-17 12:33     ` Cezary Rojewski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8d796ef4-e6d2-ade3-25c3-756599c44348@intel.com \
    --to=cezary.rojewski@intel.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@kernel.org \
    --cc=lgirdwood@gmail.com \
    --cc=pierre-louis.bossart@linux.intel.com \
    --cc=tiwai@suse.com \
    --cc=tiwai@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.