[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250922061549.11407-1-alexander.wilhelm@westermo.com>
Date: Mon, 22 Sep 2025 08:15:43 +0200
From: Alexander Wilhelm <alexander.wilhelm@...termo.com>
To: Bjorn Andersson <andersson@...nel.org>,
Konrad Dybcio <konradybcio@...nel.org>
Cc: linux-arm-msm@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: [PATCH v4 0/3] soc: qcom: extend interface for big endian support
Currently, the QMI interface only works on little endian systems due to how
it encodes and decodes data. Most QMI related data structures are defined
in CPU native order and do not use endian specific types.
Add support for endian conversion of basic element types in the QMI
encoding and decoding logic. Fix the handling of QMI_DATA_LEN fields to
ensure correct interpretation on big endian systems. These changes are
required to allow QMI to operate correctly across architectures with
different endianness.
---
Changes in v4:
- Rebase on latest ath master.
- Drop ath12k patch to make a standalone one.
- Remove `Fixes:` tags as big endian is not yet supported.
Changes in v3:
- Rebase on latest ath master.
- Using a generic encoding/decoding macro causes sparse to complain about
type violations. Use separate macros for each basic element type instead.
Changes in v2:
- Handle QMI conversion within the QMI subsystem instead of the driver.
Alexander Wilhelm (3):
soc: qcom: introduce new QMI encode/decode macros
soc: qcom: fix QMI encoding/decoding for basic elements
soc: qcom: preserve CPU endianness for QMI_DATA_LEN
drivers/soc/qcom/qmi_encdec.c | 101 ++++++++++++++++++++++++++++------
1 file changed, 84 insertions(+), 17 deletions(-)
base-commit: 38cf754c15eeb0d80fbf52c933da10edb33d7906
--
2.43.0
Powered by blists - more mailing lists