net: hns3: default enable tx bounce buffer when smmu enabled
[ Upstream commit e6ab1944 ] The SMMU engine on HIP09 chip has a hardware issue. SMMU pagetable prefetch features may prefetch and use a invalid PTE even the PTE is valid at that time. This will cause the device trigger fake pagefaults. The solution is to avoid prefetching by adding a SYNC command when smmu mapping a iova. But the performance of nic has a sharp drop. Then we do this workaround, always enable tx bounce buffer, avoid mapping/unmapping on TX path. This issue only affects HNS3, so we always enable tx bounce buffer when smmu enabled to improve performance. Fixes: 295ba232 ("net: hns3: add device version to replace pci revision") Signed-off-by:Peiyang Wang <wangpeiyang1@huawei.com> Signed-off-by:
Jian Shen <shenjian15@huawei.com> Signed-off-by:
Jijie Shao <shaojijie@huawei.com> Signed-off-by:
Paolo Abeni <pabeni@redhat.com> Stable-dep-of: 49ade863 ("net: hns3: default enable tx bounce buffer when smmu enabled") Signed-off-by:
Sasha Levin <sashal@kernel.org>
Loading