linux/drivers/firewire
Linus Torvalds 0d6dd4738d 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.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQQE66IEYNDXNBPeGKSsLtaWM8LwEwUCaYv5twAKCRCsLtaWM8Lw
 E8lKAQDFUprNC2Uygge9koT75sArhN6QQzZkPT/kK8aTcsWbeQEAwww148ck9fRF
 LDlED0XFKuKLX5obpvxmY3hmQFWaKAs=
 =6w+R
 -----END PGP SIGNATURE-----

Merge tag 'firewire-updates-7.0' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394

Pull firewire updates from Takashi Sakamoto:

 - 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.

* tag 'firewire-updates-7.0' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394:
  ALSA: firewire: remove PCM buffer size constraint from isoc context header
  firewire: core: add fw_iso_context_create() variant with header storage size
  firewire: core: provide isoc header buffer size outside card driver
  firewire: ohci: allocate isoc context header by kvmalloc()
  firewire: core: add flags member for isochronous context structure
  firewire: ohci: use cleanup helper for isoc context header allocation
  firewire: ohci: code refactoring to use union for isoc multiple channel state
  firewire: ohci: refactor isoc single-channel state using a union
  firewire: core: add function variants for isochronous context creation
  firewire: ohci: fix index of pages for dma address to 1394 OHCI IT context
  firewire: ohci: stop using page private to store DMA mapping address
  firewire: ohci: split page allocation from dma mapping
  firewire: ohci: use MAX macro to guarantee minimum count of pages for AR contexts
  firewire: core: stop using page private to store DMA mapping address
  firewire: core: use common kernel API to allocate and release a batch of pages
  firewire: core: code refactoring with cleanup function for isoc pages
  firewire: core: use mutex instead of spinlock for client isochronous context
  firewire: core: move private function declaration from public header to internal header
2026-02-11 11:32:06 -08:00
..
.kunitconfig
Kconfig PCI: Add CONFIG_MMU dependency 2025-04-23 15:40:30 -05:00
Makefile
core-card.c firewire: core: provide isoc header buffer size outside card driver 2026-01-18 17:18:48 +09:00
core-cdev.c firewire: core: add flags member for isochronous context structure 2026-01-18 17:18:48 +09:00
core-device.c firewire: core: use cleanup function to release cached configuration ROM 2025-10-20 21:00:38 +09:00
core-iso.c firewire: core: provide isoc header buffer size outside card driver 2026-01-18 17:18:48 +09:00
core-topology.c firewire: core: fix to update generation field in topology map 2025-11-16 21:30:26 +09:00
core-trace.c
core-transaction.c firewire: core: fix race condition against transaction list 2026-01-29 08:03:55 +09:00
core.h firewire: core: provide isoc header buffer size outside card driver 2026-01-18 17:18:48 +09:00
device-attribute-test.c firewire: test: Fix potential null dereference in firewire kunit test 2025-01-13 10:31:27 +09:00
init_ohci1394_dma.c firewire: init_ohci1394_dma: add missing function parameter documentation 2025-10-25 08:29:56 +09:00
net.c firewire: ohci: use workqueue to handle events of AT request/response contexts 2025-06-15 22:40:29 +09:00
nosy-user.h
nosy.c firewire: nosy: Fix dma_free_coherent() size 2025-12-26 22:04:03 +09:00
nosy.h
ohci-serdes-test.c firewire: ohci: add static inline functions to serialize/deserialize data of IT DMA 2024-08-02 09:36:05 +09:00
ohci.c firewire: core: provide isoc header buffer size outside card driver 2026-01-18 17:18:48 +09:00
ohci.h firewire: ohci: add static inline functions to serialize/deserialize data of IT DMA 2024-08-02 09:36:05 +09:00
packet-header-definitions.h
packet-serdes-test.c
phy-packet-definitions.h
sbp2.c scsi: Rename .device_configure() into .sdev_configure() 2024-12-04 15:34:28 -05:00
self-id-sequence-helper-test.c
uapi-test.c