pcie smmu issue

could i ask the dma*map function is necessary ??
It is better if you could (re-)write your driver using those APIs

and what is mc-err?
It is the error flagged by memory controller (mc) when an IP (in this case PCIe controller) is trying to access memory which is not allocated for it (or at least not allocated informing SMMU). If DMA APIs are used, then, SMMU comes to know of all the allocations done by different PCIe device drivers

how to find the root cause and fixed it or work around ?
One way is to find out which part of your code is reserving memory at locations 0x66000000, 0x66000200 (these addresses are there in the error log) and see what APIs are used to allocate memory and replace them with DMA APIs