atp870u.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. #ifndef _ATP870U_H
  2. #define _ATP870U_H
  3. #include <linux/types.h>
  4. #include <linux/kdev_t.h>
  5. /* I/O Port */
  6. #define MAX_CDB 12
  7. #define MAX_SENSE 14
  8. #define qcnt 32
  9. #define ATP870U_SCATTER 128
  10. #define ATP870U_CMDLUN 1
  11. #define MAX_ADAPTER 8
  12. #define MAX_SCSI_ID 16
  13. #define ATP870U_MAX_SECTORS 128
  14. #define ATP885_DEVID 0x808A
  15. #define ATP880_DEVID1 0x8080
  16. #define ATP880_DEVID2 0x8081
  17. //#define ED_DBGP
  18. struct atp_unit
  19. {
  20. unsigned long baseport;
  21. unsigned long ioport[2];
  22. unsigned long pciport[2];
  23. unsigned long irq;
  24. unsigned char last_cmd[2];
  25. unsigned char in_snd[2];
  26. unsigned char in_int[2];
  27. unsigned char quhd[2];
  28. unsigned char quend[2];
  29. unsigned char global_map[2];
  30. unsigned char chip_ver;
  31. unsigned char scam_on;
  32. unsigned char host_id[2];
  33. unsigned int working[2];
  34. unsigned short wide_id[2];
  35. unsigned short active_id[2];
  36. unsigned short ultra_map[2];
  37. unsigned short async[2];
  38. unsigned short dev_id;
  39. unsigned char sp[2][16];
  40. unsigned char r1f[2][16];
  41. struct scsi_cmnd *quereq[2][qcnt];
  42. struct atp_id
  43. {
  44. unsigned char dirct;
  45. unsigned char devsp;
  46. unsigned char devtype;
  47. unsigned long tran_len;
  48. unsigned long last_len;
  49. unsigned char *prd_pos;
  50. unsigned char *prd_table;
  51. dma_addr_t prdaddr;
  52. struct scsi_cmnd *curr_req;
  53. } id[2][16];
  54. struct Scsi_Host *host;
  55. struct pci_dev *pdev;
  56. unsigned int unit;
  57. };
  58. #endif