Linux kernel & device driver programming

Cross-Referenced Linux and Device Driver Code

[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ]
Version: [ 2.6.11.8 ] [ 2.6.25 ] [ 2.6.25.8 ] [ 2.6.31.13 ] Architecture: [ i386 ]
  1 /*
  2  *      ultrastor.c     (C) 1991 David B. Gentzel
  3  *      Low-level scsi driver for UltraStor 14F
  4  *      by David B. Gentzel, Whitfield Software Services, Carnegie, PA
  5  *          (gentzel@nova.enet.dec.com)
  6  *  scatter/gather added by Scott Taylor (n217cg@tamuts.tamu.edu)
  7  *  24F support by John F. Carr (jfc@athena.mit.edu)
  8  *    John's work modified by Caleb Epstein (cae@jpmorgan.com) and 
  9  *    Eric Youngdale (eric@tantalus.nrl.navy.mil).
 10  *      Thanks to UltraStor for providing the necessary documentation
 11  */
 12 
 13 #ifndef _ULTRASTOR_H
 14 #define _ULTRASTOR_H
 15 
 16 static int ultrastor_detect(struct scsi_host_template *);
 17 static const char *ultrastor_info(struct Scsi_Host *shpnt);
 18 static int ultrastor_queuecommand(struct scsi_cmnd *,
 19                                 void (*done)(struct scsi_cmnd *));
 20 static int ultrastor_abort(struct scsi_cmnd *);
 21 static int ultrastor_host_reset(struct scsi_cmnd *);
 22 static int ultrastor_biosparam(struct scsi_device *, struct block_device *,
 23                                 sector_t, int *);
 24 
 25 
 26 #define ULTRASTOR_14F_MAX_SG 16
 27 #define ULTRASTOR_24F_MAX_SG 33
 28 
 29 #define ULTRASTOR_MAX_CMDS_PER_LUN 5
 30 #define ULTRASTOR_MAX_CMDS 16
 31 
 32 #define ULTRASTOR_24F_PORT 0xC80
 33 
 34 
 35 #ifdef ULTRASTOR_PRIVATE
 36 
 37 #define UD_ABORT        0x0001
 38 #define UD_COMMAND      0x0002
 39 #define UD_DETECT       0x0004
 40 #define UD_INTERRUPT    0x0008
 41 #define UD_RESET        0x0010
 42 #define UD_MULTI_CMD    0x0020
 43 #define UD_CSIR         0x0040
 44 #define UD_ERROR        0x0080
 45 
 46 /* #define PORT_OVERRIDE 0x330 */
 47 
 48 /* Values for the PRODUCT_ID ports for the 14F */
 49 #define US14F_PRODUCT_ID_0 0x56
 50 #define US14F_PRODUCT_ID_1 0x40         /* NOTE: Only upper nibble is used */
 51 
 52 #define US24F_PRODUCT_ID_0 0x56
 53 #define US24F_PRODUCT_ID_1 0x63
 54 #define US24F_PRODUCT_ID_2 0x02
 55 
 56 /* Subversion values */
 57 #define U14F 0
 58 #define U34F 1
 59 
 60 /* MSCP field values */
 61 
 62 /* Opcode */
 63 #define OP_HOST_ADAPTER 0x1
 64 #define OP_SCSI 0x2
 65 #define OP_RESET 0x4
 66 
 67 /* Date Transfer Direction */
 68 #define DTD_SCSI 0x0
 69 #define DTD_IN 0x1
 70 #define DTD_OUT 0x2
 71 #define DTD_NONE 0x3
 72 
 73 /* Host Adapter command subcodes */
 74 #define HA_CMD_INQUIRY 0x1
 75 #define HA_CMD_SELF_DIAG 0x2
 76 #define HA_CMD_READ_BUFF 0x3
 77 #define HA_CMD_WRITE_BUFF 0x4
 78 
 79 #endif
 80 
 81 #endif
 82 
  This page was automatically generated by the LXR engine.