Lines Matching +full:11 +full:a

15  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or
19 * You should have received a copy of the GNU General Public License
24 * This file may also be available under a different license from Cavium.
31 * New, starting with SDK 1.7.0, cvmx-pow supports a number of
38 * - Requesting a POW operation with an active tag switch in
40 * - Waiting for a tag switch to complete for an excessively
41 * long period. This is normally a sign of an error in locking
74 /* A tag switch to NULL, and there is no space reserved in POW
77 * - NULL_NULL is entered at the beginning of time and on a deschedule.
78 * - NULL_NULL can be exited by a new work request. A NULL_SWITCH
142 * Before issuing a *_NSCHED operation, SW must guarantee
146 * polling. After issuing a *_NSCHED operation, SW must
162 * Before issuing a *_NSCHED operation, SW must guarantee that
166 * polling. After issuing a *_NSCHED operation, SW must
176 * This structure defines the store data on a store to POW
189 /* Tontains index of entry for a CVMX_POW_TAG_OP_*_NSCHED */
338 uint64_t index:11;
357 uint64_t index:11;
395 * - qosgrp = 3, qosgrp = 11: QOS3
433 * hardware cannot switch from NULL_NULL to NULL if a POW entry is
435 * another piece of work before a POW entry can ever become
461 * This structure defines the response to a load/SENDSINGLE to POW
498 * Result for a POW Status Load (when get_cur==0 and get_wqp==0)
503 /* Set when there is a pending non-NULL SWTAG or
510 * Set when there is a pending NULL SWTAG, or an
514 /* Set when there is a pending DESCHED or SWTAG_DESCHED. */
517 * Set when there is a pending SWTAG_DESCHED and
523 /* Set when there is a pending GET_WORK. */
530 /* Set when there is a pending NULL_RD. */
532 /* Set when there is a pending CLR_NSCHED. */
536 uint64_t pend_index:11;
558 uint64_t pend_index:11;
575 * Result for a POW Status Load (when get_cur==0 and get_wqp==1)
581 * Set when there is a pending non-NULL SWTAG or
589 * Set when there is a pending NULL SWTAG, or an
594 * Set when there is a pending DESCHED or
599 * Set when there is a pending SWTAG_DESCHED and
605 /* Set when there is a pending GET_WORK. */
612 /* Set when there is a pending NULL_RD. */
614 /* Set when there is a pending CLR_NSCHED. */
618 uint64_t pend_index:11;
629 uint64_t pend_index:11;
646 * Result for a POW Status Load (when get_cur==1, get_wqp==0, and
656 uint64_t link_index:11;
658 uint64_t index:11;
694 uint64_t index:11;
695 uint64_t link_index:11;
701 * Result for a POW Status Load (when get_cur==1, get_wqp==0, and get_rev==1)
712 uint64_t revlink_index:11;
714 uint64_t index:11;
749 uint64_t index:11;
750 uint64_t revlink_index:11;
756 * Result for a POW Status Load (when get_cur==1, get_wqp==1, and
766 uint64_t link_index:11;
768 uint64_t index:11;
782 uint64_t index:11;
783 uint64_t link_index:11;
789 * Result for a POW Status Load (when get_cur==1, get_wqp==1, and
801 uint64_t revlink_index:11;
803 uint64_t index:11;
817 uint64_t index:11;
818 uint64_t revlink_index:11;
834 uint64_t next_index:11;
854 uint64_t next_index:11;
870 uint64_t next_index:11;
878 uint64_t next_index:11;
893 uint64_t fwd_index:11;
898 /* There is a pending tag switch */
916 uint64_t fwd_index:11;
942 uint64_t free_head:11;
948 uint64_t free_tail:11;
964 uint64_t loc_head:11;
970 uint64_t loc_tail:11;
972 uint64_t loc_tail:11;
974 uint64_t loc_head:11;
978 uint64_t free_tail:11;
980 uint64_t free_head:11;
1009 uint64_t nosched_head:11;
1015 uint64_t nosched_tail:11;
1032 uint64_t des_head:11;
1038 uint64_t des_tail:11;
1040 uint64_t des_tail:11;
1042 uint64_t des_head:11;
1046 uint64_t nosched_tail:11;
1048 uint64_t nosched_head:11;
1065 * hardware reloads a POW entry from DRAM). The POW
1067 * associated with a QOS level when it reloads work
1108 * hardware reloads a POW entry from DRAM). The POW
1110 * associated with a QOS level when it reloads work
1183 * NOTE: did<2:0> == 2 is used by the HW for a special single-cycle
1254 * If a tag switch is pending this routine returns the tag before
1307 * Print a warning if a tag switch is pending for this core
1309 * @function: Function name checking for a pending tag switch
1320 * Waits for a tag switch to complete by polling the completion bit.
1334 pr_warn("Tag switch is taking a long time, possible deadlock\n"); in cvmx_pow_tag_sw_wait()
1343 * so the caller must ensure that there is not a pending tag switch.
1390 /* Must not have a switch pending when requesting work */ in cvmx_pow_work_request_sync()
1397 * Synchronous null_rd request. Requests a switch out of NULL_NULL POW state.
1411 /* Must not have a switch pending when requesting work */ in cvmx_pow_work_request_null_rd()
1429 * there is not a pending tag switch.
1432 * to, which is either a valid WQE, or a response with the
1461 * to, which is either a valid WQE, or a response with the
1473 /* Must not have a switch pending when requesting work */ in cvmx_pow_work_request_async()
1479 * Gets result of asynchronous work request. Performs a IOBDMA sync
1502 * Checks if a work queue entry pointer returned by a work
1504 * being available or due to a timeout.
1506 * @wqe_ptr: pointer to a work queue entry returned by the POW
1517 * Starts a tag switch to the provided tag value and tag type.
1525 * NOTE: This should not be used when switching from a NULL tag. Use
1550 pr_warn("%s called to perform a tag switch to the same tag\n", in cvmx_pow_tag_sw_nocheck()
1553 pr_warn("%s called to perform a tag switch to NULL. Use cvmx_pow_tag_sw_null() instead\n", in cvmx_pow_tag_sw_nocheck()
1581 * Starts a tag switch to the provided tag value and tag type.
1589 * NOTE: This should not be used when switching from a NULL tag. Use
1613 * Ensure that there is not a pending tag switch, as a tag in cvmx_pow_tag_sw()
1614 * switch cannot be started if a previous switch is still in cvmx_pow_tag_sw()
1622 * Starts a tag switch to the provided tag value and tag type.
1656 pr_warn("%s called to perform a tag switch to the same tag\n", in cvmx_pow_tag_sw_full_nocheck()
1659 pr_warn("%s called to perform a tag switch to NULL. Use cvmx_pow_tag_sw_null() instead\n", in cvmx_pow_tag_sw_full_nocheck()
1696 * Starts a tag switch to the provided tag value and tag type.
1723 * Ensure that there is not a pending tag switch, as a tag in cvmx_pow_tag_sw_full()
1724 * switch cannot be started if a previous switch is still in cvmx_pow_tag_sw_full()
1732 * Switch to a NULL tag, which ends any ordering or
1751 pr_warn("%s called when we already have a NULL tag\n", in cvmx_pow_tag_sw_null_nocheck()
1770 * Switch to a NULL tag, which ends any ordering or
1783 * Ensure that there is not a pending tag switch, as a tag in cvmx_pow_tag_sw_null()
1784 * switch cannot be started if a previous switch is still in cvmx_pow_tag_sw_null()
1841 * This function sets the group mask for a core. The group mask
1861 * This function sets POW static priorities for a core. Each input queue has
1866 * Highest priority is 0 and lowest is 7. A priority value
1870 * {0,1,1,1,1,1,1,1} is a valid configuration while
1912 * Performs a tag switch and then an immediate deschedule. This completes
1931 * - If there is a pending switch to ORDERED at the time
1937 * that they have a (next) state of ATOMIC when they
1995 * Performs a tag switch and then an immediate deschedule. This completes
2000 * calling code may call this function with a pending tag switch.
2014 * - If there is a pending switch to ORDERED at the time
2020 * that they have a (next) state of ATOMIC when they
2045 * Ensure that there is not a pending tag switch, as a tag in cvmx_pow_tag_sw_desched()
2046 * switch cannot be started if a previous switch is still in cvmx_pow_tag_sw_desched()
2100 * a contiguous block of the high starting at bit 31. The hardware
2115 * - the upper 8 bits (bits 23 - 16 of the tag) define a subgroup
2121 * software - refer to the hardware documentation for a description of
2138 * This function creates a 32 bit tag value from the two values provided.
2187 * buffer. It is recommended that you pass a buffer of at least
2200 * Dump a POW capture to the console in a human readable format.