diff options
author | jmallett <jmallett@FreeBSD.org> | 2011-03-16 08:51:36 +0000 |
---|---|---|
committer | jmallett <jmallett@FreeBSD.org> | 2011-03-16 08:51:36 +0000 |
commit | bcf30d28120c09fd31e7d7728cfcefb712a55676 (patch) | |
tree | fd2e6de21933529c3743aeee08cd2efcc87ee273 /sys/contrib/octeon-sdk | |
parent | 8be04896763b0d272e2265ecb2b955ff5f7a2543 (diff) | |
download | FreeBSD-src-bcf30d28120c09fd31e7d7728cfcefb712a55676.zip FreeBSD-src-bcf30d28120c09fd31e7d7728cfcefb712a55676.tar.gz |
o) Clean up FPA pools on module unload.
o) Allocate output buffer pool based on available output queues.
Submitted by: Bhanu Prakash (with modifications)
Diffstat (limited to 'sys/contrib/octeon-sdk')
-rw-r--r-- | sys/contrib/octeon-sdk/cvmx-fpa.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/sys/contrib/octeon-sdk/cvmx-fpa.h b/sys/contrib/octeon-sdk/cvmx-fpa.h index 88de805..b9671a8 100644 --- a/sys/contrib/octeon-sdk/cvmx-fpa.h +++ b/sys/contrib/octeon-sdk/cvmx-fpa.h @@ -154,6 +154,19 @@ static inline void cvmx_fpa_enable(void) } /** + * Reset FPA to disable. Make sure buffers from all FPA pools are freed + * before disabling FPA. + */ +static inline void cvmx_fpa_disable(void) +{ + cvmx_fpa_ctl_status_t status; + + status.u64 = cvmx_read_csr(CVMX_FPA_CTL_STATUS); + status.s.reset = 1; + cvmx_write_csr(CVMX_FPA_CTL_STATUS, status.u64); +} + +/** * Get a new block from the FPA * * @param pool Pool to get the block from |