mbox series

[v3,0/2] bus: mhi: Fix MHI on big endian architectures

Message ID 20210629035357.11091-1-paul.davey@alliedtelesis.co.nz (mailing list archive)
Headers show
Series bus: mhi: Fix MHI on big endian architectures | expand

Message

Paul Davey June 29, 2021, 3:53 a.m. UTC
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@codeaurora.org>

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(-)

Comments

Manivannan Sadhasivam July 16, 2021, 5:43 a.m. UTC | #1
On Tue, Jun 29, 2021 at 03:53:55PM +1200, Paul Davey wrote:
> 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.
> 

Please add fixes tag and Cc stable for all the patches.

Thanks,
Mani

> 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@codeaurora.org>
> 
> 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
>