N_SLOTS
for (slot = 0; slot < N_SLOTS; slot++) {
for (slot = 0; slot < N_SLOTS; slot++) {
fas_set_throttles(fas, 0, N_SLOTS, HOLD_THROTTLE);
fas_set_throttles(fas, 0, N_SLOTS, MAX_THROTTLE);
fas_set_throttles(fas, 0, N_SLOTS, MAX_THROTTLE);
fas_set_throttles(fas, 0, N_SLOTS, HOLD_THROTTLE);
for (slot = 0; slot < N_SLOTS; slot += d)
ASSERT((n == 1) || (n == N_SLOTS) || (n == NLUNS_PER_TARGET));
ASSERT((slot + n) <= N_SLOTS);
for (i = 0; i < N_SLOTS; i += NLUNS_PER_TARGET) {
for (i = 0; i < N_SLOTS; i++) {
for (slot = 0; slot < N_SLOTS; slot += d) {
fas_set_throttles(fas, 0, N_SLOTS,
for (i = 0; i < N_SLOTS; i += d) {
for (slot = 0; slot < N_SLOTS; slot += NLUNS_PER_TARGET) {
fas_set_throttles(fas, 0, N_SLOTS, MAX_THROTTLE);
fas_set_throttles(fas, 0, N_SLOTS, HOLD_THROTTLE);
for (slot = 0; slot < N_SLOTS; slot += NLUNS_PER_TARGET) {
for (i = 0; i < N_SLOTS; i++) {
struct f_slots *f_active[N_SLOTS]; /* outstanding cmds */
struct fas_cmd *f_readyf[N_SLOTS]; /* waiting cmds */
struct fas_cmd *f_readyb[N_SLOTS];
short f_throttle[N_SLOTS];
short f_tcmds[N_SLOTS];
struct fas_cmd *f_arq_pkt[N_SLOTS];
#define NEXTSLOT(slot, d) ((slot)+(d)) & ((N_SLOTS)-1)