[PATCH 0/7] staging: vchiq_core: Refactor vchiq_bulk_transfer() logic

Umang Jain umang.jain at ideasonboard.com
Fri Aug 23 08:14:20 PDT 2024


Series mostly refactors vchiq_bulk_transfer() code according
to Arnd's review comment from [1]:

> You can also wrap vchiq_bulk_transfer() in order to have
> four separate functions based on the different 'mode'
> values and have them only take the arguments they actually
> need.

I didn't wrap vchiq_bulk_transfer(), instead created four
differnet function, one for each mode.
This will pave the way to address his second comment:

> Ideally this should be cleaned up in a way that completely
> avoids passing both user and kernel data at the same time.

which is not part of this series and will be done on top as
arguments shuffling will have to fix the sparse warnings
that exists currently.

Patch 1/7 first moves the VCHIQ_BULK_MODE_WAITING logic out
of vchiq_bulk_transfer

Patch 2/7 then moves the core logic to vchiq_bulk_transfer()
which can be shared in subsequent patches

Patch 3/7 and 4/7 refactors remaining bulk transfer modes

Patch 5/7 finally drops the vchiq_bulk_transfer() as not needed

patch 6/7 and 7/7 are drive by patches, noticed during development.

[1]: https://lore.kernel.org/linux-staging/3d3b7368-93b2-4c0d-845e-4099c2de9dc1@app.fastmail.com/

To: Florian Fainelli <florian.fainelli at broadcom.com>
To: Broadcom internal kernel review list <bcm-kernel-feedback-list at broadcom.com>
To: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
Cc: linux-rpi-kernel at lists.infradead.org
Cc: linux-arm-kernel at lists.infradead.org
Cc: linux-staging at lists.linux.dev
Cc: linux-kernel at vger.kernel.org
Cc: Dan Carpenter <dan.carpenter at linaro.org>
Cc: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
Cc: Kieran Bingham <kieran.bingham at ideasonboard.com>
Cc: Arnd Bergmann <arnd at arndb.de>
Cc: Stefan Wahren <wahrenst at gmx.net>
Cc: Dave Stevenson <dave.stevenson at raspberrypi.com>
Cc: Phil Elwell <phil at raspberrypi.com>

Signed-off-by: Umang Jain <umang.jain at ideasonboard.com>
---
Umang Jain (7):
      staging: vchiq: Factor out bulk transfer for VCHIQ_BULK_MODE_WAITING
      staging: vchiq_core: Simplify vchiq_bulk_transfer()
      staging: vchiq_core: Factor out bulk transfer for blocking mode
      staging: vchiq_core: Factor out bulk transfer for (no/)callback mode
      staging: vchiq_core: Drop vchiq_bulk_transfer()
      staging: vchiq_core: Remove unused function argument
      staging: vchiq_core: Pass enumerated flag instead of int

 .../vc04_services/interface/vchiq_arm/vchiq_arm.c  |  20 +-
 .../vc04_services/interface/vchiq_arm/vchiq_core.c | 324 +++++++++++++--------
 .../vc04_services/interface/vchiq_arm/vchiq_core.h |  16 +-
 .../vc04_services/interface/vchiq_arm/vchiq_dev.c  |  13 +-
 4 files changed, 236 insertions(+), 137 deletions(-)
---
base-commit: 3676d01bda1ed48ff15fcf9534897dc4640ec826
change-id: 20240823-to_sent2-75b3b8b8c156

Best regards,
-- 
Umang Jain <umang.jain at ideasonboard.com>




More information about the linux-arm-kernel mailing list