Commit e6ab194
net: hns3: default enable tx bounce buffer when smmu enabled
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: 295ba23 ("net: hns3: add device version to replace pci revision")
Signed-off-by: Peiyang Wang <[email protected]>
Signed-off-by: Jian Shen <[email protected]>
Signed-off-by: Jijie Shao <[email protected]>
Signed-off-by: Paolo Abeni <[email protected]>1 parent 637f414 commit e6ab194
File tree
3 files changed
+66
-0
lines changed- drivers/net/ethernet/hisilicon/hns3
3 files changed
+66
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| 14 | + | |
14 | 15 | | |
15 | 16 | | |
16 | 17 | | |
| |||
1032 | 1033 | | |
1033 | 1034 | | |
1034 | 1035 | | |
| 1036 | + | |
| 1037 | + | |
1035 | 1038 | | |
1036 | 1039 | | |
1037 | 1040 | | |
| |||
1073 | 1076 | | |
1074 | 1077 | | |
1075 | 1078 | | |
| 1079 | + | |
1076 | 1080 | | |
1077 | 1081 | | |
1078 | 1082 | | |
| |||
4868 | 4872 | | |
4869 | 4873 | | |
4870 | 4874 | | |
| 4875 | + | |
| 4876 | + | |
| 4877 | + | |
| 4878 | + | |
| 4879 | + | |
| 4880 | + | |
| 4881 | + | |
| 4882 | + | |
| 4883 | + | |
| 4884 | + | |
| 4885 | + | |
| 4886 | + | |
| 4887 | + | |
| 4888 | + | |
| 4889 | + | |
| 4890 | + | |
| 4891 | + | |
| 4892 | + | |
| 4893 | + | |
| 4894 | + | |
| 4895 | + | |
| 4896 | + | |
| 4897 | + | |
| 4898 | + | |
4871 | 4899 | | |
4872 | 4900 | | |
4873 | 4901 | | |
| |||
5101 | 5129 | | |
5102 | 5130 | | |
5103 | 5131 | | |
| 5132 | + | |
5104 | 5133 | | |
5105 | 5134 | | |
5106 | 5135 | | |
| |||
5305 | 5334 | | |
5306 | 5335 | | |
5307 | 5336 | | |
| 5337 | + | |
| 5338 | + | |
5308 | 5339 | | |
5309 | 5340 | | |
5310 | 5341 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
596 | 596 | | |
597 | 597 | | |
598 | 598 | | |
| 599 | + | |
| 600 | + | |
599 | 601 | | |
600 | 602 | | |
601 | 603 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1933 | 1933 | | |
1934 | 1934 | | |
1935 | 1935 | | |
| 1936 | + | |
| 1937 | + | |
| 1938 | + | |
| 1939 | + | |
| 1940 | + | |
| 1941 | + | |
| 1942 | + | |
| 1943 | + | |
| 1944 | + | |
| 1945 | + | |
| 1946 | + | |
| 1947 | + | |
| 1948 | + | |
| 1949 | + | |
| 1950 | + | |
| 1951 | + | |
| 1952 | + | |
| 1953 | + | |
| 1954 | + | |
| 1955 | + | |
| 1956 | + | |
| 1957 | + | |
| 1958 | + | |
| 1959 | + | |
| 1960 | + | |
1936 | 1961 | | |
1937 | 1962 | | |
1938 | 1963 | | |
| |||
1949 | 1974 | | |
1950 | 1975 | | |
1951 | 1976 | | |
| 1977 | + | |
| 1978 | + | |
| 1979 | + | |
| 1980 | + | |
1952 | 1981 | | |
1953 | 1982 | | |
1954 | 1983 | | |
| |||
1963 | 1992 | | |
1964 | 1993 | | |
1965 | 1994 | | |
| 1995 | + | |
| 1996 | + | |
| 1997 | + | |
| 1998 | + | |
1966 | 1999 | | |
1967 | 2000 | | |
1968 | 2001 | | |
| |||
0 commit comments