| Age | Commit message (Collapse) | Author |
|
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
|
Provide functions for assembling and starting fcx enabled I/O request
blocks.
Signed-off-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
|
|
Introduce a shutdown method for the ccw bus that calls the driver
specific shutdown method in struct ccw_driver.
Switch zfcp to the new ccw_driver shutdown method.
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
|
Comment a bunch of function in docbook style and convert existing
comments on structures to docbook.
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
|
|
http://marc.info/?l=linux-kernel&m=118481061928246&w=2 seems to
indicate disfavour of "deprecated", so let's just kill it now.
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
|
The function shouldn't have existed in the first place (not MSS-aware).
Introduce a new function ccw_device_get_id() that extracts the
ccw_dev_id structure of a ccw device and convert all users of
_ccw_device_get_device_number to ccw_device_get_id.
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
|
These helper functions are a leftover from 2.4 sync I/O and are a
notorious source for bugs. They lead to device driver specific code
creeping into cio, and some issues can't really be fixed at all.
Device drivers can easily implement those functions themselves in a
more robust manner, so let's get rid of them.
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
|
The current ccw_device_set_options() sets a specified mask of options
and clears those not specified, but there is no way to find out which
options have already been set.
In order to fix this up, introduce the following interface changes:
ccw_device_set_options() now only sets the specified bits, but does
not clear those that are not specified.
ccw_device_clear_options() clears the specified bits.
ccw_device_set_options_mask() provides the old semantics (setting only
the specified bits and clearing the others).
Device drivers now work as expected. qdio has been adapted.
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
|
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
|
Extract the s390_root_dev_* functions from the common I/O layer as they are
also used by non-ccw device drivers.
Signed-off-by: Carsten Otte <cotte@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
|
cio/qeth changes:
- Add new api to common i/o layer for qeth 1920 device support.
- Add 1920 device support to qeth.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
|
Add code to the dasd driver to select the I/O path based on the path
preferences of the device.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
|
Add interface for key protected i/o.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
|
From: Martin Schwidefsky <schwidefsky@de.ibm.com>
Common i/o layer fixes:
- Remove documentation entry for non-existent cio_notoper_msg parameter.
- Add documentation for availability attritube.
- Replace function of the steal_lock attribute by "echo force" to the
online attribute.
- Trigger device sensing in the online function for unknown devices.
- Always try to get devices online even if they are marked reserved.
Someone could have released the device while it was offline.
- Add try_module_get/module_put pairs to the online function of ccw devices
and ccwgroup devices.
- Add owner field to ccwgroup driver structure. Set owner field in ctc,
lcs and qeth.
- Fix alignment problems in channel measurement block interface.
|
|
From: Martin Schwidefsky <schwidefsky@de.ibm.com>
- Make blacklist busid-aware. Add "all" keyword and ! operator to cio_ignore
kernel parameter.
- Add state change notify function for ccw devices (not mandatory) and
introduce the "device disconnected" state.
- Remove auto offline from remove function for ccw devices to be able to
distinguish between user initiated offline and implicit offline due to
device removal.
- Store pointer to subchannel structure in the (hardware) subchannel intparm
and remove the ioinfo array (hurray...). Remove intparm parameter of
cio_start.
- Use busid instead of subchannel number for debug output.
- Use an opm mask to track which paths are logically online for a subchannel.
- Pathgroup every device it was requested for, even single path devices.
- Give i/o on a logically switched off path a grace period to complete, then
kill the i/o to get the path offline.
- Correctly initialize all spin_locks with spin_lock_init.
- Handle status pending/busy while disabling subchannel.
- Set busid already in cio_validate_subchannel.
- Add s390_root_dev_{register,unregister} functions.
- Do stcrw() inside a kernel thread. Add crw overflow handling.
- Use subchannel lock directly instead of ccw device lock pointer in
ccw_device_recognition to avoid accessing an already free structure.
- Take/release ccw device lock in ccw_device_console_enable.
- Don't wipe out the busid field in ccw_device_console_enable.
- Call ccw_device_unregister() directly on a notoper event - delaying it via
queue_work is harmful (subchannel may be removed before ccw_device).
- Handle not opertional condition in ccw_device_cancel_halt_clear.
- Correct status pending handling: don't collect pending status directly
but wait for the interrupt to show up.
- Enable subchannel when trying a steal lock operation.
- Introduce doverify bit for delayed path verification.
- Fix locking in __ccw_device_retry_loop/read_conf_data/read_dev/chars.
- Make SPID retry mechanism more obvious.
- qdio: check return code of ccw_device_{halt,clear} in qdio_cleanup. Don't
try to wait for an interrupt we won't get.
- qdio: fix shared indicators.
- qdio: add code to handle i/o killed by cio with active queues.
- qdio: don't do a shutdown on timeout in interrupt context.
- Update cio documentation.
|
|
From: Hans Ulrich Niedermann <linux-kernel@n-dimensional.de>
I've noted that 2.6.0 contains broken references to documentation.
I got sufficiently annoyed chasing doc files in the wrong place
that I wrote a script to check the references to documentation
files.
Some documentation files have moved (e.g. Documentation/modules.txt to
Documentation/kbuild/modules.txt). I adapted the references with a script.
|
|
- Make ccwgroup online attribute consistent with ccw online attribute.
- Add link incident record handling to channel subsystem code.
- Do path grouping only if the device driver explicitly requests it.
- Fix multicast or broadcast flood ping hand on HiperSockets.
|
|
Add module alias support for ccw devices.
|
|
Merge s390x and s390 to one architecture.
|
|
dont -> don't (135 occurrences)
|
|
Rewrite of the s390 channel subsystem driver for the new driver model
The channel subsystem driver a.k.a s390 common I/O layer is the low level
driver for most device drivers on s390 systems. The old code is largely
unchanged from the initial linux-2.2 port and there is a lot of bitrot
on it.
In particular, concepts from the 2.5 driver model are implemented in a
completely different and more complicated way here.
This rewrite tries to get the driver ready for 2.6. The new interface is
not compatible to the old one but should be rather stable now unless
someone finds major flaws.
The 's390dyn' and 'chandev' interfaces have been removed entirely (yippii!)
and are replaced by hotplug and sysfs interfaces.
Authors: Arnd Bergmann <arndb@de.ibm.com>,
Cornelia Huck <cohuck@de.ibm.com>,
Martin Schwidefsky <schwidefsky@de.ibm.com>
|