Linux kernel source tree
 
 
 
 
 
 
Go to file
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
Documentation hid-for-linus-2026020901 2026-02-11 11:28:10 -08:00
LICENSES LICENSES: Add modern form of the LGPL-2.1 tags to the usage guide section 2025-10-22 07:58:19 +02:00
arch powerpc updates for 7.0 2026-02-10 21:46:12 -08:00
block The kthread code provides an infrastructure which manages the preferred 2026-02-09 19:57:30 -08:00
certs modsign: Enable ML-DSA module signing 2026-02-02 16:57:39 +00:00
crypto Locking updates for v6.20: 2026-02-10 12:28:44 -08:00
drivers firewire updates for v7.0 2026-02-11 11:32:06 -08:00
fs - Extend the resctrl machinery to support telemetry monitoring on Intel. The 2026-02-10 18:24:56 -08:00
include firewire updates for v7.0 2026-02-11 11:32:06 -08:00
init Scheduler changes for v7.0: 2026-02-10 12:50:10 -08:00
io_uring for-7.0/block-20260206 2026-02-09 17:57:21 -08:00
ipc mqueue: switch to CLASS(filename) 2026-01-16 12:52:04 -05:00
kernel powerpc updates for 7.0 2026-02-10 21:46:12 -08:00
lib Updates for the VDSO subsystem: 2026-02-10 17:02:23 -08:00
mm Locking updates for v6.20: 2026-02-10 12:28:44 -08:00
net Locking updates for v6.20: 2026-02-10 12:28:44 -08:00
rust pwm: Changes for v7.0-rc1 2026-02-11 09:52:33 -08:00
samples samples: rust: remove imports available via prelude 2026-01-26 18:15:20 +01:00
scripts asm-generic header updates for 7.0 2026-02-10 20:27:33 -08:00
security powerpc updates for 7.0 2026-02-10 21:46:12 -08:00
sound firewire updates for v7.0 2026-02-11 11:32:06 -08:00
tools spi: Updates for v7.0 2026-02-11 09:43:43 -08:00
usr initramfs: add gen_init_cpio to hostprogs unconditionally 2025-11-26 21:55:40 +01:00
virt Performance events changes for v7.0: 2026-02-10 12:00:46 -08:00
.clang-format s390/pci: Fix cyclic dead-lock in zpci_zdev_put() and zpci_scan_devices() 2025-12-14 11:03:58 +01:00
.clippy.toml rust: clean Rust 1.88.0's warning about `clippy::disallowed_macros` configuration 2025-05-07 00:11:47 +02:00
.cocciconfig
.editorconfig .editorconfig: remove trim_trailing_whitespace option 2024-06-13 16:47:52 +02:00
.get_maintainer.ignore MAINTAINERS: remove Alyssa Rosenzweig 2025-09-18 21:17:31 +02:00
.gitattributes .gitattributes: set diff driver for Rust source code files 2023-05-31 17:48:25 +02:00
.gitignore rust: kbuild: add proc macro library support 2025-11-24 17:15:36 +01:00
.mailmap Rust changes for v6.20 / v7.0 2026-02-10 11:53:01 -08:00
.pylintrc docs: Move the python libraries to tools/lib/python 2025-11-18 09:22:40 -07:00
.rustfmt.toml rust: add `.rustfmt.toml` 2022-09-28 09:02:20 +02:00
COPYING
CREDITS - Remove two drivers for obsolete hardware: i82443bxgx_edac and r82600_edac 2026-02-10 18:14:36 -08:00
Kbuild sched: Make migrate_{en,dis}able() inline 2025-09-25 09:57:16 +02:00
Kconfig io_uring: Rename KConfig to Kconfig 2025-02-19 14:53:27 -07:00
MAINTAINERS hwmon updates for v7.0 2026-02-11 11:00:19 -08:00
Makefile Updates for the VDSO subsystem: 2026-02-10 17:02:23 -08:00
README docs: add AI Coding Assistants documentation 2026-01-06 14:55:06 -07:00

README

Linux kernel
============

The Linux kernel is the core of any Linux operating system. It manages hardware,
system resources, and provides the fundamental services for all other software.

Quick Start
-----------

* Report a bug: See Documentation/admin-guide/reporting-issues.rst
* Get the latest kernel: https://kernel.org
* Build the kernel: See Documentation/admin-guide/quickly-build-trimmed-linux.rst
* Join the community: https://lore.kernel.org/

Essential Documentation
-----------------------

All users should be familiar with:

* Building requirements: Documentation/process/changes.rst
* Code of Conduct: Documentation/process/code-of-conduct.rst
* License: See COPYING

Documentation can be built with make htmldocs or viewed online at:
https://www.kernel.org/doc/html/latest/


Who Are You?
============

Find your role below:

* New Kernel Developer - Getting started with kernel development
* Academic Researcher - Studying kernel internals and architecture
* Security Expert - Hardening and vulnerability analysis
* Backport/Maintenance Engineer - Maintaining stable kernels
* System Administrator - Configuring and troubleshooting
* Maintainer - Leading subsystems and reviewing patches
* Hardware Vendor - Writing drivers for new hardware
* Distribution Maintainer - Packaging kernels for distros
* AI Coding Assistant - LLMs and AI-powered development tools


For Specific Users
==================

New Kernel Developer
--------------------

Welcome! Start your kernel development journey here:

* Getting Started: Documentation/process/development-process.rst
* Your First Patch: Documentation/process/submitting-patches.rst
* Coding Style: Documentation/process/coding-style.rst
* Build System: Documentation/kbuild/index.rst
* Development Tools: Documentation/dev-tools/index.rst
* Kernel Hacking Guide: Documentation/kernel-hacking/hacking.rst
* Core APIs: Documentation/core-api/index.rst

Academic Researcher
-------------------

Explore the kernel's architecture and internals:

* Researcher Guidelines: Documentation/process/researcher-guidelines.rst
* Memory Management: Documentation/mm/index.rst
* Scheduler: Documentation/scheduler/index.rst
* Networking Stack: Documentation/networking/index.rst
* Filesystems: Documentation/filesystems/index.rst
* RCU (Read-Copy Update): Documentation/RCU/index.rst
* Locking Primitives: Documentation/locking/index.rst
* Power Management: Documentation/power/index.rst

Security Expert
---------------

Security documentation and hardening guides:

* Security Documentation: Documentation/security/index.rst
* LSM Development: Documentation/security/lsm-development.rst
* Self Protection: Documentation/security/self-protection.rst
* Reporting Vulnerabilities: Documentation/process/security-bugs.rst
* CVE Procedures: Documentation/process/cve.rst
* Embargoed Hardware Issues: Documentation/process/embargoed-hardware-issues.rst
* Security Features: Documentation/userspace-api/seccomp_filter.rst

Backport/Maintenance Engineer
-----------------------------

Maintain and stabilize kernel versions:

* Stable Kernel Rules: Documentation/process/stable-kernel-rules.rst
* Backporting Guide: Documentation/process/backporting.rst
* Applying Patches: Documentation/process/applying-patches.rst
* Subsystem Profile: Documentation/maintainer/maintainer-entry-profile.rst
* Git for Maintainers: Documentation/maintainer/configure-git.rst

System Administrator
--------------------

Configure, tune, and troubleshoot Linux systems:

* Admin Guide: Documentation/admin-guide/index.rst
* Kernel Parameters: Documentation/admin-guide/kernel-parameters.rst
* Sysctl Tuning: Documentation/admin-guide/sysctl/index.rst
* Tracing/Debugging: Documentation/trace/index.rst
* Performance Security: Documentation/admin-guide/perf-security.rst
* Hardware Monitoring: Documentation/hwmon/index.rst

Maintainer
----------

Lead kernel subsystems and manage contributions:

* Maintainer Handbook: Documentation/maintainer/index.rst
* Pull Requests: Documentation/maintainer/pull-requests.rst
* Managing Patches: Documentation/maintainer/modifying-patches.rst
* Rebasing and Merging: Documentation/maintainer/rebasing-and-merging.rst
* Development Process: Documentation/process/maintainer-handbooks.rst
* Maintainer Entry Profile: Documentation/maintainer/maintainer-entry-profile.rst
* Git Configuration: Documentation/maintainer/configure-git.rst

Hardware Vendor
---------------

Write drivers and support new hardware:

* Driver API Guide: Documentation/driver-api/index.rst
* Driver Model: Documentation/driver-api/driver-model/driver.rst
* Device Drivers: Documentation/driver-api/infrastructure.rst
* Bus Types: Documentation/driver-api/driver-model/bus.rst
* Device Tree Bindings: Documentation/devicetree/bindings/
* Power Management: Documentation/driver-api/pm/index.rst
* DMA API: Documentation/core-api/dma-api.rst

Distribution Maintainer
-----------------------

Package and distribute the kernel:

* Stable Kernel Rules: Documentation/process/stable-kernel-rules.rst
* ABI Documentation: Documentation/ABI/README
* Kernel Configuration: Documentation/kbuild/kconfig.rst
* Module Signing: Documentation/admin-guide/module-signing.rst
* Kernel Parameters: Documentation/admin-guide/kernel-parameters.rst
* Tainted Kernels: Documentation/admin-guide/tainted-kernels.rst

AI Coding Assistant
-------------------

CRITICAL: If you are an LLM or AI-powered coding assistant, you MUST read and
follow the AI coding assistants documentation before contributing to the Linux
kernel:

* Documentation/process/coding-assistants.rst

This documentation contains essential requirements about licensing, attribution,
and the Developer Certificate of Origin that all AI tools must comply with.


Communication and Support
=========================

* Mailing Lists: https://lore.kernel.org/
* IRC: #kernelnewbies on irc.oftc.net
* Bugzilla: https://bugzilla.kernel.org/
* MAINTAINERS file: Lists subsystem maintainers and mailing lists
* Email Clients: Documentation/process/email-clients.rst