3b484ec648490518dd16ed7d8f02206a39539a59 |
|
01-Dec-2011 |
Sebastian Ott <sebott@linux.vnet.ibm.com> |
[S390] cio: fix chsc_chp_vary The functions called by chsc_chp_vary operate on pointers to channel path ids not channel path links. (This worked by chance since the id is the first member of the link structure) Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
fca894edd7566f5c548598c8fad7f329278c23b4 |
|
23-May-2011 |
Sebastian Ott <sebott@linux.vnet.ibm.com> |
[S390] chsc: process channel-path-availability information Update affected channel path descriptors when receiving channel path availability information. Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
ce322ccd53f2505cf8b0ed204631d6ac054ac66a |
|
05-Jan-2011 |
Sebastian Ott <sebott@linux.vnet.ibm.com> |
[S390] cio: obtain mdc value per channel path Add support to accumulate the number of 64K-bytes blocks all paths to a device at least support for a transport command. Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
62da177ac2bc1f6f3707230070af268b1e689651 |
|
25-Oct-2010 |
Sebastian Ott <sebott@linux.vnet.ibm.com> |
[S390] css: update descriptor after hibernate Update the channel path descriptors after hibernation. This is done unlocked, since we are the only active task at this time. Note: chsc_determine_base_channel_path_desc is changed to use spin_lock_irqsave, since it's called with interrupts disabled in this case. Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
c38a90a34cfc880eb2f7234c511cdb7d8bdebc45 |
|
25-Oct-2010 |
Sebastian Ott <sebott@linux.vnet.ibm.com> |
[S390] cio: update descriptor in chsc_chp_vary Update the channel path descriptor at the beginning of to the vary_on operation. Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
906c9768c7750ce76b85597174b9c3599a6ca9f6 |
|
25-Oct-2010 |
Sebastian Ott <sebott@linux.vnet.ibm.com> |
[S390] chsc: use the global page to determine the chp desriptor chsc_determine_channel_path_desc is called by a wrapper who allocates a response struct. The response data is then memcpy'ed to this response struct by chsc_determine_channel_path_desc. Change chsc_determine_base_channel_path_desc to use the global chsc_page and deliver it to the function doing the actual chsc call. The channel path desriptor is then directly read from the response data. As a result we get rid of the additional allocation for the response struct. Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
34196f82b16749e119db5572271944c4add0a9aa |
|
25-Oct-2010 |
Sebastian Ott <sebott@linux.vnet.ibm.com> |
[S390] chsc: consolidate memory allocations Most wrappers around the channel subsystem call have their own logic to allocate memory (with proper alignment) or use preallocated or static memory. This patch converts most users of the channel subsystem call to use the same preallocated page (proteced by a spinlock). Note: The sei_page which is used in our crw handler to call "store event information" has to coexist, since a) in crw context, while accessing the sei_page, sleeping is allowed (which will conflict with the spinlock protection of the chsc_page) b) in crw context, while accessing the sei_page, channel subsystem calls are allowed (which itself would require the page). Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
34aec07c170b972a29c954b37047184bd0f9f294 |
|
25-Oct-2010 |
Sebastian Ott <sebott@linux.vnet.ibm.com> |
[S390] chsc: initialization fixes This patch fixes: * kfree vs. free_page usage * structure definition for determine_css_characteristics * naming convention for the chsc init function * deregistration of crw handlers in the cleanup path Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
fd0457a6ae52141718a15652fb80d867e1bf1d10 |
|
09-Aug-2010 |
Michael Ernst <mernst@de.ibm.com> |
[S390] cio: CHSC SIOSL Support A Linux interface for the CHSC command store-I/O-operation-status-and-initiate-logging (SIOSL). Model-dependent logging within the channel subsystem can be invoked via a helper function or a writable subchannel device attribute. Signed-off-by: Michael Ernst <mernst@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
878c495644be28cc881e7ee792f00fd879a1ebf9 |
|
19-Jul-2010 |
Sebastian Ott <sebott@linux.vnet.ibm.com> |
[S390] cio: fix potential overflow in chpid descriptor The length filed in the chsc response block (if valid) has a value of n*(sizeof(chp_desc))+8 (for the response block header). When we memcopied from the response block to the actual descriptor we copied 8 bytes too much. The bug was not revealed since the descriptor is embedded in struct channel_path. Since we only write one descriptor at a time ignore the length value and use sizeof(*desc). Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
818c272bd74b834c3ca9347c6a540c2ec880afdc |
|
22-Apr-2010 |
Sebastian Ott <sebott@linux.vnet.ibm.com> |
[S390] cio: allow enable_facility from outside init functions Prepare chsc_enable_facility to be used from outside init functions. Use static memory for the chsc call and protect its access by a spinlock (although there is no concurrent usage). Cc: <stable@kernel.org> Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
d1bf85902c28dd990c08f1703ea94109223549a7 |
|
26-Feb-2010 |
Heiko Carstens <heiko.carstens@de.ibm.com> |
[S390] cio: fix storage key handling Some parts of cio do not shift PAGE_DEFAULT_KEY correctly and end up with an incorrect key in their data structures. Since the default key is zero this doesn't really matter. However if somebody would use key-controlled protection for debugging purposes it would be quite helpful if all of this would work as expected. Also remove a stale declaration. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
dcbd16d5111258df7c821ec1e4124fe6ffbf3c16 |
|
16-Jun-2009 |
Sebastian Ott <sebott@linux.vnet.ibm.com> |
[S390] pm: css bus power management callbacks Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
17e7d87d9f88480a75fc9c5978ab38131a074277 |
|
26-Mar-2009 |
Sebastian Ott <sebott@linux.vnet.ibm.com> |
[S390] cio: fix rc generation after chsc call In some situations a rc in __chsc_do_secm will be overwritten by another one. This shouldn't do harm since todays callers don't check for _specific_ errors but fix it for the sake of correctness. Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
f5daba1d4116d964435ddd99f32b6c80448a496b |
|
26-Mar-2009 |
Heiko Carstens <heiko.carstens@de.ibm.com> |
[S390] split/move machine check handler code Split machine check handler code and move it to cio and kernel code where it belongs to. No functional change. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
e6d5a428e01b1387852f17b3dd7934239a0be0d4 |
|
25-Dec-2008 |
Michael Ernst <mernst@de.ibm.com> |
[S390] convert cio printks to pr_xxx macros. Signed-off-by: Michael Ernst <mernst@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
dae39843f478d181da5b5e1c2c703dfcaaf838c1 |
|
17-Jul-2008 |
Cornelia Huck <cornelia.huck@de.ibm.com> |
[S390] cio: Export chsc_error_from_response(). Make chsc_error_from_response() available to chsc callers outside of chsc.c (namely qdio) to avoid duplicating error checking code. 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>
|
9d92a7e1b0d095c8be96ce5e592c6c5541684631 |
|
14-Jul-2008 |
Cornelia Huck <cornelia.huck@de.ibm.com> |
[S390] cio: Add chsc subchannel driver. This patch adds a driver for subchannels of type chsc. A device /dev/chsc is created which may be used to issue ioctls to: - obtain information about the machine's I/O configuration - dynamically change the machine's I/O configuration via asynchronous chsc commands 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>
|
99611f87176b2a908d8c66ab19a5fc550a3cd13a |
|
14-Jul-2008 |
Cornelia Huck <cornelia.huck@de.ibm.com> |
[S390] cio: Repair chpid event handling. Passing the affected chpid in chp_event() worked only by chance since chpid is the first element in res_acc_data. Make it work properly by generalizing res_acc_data as chp_link and always passing around a properly filled out chp_link structure in chp_event(). 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>
|
d2fec595511b5718bdb65645b3d5d99800d97943 |
|
14-Jul-2008 |
Martin Schwidefsky <schwidefsky@de.ibm.com> |
[S390] stp support. Add support for clock synchronization with the server time protocol. Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
|
c11561897ab57a3c11e0a284ba17795d580589ab |
|
14-Jul-2008 |
Cornelia Huck <cornelia.huck@de.ibm.com> |
[S390] cio: Cleanup crw interface. Eliminate the need for the machine check handler to call into the common I/O layer directly by introducing an interface to register handlers for crws per rsc. 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>
|
c820de39bd083222f5be2563181c87493e436f7c |
|
14-Jul-2008 |
Cornelia Huck <cornelia.huck@de.ibm.com> |
[S390] cio: Rework css driver. Rework the css driver methods to provide sane callbacks for subchannels of all types. As a bonus, this cleans up and simplyfies the machine check handling for I/O subchannels a lot. 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>
|
8284fb19efa1f11ea8dd213e9e227fc1fcb20586 |
|
17-Apr-2008 |
Michael Ernst <mernst@de.ibm.com> |
[S390] cio: fix parallel cm_enable processing. It is now possible to trigger cm_enable processing several times in parallel without causing a kernel panic. Signed-off-by: Michael Ernst <mernst@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
|
22806dc1a8ffd88a7c7bdd070879e6e323db496a |
|
17-Apr-2008 |
Cornelia Huck <cornelia.huck@de.ibm.com> |
[S390] cio: Fix race for "fast" path gone/path back situations. Make sure we wait for previous evaluations triggered by path state changes to have settled before we manipulate path states again. 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>
|
b9c9a21a7c8faeff1d13a23d2c57a5d4b512cfa0 |
|
05-Feb-2008 |
Cornelia Huck <cornelia.huck@de.ibm.com> |
[S390] cio: Clean up chsc response code handling. This provides unified return codes for common response codes and also makes the debug feature messages more similar and informational. Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
ceb3dfbae1d3faacaedfc64c913fd18cd3624f72 |
|
26-Jan-2008 |
Joe Perches <joe@perches.com> |
[S390] drivers/s390: Add missing "space" Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
e82a1567e4b22eb035da2499d20ddd573c9acf75 |
|
26-Jan-2008 |
Peter Oberparleiter <peter.oberparleiter@de.ibm.com> |
[S390] cio: reduce cpu utilization during device scan Minimize calls to cpu intensive function get_subchannel_by_schid() by introducing function for_each_subchannel_staged() which temporarily caches the information about registered subchannels in a bitmap. Signed-off-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
b279a4f56d5476a0b9b0a97397f7a7bbe00b9b2f |
|
26-Jan-2008 |
Cornelia Huck <cornelia.huck@de.ibm.com> |
[S390] cio: I/O subchannel specific fields. Some fields may be !0 only for I/O subchannels. Add some checks where required. Also adapt cio_enable_subchannel() to make the caller specify the intparm, which makes it more generic. Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
602b20f2bf335d0d5fce11cb2ade22aa74e7ba25 |
|
26-Jan-2008 |
Cornelia Huck <cornelia.huck@de.ibm.com> |
[S390] cio: css_driver: Use consistent parameters. Make all callbacks in css_driver take a struct subchannel (and not a struct device). Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
4434a38c37dd30e5cd01456a136367a43d8da2dd |
|
27-Jul-2007 |
Cornelia Huck <cornelia.huck@de.ibm.com> |
[S390] cio: Reorganize initialization. - Localize more of the init calls in init_channel_subsystem(). - Print a warning if init_channel_subsystem() failed. Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
e556bbbd9d2ff2b158915945ac82e2ac7def4d2f |
|
27-Jul-2007 |
Cornelia Huck <cornelia.huck@de.ibm.com> |
[S390] cio: Clean up messages. - Remove unneeded messages. - Move some messages into the debug feature. - Use dev_* where appropriate. - Use "cio: " prefix consistently. Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
8c4941c53b14e5a08ed2f270e9f087b410a9abcc |
|
27-Apr-2007 |
Cornelia Huck <cornelia.huck@de.ibm.com> |
[S390] cio: cm_enable memory leak. We allocage two pages when channel path measurements are enabled via cm_enable. We must not forget to free them again when channel path measurements are disabled again. Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
7ad6a24970325294a22a08446d473384c15b928e |
|
27-Apr-2007 |
Peter Oberparleiter <peter.oberparleiter@de.ibm.com> |
[S390] cio: fix subchannel channel-path data usage Ensure that channel-path related subchannel data is only retrieved and used when it is valid and that it is updated when it may have changed. Signed-off-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
83b3370c79b91b9be3f6540c3c914e689134b45f |
|
27-Apr-2007 |
Peter Oberparleiter <peter.oberparleiter@de.ibm.com> |
[S390] cio: replace subchannel evaluation queue with bitmap Use a bitmap for indicating which subchannels require evaluation instead of allocating memory for each evaluation request. This approach reduces memory consumption during recovery in case of massive evaluation request occurrence and removes the need for memory allocation failure handling. Cc: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
387b734fc2b55f776b192c7afdfd892ba42347d4 |
|
27-Apr-2007 |
Stefan Bader <shbader@de.ibm.com> |
[S390] cio: Re-start path verification after aborting internal I/O. Path verification triggered by changes to the available CHPIDs will be interrupted by another change but not re-started. This results in an invalid path mask. To solve this make sure to completely re-start path verification when changing the available paths. Signed-off-by: Stefan Bader <shbader@de.ibm.com> Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
e5854a5839fa426a7873f038080f63587de5f1f1 |
|
27-Apr-2007 |
Peter Oberparleiter <peter.oberparleiter@de.ibm.com> |
[S390] cio: Channel-path configure function. Add a new attribute to the channel-path sysfs directory through which channel-path configure operations can be triggered. Also listen for hardware events requesting channel-path configure operations and process them accordingly. 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>
|
e6b6e10ac1de116fc6d2288f185393014851cccf |
|
27-Apr-2007 |
Peter Oberparleiter <peter.oberparleiter@de.ibm.com> |
[S390] cio: Introduce separate files for channel-path related code. 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>
|
d120b2a4e60cc9e62e7cc5dcf049100af3745cc4 |
|
27-Apr-2007 |
Peter Oberparleiter <peter.oberparleiter@de.ibm.com> |
[S390] cio: Allow 0 and 1 as input for channel path status attribute. Channel path status can now be modified by writing '0' and '1' to the sysfs status attribute in addition to 'offline' and 'online' respectively. 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>
|
f86635fad14c4a6810cf0e08488fc9129a3b3b32 |
|
27-Apr-2007 |
Peter Oberparleiter <peter.oberparleiter@de.ibm.com> |
[S390] cio: Introduce struct chp_id. Introduce data type for channel-path IDs. 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>
|
4d284cac76d0bfebc42d76b428c4e44d921200a9 |
|
05-Feb-2007 |
Heiko Carstens <heiko.carstens@de.ibm.com> |
[S390] Avoid excessive inlining. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
184357a59669e2b1f9bb684c598458717207793b |
|
05-Feb-2007 |
Peter Oberparleiter <peter.oberparleiter@de.ibm.com> |
[S390] Cleanup of CHSC event handling. Change CHSC event handling to be more easily extensible. Signed-off-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
0f008aa300f1a48144a1b988a85db9d330f884b7 |
|
05-Feb-2007 |
Peter Oberparleiter <peter.oberparleiter@de.ibm.com> |
[S390] cio: declare hardware structures packed. Signed-off-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
758976f9a55cb22ddc602a0690d67f9546e3e43f |
|
05-Feb-2007 |
Cornelia Huck <cornelia.huck@de.ibm.com> |
[S390] cio: Catch operand exceptions on stsch. If we have a subchannel id which has been generated via for_each_subchannel(), it might contain an invalid subchannel set id. We need to catch the ensuing operand exception by using stsch_err() instead of stsch() in all possible cases. Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
1125b4640fea29aafe9bf24672e2da9672f6592e |
|
05-Feb-2007 |
Cornelia Huck <cornelia.huck@de.ibm.com> |
[S390] cio: Use device_{create,remove}_bin_file. Create/remove the channel measurement binary files with device_{create,remove}_bin_file instead of sysfs_{create,remove}_bin_file. Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
2ec2298412e1ab4674b3780005058d4f0b8bd858 |
|
08-Dec-2006 |
Cornelia Huck <cornelia.huck@de.ibm.com> |
[S390] subchannel lock conversion. Convert the subchannel lock to a pointer to a lock. Needed for the dynamic subchannel mapping patch. Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Cc: Greg KH <greg@kroah.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
d23861ff1a4da1f4a5255eb4582f620191c6e1c0 |
|
04-Dec-2006 |
Cornelia Huck <cornelia.huck@de.ibm.com> |
[S390] cio: Retry internal operations after vary off. If I/O was running on a just varied off chpid, it will be terminated. If this was a common I/O layer internal I/O, it needs to be retried. Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
24cb5b4846ebae5543869b5c596c2650f380df53 |
|
04-Dec-2006 |
Cornelia Huck <cornelia.huck@de.ibm.com> |
[S390] cio: Use path verification for last path gone after vary off. If the last path to a device is gone after a chpid has been varied off, putting it on the slow queue doesn't prevent a device driver from still attempting to use it (it may stay on the slow queue for a long time). Instead, trigger a verify event which will prevent I/O attempts from the device driver immediately. Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
15e9b586e0bd3692e2a21c5be178810d9d32214e |
|
04-Dec-2006 |
Heiko Carstens <heiko.carstens@de.ibm.com> |
[S390] Reset infrastructure for re-IPL. In case of re-IPL and diag308 doesn't work we have to reset all devices manually and wait synchronously that each reset finished. This patch adds the necessary infrastucture and the first exploiter of it. Subsystems that need to add a function that needs to be called at re-IPL may register/unregister this function via struct reset_call { struct reset_call *next; void (*fn)(void); }; void register_reset_call(struct reset_call *reset); void unregister_reset_call(struct reset_call *reset); When the registered function get called the context is: - all cpus beside the current one are stopped - all machine checks and interrupts are disabled - prefixing is disabled - a default machine check handler is available for use The registered functions may not take any locks are sleep. For the common I/O layer part of this patch: Introduce a reset_call css_reset that does the following: - clear all subchannels - perform a rchp on all channel paths and wait for the resulting machine checks This replaces the calls to clear_all_subchannels() and cio_reset_channel_paths() for kexec and ccw reipl. reipl_ccw_dev() now uses reipl_find_schid() to determine the subchannel id for a given device id. Also remove cio_reset_channel_paths() and friends since they are not needed anymore. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
12975aef62836e9f3e179afaaded8045f8a25ac4 |
|
11-Oct-2006 |
Cornelia Huck <cornelia.huck@de.ibm.com> |
[S390] cio: remove casts from/to (void *). Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
e7769b48a0216d7262fe2ba59b1b3697be462cbb |
|
11-Oct-2006 |
Cornelia Huck <cornelia.huck@de.ibm.com> |
[S390] cio: Remove grace period for vary off chpid. The grace period handling introduced needless complexity. It didn't help the dasd driver (which can handle terminated I/O just well), and it doesn't help for long running channel programs (which won't complete during the grace period anyway). Terminating I/O using a path that just disappeared immediately is much more consistent with what the user expects. Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
7e8ae7bfe8354b1f1b98c5cd29db8965ca1e6391 |
|
06-Oct-2006 |
Cornelia Huck <cornelia.huck@de.ibm.com> |
[S390] cio: 0 is a valid chpid. In order to determine chpid validity, we need to check whether the corresponding path is specified in the pim. Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
28bdc6f6233f380ddc0b430cabd88ffeafea34c7 |
|
20-Sep-2006 |
Peter Oberparleiter <peter.oberparleiter@de.ibm.com> |
[S390] cio: always query all paths on path verification. Reappearing channel paths are sometimes not utilized by CCW devices because path verification incorrectly relies on path-operational-mask information which is not updated until a channel path has been used again. Modify path verification procedure to always query all available paths to a device. Signed-off-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
dd9963f9dd0985e16e878fd3632ecadfc54d3fbb |
|
20-Sep-2006 |
Peter Oberparleiter <peter.oberparleiter@de.ibm.com> |
[S390] cio: subchannels in no-path state. Subchannel may incorrectly remain in state no-path after channel paths have reappeared. Currently the scan for subchannels which are using a channel path ends at the first occurrence if a full link address was provided by the channel subsystem. The scan needs to continue over all subchannels. Signed-off-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
3b88508a31a77eb3487154922e1eff282dc1d863 |
|
30-Aug-2006 |
Peter Oberparleiter <peter.oberparleiter@de.ibm.com> |
[S390] cio: no path after machine check. Devices enter no-path state after disabling a channel path via the SE even though another path has been reenabled at the SE. The devices are set into no-path state before triggering path verification even though other paths may have become available. To fix this trigger path verification before setting a device into no-path state. Signed-off-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
292888c81e74115db5e5a4a838f730a7c3662982 |
|
30-Aug-2006 |
Heiko Carstens <heiko.carstens@de.ibm.com> |
[S390] cio: kernel stack overflow. Use different kind of assignment to make sure gcc doesn't create code that creates temp variables on the stack, assigns values to it and copies the content of the whole temp variable to the destination. This reduces stack usage of e.g. ccwgroup_driver_register from 976 to 48 bytes instead. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
7e560814de1972e1bfc780616841d7a0032ca467 |
|
12-Jul-2006 |
Cornelia Huck <cornelia.huck@de.ibm.com> |
[S390] path grouping and path verifications fixes. 1. Multipath devices for which SetPGID is not supported are not handled well. Use NOP ccws for path verification (sans path grouping) when SetPGID is not supported. 2. Check for PGIDs already set with SensePGID on _all_ paths (not just the first one) and try to find a common one. Moan if no common PGID can be found (and use NOP verification). If no PGIDs have been set, use the css global PGID (as before). (Rationale: SetPGID will get a command reject if the PGID it tries to set does not match the already set PGID.) 3. Immediately before reboot, issue RESET CHANNEL PATH (rcp) on all chpids. This will remove the old PGIDs. rcp will generate solicited CRWs which can be savely ignored by the machine check handler (all other actions create unsolicited CRWs). Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
6ab3d5624e172c553004ecc862bfeac16d9d68b7 |
|
30-Jun-2006 |
Jörn Engel <joern@wohnheim.fh-wedel.de> |
Remove obsolete #include <linux/config.h> Signed-off-by: Jörn Engel <joern@wohnheim.fh-wedel.de> Signed-off-by: Adrian Bunk <bunk@stusta.de>
|
b4f7b1ee577857aca467e6825122a3b29d6c3c0e |
|
29-Jun-2006 |
Cornelia Huck <cornelia.huck@de.ibm.com> |
[S390] cio chpid offline. After setting a path to a dasd offline at the SE, I/O hangs on that dasd for 5 minutes, then continues. I/O for which an interrupt will not be reported after the channel path has been disabled was not terminated by the common I/O layer, causing the dasd MIH to hit after 5 minutes. Be more aggressive in terminating I/O after setting a channel path offline. Also make sure to generate a fake irb if the device driver issues an I/O request after being notified of the killed I/O and clear residual information from the irb before trying to start the delayed verification. Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
231caa1cac555bdd5cb64bf91b554b38e8ddf715 |
|
29-Jun-2006 |
Cornelia Huck <cornelia.huck@de.ibm.com> |
[S390] channel measurement fix. Specify correct sizeof() in chp_measurement_read() and return correct amount of read data. Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
6dcfca78d4c036c9d012f913e2a622aae218827f |
|
28-Apr-2006 |
Stefan Bader <shbader@de.ibm.com> |
[PATCH] s390: enable interrupts on error path Interrupts can stay disabled if an error occurred in _chp_add(). Use spin_unlock_irq on the error paths to reenable interrupts. Signed-off-by: Stefan Bader <shbader@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>
|
329b785bcee5d001f97a33bdb80de014bb5020b0 |
|
28-Apr-2006 |
Peter Oberparleiter <peter.oberparleiter@de.ibm.com> |
[PATCH] s390: fix I/O termination race in cio Fix a race condition in the I/O termination logic. The race can cause I/O to a dasd device to fail with no retry left after turning one channel path to the device off and on multiple times. Signed-off-by: Peter Oberparleiter <peter.oberparleiter@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>
|
88abaab4f9b08381e30e737980a1c49d6b524dfc |
|
24-Mar-2006 |
Eric Sesterhenn <snakebyte@gmx.de> |
[PATCH] s390: kzalloc() conversion in drivers/s390 Convert all kmalloc + memset sequences in drivers/s390 to kzalloc usage. Signed-off-by: Eric Sesterhenn <snakebyte@gmx.de> 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>
|
495a5b45ac33b8fe2c49780fdbcc8014cb6d6ddc |
|
24-Mar-2006 |
Cornelia Huck <cornelia.huck@de.ibm.com> |
[PATCH] s390: channel path measurements Gather extended measurements for channel paths from the channel subsystem and expose them to userspace via a sysfs attribute. Signed-off-by: Cornelia Huck <cornelia.huck@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>
|
15730ddbf745fbda9001b8bbd71977ac66bf5f41 |
|
07-Mar-2006 |
Cornelia Huck <cornelia.huck@de.ibm.com> |
[PATCH] s390: improve response code handling in chsc_enable_facility() Rather than checking for some known failures, check positively for the success response code 0x0001 and return -EIO for unrecognized failure response codes. Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Cc: Greg Smith <gsmith@nc.rr.com> Cc: Heiko Carstens <heiko.carstens@de.ibm.com> Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
c48d865c50e8626372a52094385fb1f5a2d2a7fd |
|
12-Feb-2006 |
Cornelia Huck <cornelia.huck@de.ibm.com> |
[PATCH] s390: fix locking in __chp_add() and s390_subchannel_remove_chpid() Fix locking in __chp_add() and s390_subchannel_remove_chpid(): Need to disable/enable because they are always called from a thread (and not directly from a machine check...) Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
e018ba1fceee5bd306e31f6e3a60934d5f143ac5 |
|
01-Feb-2006 |
Heiko Carstens <heiko.carstens@de.ibm.com> |
[PATCH] s390: Remove CVS generated information - Remove all CVS generated information like e.g. revision IDs from drivers/s390 and include/asm-s390 (none present in arch/s390). - Add newline at end of arch/s390/lib/Makefile to avoid diff message. Acked-by: Andreas Herrmann <aherrman@de.ibm.com> Acked-by: Frank Pavlic <pavlic@de.ibm.com> Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
4ce3b30cf32c5c078518f0f3e6623bcb6eee9872 |
|
14-Jan-2006 |
Cornelia Huck <cornelia.huck@de.ibm.com> |
[PATCH] s390: email-address change Signed-off-by: Cornelia Huck <cornelia.huck@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>
|
fb6958a594da49ece869793e6ec163b89fc5f79f |
|
06-Jan-2006 |
Cornelia Huck <cohuck@de.ibm.com> |
[PATCH] s390: multiple subchannel sets support Add support for multiple subchannel sets. Works with arbitrary devices in subchannel set 1 and is transparent to device drivers. Although currently only two subchannel sets are available, this will work with the architectured maximum number of subchannel sets as well. Signed-off-by: Cornelia Huck <cohuck@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>
|
a28c69448154a0901e8815922030c5dcd2f8e388 |
|
06-Jan-2006 |
Cornelia Huck <cohuck@de.ibm.com> |
[PATCH] s390: introduce struct channel_subsystem struct channel_subsystem encapsulates several per channel subsystem properties, like status of chpids or the global path group id. Signed-off-by: Cornelia Huck <cohuck@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>
|
f97a56fb768e5fe9cd07c56ca47870136bb5530c |
|
06-Jan-2006 |
Cornelia Huck <cohuck@de.ibm.com> |
[PATCH] s390: introduce for_each_subchannel for_each_subchannel() is an iterator calling a function for every possible subchannel id until non-zero is returned. Convert the current iterating functions to it. Signed-off-by: Cornelia Huck <cohuck@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>
|
a8237fc4108060402d904bea5e1062e22e731969 |
|
06-Jan-2006 |
Cornelia Huck <cohuck@de.ibm.com> |
[PATCH] s390: introduce struct subchannel_id This patch introduces a struct subchannel_id containing the subchannel number (formerly referred to as "irq") and switches code formerly relying on the subchannel number over to it. While we're touching inline assemblies anyway, make sure they have correct memory constraints. Signed-off-by: Cornelia Huck <cohuck@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>
|
c63307f164a79e0ff6dd2da33436c59b3d3396cd |
|
27-Jul-2005 |
Cornelia Huck <cohuck@de.ibm.com> |
[PATCH] s390: resource accessibility event handling When processing resource accessibility events, continue searching for further affected subchannels if a link address is provided in the event information. 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>
|
3fd3c0a5f53a0f9d8987b90acbd84f7dd8ef606e |
|
17-May-2005 |
Yani Ioannou <yani.ioannou@gmail.com> |
[PATCH] Driver Core: drivers/char/raw3270.c - drivers/net/netiucv.c: update device attribute callbacks Signed-off-by: Yani Ioannou <yani.ioannou@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
|
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 |
|
17-Apr-2005 |
Linus Torvalds <torvalds@ppc970.osdl.org> |
Linux-2.6.12-rc2 Initial git repository build. I'm not bothering with the full history, even though we have it. We can create a separate "historical" git archive of that later if we want to, and in the meantime it's about 3.2GB when imported into git - space that would just make the early git days unnecessarily complicated, when we don't have a lot of good infrastructure for it. Let it rip!
|