net/bnxt: use dedicated CPR for async events
authorLance Richardson <lance.richardson@broadcom.com>
Wed, 24 Jul 2019 16:49:32 +0000 (12:49 -0400)
committerFerruh Yigit <ferruh.yigit@intel.com>
Thu, 25 Jul 2019 09:43:05 +0000 (11:43 +0200)
commitbd0a14c99f6588ea4c60a234e9e053fd2b329964
treef93b170c53fa5fc184d03fd0b7e646d637ac80c7
parent0270853d94e298820f3361b43dfdbf95e6a05c88
net/bnxt: use dedicated CPR for async events

This commit enables the creation of a dedicated completion
ring for asynchronous event handling instead of handling these
events on a receive completion ring.

For the stingray platform and other platforms needing tighter
control of resource utilization, we retain the ability to
process async events on a receive completion ring.

For Thor-based adapters, we use a dedicated NQ (notification
queue) ring for async events (async events can't currently
be received on a completion ring due to a firmware limitation).

Rename "def_cp_ring" to "async_cp_ring" to better reflect its
purpose (async event notifications) and to avoid confusion with
VNIC default receive completion rings.

Allow rxq 0 to be stopped when not being used for async events.

Signed-off-by: Lance Richardson <lance.richardson@broadcom.com>
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
drivers/net/bnxt/bnxt.h
drivers/net/bnxt/bnxt_ethdev.c
drivers/net/bnxt/bnxt_hwrm.c
drivers/net/bnxt/bnxt_hwrm.h
drivers/net/bnxt/bnxt_irq.c
drivers/net/bnxt/bnxt_ring.c
drivers/net/bnxt/bnxt_ring.h
drivers/net/bnxt/bnxt_rxq.c
drivers/net/bnxt/bnxt_rxr.c
drivers/net/bnxt/bnxt_rxtx_vec_sse.c