X-Git-Url: http://pilppa.org/gitweb/?a=blobdiff_plain;f=include%2Fscsi%2Fscsi.h;h=82251575a9b45e1a4e24475dc71503deef0223a8;hb=c639d14e2f70d086842d37fb8e4f5ab9bd56af2e;hp=9f8f80ab0c8b4690e2e31d2cba984508007717a0;hpb=d7b8bcb0a0819315a51cae620ff7ae0c1704c069;p=linux-2.6-omap-h63xx.git diff --git a/include/scsi/scsi.h b/include/scsi/scsi.h index 9f8f80ab0c8..82251575a9b 100644 --- a/include/scsi/scsi.h +++ b/include/scsi/scsi.h @@ -11,11 +11,23 @@ #include /* - * The maximum sg list length SCSI can cope with - * (currently must be a power of 2 between 32 and 256) + * The maximum number of SG segments that we will put inside a + * scatterlist (unless chaining is used). Should ideally fit inside a + * single page, to avoid a higher order allocation. We could define this + * to SG_MAX_SINGLE_ALLOC to pack correctly at the highest order. The + * minimum value is 32 */ -#define SCSI_MAX_PHYS_SEGMENTS MAX_PHYS_SEGMENTS +#define SCSI_MAX_SG_SEGMENTS 128 +/* + * Like SCSI_MAX_SG_SEGMENTS, but for archs that have sg chaining. This limit + * is totally arbitrary, a setting of 2048 will get you at least 8mb ios. + */ +#ifdef ARCH_HAS_SG_CHAIN +#define SCSI_MAX_SG_CHAIN_SEGMENTS 2048 +#else +#define SCSI_MAX_SG_CHAIN_SEGMENTS SCSI_MAX_SG_SEGMENTS +#endif /* * SCSI command lengths @@ -90,6 +102,7 @@ extern const unsigned char scsi_command_size[8]; #define READ_TOC 0x43 #define LOG_SELECT 0x4c #define LOG_SENSE 0x4d +#define XDWRITEREAD_10 0x53 #define MODE_SELECT_10 0x55 #define RESERVE_10 0x56 #define RELEASE_10 0x57