Commit Graph

15 Commits

Author SHA1 Message Date
Nicolas Chautru
f8a7430691 baseband/acc200: fix possible negative shift
Potential occurrence of negative shift when using invalid
configuration on ACC200. Enforcing that depth > 0.

Coverity issue: 381636
Fixes: 40e3adbdd3 ("baseband/acc200: add queue configuration")

Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
2022-11-03 12:26:17 +01:00
Hernan Vargas
beaf1f876c baseband/acc: fix double MSI interrupt in TB mode
Fixed logical bug in SW causing MSI to be issued twice
when running in transport block mode.

Fixes: f404dfe35c ("baseband/acc100: support 4G processing")
Fixes: bec597b78a ("baseband/acc200: add LTE processing")
Cc: stable@dpdk.org

Signed-off-by: Hernan Vargas <hernan.vargas@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
2022-11-03 09:22:36 +01:00
Nicolas Chautru
0cdecf4774 baseband/acc200: fix access corner case
To enforce safe access to the ACC200 device, the PMD requires
to explicitly check that the device is in configured and
enabled state prior to accessing queue resources.
This is done by checking the Qmgr ingress queue status.

Fixes: 40e3adbdd3 ("baseband/acc200: add queue configuration")

Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
2022-11-03 09:16:15 +01:00
Nicolas Chautru
4e63e38c62 baseband/acc: fix possible overflow in queue release
Potential overflow issue when casting to 64bits,
notably relevant when extending number of queues.

Coverity issue: 381665
Fixes: 32e8b7ea35 ("baseband/acc100: refactor to segregate common code")
Fixes: 40e3adbdd3 ("baseband/acc200: add queue configuration")

Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
2022-11-03 09:15:20 +01:00
Nicolas Chautru
e3e16275da baseband/acc200: fix LTE half iteration flag
The logic for the flag was inverted.
When starting with even iteration it actually runs
for an additional half iteration.
The change is specific to ACC200.

Fixes: bec597b78a ("baseband/acc200: add LTE processing")

Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
2022-11-03 09:13:15 +01:00
Nicolas Chautru
9dcebacb0c baseband/acc: add descriptor index helpers
Added set of helper functions used through the code to
track descriptor indexes in a queue ring.

Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
2022-10-29 13:01:39 +02:00
Nicolas Chautru
c1407bfa05 baseband/acc200: add PF configuration
Added configure function notably to configure the device from
the PF within DPDK and bbdev-test (without external dependency).
That function is kept common to all ACC devices.

Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
Acked-by: Hernan Vargas <hernan.vargas@intel.com>
2022-10-29 13:01:39 +02:00
Nicolas Chautru
a2ee515fdb baseband/acc200: add device status and VF2PF communication
Added support to expose the device status seen from the
host through v2pf mailbox communication.

Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
2022-10-29 13:01:38 +02:00
Nicolas Chautru
3cabc8eaf5 baseband/acc200: support interrupt
Added support for capability and functions for
MSI/MSI-X interrupt and underlying information ring.

Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
2022-10-29 13:01:38 +02:00
Nicolas Chautru
437e396414 baseband/acc200: support FFT
Added functions and capability for FFT processing

Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
2022-10-29 13:01:38 +02:00
Nicolas Chautru
bec597b78a baseband/acc200: add LTE processing
Added functions and capability for 4G FEC

Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
2022-10-29 13:01:38 +02:00
Nicolas Chautru
e640f6cdfa baseband/acc200: add LDPC processing
Added LDPC encode and decode processing functions.

Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
2022-10-29 13:01:38 +02:00
Nicolas Chautru
40e3adbdd3 baseband/acc200: add queue configuration
Added function to create and configure queues for the
ACC200 device.

Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
2022-10-29 13:01:38 +02:00
Nicolas Chautru
fb43071542 baseband/acc200: add info query
Added support for info_get to allow to query the device.
Null capability exposed.

Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
2022-10-29 13:01:38 +02:00
Nicolas Chautru
c2d93488c7 baseband/acc200: introduce ACC200
Introduced stubs for device driver for the ACC200
integrated VRAN accelerator on SPR-EEC

Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
2022-10-29 13:01:38 +02:00