aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/isci/remote_node_table.c
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2011-06-30 22:14:33 -0400
committerDan Williams <dan.j.williams@intel.com>2011-07-03 07:04:52 -0400
commit89a7301f21fb00e753089671eb9e4132aab8ea08 (patch)
treeafa8bac0a36d0d5626997d8995f6c9194aef3a0f /drivers/scsi/isci/remote_node_table.c
parentd9dcb4ba791de2a06b19ac47cd61601cf3d4e208 (diff)
isci: retire scic_sds_ and scic_ prefixes
The distinction between scic_sds_ scic_ and sci_ are no longer relevant so just unify the prefixes on sci_. The distinction between isci_ and sci_ is historically significant, and useful for comparing the old 'core' to the current Linux driver. 'sci_' represents the former core as well as the routines that are closer to the hardware and protocol than their 'isci_' brethren. sci == sas controller interface. Also unwind the 'sds1' out of the parameter structs. Reported-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'drivers/scsi/isci/remote_node_table.c')
-rw-r--r--drivers/scsi/isci/remote_node_table.c114
1 files changed, 57 insertions, 57 deletions
diff --git a/drivers/scsi/isci/remote_node_table.c b/drivers/scsi/isci/remote_node_table.c
index 6b9465a5a217..301b3141945e 100644
--- a/drivers/scsi/isci/remote_node_table.c
+++ b/drivers/scsi/isci/remote_node_table.c
@@ -74,8 +74,8 @@
74 * just bit position. u32 This is the absolute bit position for an available 74 * just bit position. u32 This is the absolute bit position for an available
75 * group. 75 * group.
76 */ 76 */
77static u32 scic_sds_remote_node_table_get_group_index( 77static u32 sci_remote_node_table_get_group_index(
78 struct scic_remote_node_table *remote_node_table, 78 struct sci_remote_node_table *remote_node_table,
79 u32 group_table_index) 79 u32 group_table_index)
80{ 80{
81 u32 dword_index; 81 u32 dword_index;
@@ -108,8 +108,8 @@ static u32 scic_sds_remote_node_table_get_group_index(
108 * This method will clear the group index entry in the specified group index 108 * This method will clear the group index entry in the specified group index
109 * table. none 109 * table. none
110 */ 110 */
111static void scic_sds_remote_node_table_clear_group_index( 111static void sci_remote_node_table_clear_group_index(
112 struct scic_remote_node_table *remote_node_table, 112 struct sci_remote_node_table *remote_node_table,
113 u32 group_table_index, 113 u32 group_table_index,
114 u32 group_index) 114 u32 group_index)
115{ 115{
@@ -138,8 +138,8 @@ static void scic_sds_remote_node_table_clear_group_index(
138 * This method will set the group index bit entry in the specified gropu index 138 * This method will set the group index bit entry in the specified gropu index
139 * table. none 139 * table. none
140 */ 140 */
141static void scic_sds_remote_node_table_set_group_index( 141static void sci_remote_node_table_set_group_index(
142 struct scic_remote_node_table *remote_node_table, 142 struct sci_remote_node_table *remote_node_table,
143 u32 group_table_index, 143 u32 group_table_index,
144 u32 group_index) 144 u32 group_index)
145{ 145{
@@ -167,8 +167,8 @@ static void scic_sds_remote_node_table_set_group_index(
167 * This method will set the remote to available in the remote node allocation 167 * This method will set the remote to available in the remote node allocation
168 * table. none 168 * table. none
169 */ 169 */
170static void scic_sds_remote_node_table_set_node_index( 170static void sci_remote_node_table_set_node_index(
171 struct scic_remote_node_table *remote_node_table, 171 struct sci_remote_node_table *remote_node_table,
172 u32 remote_node_index) 172 u32 remote_node_index)
173{ 173{
174 u32 dword_location; 174 u32 dword_location;
@@ -200,8 +200,8 @@ static void scic_sds_remote_node_table_set_node_index(
200 * This method clears the remote node index from the table of available remote 200 * This method clears the remote node index from the table of available remote
201 * nodes. none 201 * nodes. none
202 */ 202 */
203static void scic_sds_remote_node_table_clear_node_index( 203static void sci_remote_node_table_clear_node_index(
204 struct scic_remote_node_table *remote_node_table, 204 struct sci_remote_node_table *remote_node_table,
205 u32 remote_node_index) 205 u32 remote_node_index)
206{ 206{
207 u32 dword_location; 207 u32 dword_location;
@@ -231,8 +231,8 @@ static void scic_sds_remote_node_table_clear_node_index(
231 * 231 *
232 * This method clears the entire table slot at the specified slot index. none 232 * This method clears the entire table slot at the specified slot index. none
233 */ 233 */
234static void scic_sds_remote_node_table_clear_group( 234static void sci_remote_node_table_clear_group(
235 struct scic_remote_node_table *remote_node_table, 235 struct sci_remote_node_table *remote_node_table,
236 u32 group_index) 236 u32 group_index)
237{ 237{
238 u32 dword_location; 238 u32 dword_location;
@@ -258,8 +258,8 @@ static void scic_sds_remote_node_table_clear_group(
258 * 258 *
259 * THis method sets an entire remote node group in the remote node table. 259 * THis method sets an entire remote node group in the remote node table.
260 */ 260 */
261static void scic_sds_remote_node_table_set_group( 261static void sci_remote_node_table_set_group(
262 struct scic_remote_node_table *remote_node_table, 262 struct sci_remote_node_table *remote_node_table,
263 u32 group_index) 263 u32 group_index)
264{ 264{
265 u32 dword_location; 265 u32 dword_location;
@@ -288,8 +288,8 @@ static void scic_sds_remote_node_table_set_group(
288 * This method will return the group value for the specified group index. The 288 * This method will return the group value for the specified group index. The
289 * bit values at the specified remote node group index. 289 * bit values at the specified remote node group index.
290 */ 290 */
291static u8 scic_sds_remote_node_table_get_group_value( 291static u8 sci_remote_node_table_get_group_value(
292 struct scic_remote_node_table *remote_node_table, 292 struct sci_remote_node_table *remote_node_table,
293 u32 group_index) 293 u32 group_index)
294{ 294{
295 u32 dword_location; 295 u32 dword_location;
@@ -313,8 +313,8 @@ static u8 scic_sds_remote_node_table_get_group_value(
313 * 313 *
314 * This method will initialize the remote node table for use. none 314 * This method will initialize the remote node table for use. none
315 */ 315 */
316void scic_sds_remote_node_table_initialize( 316void sci_remote_node_table_initialize(
317 struct scic_remote_node_table *remote_node_table, 317 struct sci_remote_node_table *remote_node_table,
318 u32 remote_node_entries) 318 u32 remote_node_entries)
319{ 319{
320 u32 index; 320 u32 index;
@@ -342,7 +342,7 @@ void scic_sds_remote_node_table_initialize(
342 342
343 /* Initialize each full DWORD to a FULL SET of remote nodes */ 343 /* Initialize each full DWORD to a FULL SET of remote nodes */
344 for (index = 0; index < remote_node_entries; index++) { 344 for (index = 0; index < remote_node_entries; index++) {
345 scic_sds_remote_node_table_set_node_index(remote_node_table, index); 345 sci_remote_node_table_set_node_index(remote_node_table, index);
346 } 346 }
347 347
348 remote_node_table->group_array_size = (u16) 348 remote_node_table->group_array_size = (u16)
@@ -353,14 +353,14 @@ void scic_sds_remote_node_table_initialize(
353 /* 353 /*
354 * These are all guaranteed to be full slot values so fill them in the 354 * These are all guaranteed to be full slot values so fill them in the
355 * available sets of 3 remote nodes */ 355 * available sets of 3 remote nodes */
356 scic_sds_remote_node_table_set_group_index(remote_node_table, 2, index); 356 sci_remote_node_table_set_group_index(remote_node_table, 2, index);
357 } 357 }
358 358
359 /* Now fill in any remainders that we may find */ 359 /* Now fill in any remainders that we may find */
360 if ((remote_node_entries % SCU_STP_REMOTE_NODE_COUNT) == 2) { 360 if ((remote_node_entries % SCU_STP_REMOTE_NODE_COUNT) == 2) {
361 scic_sds_remote_node_table_set_group_index(remote_node_table, 1, index); 361 sci_remote_node_table_set_group_index(remote_node_table, 1, index);
362 } else if ((remote_node_entries % SCU_STP_REMOTE_NODE_COUNT) == 1) { 362 } else if ((remote_node_entries % SCU_STP_REMOTE_NODE_COUNT) == 1) {
363 scic_sds_remote_node_table_set_group_index(remote_node_table, 0, index); 363 sci_remote_node_table_set_group_index(remote_node_table, 0, index);
364 } 364 }
365} 365}
366 366
@@ -379,8 +379,8 @@ void scic_sds_remote_node_table_initialize(
379 * updated. The RNi value or an invalid remote node context if an RNi can not 379 * updated. The RNi value or an invalid remote node context if an RNi can not
380 * be found. 380 * be found.
381 */ 381 */
382static u16 scic_sds_remote_node_table_allocate_single_remote_node( 382static u16 sci_remote_node_table_allocate_single_remote_node(
383 struct scic_remote_node_table *remote_node_table, 383 struct sci_remote_node_table *remote_node_table,
384 u32 group_table_index) 384 u32 group_table_index)
385{ 385{
386 u8 index; 386 u8 index;
@@ -388,12 +388,12 @@ static u16 scic_sds_remote_node_table_allocate_single_remote_node(
388 u32 group_index; 388 u32 group_index;
389 u16 remote_node_index = SCIC_SDS_REMOTE_NODE_CONTEXT_INVALID_INDEX; 389 u16 remote_node_index = SCIC_SDS_REMOTE_NODE_CONTEXT_INVALID_INDEX;
390 390
391 group_index = scic_sds_remote_node_table_get_group_index( 391 group_index = sci_remote_node_table_get_group_index(
392 remote_node_table, group_table_index); 392 remote_node_table, group_table_index);
393 393
394 /* We could not find an available slot in the table selector 0 */ 394 /* We could not find an available slot in the table selector 0 */
395 if (group_index != SCIC_SDS_REMOTE_NODE_TABLE_INVALID_INDEX) { 395 if (group_index != SCIC_SDS_REMOTE_NODE_TABLE_INVALID_INDEX) {
396 group_value = scic_sds_remote_node_table_get_group_value( 396 group_value = sci_remote_node_table_get_group_value(
397 remote_node_table, group_index); 397 remote_node_table, group_index);
398 398
399 for (index = 0; index < SCU_STP_REMOTE_NODE_COUNT; index++) { 399 for (index = 0; index < SCU_STP_REMOTE_NODE_COUNT; index++) {
@@ -402,16 +402,16 @@ static u16 scic_sds_remote_node_table_allocate_single_remote_node(
402 remote_node_index = (u16)(group_index * SCU_STP_REMOTE_NODE_COUNT 402 remote_node_index = (u16)(group_index * SCU_STP_REMOTE_NODE_COUNT
403 + index); 403 + index);
404 404
405 scic_sds_remote_node_table_clear_group_index( 405 sci_remote_node_table_clear_group_index(
406 remote_node_table, group_table_index, group_index 406 remote_node_table, group_table_index, group_index
407 ); 407 );
408 408
409 scic_sds_remote_node_table_clear_node_index( 409 sci_remote_node_table_clear_node_index(
410 remote_node_table, remote_node_index 410 remote_node_table, remote_node_index
411 ); 411 );
412 412
413 if (group_table_index > 0) { 413 if (group_table_index > 0) {
414 scic_sds_remote_node_table_set_group_index( 414 sci_remote_node_table_set_group_index(
415 remote_node_table, group_table_index - 1, group_index 415 remote_node_table, group_table_index - 1, group_index
416 ); 416 );
417 } 417 }
@@ -436,24 +436,24 @@ static u16 scic_sds_remote_node_table_allocate_single_remote_node(
436 * The remote node index that represents three consecutive remote node entries 436 * The remote node index that represents three consecutive remote node entries
437 * or an invalid remote node context if none can be found. 437 * or an invalid remote node context if none can be found.
438 */ 438 */
439static u16 scic_sds_remote_node_table_allocate_triple_remote_node( 439static u16 sci_remote_node_table_allocate_triple_remote_node(
440 struct scic_remote_node_table *remote_node_table, 440 struct sci_remote_node_table *remote_node_table,
441 u32 group_table_index) 441 u32 group_table_index)
442{ 442{
443 u32 group_index; 443 u32 group_index;
444 u16 remote_node_index = SCIC_SDS_REMOTE_NODE_CONTEXT_INVALID_INDEX; 444 u16 remote_node_index = SCIC_SDS_REMOTE_NODE_CONTEXT_INVALID_INDEX;
445 445
446 group_index = scic_sds_remote_node_table_get_group_index( 446 group_index = sci_remote_node_table_get_group_index(
447 remote_node_table, group_table_index); 447 remote_node_table, group_table_index);
448 448
449 if (group_index != SCIC_SDS_REMOTE_NODE_TABLE_INVALID_INDEX) { 449 if (group_index != SCIC_SDS_REMOTE_NODE_TABLE_INVALID_INDEX) {
450 remote_node_index = (u16)group_index * SCU_STP_REMOTE_NODE_COUNT; 450 remote_node_index = (u16)group_index * SCU_STP_REMOTE_NODE_COUNT;
451 451
452 scic_sds_remote_node_table_clear_group_index( 452 sci_remote_node_table_clear_group_index(
453 remote_node_table, group_table_index, group_index 453 remote_node_table, group_table_index, group_index
454 ); 454 );
455 455
456 scic_sds_remote_node_table_clear_group( 456 sci_remote_node_table_clear_group(
457 remote_node_table, group_index 457 remote_node_table, group_index
458 ); 458 );
459 } 459 }
@@ -473,31 +473,31 @@ static u16 scic_sds_remote_node_table_allocate_triple_remote_node(
473 * SCU_SSP_REMOTE_NODE_COUNT(1) or SCU_STP_REMOTE_NODE_COUNT(3). u16 This is 473 * SCU_SSP_REMOTE_NODE_COUNT(1) or SCU_STP_REMOTE_NODE_COUNT(3). u16 This is
474 * the remote node index that is returned or an invalid remote node context. 474 * the remote node index that is returned or an invalid remote node context.
475 */ 475 */
476u16 scic_sds_remote_node_table_allocate_remote_node( 476u16 sci_remote_node_table_allocate_remote_node(
477 struct scic_remote_node_table *remote_node_table, 477 struct sci_remote_node_table *remote_node_table,
478 u32 remote_node_count) 478 u32 remote_node_count)
479{ 479{
480 u16 remote_node_index = SCIC_SDS_REMOTE_NODE_CONTEXT_INVALID_INDEX; 480 u16 remote_node_index = SCIC_SDS_REMOTE_NODE_CONTEXT_INVALID_INDEX;
481 481
482 if (remote_node_count == SCU_SSP_REMOTE_NODE_COUNT) { 482 if (remote_node_count == SCU_SSP_REMOTE_NODE_COUNT) {
483 remote_node_index = 483 remote_node_index =
484 scic_sds_remote_node_table_allocate_single_remote_node( 484 sci_remote_node_table_allocate_single_remote_node(
485 remote_node_table, 0); 485 remote_node_table, 0);
486 486
487 if (remote_node_index == SCIC_SDS_REMOTE_NODE_CONTEXT_INVALID_INDEX) { 487 if (remote_node_index == SCIC_SDS_REMOTE_NODE_CONTEXT_INVALID_INDEX) {
488 remote_node_index = 488 remote_node_index =
489 scic_sds_remote_node_table_allocate_single_remote_node( 489 sci_remote_node_table_allocate_single_remote_node(
490 remote_node_table, 1); 490 remote_node_table, 1);
491 } 491 }
492 492
493 if (remote_node_index == SCIC_SDS_REMOTE_NODE_CONTEXT_INVALID_INDEX) { 493 if (remote_node_index == SCIC_SDS_REMOTE_NODE_CONTEXT_INVALID_INDEX) {
494 remote_node_index = 494 remote_node_index =
495 scic_sds_remote_node_table_allocate_single_remote_node( 495 sci_remote_node_table_allocate_single_remote_node(
496 remote_node_table, 2); 496 remote_node_table, 2);
497 } 497 }
498 } else if (remote_node_count == SCU_STP_REMOTE_NODE_COUNT) { 498 } else if (remote_node_count == SCU_STP_REMOTE_NODE_COUNT) {
499 remote_node_index = 499 remote_node_index =
500 scic_sds_remote_node_table_allocate_triple_remote_node( 500 sci_remote_node_table_allocate_triple_remote_node(
501 remote_node_table, 2); 501 remote_node_table, 2);
502 } 502 }
503 503
@@ -511,8 +511,8 @@ u16 scic_sds_remote_node_table_allocate_remote_node(
511 * This method will free a single remote node index back to the remote node 511 * This method will free a single remote node index back to the remote node
512 * table. This routine will update the remote node groups 512 * table. This routine will update the remote node groups
513 */ 513 */
514static void scic_sds_remote_node_table_release_single_remote_node( 514static void sci_remote_node_table_release_single_remote_node(
515 struct scic_remote_node_table *remote_node_table, 515 struct sci_remote_node_table *remote_node_table,
516 u16 remote_node_index) 516 u16 remote_node_index)
517{ 517{
518 u32 group_index; 518 u32 group_index;
@@ -520,7 +520,7 @@ static void scic_sds_remote_node_table_release_single_remote_node(
520 520
521 group_index = remote_node_index / SCU_STP_REMOTE_NODE_COUNT; 521 group_index = remote_node_index / SCU_STP_REMOTE_NODE_COUNT;
522 522
523 group_value = scic_sds_remote_node_table_get_group_value(remote_node_table, group_index); 523 group_value = sci_remote_node_table_get_group_value(remote_node_table, group_index);
524 524
525 /* 525 /*
526 * Assert that we are not trying to add an entry to a slot that is already 526 * Assert that we are not trying to add an entry to a slot that is already
@@ -531,22 +531,22 @@ static void scic_sds_remote_node_table_release_single_remote_node(
531 /* 531 /*
532 * There are no entries in this slot so it must be added to the single 532 * There are no entries in this slot so it must be added to the single
533 * slot table. */ 533 * slot table. */
534 scic_sds_remote_node_table_set_group_index(remote_node_table, 0, group_index); 534 sci_remote_node_table_set_group_index(remote_node_table, 0, group_index);
535 } else if ((group_value & (group_value - 1)) == 0) { 535 } else if ((group_value & (group_value - 1)) == 0) {
536 /* 536 /*
537 * There is only one entry in this slot so it must be moved from the 537 * There is only one entry in this slot so it must be moved from the
538 * single slot table to the dual slot table */ 538 * single slot table to the dual slot table */
539 scic_sds_remote_node_table_clear_group_index(remote_node_table, 0, group_index); 539 sci_remote_node_table_clear_group_index(remote_node_table, 0, group_index);
540 scic_sds_remote_node_table_set_group_index(remote_node_table, 1, group_index); 540 sci_remote_node_table_set_group_index(remote_node_table, 1, group_index);
541 } else { 541 } else {
542 /* 542 /*
543 * There are two entries in the slot so it must be moved from the dual 543 * There are two entries in the slot so it must be moved from the dual
544 * slot table to the tripple slot table. */ 544 * slot table to the tripple slot table. */
545 scic_sds_remote_node_table_clear_group_index(remote_node_table, 1, group_index); 545 sci_remote_node_table_clear_group_index(remote_node_table, 1, group_index);
546 scic_sds_remote_node_table_set_group_index(remote_node_table, 2, group_index); 546 sci_remote_node_table_set_group_index(remote_node_table, 2, group_index);
547 } 547 }
548 548
549 scic_sds_remote_node_table_set_node_index(remote_node_table, remote_node_index); 549 sci_remote_node_table_set_node_index(remote_node_table, remote_node_index);
550} 550}
551 551
552/** 552/**
@@ -557,19 +557,19 @@ static void scic_sds_remote_node_table_release_single_remote_node(
557 * This method will release a group of three consecutive remote nodes back to 557 * This method will release a group of three consecutive remote nodes back to
558 * the free remote nodes. 558 * the free remote nodes.
559 */ 559 */
560static void scic_sds_remote_node_table_release_triple_remote_node( 560static void sci_remote_node_table_release_triple_remote_node(
561 struct scic_remote_node_table *remote_node_table, 561 struct sci_remote_node_table *remote_node_table,
562 u16 remote_node_index) 562 u16 remote_node_index)
563{ 563{
564 u32 group_index; 564 u32 group_index;
565 565
566 group_index = remote_node_index / SCU_STP_REMOTE_NODE_COUNT; 566 group_index = remote_node_index / SCU_STP_REMOTE_NODE_COUNT;
567 567
568 scic_sds_remote_node_table_set_group_index( 568 sci_remote_node_table_set_group_index(
569 remote_node_table, 2, group_index 569 remote_node_table, 2, group_index
570 ); 570 );
571 571
572 scic_sds_remote_node_table_set_group(remote_node_table, group_index); 572 sci_remote_node_table_set_group(remote_node_table, group_index);
573} 573}
574 574
575/** 575/**
@@ -582,16 +582,16 @@ static void scic_sds_remote_node_table_release_triple_remote_node(
582 * This method will release the remote node index back into the remote node 582 * This method will release the remote node index back into the remote node
583 * table free pool. 583 * table free pool.
584 */ 584 */
585void scic_sds_remote_node_table_release_remote_node_index( 585void sci_remote_node_table_release_remote_node_index(
586 struct scic_remote_node_table *remote_node_table, 586 struct sci_remote_node_table *remote_node_table,
587 u32 remote_node_count, 587 u32 remote_node_count,
588 u16 remote_node_index) 588 u16 remote_node_index)
589{ 589{
590 if (remote_node_count == SCU_SSP_REMOTE_NODE_COUNT) { 590 if (remote_node_count == SCU_SSP_REMOTE_NODE_COUNT) {
591 scic_sds_remote_node_table_release_single_remote_node( 591 sci_remote_node_table_release_single_remote_node(
592 remote_node_table, remote_node_index); 592 remote_node_table, remote_node_index);
593 } else if (remote_node_count == SCU_STP_REMOTE_NODE_COUNT) { 593 } else if (remote_node_count == SCU_STP_REMOTE_NODE_COUNT) {
594 scic_sds_remote_node_table_release_triple_remote_node( 594 sci_remote_node_table_release_triple_remote_node(
595 remote_node_table, remote_node_index); 595 remote_node_table, remote_node_index);
596 } 596 }
597} 597}