On 10/1/2026 1:51 AM, Krzysztof Kozlowski wrote:
On Wed, Sep 30, 2026 at 07:52:13AM -0700, Georgi Djakov wrote:
Add a zcomp backend for the Qualcomm Page Compression Engine (QPaCE) so
zram can expose qpace-lz4 as a selectable compression algorithm when the
QPaCE driver is available.
Compress and decompress operations are handled via the QPaCE urgent
synchronous path: each request DMA-maps the source and destination
buffers, issues a blocking hardware command, and returns the result size.
Signed-off-by: Georgi Djakov <[email protected]>
---
drivers/block/zram/Kconfig | 11 +++
drivers/block/zram/Makefile | 1 +
drivers/block/zram/backend_qpace.c | 134 +++++++++++++++++++++++++++++
So entire qpace should go here, no? Why did you create this entire layer
of indirection, singleton management under drivers/soc?
Since the qpace driver is not specific to zram and may be utilized by
other kernel components, it should remain independent of drivers/zram.
Consolidating everything under drivers/zram would couple the
implementation to a single use case and reduce its reusability.
The backend_qpace implementation was intended to setup zram as a user of
qpace and follow the structure of the zcomp frameowork. As per your
comment in the other patches, we will check if this can be done through
the crypto framework.
drivers/block/zram/backend_qpace.h | 13 +++
drivers/block/zram/zcomp.c | 11 ++-
5 files changed, 168 insertions(+), 2 deletions(-)
create mode 100644 drivers/block/zram/backend_qpace.c
create mode 100644 drivers/block/zram/backend_qpace.h
Thanks,
Oreoluwa