aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/cio/device.h
diff options
context:
space:
mode:
authorCornelia Huck <cornelia.huck@de.ibm.com>2006-06-29 09:08:41 -0400
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2006-06-29 09:08:41 -0400
commit94bb063312d872d9269deb2e5c0c7c6d5b0318e1 (patch)
treebef899fbe742ee31d93ff0e077898d4562086f9e /drivers/s390/cio/device.h
parent5b5dd21a8e6652fc8b58a32757575cc7fce2b54d (diff)
[S390] rework of channel measurement facility.
Fixes for several channel measurement facility bugs: * Blocks copied from the hardware might not be consistent. Solve this by moving the copying into idle state and repeating the copying. * avg_sample_interval changed with every read, even though no new block was available. Solve this by storing a timestamp when the last new block was received. * Several locking issues. * Measurements were not reenabled after a disconnected device became available again. * Remove #defines for ioctls that were never implemented. Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'drivers/s390/cio/device.h')
-rw-r--r--drivers/s390/cio/device.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/s390/cio/device.h b/drivers/s390/cio/device.h
index 8e0d1db3dd4e..00be9a5b4acd 100644
--- a/drivers/s390/cio/device.h
+++ b/drivers/s390/cio/device.h
@@ -27,6 +27,7 @@ enum dev_state {
27 DEV_STATE_DISCONNECTED, 27 DEV_STATE_DISCONNECTED,
28 DEV_STATE_DISCONNECTED_SENSE_ID, 28 DEV_STATE_DISCONNECTED_SENSE_ID,
29 DEV_STATE_CMFCHANGE, 29 DEV_STATE_CMFCHANGE,
30 DEV_STATE_CMFUPDATE,
30 /* last element! */ 31 /* last element! */
31 NR_DEV_STATES 32 NR_DEV_STATES
32}; 33};
@@ -118,5 +119,8 @@ int ccw_device_stlck(struct ccw_device *);
118void ccw_device_set_timeout(struct ccw_device *, int); 119void ccw_device_set_timeout(struct ccw_device *, int);
119extern struct subchannel_id ccw_device_get_subchannel_id(struct ccw_device *); 120extern struct subchannel_id ccw_device_get_subchannel_id(struct ccw_device *);
120 121
122/* Channel measurement facility related */
121void retry_set_schib(struct ccw_device *cdev); 123void retry_set_schib(struct ccw_device *cdev);
124void cmf_retry_copy_block(struct ccw_device *);
125int cmf_reenable(struct ccw_device *);
122#endif 126#endif