diff options
Diffstat (limited to 'include/scsi/scsi_host.h')
-rw-r--r-- | include/scsi/scsi_host.h | 44 |
1 files changed, 25 insertions, 19 deletions
diff --git a/include/scsi/scsi_host.h b/include/scsi/scsi_host.h index 5c58d594126a..d1299e999723 100644 --- a/include/scsi/scsi_host.h +++ b/include/scsi/scsi_host.h | |||
@@ -280,39 +280,45 @@ struct scsi_host_template { | |||
280 | * If the host wants to be called before the scan starts, but | 280 | * If the host wants to be called before the scan starts, but |
281 | * after the midlayer has set up ready for the scan, it can fill | 281 | * after the midlayer has set up ready for the scan, it can fill |
282 | * in this function. | 282 | * in this function. |
283 | * | ||
284 | * Status: OPTIONAL | ||
283 | */ | 285 | */ |
284 | void (* scan_start)(struct Scsi_Host *); | 286 | void (* scan_start)(struct Scsi_Host *); |
285 | 287 | ||
286 | /* | 288 | /* |
287 | * fill in this function to allow the queue depth of this host | 289 | * Fill in this function to allow the queue depth of this host |
288 | * to be changeable (on a per device basis). returns either | 290 | * to be changeable (on a per device basis). Returns either |
289 | * the current queue depth setting (may be different from what | 291 | * the current queue depth setting (may be different from what |
290 | * was passed in) or an error. An error should only be | 292 | * was passed in) or an error. An error should only be |
291 | * returned if the requested depth is legal but the driver was | 293 | * returned if the requested depth is legal but the driver was |
292 | * unable to set it. If the requested depth is illegal, the | 294 | * unable to set it. If the requested depth is illegal, the |
293 | * driver should set and return the closest legal queue depth. | 295 | * driver should set and return the closest legal queue depth. |
294 | * | 296 | * |
297 | * Status: OPTIONAL | ||
295 | */ | 298 | */ |
296 | int (* change_queue_depth)(struct scsi_device *, int); | 299 | int (* change_queue_depth)(struct scsi_device *, int); |
297 | 300 | ||
298 | /* | 301 | /* |
299 | * fill in this function to allow the changing of tag types | 302 | * Fill in this function to allow the changing of tag types |
300 | * (this also allows the enabling/disabling of tag command | 303 | * (this also allows the enabling/disabling of tag command |
301 | * queueing). An error should only be returned if something | 304 | * queueing). An error should only be returned if something |
302 | * went wrong in the driver while trying to set the tag type. | 305 | * went wrong in the driver while trying to set the tag type. |
303 | * If the driver doesn't support the requested tag type, then | 306 | * If the driver doesn't support the requested tag type, then |
304 | * it should set the closest type it does support without | 307 | * it should set the closest type it does support without |
305 | * returning an error. Returns the actual tag type set. | 308 | * returning an error. Returns the actual tag type set. |
309 | * | ||
310 | * Status: OPTIONAL | ||
306 | */ | 311 | */ |
307 | int (* change_queue_type)(struct scsi_device *, int); | 312 | int (* change_queue_type)(struct scsi_device *, int); |
308 | 313 | ||
309 | /* | 314 | /* |
310 | * This function determines the bios parameters for a given | 315 | * This function determines the BIOS parameters for a given |
311 | * harddisk. These tend to be numbers that are made up by | 316 | * harddisk. These tend to be numbers that are made up by |
312 | * the host adapter. Parameters: | 317 | * the host adapter. Parameters: |
313 | * size, device, list (heads, sectors, cylinders) | 318 | * size, device, list (heads, sectors, cylinders) |
314 | * | 319 | * |
315 | * Status: OPTIONAL */ | 320 | * Status: OPTIONAL |
321 | */ | ||
316 | int (* bios_param)(struct scsi_device *, struct block_device *, | 322 | int (* bios_param)(struct scsi_device *, struct block_device *, |
317 | sector_t, int []); | 323 | sector_t, int []); |
318 | 324 | ||
@@ -351,7 +357,7 @@ struct scsi_host_template { | |||
351 | 357 | ||
352 | /* | 358 | /* |
353 | * This determines if we will use a non-interrupt driven | 359 | * This determines if we will use a non-interrupt driven |
354 | * or an interrupt driven scheme, It is set to the maximum number | 360 | * or an interrupt driven scheme. It is set to the maximum number |
355 | * of simultaneous commands a given host adapter will accept. | 361 | * of simultaneous commands a given host adapter will accept. |
356 | */ | 362 | */ |
357 | int can_queue; | 363 | int can_queue; |
@@ -372,12 +378,12 @@ struct scsi_host_template { | |||
372 | unsigned short sg_tablesize; | 378 | unsigned short sg_tablesize; |
373 | 379 | ||
374 | /* | 380 | /* |
375 | * If the host adapter has limitations beside segment count | 381 | * Set this if the host adapter has limitations beside segment count. |
376 | */ | 382 | */ |
377 | unsigned short max_sectors; | 383 | unsigned short max_sectors; |
378 | 384 | ||
379 | /* | 385 | /* |
380 | * dma scatter gather segment boundary limit. a segment crossing this | 386 | * DMA scatter gather segment boundary limit. A segment crossing this |
381 | * boundary will be split in two. | 387 | * boundary will be split in two. |
382 | */ | 388 | */ |
383 | unsigned long dma_boundary; | 389 | unsigned long dma_boundary; |
@@ -386,7 +392,7 @@ struct scsi_host_template { | |||
386 | * This specifies "machine infinity" for host templates which don't | 392 | * This specifies "machine infinity" for host templates which don't |
387 | * limit the transfer size. Note this limit represents an absolute | 393 | * limit the transfer size. Note this limit represents an absolute |
388 | * maximum, and may be over the transfer limits allowed for | 394 | * maximum, and may be over the transfer limits allowed for |
389 | * individual devices (e.g. 256 for SCSI-1) | 395 | * individual devices (e.g. 256 for SCSI-1). |
390 | */ | 396 | */ |
391 | #define SCSI_DEFAULT_MAX_SECTORS 1024 | 397 | #define SCSI_DEFAULT_MAX_SECTORS 1024 |
392 | 398 | ||
@@ -413,12 +419,12 @@ struct scsi_host_template { | |||
413 | unsigned supported_mode:2; | 419 | unsigned supported_mode:2; |
414 | 420 | ||
415 | /* | 421 | /* |
416 | * true if this host adapter uses unchecked DMA onto an ISA bus. | 422 | * True if this host adapter uses unchecked DMA onto an ISA bus. |
417 | */ | 423 | */ |
418 | unsigned unchecked_isa_dma:1; | 424 | unsigned unchecked_isa_dma:1; |
419 | 425 | ||
420 | /* | 426 | /* |
421 | * true if this host adapter can make good use of clustering. | 427 | * True if this host adapter can make good use of clustering. |
422 | * I originally thought that if the tablesize was large that it | 428 | * I originally thought that if the tablesize was large that it |
423 | * was a waste of CPU cycles to prepare a cluster list, but | 429 | * was a waste of CPU cycles to prepare a cluster list, but |
424 | * it works out that the Buslogic is faster if you use a smaller | 430 | * it works out that the Buslogic is faster if you use a smaller |
@@ -428,7 +434,7 @@ struct scsi_host_template { | |||
428 | unsigned use_clustering:1; | 434 | unsigned use_clustering:1; |
429 | 435 | ||
430 | /* | 436 | /* |
431 | * True for emulated SCSI host adapters (e.g. ATAPI) | 437 | * True for emulated SCSI host adapters (e.g. ATAPI). |
432 | */ | 438 | */ |
433 | unsigned emulated:1; | 439 | unsigned emulated:1; |
434 | 440 | ||
@@ -438,12 +444,12 @@ struct scsi_host_template { | |||
438 | unsigned skip_settle_delay:1; | 444 | unsigned skip_settle_delay:1; |
439 | 445 | ||
440 | /* | 446 | /* |
441 | * ordered write support | 447 | * True if we are using ordered write support. |
442 | */ | 448 | */ |
443 | unsigned ordered_tag:1; | 449 | unsigned ordered_tag:1; |
444 | 450 | ||
445 | /* | 451 | /* |
446 | * Countdown for host blocking with no commands outstanding | 452 | * Countdown for host blocking with no commands outstanding. |
447 | */ | 453 | */ |
448 | unsigned int max_host_blocked; | 454 | unsigned int max_host_blocked; |
449 | 455 | ||
@@ -522,8 +528,8 @@ struct Scsi_Host { | |||
522 | struct scsi_transport_template *transportt; | 528 | struct scsi_transport_template *transportt; |
523 | 529 | ||
524 | /* | 530 | /* |
525 | * area to keep a shared tag map (if needed, will be | 531 | * Area to keep a shared tag map (if needed, will be |
526 | * NULL if not) | 532 | * NULL if not). |
527 | */ | 533 | */ |
528 | struct blk_queue_tag *bqt; | 534 | struct blk_queue_tag *bqt; |
529 | 535 | ||
@@ -596,16 +602,16 @@ struct Scsi_Host { | |||
596 | /* | 602 | /* |
597 | * Host uses correct SCSI ordering not PC ordering. The bit is | 603 | * Host uses correct SCSI ordering not PC ordering. The bit is |
598 | * set for the minority of drivers whose authors actually read | 604 | * set for the minority of drivers whose authors actually read |
599 | * the spec ;) | 605 | * the spec ;). |
600 | */ | 606 | */ |
601 | unsigned reverse_ordering:1; | 607 | unsigned reverse_ordering:1; |
602 | 608 | ||
603 | /* | 609 | /* |
604 | * ordered write support | 610 | * Ordered write support |
605 | */ | 611 | */ |
606 | unsigned ordered_tag:1; | 612 | unsigned ordered_tag:1; |
607 | 613 | ||
608 | /* task mgmt function in progress */ | 614 | /* Task mgmt function in progress */ |
609 | unsigned tmf_in_progress:1; | 615 | unsigned tmf_in_progress:1; |
610 | 616 | ||
611 | /* Asynchronous scan in progress */ | 617 | /* Asynchronous scan in progress */ |