Re: [PATCH v2 00/14] PCI: brcmstb: enable PCIe for STB chips
From: Rob Herring
Date: Fri May 29 2020 - 13:49:03 EST
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