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 expected. 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(-) -- 2.32.0