summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/drm_mipi_dsi.c
diff options
context:
space:
mode:
authorBrian Norris <briannorris@chromium.org>2018-01-09 23:32:48 +0300
committerArchit Taneja <architt@codeaurora.org>2018-01-16 09:51:52 +0300
commitfd2cb71bbc383edbfe73ce3770569c7259cfb939 (patch)
tree41b16e369f761074324ac4db86d8e8d31979430b /drivers/gpu/drm/drm_mipi_dsi.c
parentad95dc86e67ec8c044b560891576d8eea87251aa (diff)
downloadlinux-fd2cb71bbc383edbfe73ce3770569c7259cfb939.tar.xz
drm/bridge/synopsys: dsi: handle endianness correctly in dw_mipi_dsi_write()
We're filling the "remainder" word with little-endian data, then writing it out to IO registers with endian-correcting writel(). That probably won't work on big-endian systems. Let's mark the "remainder" variable as LE32 (since we fill it with memcpy()) and do the swapping explicitly. Some of this function could be done more easily without memcpy(), but the unaligned "remainder" case is a little hard to do without potentially overrunning 'tx_buf', so I just applied the same solution in all cases (memcpy() + le32_to_cpu()). Tested only on a little-endian system. Signed-off-by: Brian Norris <briannorris@chromium.org> Reviewed-by: Andrzej Hajda <a.hajda@samsung.com> Signed-off-by: Archit Taneja <architt@codeaurora.org> Link: https://patchwork.freedesktop.org/patch/msgid/20180109203248.139249-2-briannorris@chromium.org
Diffstat (limited to 'drivers/gpu/drm/drm_mipi_dsi.c')
0 files changed, 0 insertions, 0 deletions