Thank you for the thorough review. All findings were valid. Here is a
summary of changes made for v7:
> patch 04: s_data_validation, s_sg_enable, s_pci_read are used in
> this patch but are declared only in patch 18 -- bisect break.
Fixed. The three static variable declarations have been moved into
patch 04, where they are first used. Patch 18 no longer re-declares
them.
> patch 03: BMI Tx counters are read from the wrong buffer in
> dpaa_xstats_get_by_id() (copies from values_copy which was filled by
> fman_if_stats_get_all, not by fman_if_bmi_stats_get_all). Also,
> bmi_count = sizeof(struct dpaa_if_rx_bmi_stats) / 4 omits the 4 Tx
> BMI entries.
Fixed. A separate bmi_values[] array sized for both Rx and Tx BMI
stats is now used in both xstats_get() and xstats_get_by_id(). A new
function fman_if_tx_bmi_stats_get_all() fills the Tx half.
> patch 13: dpaa_bus_dev_compare() has side effects -- sets
> dpaa_bus.detected and calls pthread_key_create -- but returns 0 for
> all calls after the first, breaking multi-device enumeration.
Fixed. dpaa_bus_dev_compare() is now a pure comparator using
rte_dpaa_bus_parse() + strncmp(). The detection block remains only in
rte_dpaa_bus_scan() where it has always lived.
> patch 08: unreachable "return -ENODEV" after do { } while (1) in
> qman_find_fq_by_cgrid().
Fixed. The dead return statement has been removed.
> patch 17: RTE_PRIORITY_104 is defined but RTE_FINI_PRIO uses the
> literal 104 directly.
Fixed. RTE_FINI_PRIO now uses RTE_PRIORITY_104.
> patch 18: s_hw_err_check changed from bool to int without
> justification.
Fixed. Reverted to bool.
> patch 19: commit message says "add ONIC port checks" but the patch
> also changes dpaa_port_vsp_cleanup() signature and refactors
> dpaa_flow.c.
Fixed. The commit message now also describes the fif parameter removal
from dpaa_port_vsp_cleanup() and the dpaa_flow.c refactor.
The series is now 16 patches (v6 had 19; three patches whose content
was subsumed by conflict resolution with adjacent changes have been
consolidated).