[GIT PULL] Allwinner MBUS and DMA-ops rework

Maxime Ripard maxime at cerno.tech
Wed Nov 18 04:13:03 EST 2020


Hi Arnd, Olof,

Here's the PR for the MBUS rework we discussed in the last couple of
weeks, for what will become 5.11.

As Arnd suggested, this is based on a PR sent to drm-misc-fixes to merge
the initial fix for a probe error in drm/sun4i due to
dma_direct_set_offset.

Thanks!
Maxime

The following changes since commit 957a1ea3599210e9996777a734ea5284eaef75c7:

  drm/sun4i: backend: Fix probe failure with multiple backends (2020-11-18 09:01:30 +0100)

are available in the Git repository at:

  ssh://git@gitolite.kernel.org/pub/scm/linux/kernel/git/mripard/linux.git tags/sunxi-rework-mbus

for you to fetch changes up to 16fee29b07358293f135759d9fdbf1267da57ebd:

  dma-mapping: remove the dma_direct_set_offset export (2020-11-18 09:11:38 +0100)

----------------------------------------------------------------
Allwinner MBUS and DMA-ops rework

The Allwinner SoCs have a number of high-bandwidth devices connected to
a memory bus with a different RAM mapping than the CPU.

This was addressed before through drivers setting the DMA offsets
directly, and subsequently changed to calls to dma_direct_set_offset.
However that wasn't really meant to be exported to modules (and thus
drivers). The duplicated code also led to small inconsistencies across
drivers in how we dealt with DT backward compatibility.

Move all that DMA setup code into a platform bus notifier to share that
code and remove the export on dma_direct_set_offset.

----------------------------------------------------------------
Christoph Hellwig (1):
      dma-mapping: remove the dma_direct_set_offset export

Maxime Ripard (6):
      soc: sunxi: Deal with the MBUS DMA offsets in a central place
      drm/sun4i: backend: Remove the MBUS quirks
      media: sun4i: Remove the MBUS quirks
      media: sun6i: Remove the MBUS quirks
      media: cedrus: Remove the MBUS quirks
      media: sun8i-di: Remove the call to of_dma_configure

 arch/arm/mach-keystone/keystone.c                  |   2 +-
 arch/arm/mach-omap1/usb.c                          |   2 +-
 arch/sh/drivers/pci/pcie-sh7786.c                  |   2 +-
 arch/x86/pci/sta2x11-fixup.c                       |   3 +-
 drivers/gpu/drm/sun4i/sun4i_backend.c              |  19 ---
 drivers/media/platform/sunxi/sun4i-csi/sun4i_csi.c |  27 -----
 drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.c |  17 ---
 drivers/media/platform/sunxi/sun8i-di/sun8i-di.c   |   4 -
 drivers/soc/sunxi/Kconfig                          |   8 ++
 drivers/soc/sunxi/Makefile                         |   1 +
 drivers/soc/sunxi/sunxi_mbus.c                     | 132 +++++++++++++++++++++
 drivers/staging/media/sunxi/cedrus/cedrus.c        |   1 -
 drivers/staging/media/sunxi/cedrus/cedrus.h        |   3 -
 drivers/staging/media/sunxi/cedrus/cedrus_hw.c     |  18 ---
 include/linux/dma-map-ops.h                        |   3 +
 include/linux/dma-mapping.h                        |   7 --
 kernel/dma/direct.c                                |   1 -
 17 files changed, 149 insertions(+), 101 deletions(-)
 create mode 100644 drivers/soc/sunxi/sunxi_mbus.c
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20201118/1868e796/attachment.sig>


More information about the linux-arm-kernel mailing list