HomeFreeBSD

mpi3mr: Honor the dma mask from IOCFacts

Description

mpi3mr: Honor the dma mask from IOCFacts

The number of signficant bits that are decoded are returned in the flags
field of the IOCFacts structure from the device. Rather than assume the
worst with a pessimal 32-bit maximum, look at this value and pass it
along to all the dma map creation requests.

A lof of those creations are repetitive and could just inherit from the
base tag if we moved to the templated interface. This is called out as
desireable future work not done at this time.

In addition, due to a chicken and an egg problem, we have to allocate
some of the maps with a 32-bit loaddr. These are the ones we need to
read iocfacts. And they are fine to be so restricted: they are little
used after startup, and when they are used, bouncing is fine.

Sponsored by: Netflix
Reviewed by: mav
Differential Revision: https://reviews.freebsd.org/D42559

Details

Provenance
impAuthored on Nov 29 2023, 1:49 AM
Reviewer
mav
Differential Revision
D42559: mpi3mr: Honor the dma mask from IOCFacts
Parents
rG3208a189c1e2: mpi3mr: Fix EINPROGRESS errors hanging the card
Branches
Unknown
Tags
Unknown