aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/aic7xxx/aic79xx.h
diff options
context:
space:
mode:
authorHannes Reinecke <hare@suse.de>2007-10-19 04:32:21 -0400
committerJames Bottomley <jejb@mulgrave.localdomain>2007-10-21 12:10:50 -0400
commitb5720729f58a4a05b0e2c8c61ac3ed3a3e9f94e5 (patch)
tree7f1271417db63a27474d50d3e43e399a5cef4d93 /drivers/scsi/aic7xxx/aic79xx.h
parenteb7a1698d24783dd215cb86a12cadebe9b4e7046 (diff)
[SCSI] aic7xxx: Add suspend/resume support
The aic7xxx driver already contains fragments for suspend/resume support. So we only need to update them to the current interface and have full PCI suspend/resume. Signed-off-by: Hannes Reinecke <hare@suse.de> Tested-by: Jens Axboe <jens.axboe@oracle.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi/aic7xxx/aic79xx.h')
-rw-r--r--drivers/scsi/aic7xxx/aic79xx.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/scsi/aic7xxx/aic79xx.h b/drivers/scsi/aic7xxx/aic79xx.h
index 27adbb294ac..ce638aa6005 100644
--- a/drivers/scsi/aic7xxx/aic79xx.h
+++ b/drivers/scsi/aic7xxx/aic79xx.h
@@ -1003,8 +1003,15 @@ struct ahd_suspend_channel_state {
1003 uint8_t seqctl; 1003 uint8_t seqctl;
1004}; 1004};
1005 1005
1006struct ahd_suspend_pci_state {
1007 uint32_t devconfig;
1008 uint8_t command;
1009 uint8_t csize_lattime;
1010};
1011
1006struct ahd_suspend_state { 1012struct ahd_suspend_state {
1007 struct ahd_suspend_channel_state channel[2]; 1013 struct ahd_suspend_channel_state channel[2];
1014 struct ahd_suspend_pci_state pci_state;
1008 uint8_t optionmode; 1015 uint8_t optionmode;
1009 uint8_t dscommand0; 1016 uint8_t dscommand0;
1010 uint8_t dspcistatus; 1017 uint8_t dspcistatus;
@@ -1333,6 +1340,8 @@ struct ahd_pci_identity *ahd_find_pci_device(ahd_dev_softc_t);
1333int ahd_pci_config(struct ahd_softc *, 1340int ahd_pci_config(struct ahd_softc *,
1334 struct ahd_pci_identity *); 1341 struct ahd_pci_identity *);
1335int ahd_pci_test_register_access(struct ahd_softc *); 1342int ahd_pci_test_register_access(struct ahd_softc *);
1343void ahd_pci_suspend(struct ahd_softc *);
1344void ahd_pci_resume(struct ahd_softc *);
1336 1345
1337/************************** SCB and SCB queue management **********************/ 1346/************************** SCB and SCB queue management **********************/
1338void ahd_qinfifo_requeue_tail(struct ahd_softc *ahd, 1347void ahd_qinfifo_requeue_tail(struct ahd_softc *ahd,
@@ -1343,6 +1352,8 @@ struct ahd_softc *ahd_alloc(void *platform_arg, char *name);
1343int ahd_softc_init(struct ahd_softc *); 1352int ahd_softc_init(struct ahd_softc *);
1344void ahd_controller_info(struct ahd_softc *ahd, char *buf); 1353void ahd_controller_info(struct ahd_softc *ahd, char *buf);
1345int ahd_init(struct ahd_softc *ahd); 1354int ahd_init(struct ahd_softc *ahd);
1355int ahd_suspend(struct ahd_softc *ahd);
1356void ahd_resume(struct ahd_softc *ahd);
1346int ahd_default_config(struct ahd_softc *ahd); 1357int ahd_default_config(struct ahd_softc *ahd);
1347int ahd_parse_vpddata(struct ahd_softc *ahd, 1358int ahd_parse_vpddata(struct ahd_softc *ahd,
1348 struct vpd_config *vpd); 1359 struct vpd_config *vpd);