alsa-devel.alsa-project.org archive mirror
 help / color / mirror / Atom feed
From: Henrik Austad <henrik@austad.us>
To: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Cc: alsa-devel@alsa-project.org, netdev@vger.kernel.org,
	linux-media@vger.kernel.org
Subject: Re: [very-RFC 0/8] TSN driver for the kernel
Date: Mon, 13 Jun 2016 00:06:39 +0200	[thread overview]
Message-ID: <20160612220639.GE32724@icarus.home.austad.us> (raw)
In-Reply-To: <575D3CD6.3050001@sakamocchi.jp>

[-- Attachment #1: Type: text/plain, Size: 3578 bytes --]

On Sun, Jun 12, 2016 at 07:43:34PM +0900, Takashi Sakamoto wrote:
> On Jun 12 2016 17:31, Henrik Austad wrote:
> > On Sun, Jun 12, 2016 at 01:30:24PM +0900, Takashi Sakamoto wrote:
> >> On Jun 12 2016 12:38, Takashi Sakamoto wrote:
> >>> In your patcset, there's no actual codes about how to handle any
> >>> interrupt contexts (software / hardware), how to handle packet payload,
> >>> and so on. Especially, for recent sound subsystem, the timing of
> >>> generating interrupts and which context does what works are important to
> >>> reduce playback/capture latency and power consumption.
> >>>
> >>> Of source, your intention of this patchset is to show your early concept
> >>> of TSN feature. Nevertheless, both of explaination and codes are
> >>> important to the other developers who have little knowledges about TSN,
> >>> AVB and AES-64 such as me.
> >>
> >> Oops. Your 5th patch was skipped by alsa-project.org. I guess that size
> >> of the patch is too large to the list service. I can see it:
> >> http://marc.info/?l=linux-netdev&m=146568672728661&w=2
> >>
> >> As long as seeing the patch, packets are queueing in hrtimer callbacks
> >> every 1 seconds.
> > 
> > Actually, the hrtimer fires every 1ms, and that part is something I have to 
> > do something about, also because it sends of the same number of frames 
> > every time, regardless of how accurate the internal timer is to the rest of 
> > the network (there's no backpressure from the networking layer).
> > 
> >> (This is a high level discussion and it's OK to ignore it for the
> >> moment. When writing packet-oriented drivers for sound subsystem, you
> >> need to pay special attention to accuracy of the number of PCM frames
> >> transferred currently, and granularity of the number of PCM frames
> >> transferred by one operation. In this case, snd_avb_hw,
> >> snd_avb_pcm_pointer(), tsn_buffer_write_net() and tsn_buffer_read_net()
> >> are involved in this discussion. You can see ALSA developers' struggle
> >> in USB audio device class drivers and (of cource) IEC 61883-1/6 drivers.)
> > 
> > Ah, good point. Any particular parts of the USB-subsystem I should start 
> > looking at?
> 
> I don't think it's a beter way for you to study USB Audio Device Class
> driver unless you're interested in ALSA or USB subsystem.
> 
> (But for your information, snd-usb-audio is in sound/usb/* of Linux
> kernel. IEC 61883-1/6 driver is in sound/firewire/*.)

Ok, thanks, I'll definately be looking at the firewire bit

> We need different strategy to achieve it on different transmission backend.
> 
> > Knowing where to start looking is a tremendous help
> 
> It's not well-documented, and not well-generalized for packet-oriented
> drivers. Most of developers who have enough knowledge about it work for
> DMA-oriented drivers in mobile platforms and have little interests in
> packet-oriented drivers. You need to find your own way.
> 
> Currently I have few advices to you, because I'm also on the way for
> drivers to process IEC 61883-1/6 packets on IEEE 1394 bus with enough
> accuracy and granularity. The paper I introduced is for the way (but not
> mature).
> 
> I wish you get more helps from the other developers. Your work is more
> significant to Linux system, than mine.
> 
> (And I hope your future work get no ignorance and no unreasonable
> hostility from coarse users.)

Ah well, I have asbestos-underwear so that should be fine :)

Thanks for the pointers, I really appreciate them!



-- 
Henrik Austad

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

  reply	other threads:[~2016-06-12 22:06 UTC|newest]

Thread overview: 97+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-11 23:01 [alsa-devel] [very-RFC 0/8] TSN driver for the kernel Henrik Austad
2016-06-11 23:01 ` [alsa-devel] [very-RFC 1/8] TSN: add documentation Henrik Austad
2016-06-11 23:01 ` Henrik Austad
2016-06-11 23:01 ` [very-RFC 2/8] TSN: Add the standard formerly known as AVB to the kernel Henrik Austad
2016-06-11 23:01 ` [alsa-devel] " Henrik Austad
2016-06-11 23:01 ` [alsa-devel] [very-RFC 3/8] Adding TSN-driver to Intel I210 controller Henrik Austad
2016-06-11 23:01 ` Henrik Austad
2016-06-11 23:01 ` [alsa-devel] [very-RFC 4/8] Add TSN header for the driver Henrik Austad
2016-06-11 23:01 ` Henrik Austad
2016-06-11 23:01 ` [alsa-devel] [very-RFC 5/8] Add TSN machinery to drive the traffic from a shim over the network Henrik Austad
2016-06-11 23:01 ` Henrik Austad
2016-06-11 23:01 ` [alsa-devel] [very-RFC 6/8] Add TSN event-tracing Henrik Austad
2016-06-12 16:58   ` Steven Rostedt
2016-06-12 16:58   ` [alsa-devel] " Steven Rostedt
2016-06-12 21:25     ` Henrik Austad
2016-06-13  2:22       ` Steven Rostedt
2016-06-13  7:20         ` Henrik Austad
2016-06-12 21:25     ` Henrik Austad
2016-06-11 23:01 ` Henrik Austad
2016-06-11 23:01 ` [very-RFC 7/8] AVB ALSA - Add ALSA shim for TSN Henrik Austad
2016-06-11 23:01 ` [alsa-devel] " Henrik Austad
2016-06-15 11:49   ` Richard Cochran
2016-06-15 11:49   ` [alsa-devel] " Richard Cochran
2016-06-15 12:13     ` Henrik Austad
2016-06-15 12:43       ` Richard Cochran
2016-06-15 12:43       ` [alsa-devel] " Richard Cochran
2016-06-15 12:13     ` Henrik Austad
2016-06-11 23:01 ` [alsa-devel] [very-RFC 8/8] MAINTAINERS: add TSN/AVB-entries Henrik Austad
2016-06-11 23:01 ` Henrik Austad
2016-06-12  3:38 ` [very-RFC 0/8] TSN driver for the kernel Takashi Sakamoto
2016-06-12  4:30   ` Takashi Sakamoto
2016-06-12  8:31     ` Henrik Austad
2016-06-12 10:43       ` Takashi Sakamoto
2016-06-12 22:06         ` Henrik Austad [this message]
2016-06-12  8:28   ` Henrik Austad
2016-06-12  9:14     ` Takashi Sakamoto
2016-06-13 11:47 ` Richard Cochran
2016-06-13 11:47 ` [alsa-devel] " Richard Cochran
2016-06-13 13:00   ` Henrik Austad
2016-06-13 19:32     ` Richard Cochran
2016-06-14  9:30       ` Henrik Austad
2016-06-14  9:30       ` [alsa-devel] " Henrik Austad
2016-06-14 18:26         ` Richard Cochran
2016-06-14 20:38           ` Henrik Austad
2016-06-15  7:04             ` Richard Cochran
2016-06-15  7:04             ` [alsa-devel] " Richard Cochran
2016-06-15  7:50               ` Henrik Austad
2016-06-15  7:50               ` Henrik Austad
2016-06-15 11:41               ` [alsa-devel] " Richard Cochran
2016-06-15 11:41               ` Richard Cochran
2016-06-15  7:11             ` [alsa-devel] " Richard Cochran
2016-06-15  7:11             ` Richard Cochran
2016-06-14 20:38           ` Henrik Austad
2016-06-14 18:26         ` Richard Cochran
2016-06-13 19:32     ` Richard Cochran
2016-06-13 19:37     ` [alsa-devel] " Richard Cochran
2016-06-13 19:37     ` Richard Cochran
2016-06-13 13:00   ` Henrik Austad
2016-06-13 13:12   ` Arnd Bergmann
2016-06-13 13:12   ` [alsa-devel] " Arnd Bergmann
2016-06-13 15:56   ` John Fastabend
2016-06-14  8:35     ` Henrik Austad
2016-06-14  8:35     ` Henrik Austad
2016-06-13 15:56   ` John Fastabend
2016-06-13 19:51   ` Richard Cochran
2016-06-13 19:51   ` [alsa-devel] " Richard Cochran
2016-06-14 11:18     ` One Thousand Gnomes
2016-06-14 17:04       ` Richard Cochran
2016-06-14 17:04       ` [alsa-devel] " Richard Cochran
2016-06-15  3:15       ` Takashi Sakamoto
2016-06-15  8:06         ` Richard Cochran
2016-06-18  5:22           ` Takashi Sakamoto
2016-06-18 22:45             ` Henrik Austad
2016-06-19  9:46               ` Richard Cochran
2016-06-20  8:05                 ` Henrik Austad
2016-06-19 14:45               ` Takashi Sakamoto
2016-06-20  9:06                 ` Henrik Austad
2016-06-21  2:22                   ` Takashi Sakamoto
2016-06-20 11:08               ` Pierre-Louis Bossart
2016-06-20 11:49                 ` Henrik Austad
2016-06-20 12:18                 ` [alsa-devel] " Richard Cochran
2016-06-20 12:31                   ` Richard Cochran
2016-06-20 15:21                     ` Richard Cochran
2016-06-21  5:54                       ` Takashi Iwai
2016-06-21  6:38                         ` Richard Cochran
2016-06-21  6:45                           ` Takashi Iwai
2016-06-21 17:18                     ` Pierre-Louis Bossart
2016-06-21 17:45                   ` [alsa-devel] " Pierre-Louis Bossart
2016-06-21 19:40                     ` Richard Cochran
2016-06-22 12:36                       ` Pierre-Louis Bossart
2016-06-23 10:38                     ` [alsa-devel] " Henrik Austad
2016-06-23 13:28                       ` Richard Cochran
2016-06-15  3:27       ` Takashi Sakamoto
2016-06-14 11:18     ` One Thousand Gnomes
  -- strict thread matches above, loose matches on Subject: below --
2016-06-11 23:01 Henrik Austad
2016-06-11 22:22 [alsa-devel] " Henrik Austad
2016-06-11 22:49 ` Henrik Austad
2016-06-11 22:22 Henrik Austad

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=20160612220639.GE32724@icarus.home.austad.us \
    --to=henrik@austad.us \
    --cc=alsa-devel@alsa-project.org \
    --cc=linux-media@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=o-takashi@sakamocchi.jp \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).