Linux Sound subsystem development
 help / color / mirror / Atom feed
* [GIT PULL] firewire updates for 7.0-rc1
@ 2026-02-11  5:28 Takashi Sakamoto
  2026-02-11 20:28 ` pr-tracker-bot
  0 siblings, 1 reply; 2+ messages in thread
From: Takashi Sakamoto @ 2026-02-11  5:28 UTC (permalink / raw)
  To: torvalds; +Cc: linux-kernel, linux1394-devel, linux-sound, jens.wiklander, jgg

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(-)

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-02-11 20:28 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-11  5:28 [GIT PULL] firewire updates for 7.0-rc1 Takashi Sakamoto
2026-02-11 20:28 ` pr-tracker-bot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox