Linux Sound subsystem development
 help / color / mirror / Atom feed
From: Takashi Sakamoto <o-takashi@sakamocchi.jp>
To: torvalds@linux-foundation.org
Cc: linux-kernel@vger.kernel.org,
	linux1394-devel@lists.sourceforge.net,
	linux-sound@vger.kernel.org, jens.wiklander@linaro.org,
	jgg@nvidia.com
Subject: [GIT PULL] firewire updates for 7.0-rc1
Date: Wed, 11 Feb 2026 14:28:45 +0900	[thread overview]
Message-ID: <20260211052845.GA155338@workstation.local> (raw)

Hi Linus,
(C.C.ed to linux-sound, Jens Wiklander, and Jason Gunthorpe)

Please pull firewire changes for 7.0. It includes the following changes:

 - Refactor page allocation dedicated to 1394 OHCI IR/IT/AR DMA contexts
 - Allocate variable-sized buffer for isochronous context header
   - Including a small change in sound subsystem

This subsystem has been a long-standing, single user of dma_alloc_pages().
Recently, TEE subsystem added usage in a commit
ab09dd6d9201 ("tee: add tee_shm_alloc_dma_mem()"), and it still remains.
I think the kernel API can be avoided in direct calls and encapsulated for
the convenience of DMA mapping layer developers.


Thanks

Takashi Sakamoto
(on a national holiday in Japan)

---

The following changes since commit 8f0b4cce4481fb22653697cced8d0d04027cb1e8:

  Linux 6.19-rc1 (2025-12-14 16:05:07 +1200)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394.git tags/firewire-updates-7.0

for you to fetch changes up to 6b617317e5bc95e9962a712314ae0c4b7a4d5cc3:

  ALSA: firewire: remove PCM buffer size constraint from isoc context header (2026-01-18 17:18:48 +0900)

----------------------------------------------------------------
firewire updates for v7.0

This update includes the following changes.

 - Refactor page allocation dedicated to 1394 OHCI IR/IT/AR DMA contexts

   Although 1394 OHCI specification does not impose any restriction on
   the memory size dedicated to these DMA contexts, 1394 OHCI PCI driver
   allocates pages for convenience when mapping them into either kernel
   space or userspace VMA. The driver previously used dma_alloc_pages()
   for both page allocation and mapping creation, even though this kernel
   API is rarely used. Following discussions questioning the page-oriented
   kernel API in the DMA layer, the driver has been refactored to avoid
   using this API. In addition, the use of private members in the
   allocated pages has been removed following long-standing concern.

 - Allocate variable-sized buffer for isochronous context header

   1394 OHCI PCI driver previously allocated a single page for isochronous
   context header. As a result, the buffer size for the header was fixed
   to PAGE_SIZE, which imposed a limitation on IEC 61883-1/6 packet
   streaming engine. Consequently, the ALSA PCM devices provided by
   drivers for audio and music units in IEEE 1394 bus were constrained in
   the maximum size of buffer period (64 ms in most cases). This limitation
   is resolved by dynamically allocating the header buffer with an
   arbitrary size.

----------------------------------------------------------------
Takashi Sakamoto (18):
      firewire: core: move private function declaration from public header to internal header
      firewire: core: use mutex instead of spinlock for client isochronous context
      firewire: core: code refactoring with cleanup function for isoc pages
      firewire: core: use common kernel API to allocate and release a batch of pages
      firewire: core: stop using page private to store DMA mapping address
      firewire: ohci: use MAX macro to guarantee minimum count of pages for AR contexts
      firewire: ohci: split page allocation from dma mapping
      firewire: ohci: stop using page private to store DMA mapping address
      firewire: ohci: fix index of pages for dma address to 1394 OHCI IT context
      firewire: core: add function variants for isochronous context creation
      firewire: ohci: refactor isoc single-channel state using a union
      firewire: ohci: code refactoring to use union for isoc multiple channel state
      firewire: ohci: use cleanup helper for isoc context header allocation
      firewire: core: add flags member for isochronous context structure
      firewire: ohci: allocate isoc context header by kvmalloc()
      firewire: core: provide isoc header buffer size outside card driver
      firewire: core: add fw_iso_context_create() variant with header storage size
      ALSA: firewire: remove PCM buffer size constraint from isoc context header

 drivers/firewire/core-card.c  |   4 +-
 drivers/firewire/core-cdev.c  |  71 +++++--------
 drivers/firewire/core-iso.c   | 102 +++++++++---------
 drivers/firewire/core.h       |  14 ++-
 drivers/firewire/ohci.c       | 234 ++++++++++++++++++++++++------------------
 include/linux/firewire.h      |  36 +++++--
 sound/firewire/amdtp-stream.c |  31 ++----
 7 files changed, 266 insertions(+), 226 deletions(-)

             reply	other threads:[~2026-02-11  5:28 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-02-11  5:28 Takashi Sakamoto [this message]
2026-02-11 20:28 ` [GIT PULL] firewire updates for 7.0-rc1 pr-tracker-bot

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=20260211052845.GA155338@workstation.local \
    --to=o-takashi@sakamocchi.jp \
    --cc=jens.wiklander@linaro.org \
    --cc=jgg@nvidia.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sound@vger.kernel.org \
    --cc=linux1394-devel@lists.sourceforge.net \
    --cc=torvalds@linux-foundation.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox