mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-23 08:35:19 -05:00
c6fb88a527
This commit adds a workqueue dedicated for isochronous context processing. The workqueue is allocated per instance of fw_card structure to satisfy the following characteristics descending from 1394 OHCI specification: In 1394 OHCI specification, memory pages are reserved to each isochronous context dedicated to DMA transmission. It allows to operate these per-context pages concurrently. Software can schedule hardware interrupt for several isochronous context to the same cycle, thus WQ_UNBOUND is specified. Additionally, it is sleepable to operate the content of pages, thus WQ_BH is not used. The isochronous context delivers the packets with time stamp, thus WQ_HIGHPRI is specified for semi real-time data such as IEC 61883-1/6 protocol implemented by ALSA firewire stack. The isochronous context is not used by the implementation of SCSI over IEEE1394 protocol (sbp2), thus WQ_MEM_RECLAIM is not specified. It is useful for users to adjust cpu affinity of the workqueue depending on their work loads, thus WQ_SYS is specified to expose the attributes to user space. Tested-by: Edmund Raile <edmund.raile@protonmail.com> Link: https://lore.kernel.org/r/20240904125155.461886-2-o-takashi@sakamocchi.jp Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp> |
||
---|---|---|
.. | ||
.kunitconfig | ||
core-card.c | ||
core-cdev.c | ||
core-device.c | ||
core-iso.c | ||
core-topology.c | ||
core-trace.c | ||
core-transaction.c | ||
core.h | ||
device-attribute-test.c | ||
init_ohci1394_dma.c | ||
Kconfig | ||
Makefile | ||
net.c | ||
nosy-user.h | ||
nosy.c | ||
nosy.h | ||
ohci-serdes-test.c | ||
ohci.c | ||
ohci.h | ||
packet-header-definitions.h | ||
packet-serdes-test.c | ||
phy-packet-definitions.h | ||
sbp2.c | ||
self-id-sequence-helper-test.c | ||
uapi-test.c |