Message ID | 20200526191303.1492-1-james.quinlan@broadcom.com |
---|---|
Headers | show |
Series | PCI: brcmstb: enable PCIe for STB chips | expand |
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
On Fri, May 29, 2020 at 1:49 PM Rob Herring <robh@kernel.org> wrote: > > 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 Unfortunately, the STB PCIe controller depends on the multiple PFN offset functionality. Thanks, Jim