summaryrefslogtreecommitdiffstats
path: root/sys/contrib/octeon-sdk
diff options
context:
space:
mode:
authorjmallett <jmallett@FreeBSD.org>2011-03-16 08:51:36 +0000
committerjmallett <jmallett@FreeBSD.org>2011-03-16 08:51:36 +0000
commitbcf30d28120c09fd31e7d7728cfcefb712a55676 (patch)
treefd2e6de21933529c3743aeee08cd2efcc87ee273 /sys/contrib/octeon-sdk
parent8be04896763b0d272e2265ecb2b955ff5f7a2543 (diff)
downloadFreeBSD-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.h13
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
OpenPOWER on IntegriCloud