mbox series

[GIT,PULL] Allwinner MBUS and DMA-ops rework

Message ID 20201118091303.wa5npxyop3cdsczb@gilmour.lan (mailing list archive)
State New, archived
Headers show
Series [GIT,PULL] Allwinner MBUS and DMA-ops rework | expand

Pull-request

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

Message

Maxime Ripard Nov. 18, 2020, 9:13 a.m. UTC
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

Comments

Arnd Bergmann Nov. 23, 2020, 4:26 p.m. UTC | #1
On Wed, Nov 18, 2020 at 10:13 AM Maxime Ripard <maxime@cerno.tech> wrote:
>
> 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.
>
>   ssh://git@gitolite.kernel.org/pub/scm/linux/kernel/git/mripard/linux.git tags/sunxi-rework-mbus

Looks good, nice cleanup!

I've applied it to the arm/drivers branch now, but I almost missed it, as
you sent it to the old arm@kernel.org address instead of soc@kernel.org
that is connected to the patchwork.

Please also use http:// or git:// addresses in pull requests instead of ssh://

      Arnd