All of lore.kernel.org
 help / color / mirror / Atom feed
From: Henrik Austad <henrik@austad.us>
To: linux-kernel@vger.kernel.org
Cc: linux-media@vger.kernel.org, alsa-devel@vger.kernel.org,
	netdev@vger.kernel.org, henrk@austad.us,
	Henrik Austad <henrik@austad.us>
Subject: [very-RFC 0/8] TSN driver for the kernel
Date: Sun, 12 Jun 2016 01:01:28 +0200	[thread overview]
Message-ID: <1465686096-22156-1-git-send-email-henrik@austad.us> (raw)

Hi all
(series based on v4.7-rc2, now with the correct netdev)

This is a *very* early RFC for a TSN-driver in the kernel. It has been
floating around in my repo for a while and I would appreciate some
feedback on the overall design to avoid doing some major blunders.

TSN: Time Sensitive Networking, formely known as AVB (Audio/Video
Bridging).

There are at least one AVB-driver (the AV-part of TSN) in the kernel
already, however this driver aims to solve a wider scope as TSN can do
much more than just audio. A very basic ALSA-driver is added to the end
that allows you to play music between 2 machines using aplay in one end
and arecord | aplay on the other (some fiddling required) We have plans
for doing the same for v4l2 eventually (but there are other fishes to
fry first). The same goes for a TSN_SOCK type approach as well.

TSN is all about providing infrastructure. Allthough there are a few
very interesting uses for TSN (reliable, deterministic network for audio
and video), once you have that reliable link, you can do a lot more.

Some notes on the design:

The driver is directed via ConfigFS as we need userspace to handle
stream-reservation (MSRP), discovery and enumeration (IEEE 1722.1) and
whatever other management is needed. Once we have all the required
attributes, we can create link using mkdir, and use write() to set the
attributes. Once ready, specify the 'shim' (basically a thin wrapper
between TSN and another subsystem) and we start pushing out frames.

The network part: it ties directly into the rx-handler for receive and
writes skb's using netdev_start_xmit(). This could probably be
improved. 2 new fields in netdev_ops have been introduced, and the Intel
igb-driver has been updated (as this is available as a PCI-e card). The
igb-driver works-ish


What remains
- tie to (g)PTP properly, currently using ktime_get() for presentation
  time
- get time from shim into TSN and vice versa
- let shim create/manage buffer

Henrik Austad (8):
  TSN: add documentation
  TSN: Add the standard formerly known as AVB to the kernel
  Adding TSN-driver to Intel I210 controller
  Add TSN header for the driver
  Add TSN machinery to drive the traffic from a shim over the network
  Add TSN event-tracing
  AVB ALSA - Add ALSA shim for TSN
  MAINTAINERS: add TSN/AVB-entries

 Documentation/TSN/tsn.txt                 | 147 +++++
 MAINTAINERS                               |  14 +
 drivers/media/Kconfig                     |  15 +
 drivers/media/Makefile                    |   3 +-
 drivers/media/avb/Makefile                |   5 +
 drivers/media/avb/avb_alsa.c              | 742 +++++++++++++++++++++++
 drivers/media/avb/tsn_iec61883.h          | 124 ++++
 drivers/net/ethernet/intel/Kconfig        |  18 +
 drivers/net/ethernet/intel/igb/Makefile   |   2 +-
 drivers/net/ethernet/intel/igb/igb.h      |  19 +
 drivers/net/ethernet/intel/igb/igb_main.c |  10 +-
 drivers/net/ethernet/intel/igb/igb_tsn.c  | 396 ++++++++++++
 include/linux/netdevice.h                 |  32 +
 include/linux/tsn.h                       | 806 ++++++++++++++++++++++++
 include/trace/events/tsn.h                | 349 +++++++++++
 net/Kconfig                               |   1 +
 net/Makefile                              |   1 +
 net/tsn/Kconfig                           |  32 +
 net/tsn/Makefile                          |   6 +
 net/tsn/tsn_configfs.c                    | 623 +++++++++++++++++++
 net/tsn/tsn_core.c                        | 975 ++++++++++++++++++++++++++++++
 net/tsn/tsn_header.c                      | 203 +++++++
 net/tsn/tsn_internal.h                    | 383 ++++++++++++
 net/tsn/tsn_net.c                         | 403 ++++++++++++
 24 files changed, 5306 insertions(+), 3 deletions(-)
 create mode 100644 Documentation/TSN/tsn.txt
 create mode 100644 drivers/media/avb/Makefile
 create mode 100644 drivers/media/avb/avb_alsa.c
 create mode 100644 drivers/media/avb/tsn_iec61883.h
 create mode 100644 drivers/net/ethernet/intel/igb/igb_tsn.c
 create mode 100644 include/linux/tsn.h
 create mode 100644 include/trace/events/tsn.h
 create mode 100644 net/tsn/Kconfig
 create mode 100644 net/tsn/Makefile
 create mode 100644 net/tsn/tsn_configfs.c
 create mode 100644 net/tsn/tsn_core.c
 create mode 100644 net/tsn/tsn_header.c
 create mode 100644 net/tsn/tsn_internal.h
 create mode 100644 net/tsn/tsn_net.c

--
2.7.4

WARNING: multiple messages have this Message-ID (diff)
From: Henrik Austad <henrik@austad.us>
To: linux-kernel@vger.kernel.org
Cc: linux-media@vger.kernel.org, alsa-devel@vger.kernel.org,
	netdev@vger.kernel.org, henrk@austad.us,
	Henrik Austad <henrik@austad.us>
Subject: [very-RFC 0/8] TSN driver for the kernel
Date: Sun, 12 Jun 2016 01:01:28 +0200	[thread overview]
Message-ID: <1465686096-22156-1-git-send-email-henrik@austad.us> (raw)

Hi all
(series based on v4.7-rc2, now with the correct netdev)

This is a *very* early RFC for a TSN-driver in the kernel. It has been
floating around in my repo for a while and I would appreciate some
feedback on the overall design to avoid doing some major blunders.

TSN: Time Sensitive Networking, formely known as AVB (Audio/Video
Bridging).

There are at least one AVB-driver (the AV-part of TSN) in the kernel
already, however this driver aims to solve a wider scope as TSN can do
much more than just audio. A very basic ALSA-driver is added to the end
that allows you to play music between 2 machines using aplay in one end
and arecord | aplay on the other (some fiddling required) We have plans
for doing the same for v4l2 eventually (but there are other fishes to
fry first). The same goes for a TSN_SOCK type approach as well.

TSN is all about providing infrastructure. Allthough there are a few
very interesting uses for TSN (reliable, deterministic network for audio
and video), once you have that reliable link, you can do a lot more.

Some notes on the design:

The driver is directed via ConfigFS as we need userspace to handle
stream-reservation (MSRP), discovery and enumeration (IEEE 1722.1) and
whatever other management is needed. Once we have all the required
attributes, we can create link using mkdir, and use write() to set the
attributes. Once ready, specify the 'shim' (basically a thin wrapper
between TSN and another subsystem) and we start pushing out frames.

The network part: it ties directly into the rx-handler for receive and
writes skb's using netdev_start_xmit(). This could probably be
improved. 2 new fields in netdev_ops have been introduced, and the Intel
igb-driver has been updated (as this is available as a PCI-e card). The
igb-driver works-ish


What remains
- tie to (g)PTP properly, currently using ktime_get() for presentation
  time
- get time from shim into TSN and vice versa
- let shim create/manage buffer

Henrik Austad (8):
  TSN: add documentation
  TSN: Add the standard formerly known as AVB to the kernel
  Adding TSN-driver to Intel I210 controller
  Add TSN header for the driver
  Add TSN machinery to drive the traffic from a shim over the network
  Add TSN event-tracing
  AVB ALSA - Add ALSA shim for TSN
  MAINTAINERS: add TSN/AVB-entries

 Documentation/TSN/tsn.txt                 | 147 +++++
 MAINTAINERS                               |  14 +
 drivers/media/Kconfig                     |  15 +
 drivers/media/Makefile                    |   3 +-
 drivers/media/avb/Makefile                |   5 +
 drivers/media/avb/avb_alsa.c              | 742 +++++++++++++++++++++++
 drivers/media/avb/tsn_iec61883.h          | 124 ++++
 drivers/net/ethernet/intel/Kconfig        |  18 +
 drivers/net/ethernet/intel/igb/Makefile   |   2 +-
 drivers/net/ethernet/intel/igb/igb.h      |  19 +
 drivers/net/ethernet/intel/igb/igb_main.c |  10 +-
 drivers/net/ethernet/intel/igb/igb_tsn.c  | 396 ++++++++++++
 include/linux/netdevice.h                 |  32 +
 include/linux/tsn.h                       | 806 ++++++++++++++++++++++++
 include/trace/events/tsn.h                | 349 +++++++++++
 net/Kconfig                               |   1 +
 net/Makefile                              |   1 +
 net/tsn/Kconfig                           |  32 +
 net/tsn/Makefile                          |   6 +
 net/tsn/tsn_configfs.c                    | 623 +++++++++++++++++++
 net/tsn/tsn_core.c                        | 975 ++++++++++++++++++++++++++++++
 net/tsn/tsn_header.c                      | 203 +++++++
 net/tsn/tsn_internal.h                    | 383 ++++++++++++
 net/tsn/tsn_net.c                         | 403 ++++++++++++
 24 files changed, 5306 insertions(+), 3 deletions(-)
 create mode 100644 Documentation/TSN/tsn.txt
 create mode 100644 drivers/media/avb/Makefile
 create mode 100644 drivers/media/avb/avb_alsa.c
 create mode 100644 drivers/media/avb/tsn_iec61883.h
 create mode 100644 drivers/net/ethernet/intel/igb/igb_tsn.c
 create mode 100644 include/linux/tsn.h
 create mode 100644 include/trace/events/tsn.h
 create mode 100644 net/tsn/Kconfig
 create mode 100644 net/tsn/Makefile
 create mode 100644 net/tsn/tsn_configfs.c
 create mode 100644 net/tsn/tsn_core.c
 create mode 100644 net/tsn/tsn_header.c
 create mode 100644 net/tsn/tsn_internal.h
 create mode 100644 net/tsn/tsn_net.c

WARNING: multiple messages have this Message-ID (diff)
From: Henrik Austad <henrik@austad.us>
To: alsa-devel@alsa-project.org
Cc: netdev@vger.kernel.org, henrk@austad.us,
	Henrik Austad <henrik@austad.us>,
	alsa-devel@vger.kernel.org, linux-media@vger.kernel.org
Subject: [alsa-devel] [very-RFC 0/8] TSN driver for the kernel
Date: Sun, 12 Jun 2016 01:01:28 +0200	[thread overview]
Message-ID: <1465686096-22156-1-git-send-email-henrik@austad.us> (raw)

Hi all
(series based on v4.7-rc2, now with the correct netdev)

This is a *very* early RFC for a TSN-driver in the kernel. It has been
floating around in my repo for a while and I would appreciate some
feedback on the overall design to avoid doing some major blunders.

TSN: Time Sensitive Networking, formely known as AVB (Audio/Video
Bridging).

There are at least one AVB-driver (the AV-part of TSN) in the kernel
already, however this driver aims to solve a wider scope as TSN can do
much more than just audio. A very basic ALSA-driver is added to the end
that allows you to play music between 2 machines using aplay in one end
and arecord | aplay on the other (some fiddling required) We have plans
for doing the same for v4l2 eventually (but there are other fishes to
fry first). The same goes for a TSN_SOCK type approach as well.

TSN is all about providing infrastructure. Allthough there are a few
very interesting uses for TSN (reliable, deterministic network for audio
and video), once you have that reliable link, you can do a lot more.

Some notes on the design:

The driver is directed via ConfigFS as we need userspace to handle
stream-reservation (MSRP), discovery and enumeration (IEEE 1722.1) and
whatever other management is needed. Once we have all the required
attributes, we can create link using mkdir, and use write() to set the
attributes. Once ready, specify the 'shim' (basically a thin wrapper
between TSN and another subsystem) and we start pushing out frames.

The network part: it ties directly into the rx-handler for receive and
writes skb's using netdev_start_xmit(). This could probably be
improved. 2 new fields in netdev_ops have been introduced, and the Intel
igb-driver has been updated (as this is available as a PCI-e card). The
igb-driver works-ish


What remains
- tie to (g)PTP properly, currently using ktime_get() for presentation
  time
- get time from shim into TSN and vice versa
- let shim create/manage buffer

Henrik Austad (8):
  TSN: add documentation
  TSN: Add the standard formerly known as AVB to the kernel
  Adding TSN-driver to Intel I210 controller
  Add TSN header for the driver
  Add TSN machinery to drive the traffic from a shim over the network
  Add TSN event-tracing
  AVB ALSA - Add ALSA shim for TSN
  MAINTAINERS: add TSN/AVB-entries

 Documentation/TSN/tsn.txt                 | 147 +++++
 MAINTAINERS                               |  14 +
 drivers/media/Kconfig                     |  15 +
 drivers/media/Makefile                    |   3 +-
 drivers/media/avb/Makefile                |   5 +
 drivers/media/avb/avb_alsa.c              | 742 +++++++++++++++++++++++
 drivers/media/avb/tsn_iec61883.h          | 124 ++++
 drivers/net/ethernet/intel/Kconfig        |  18 +
 drivers/net/ethernet/intel/igb/Makefile   |   2 +-
 drivers/net/ethernet/intel/igb/igb.h      |  19 +
 drivers/net/ethernet/intel/igb/igb_main.c |  10 +-
 drivers/net/ethernet/intel/igb/igb_tsn.c  | 396 ++++++++++++
 include/linux/netdevice.h                 |  32 +
 include/linux/tsn.h                       | 806 ++++++++++++++++++++++++
 include/trace/events/tsn.h                | 349 +++++++++++
 net/Kconfig                               |   1 +
 net/Makefile                              |   1 +
 net/tsn/Kconfig                           |  32 +
 net/tsn/Makefile                          |   6 +
 net/tsn/tsn_configfs.c                    | 623 +++++++++++++++++++
 net/tsn/tsn_core.c                        | 975 ++++++++++++++++++++++++++++++
 net/tsn/tsn_header.c                      | 203 +++++++
 net/tsn/tsn_internal.h                    | 383 ++++++++++++
 net/tsn/tsn_net.c                         | 403 ++++++++++++
 24 files changed, 5306 insertions(+), 3 deletions(-)
 create mode 100644 Documentation/TSN/tsn.txt
 create mode 100644 drivers/media/avb/Makefile
 create mode 100644 drivers/media/avb/avb_alsa.c
 create mode 100644 drivers/media/avb/tsn_iec61883.h
 create mode 100644 drivers/net/ethernet/intel/igb/igb_tsn.c
 create mode 100644 include/linux/tsn.h
 create mode 100644 include/trace/events/tsn.h
 create mode 100644 net/tsn/Kconfig
 create mode 100644 net/tsn/Makefile
 create mode 100644 net/tsn/tsn_configfs.c
 create mode 100644 net/tsn/tsn_core.c
 create mode 100644 net/tsn/tsn_header.c
 create mode 100644 net/tsn/tsn_internal.h
 create mode 100644 net/tsn/tsn_net.c

--
2.7.4
--
To unsubscribe from this list: send the line "unsubscribe alsa-devel" in

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

             reply	other threads:[~2016-06-11 23:01 UTC|newest]

Thread overview: 148+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-11 23:01 Henrik Austad [this message]
2016-06-11 23:01 ` [alsa-devel] [very-RFC 0/8] TSN driver for the kernel Henrik Austad
2016-06-11 23:01 ` Henrik Austad
2016-06-11 23:01 ` [very-RFC 1/8] TSN: add documentation Henrik Austad
2016-06-11 23:01   ` [alsa-devel] " 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 ` Henrik Austad
2016-06-11 23:01   ` [alsa-devel] " Henrik Austad
2016-06-11 23:01 ` [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] " Henrik Austad
2016-06-11 23:01 ` [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] " Henrik Austad
2016-06-11 23:01 ` [very-RFC 5/8] Add TSN machinery to drive the traffic from a shim over the network Henrik Austad
2016-06-11 23:01   ` [alsa-devel] " Henrik Austad
2016-06-11 23:01 ` Henrik Austad
2016-06-11 23:01 ` [very-RFC 6/8] Add TSN event-tracing Henrik Austad
2016-06-11 23:01 ` Henrik Austad
2016-06-11 23:01   ` [alsa-devel] " Henrik Austad
2016-06-12 16:58   ` Steven Rostedt
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-12 21:25     ` Henrik Austad
2016-06-12 21:25       ` [alsa-devel] " Henrik Austad
2016-06-13  2:22       ` Steven Rostedt
2016-06-13  2:22         ` Steven Rostedt
2016-06-13  7:20         ` Henrik Austad
2016-06-13  7:20           ` 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 ` 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:13       ` [alsa-devel] " Henrik Austad
2016-06-15 12:43       ` Richard Cochran
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-15 11:49   ` Richard Cochran
2016-06-11 23:01 ` [very-RFC 8/8] MAINTAINERS: add TSN/AVB-entries Henrik Austad
2016-06-11 23:01 ` Henrik Austad
2016-06-11 23:01   ` [alsa-devel] " Henrik Austad
2016-06-12  3:38 ` [very-RFC 0/8] TSN driver for the kernel Takashi Sakamoto
2016-06-12  3:38   ` 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
2016-06-12  8:28   ` Henrik Austad
2016-06-12  8:28     ` Henrik Austad
2016-06-12  9:14     ` Takashi Sakamoto
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 13:00     ` [alsa-devel] " Henrik Austad
2016-06-13 19:32     ` Richard Cochran
2016-06-13 19:32     ` Richard Cochran
2016-06-13 19:32       ` [alsa-devel] " Richard Cochran
2016-06-14  9:30       ` Henrik Austad
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 18:26           ` [alsa-devel] " Richard Cochran
2016-06-14 20:38           ` Henrik Austad
2016-06-14 20:38           ` Henrik Austad
2016-06-14 20:38             ` [alsa-devel] " 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                 ` [alsa-devel] " Henrik Austad
2016-06-15  7:50               ` Henrik Austad
2016-06-15 11:41               ` Richard Cochran
2016-06-15 11:41               ` Richard Cochran
2016-06-15 11:41                 ` [alsa-devel] " Richard Cochran
2016-06-15  7:04             ` Richard Cochran
2016-06-15  7:11             ` Richard Cochran
2016-06-15  7:11               ` [alsa-devel] " Richard Cochran
2016-06-15  7:11             ` Richard Cochran
2016-06-14 18:26         ` Richard Cochran
2016-06-13 19:37     ` Richard Cochran
2016-06-13 19:37     ` Richard Cochran
2016-06-13 19:37       ` [alsa-devel] " Richard Cochran
2016-06-13 13:00   ` Henrik Austad
2016-06-13 13:12   ` Arnd Bergmann
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-13 15:56   ` John Fastabend
2016-06-13 15:56     ` [alsa-devel] " John Fastabend
2016-06-14  8:35     ` Henrik Austad
2016-06-14  8:35     ` Henrik Austad
2016-06-14  8:35       ` [alsa-devel] " Henrik Austad
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 11:18       ` [alsa-devel] " One Thousand Gnomes
2016-06-14 17:04       ` Richard Cochran
2016-06-14 17:04         ` [alsa-devel] " Richard Cochran
2016-06-14 17:04       ` 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  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-20  8:05                   ` Henrik Austad
2016-06-19 14:45               ` Takashi Sakamoto
2016-06-20  9:06                 ` Henrik Austad
2016-06-20  9:06                   ` Henrik Austad
2016-06-21  2:22                   ` Takashi Sakamoto
2016-06-21  2:22                     ` Takashi Sakamoto
2016-06-20 11:08               ` [alsa-devel] " Pierre-Louis Bossart
2016-06-20 11:08                 ` Pierre-Louis Bossart
2016-06-20 11:49                 ` [alsa-devel] " Henrik Austad
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-20 15:21                       ` Richard Cochran
2016-06-21  5:54                       ` [alsa-devel] " Takashi Iwai
2016-06-21  5:54                         ` Takashi Iwai
2016-06-21  6:38                         ` [alsa-devel] " Richard Cochran
2016-06-21  6:38                           ` Richard Cochran
2016-06-21  6:45                           ` [alsa-devel] " Takashi Iwai
2016-06-21  6:45                             ` Takashi Iwai
2016-06-21 17:18                     ` [alsa-devel] " Pierre-Louis Bossart
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-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
2016-06-13 19:51   ` Richard Cochran
2016-06-13 11:47 ` Richard Cochran
  -- strict thread matches above, loose matches on Subject: below --
2016-06-11 23:01 Henrik Austad
2016-06-11 22:22 Henrik Austad
2016-06-11 22:49 ` 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=1465686096-22156-1-git-send-email-henrik@austad.us \
    --to=henrik@austad.us \
    --cc=alsa-devel@vger.kernel.org \
    --cc=henrk@austad.us \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    /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.