From: Takashi Sakamoto <o-takashi@sakamocchi.jp>
To: linux1394-devel@lists.sourceforge.net
Cc: linux-kernel@vger.kernel.org, jgg@nvidia.com
Subject: Re: [PATCH 0/8] firewire: core/ohci: code refactoring for pages dedicated to DMA
Date: Mon, 12 Jan 2026 11:55:06 +0900 [thread overview]
Message-ID: <20260112025506.GA245601@workstation.local> (raw)
In-Reply-To: <20260110013911.19160-1-o-takashi@sakamocchi.jp>
On Sat, Jan 10, 2026 at 10:39:03AM +0900, Takashi Sakamoto wrote:
> Hi,
>
> This patchset is to refactor current codes handling pages dedicated to
> DMA.
>
> There are two cases to acquires pages dedicated to DMA; isochronous
> contexts and AR contexts. The reason of page acquisition is the need to map
> them into VMA. In the former case, they are mapped into userspace VMA. In
> the latter case, they are mapped into kernel VMA with continuous address
> to access to packet content across the page boundaries, especially between
> the end and the beginning of pages. The allocated pages are
> discontiguous, and their cache coherency is managed by DMA streaming
> APIs.
>
> 1394 OHCI has no restriction about the size and alignment of memory
> registered for DMA, while the registered DMA address should be within
> 32 bit. The DMA mapped addresses can be discontiguous between descriptor,
> thus the above subsystem design is due to the convenience of system side.
>
> I think the recent convention of driver programming relies on DMA-coherent
> buffers, while this code refactoring keeps the uses of DMA streaming
> APIs as is. Also, the acquisition per page is kept as is, even if there
> are some ways to allocate memories wider than the page size. They would be
> future works since it requires to change how to handle the packet content
> across the pages.
>
>
> Takashi Sakamoto (8):
> 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
>
> drivers/firewire/core-cdev.c | 41 ++++++------
> drivers/firewire/core-iso.c | 86 +++++++++++++-----------
> drivers/firewire/core.h | 1 +
> drivers/firewire/ohci.c | 124 ++++++++++++++++++++---------------
> include/linux/firewire.h | 3 +-
> 5 files changed, 141 insertions(+), 114 deletions(-)
Applied to for-next branch.
Regards
Takashi Sakamoto
prev parent reply other threads:[~2026-01-12 2:55 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-10 1:39 [PATCH 0/8] firewire: core/ohci: code refactoring for pages dedicated to DMA Takashi Sakamoto
2026-01-10 1:39 ` [PATCH 1/8] firewire: core: move private function declaration from public header to internal header Takashi Sakamoto
2026-01-10 1:39 ` [PATCH 2/8] firewire: core: use mutex instead of spinlock for client isochronous context Takashi Sakamoto
2026-01-10 1:39 ` [PATCH 3/8] firewire: core: code refactoring with cleanup function for isoc pages Takashi Sakamoto
2026-01-10 1:39 ` [PATCH 4/8] firewire: core: use common kernel API to allocate and release a batch of pages Takashi Sakamoto
2026-01-10 1:39 ` [PATCH 5/8] firewire: core: stop using page private to store DMA mapping address Takashi Sakamoto
2026-01-10 1:39 ` [PATCH 6/8] firewire: ohci: use MAX macro to guarantee minimum count of pages for AR contexts Takashi Sakamoto
2026-01-10 1:39 ` [PATCH 7/8] firewire: ohci: split page allocation from dma mapping Takashi Sakamoto
2026-01-10 1:39 ` [PATCH 8/8] firewire: ohci: stop using page private to store DMA mapping address Takashi Sakamoto
2026-01-12 2:55 ` Takashi Sakamoto [this message]
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=20260112025506.GA245601@workstation.local \
--to=o-takashi@sakamocchi.jp \
--cc=jgg@nvidia.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux1394-devel@lists.sourceforge.net \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.