[PATCH v3 0/5] media: atomisp: remove the circbuf library
From: Rareș-Mihai Vladu
Date: Tue Oct 27 2026 - 08:36:00 EST
Thanks to Andy for suggesting, in review of my earlier typedef
patch [1], that I look at converting the custom circbuf code to
circ_buf or kfifo, and for reviewing the previous versions.
While looking into it, I found that the circbuf API is only used by
the local queue path, and ia_css_queue_local_init() has no callers,
so as far as I can tell that path is unused. The remote queues only
need the descriptor and element layout shared with the SP firmware
and a few small helpers.
So this series first moves the remote queue handling into helpers,
then removes the unused local path together with the queue type that
no longer seems to serve a purpose, moves the few remaining pieces
into ia_css_queue_comm.h and drops base/circbuf/. I may well be
missing something, so please let me know if a different approach
would be better and I will rework it.
checkpatch warns about new typedefs in patch 4 and about MAINTAINERS
in patch 5. The typedefs are only moved from ia_css_circbuf_comm.h,
which patch 5 deletes, and MAINTAINERS has no entries for the removed
files.
Compile-tested only.
This supersedes the typedef patch [1].
Changes in v3:
- New patch 2: move the remote branches into helpers first, so that
patch 3 mostly removes code, as Andy suggested
- Generate the patches with --histogram, as Andy suggested
- Patch 1: add Andy's Reviewed-by, thanks!
Changes in v2 (patch numbers as in v2):
- Patch 1: keep the includes ordered by name, as Andy suggested
- Patch 2: also remove IA_CSS_QUEUE_TYPE_REMOTE, the type field and
the type checks, as Andy suggested. I tried to describe in the
commit message how the queue handles are initialized and why
struct ia_css_queue looks host-only, so that its size change on
64-bit should not matter. Corrections are very welcome.
- Patch 3: use u8/u32 and the usual function declaration style in
the moved code, as Andy suggested
- Patch 4: add Andy's Reviewed-by, thanks!
v2: https://lore.kernel.org/all/20261014111213.1967452-1-vladurares@xxxxxxxxx/
v1: https://lore.kernel.org/all/20261012230754.1914517-1-vladurares@xxxxxxxxx/
[1] https://lore.kernel.org/all/20260918214132.1135549-1-vladurares@xxxxxxxxx/
Rareș-Mihai Vladu (5):
media: atomisp: sh_css_mipi: include assert_support.h directly
media: atomisp: queue: move remote queue handling into helpers
media: atomisp: queue: remove unused local queue support
media: atomisp: queue: move circbuf types and helpers to queue_comm.h
media: atomisp: remove unused circbuf library
drivers/staging/media/atomisp/Makefile | 2 -
.../base/circbuf/interface/ia_css_circbuf.h | 363 -----------------
.../circbuf/interface/ia_css_circbuf_comm.h | 56 ---
.../circbuf/interface/ia_css_circbuf_desc.h | 160 --------
.../atomisp/pci/base/circbuf/src/circbuf.c | 312 ---------------
.../runtime/queue/interface/ia_css_queue.h | 29 --
.../queue/interface/ia_css_queue_comm.h | 135 ++++++-
.../atomisp/pci/runtime/queue/src/queue.c | 369 ++++++------------
.../pci/runtime/queue/src/queue_access.c | 1 -
.../pci/runtime/queue/src/queue_access.h | 3 -
.../media/atomisp/pci/sh_css_internal.h | 2 +-
.../staging/media/atomisp/pci/sh_css_mipi.c | 1 +
12 files changed, 248 insertions(+), 1185 deletions(-)
delete mode 100644 drivers/staging/media/atomisp/pci/base/circbuf/interface/ia_css_circbuf.h
delete mode 100644 drivers/staging/media/atomisp/pci/base/circbuf/interface/ia_css_circbuf_comm.h
delete mode 100644 drivers/staging/media/atomisp/pci/base/circbuf/interface/ia_css_circbuf_desc.h
delete mode 100644 drivers/staging/media/atomisp/pci/base/circbuf/src/circbuf.c
--
2.43.0