summaryrefslogtreecommitdiff
path: root/drivers/s390/cio/device.h
diff options
context:
space:
mode:
authorCornelia Huck <cornelia.huck@de.ibm.com>2006-06-29 17:08:41 +0400
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2006-06-29 17:08:41 +0400
commit94bb063312d872d9269deb2e5c0c7c6d5b0318e1 (patch)
treebef899fbe742ee31d93ff0e077898d4562086f9e /drivers/s390/cio/device.h
parent5b5dd21a8e6652fc8b58a32757575cc7fce2b54d (diff)
downloadlinux-94bb063312d872d9269deb2e5c0c7c6d5b0318e1.tar.xz
[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 {
DEV_STATE_DISCONNECTED,
DEV_STATE_DISCONNECTED_SENSE_ID,
DEV_STATE_CMFCHANGE,
+ DEV_STATE_CMFUPDATE,
/* last element! */
NR_DEV_STATES
};
@@ -118,5 +119,8 @@ int ccw_device_stlck(struct ccw_device *);
void ccw_device_set_timeout(struct ccw_device *, int);
extern struct subchannel_id ccw_device_get_subchannel_id(struct ccw_device *);
+/* Channel measurement facility related */
void retry_set_schib(struct ccw_device *cdev);
+void cmf_retry_copy_block(struct ccw_device *);
+int cmf_reenable(struct ccw_device *);
#endif