On Tue, May 26, 2020 at 03:12:39PM -0400, Jim Quinlan wrote: > v2: > Commit: "device core: Add ability to handle multiple dma offsets" > o Added helper func attach_dma_pfn_offset_map() in address.c (Chistoph) > o Helpers funcs added to __phys_to_dma() & __dma_to_phys() (Christoph) > o Added warning when multiple offsets are needed and !DMA_PFN_OFFSET_MAP > o dev->dma_pfn_map => dev->dma_pfn_offset_map > o s/frm/from/ for dma_pfn_offset_frm_{phys,dma}_addr() (Christoph) > o In device.h: s/const void */const struct dma_pfn_offset_region */ > o removed 'unlikely' from unlikely(dev->dma_pfn_offset_map) since > guarded by CONFIG_DMA_PFN_OFFSET_MAP (Christoph) > o Since dev->dma_pfn_offset is copied in usb/core/{usb,message}.c, now > dev->dma_pfn_offset_map is copied as well. > o Merged two of the DMA commits into one (Christoph). > > Commit "arm: dma-mapping: Invoke dma offset func if needed": > o Use helper functions instead of #if CONFIG_DMA_PFN_OFFSET > > Other commits' changes: > o Removed need for carrying of_id var in priv (Nicolas) > o Commit message rewordings (Bjorn) > o Commit log messages filled to 75 chars (Bjorn) > o devm_reset_control_get_shared()) > => devm_reset_control_get_optional_shared (Philipp) > o Add call to reset_control_assert() in PCIe remove routines (Philipp) > > v1: > This patchset expands the usefulness of the Broadcom Settop Box PCIe > controller by building upon the PCIe driver used currently by the > Raspbery Pi. Other forms of this patchset were submitted by me years > ago and not accepted; the major sticking point was the code required > for the DMA remapping needed for the PCIe driver to work [1]. > > There have been many changes to the DMA and OF subsystems since that > time, making a cleaner and less intrusive patchset possible. This > patchset implements a generalization of "dev->dma_pfn_offset", except > that instead of a single scalar offset it provides for multiple > offsets via a function which depends upon the "dma-ranges" property of > the PCIe host controller. This is required for proper functionality > of the BrcmSTB PCIe controller and possibly some other devices. If you can enable the h/w support without the multiple offset support, then I'd split up this series. The latter part might take a bit more time. Rob