usb: dwc3: Correct dwc3 host init code for making SMMU work in HOST Mode
DWC3 driver initializes the xhci host platform device structure.
As a part of initialization it configures xhci dev DMA attributes,
but fails to set correct smmu dma ops (if iommus node is added in
dts file). But SMMU driver intializes correct context block based
on the SMMU Stream ID given by USB dts node. Due to the improper
initalization of dma ops(SWIO instead of SMMU) no proper page table
entries are updated in SMMU Contect Block, thus generating an abort
when USB DMA tries to write an event in the event ring.
This patch fixes the above issue by calling of_dma_configure() during
xhci dev initialization. This of_dma_configure() checks for valid
iommus node and assigns proper SMMU dma ops instead of SWIO dma ops.
Signed-off-by: Anurag Kumar Vulisha <anuragku@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>