|
Lines 1346-1370
ahd_platform_set_tags(struct ahd_softc *
Link Here
|
| 1346 |
|
1346 |
|
| 1347 |
switch ((dev->flags & (AHD_DEV_Q_BASIC|AHD_DEV_Q_TAGGED))) { |
1347 |
switch ((dev->flags & (AHD_DEV_Q_BASIC|AHD_DEV_Q_TAGGED))) { |
| 1348 |
case AHD_DEV_Q_BASIC: |
1348 |
case AHD_DEV_Q_BASIC: |
| 1349 |
scsi_adjust_queue_depth(sdev, |
1349 |
scsi_set_tag_type(sdev, MSG_SIMPLE_TASK); |
| 1350 |
MSG_SIMPLE_TASK, |
1350 |
scsi_activate_tcq(sdev, dev->openings + dev->active); |
| 1351 |
dev->openings + dev->active); |
|
|
| 1352 |
break; |
1351 |
break; |
| 1353 |
case AHD_DEV_Q_TAGGED: |
1352 |
case AHD_DEV_Q_TAGGED: |
| 1354 |
scsi_adjust_queue_depth(sdev, |
1353 |
scsi_set_tag_type(sdev, MSG_ORDERED_TASK); |
| 1355 |
MSG_ORDERED_TASK, |
1354 |
scsi_activate_tcq(sdev, dev->openings + dev->active); |
| 1356 |
dev->openings + dev->active); |
|
|
| 1357 |
break; |
1355 |
break; |
| 1358 |
default: |
1356 |
default: |
| 1359 |
/* |
1357 |
scsi_deactivate_tcq(sdev, 1); |
| 1360 |
* We allow the OS to queue 2 untagged transactions to |
|
|
| 1361 |
* us at any time even though we can only execute them |
| 1362 |
* serially on the controller/device. This should |
| 1363 |
* remove some latency. |
| 1364 |
*/ |
| 1365 |
scsi_adjust_queue_depth(sdev, |
| 1366 |
/*NON-TAGGED*/0, |
| 1367 |
/*queue depth*/2); |
| 1368 |
break; |
1358 |
break; |
| 1369 |
} |
1359 |
} |
| 1370 |
} |
1360 |
} |