ALSA: firewire-lib: add AMDTP domain structure to handle several isoc contexts

This commit adds 'struct amdtp_domain' structure. This structure
has list of instance of AMDTP stream to handle a couple of
isochronous contexts.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Takashi Sakamoto 2019-08-04 15:21:20 +09:00 committed by Takashi Iwai
parent b6fcab14ff
commit 3ec3d7a3ff
2 changed files with 29 additions and 0 deletions

View File

@ -1136,3 +1136,25 @@ void amdtp_stream_pcm_abort(struct amdtp_stream *s)
snd_pcm_stop_xrun(pcm); snd_pcm_stop_xrun(pcm);
} }
EXPORT_SYMBOL(amdtp_stream_pcm_abort); EXPORT_SYMBOL(amdtp_stream_pcm_abort);
/**
* amdtp_domain_init - initialize an AMDTP domain structure
* @d: the AMDTP domain to initialize.
*/
int amdtp_domain_init(struct amdtp_domain *d)
{
INIT_LIST_HEAD(&d->streams);
return 0;
}
EXPORT_SYMBOL_GPL(amdtp_domain_init);
/**
* amdtp_domain_destroy - destroy an AMDTP domain structure
* @d: the AMDTP domain to destroy.
*/
void amdtp_domain_destroy(struct amdtp_domain *d)
{
WARN_ON(!list_empty(&d->streams));
}
EXPORT_SYMBOL_GPL(amdtp_domain_destroy);

View File

@ -267,4 +267,11 @@ static inline bool amdtp_stream_wait_callback(struct amdtp_stream *s,
msecs_to_jiffies(timeout)) > 0; msecs_to_jiffies(timeout)) > 0;
} }
struct amdtp_domain {
struct list_head streams;
};
int amdtp_domain_init(struct amdtp_domain *d);
void amdtp_domain_destroy(struct amdtp_domain *d);
#endif #endif