]> git.droids-corp.org - dpdk.git/blobdiff - drivers/net/qede/base/ecore_hw.c
qede: add SRIOV support
[dpdk.git] / drivers / net / qede / base / ecore_hw.c
index 1c48ed044b324e205b856415eece9317c424a984..5403b94bc89bc278d32620fc2e45b84ed1a4a23b 100644 (file)
@@ -13,6 +13,7 @@
 #include "ecore_hw.h"
 #include "reg_addr.h"
 #include "ecore_utils.h"
+#include "ecore_iov_api.h"
 
 #ifndef ASIC_ONLY
 #define ECORE_EMUL_FACTOR 2000
@@ -243,8 +244,12 @@ static void ecore_memcpy_hw(struct ecore_hwfn *p_hwfn,
                quota = OSAL_MIN_T(osal_size_t, n - done,
                                   PXP_EXTERNAL_BAR_PF_WINDOW_SINGLE_SIZE);
 
-               ecore_ptt_set_win(p_hwfn, p_ptt, hw_addr + done);
-               hw_offset = ecore_ptt_get_bar_addr(p_ptt);
+               if (IS_PF(p_hwfn->p_dev)) {
+                       ecore_ptt_set_win(p_hwfn, p_ptt, hw_addr + done);
+                       hw_offset = ecore_ptt_get_bar_addr(p_ptt);
+               } else {
+                       hw_offset = hw_addr + done;
+               }
 
                dw_count = quota / 4;
                host_addr = (u32 *)((u8 *)addr + done);