[PATCH v4 0/2] bus: mhi: Fix MHI on big endian architectures

From: Paul Davey
Date: Wed Aug 11 2021 - 23:17:48 EST

I encountered some problems getting the MHI driver to work on an Octeon
3 platform these seem to all be related to endianness issues. The modem
interface appears to require the DMA structures to be in little endian,
however the MHI core driver was assembling them in native endianness.

Using little endian explicitly allows the interface to function as

Changes in v4:
- add Fixes and Reviewed-By tags as requested/offered.
Changes in v3:
- removed change of doorbell helper functions db_val type from
dma_addr_t to __le64 favouring doing conversion only when writing to
context wp fields.
Changes in v2:
- use __fls instead of find_last_bit in pm_state conversion patch as
requested by Hemant Kumar <hemantk@xxxxxxxxxxxxxx>

Paul Davey (2):
bus: mhi: Fix pm_state conversion to string
bus: mhi: Fix MHI DMA structure endianness

drivers/bus/mhi/core/debugfs.c | 26 +++----
drivers/bus/mhi/core/init.c | 43 ++++++------
drivers/bus/mhi/core/internal.h | 119 ++++++++++++++++----------------
drivers/bus/mhi/core/main.c | 22 +++---
drivers/bus/mhi/core/pm.c | 4 +-
5 files changed, 109 insertions(+), 105 deletions(-)