817e5000ebc4d448ca514db49b55073a724f8552 |
|
01-Dec-2011 |
Sebastian Ott <sebott@linux.vnet.ibm.com> |
[S390] hibernate: directly trigger subchannel evaluation Using the generic css_schedule_eval to evaluate subchannels while resuming from hibernation is very slow when used with many devices. Provide a new evaluation trigger which exploits css_sched_sch_todo and use this in the resume callback for ccw devices. Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
f0c077a8b7f9dce590c760a7b2f3c417dffa52d1 |
|
08-Jul-2011 |
Akinobu Mita <akinobu.mita@gmail.com> |
PM: Improve error code of pm_notifier_call_chain() This enables pm_notifier_call_chain() to get the actual error code in the callback rather than always assume -EINVAL by converting all PM notifier calls to return encapsulate error code with notifier_from_errno(). Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com> Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
|
3041b6ab5f36ac303981e9f170ff2ae43dc9d125 |
|
15-Mar-2011 |
Sebastian Ott <sebott@linux.vnet.ibm.com> |
[S390] css_bus_type: make it static Make css_bus_type static. Subchannel drivers have to use css_driver_register. Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
e6aed122a9185d0fe5890f02ea8efc32c355bc44 |
|
15-Mar-2011 |
Sebastian Ott <sebott@linux.vnet.ibm.com> |
[S390] css_driver: remove duplicate members Remove the owner and name members of struct css_driver and convert all drivers to store this data in the embedded struct device_driver. Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
4bc4e965d3e86897e4c7c487a477ccdf13db5b82 |
|
05-Jan-2011 |
Sebastian Ott <sebott@linux.vnet.ibm.com> |
[S390] css: update subchannel descriptor Update the subchannel descriptor if we receive a "Installed parameters modified" crw. Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
8d7bfb4a891d606d52e1a99cf7231b4417b935dc |
|
01-Dec-2010 |
Sebastian Ott <sebott@linux.vnet.ibm.com> |
[S390] css: fix rsid evaluation for 2nd crw Use correct bit positions of rsid field. Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
eb4f5d93d70458ea644e0f46737f0bcf87280e83 |
|
25-Oct-2010 |
Sebastian Ott <sebott@linux.vnet.ibm.com> |
[S390] css: update subchannel description after hibernate Update the subchannel descriptor while resuming from hibernate in order to obtain current link addresses. 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>
|
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>
|
a8481c2afeed297426f67ce3fd4ad7eea6b7ddf5 |
|
25-Oct-2010 |
Sebastian Ott <sebott@linux.vnet.ibm.com> |
[S390] css: fix sparse warning fix this sparse warning: drivers/s390/cio/css.c:580:6: warning: symbol 'css_schedule_eval_all_unreg' was not declared. Should it be static? Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
6038f373a3dc1f1c26496e60b6c40b164716f07e |
|
15-Aug-2010 |
Arnd Bergmann <arnd@arndb.de> |
llseek: automatically add .llseek fop All file_operations should get a .llseek operation so we can make nonseekable_open the default for future file operations without a .llseek pointer. The three cases that we can automatically detect are no_llseek, seq_lseek and default_llseek. For cases where we can we can automatically prove that the file offset is always ignored, we use noop_llseek, which maintains the current behavior of not returning an error from a seek. New drivers should normally not use noop_llseek but instead use no_llseek and call nonseekable_open at open time. Existing drivers can be converted to do the same when the maintainer knows for certain that no user code relies on calling seek on the device file. The generated code is often incorrectly indented and right now contains comments that clarify for each added line why a specific variant was chosen. In the version that gets submitted upstream, the comments will be gone and I will manually fix the indentation, because there does not seem to be a way to do that using coccinelle. Some amount of new code is currently sitting in linux-next that should get the same modifications, which I will do at the end of the merge window. Many thanks to Julia Lawall for helping me learn to write a semantic patch that does all this. ===== begin semantic patch ===== // This adds an llseek= method to all file operations, // as a preparation for making no_llseek the default. // // The rules are // - use no_llseek explicitly if we do nonseekable_open // - use seq_lseek for sequential files // - use default_llseek if we know we access f_pos // - use noop_llseek if we know we don't access f_pos, // but we still want to allow users to call lseek // @ open1 exists @ identifier nested_open; @@ nested_open(...) { <+... nonseekable_open(...) ...+> } @ open exists@ identifier open_f; identifier i, f; identifier open1.nested_open; @@ int open_f(struct inode *i, struct file *f) { <+... ( nonseekable_open(...) | nested_open(...) ) ...+> } @ read disable optional_qualifier exists @ identifier read_f; identifier f, p, s, off; type ssize_t, size_t, loff_t; expression E; identifier func; @@ ssize_t read_f(struct file *f, char *p, size_t s, loff_t *off) { <+... ( *off = E | *off += E | func(..., off, ...) | E = *off ) ...+> } @ read_no_fpos disable optional_qualifier exists @ identifier read_f; identifier f, p, s, off; type ssize_t, size_t, loff_t; @@ ssize_t read_f(struct file *f, char *p, size_t s, loff_t *off) { ... when != off } @ write @ identifier write_f; identifier f, p, s, off; type ssize_t, size_t, loff_t; expression E; identifier func; @@ ssize_t write_f(struct file *f, const char *p, size_t s, loff_t *off) { <+... ( *off = E | *off += E | func(..., off, ...) | E = *off ) ...+> } @ write_no_fpos @ identifier write_f; identifier f, p, s, off; type ssize_t, size_t, loff_t; @@ ssize_t write_f(struct file *f, const char *p, size_t s, loff_t *off) { ... when != off } @ fops0 @ identifier fops; @@ struct file_operations fops = { ... }; @ has_llseek depends on fops0 @ identifier fops0.fops; identifier llseek_f; @@ struct file_operations fops = { ... .llseek = llseek_f, ... }; @ has_read depends on fops0 @ identifier fops0.fops; identifier read_f; @@ struct file_operations fops = { ... .read = read_f, ... }; @ has_write depends on fops0 @ identifier fops0.fops; identifier write_f; @@ struct file_operations fops = { ... .write = write_f, ... }; @ has_open depends on fops0 @ identifier fops0.fops; identifier open_f; @@ struct file_operations fops = { ... .open = open_f, ... }; // use no_llseek if we call nonseekable_open //////////////////////////////////////////// @ nonseekable1 depends on !has_llseek && has_open @ identifier fops0.fops; identifier nso ~= "nonseekable_open"; @@ struct file_operations fops = { ... .open = nso, ... +.llseek = no_llseek, /* nonseekable */ }; @ nonseekable2 depends on !has_llseek @ identifier fops0.fops; identifier open.open_f; @@ struct file_operations fops = { ... .open = open_f, ... +.llseek = no_llseek, /* open uses nonseekable */ }; // use seq_lseek for sequential files ///////////////////////////////////// @ seq depends on !has_llseek @ identifier fops0.fops; identifier sr ~= "seq_read"; @@ struct file_operations fops = { ... .read = sr, ... +.llseek = seq_lseek, /* we have seq_read */ }; // use default_llseek if there is a readdir /////////////////////////////////////////// @ fops1 depends on !has_llseek && !nonseekable1 && !nonseekable2 && !seq @ identifier fops0.fops; identifier readdir_e; @@ // any other fop is used that changes pos struct file_operations fops = { ... .readdir = readdir_e, ... +.llseek = default_llseek, /* readdir is present */ }; // use default_llseek if at least one of read/write touches f_pos ///////////////////////////////////////////////////////////////// @ fops2 depends on !fops1 && !has_llseek && !nonseekable1 && !nonseekable2 && !seq @ identifier fops0.fops; identifier read.read_f; @@ // read fops use offset struct file_operations fops = { ... .read = read_f, ... +.llseek = default_llseek, /* read accesses f_pos */ }; @ fops3 depends on !fops1 && !fops2 && !has_llseek && !nonseekable1 && !nonseekable2 && !seq @ identifier fops0.fops; identifier write.write_f; @@ // write fops use offset struct file_operations fops = { ... .write = write_f, ... + .llseek = default_llseek, /* write accesses f_pos */ }; // Use noop_llseek if neither read nor write accesses f_pos /////////////////////////////////////////////////////////// @ fops4 depends on !fops1 && !fops2 && !fops3 && !has_llseek && !nonseekable1 && !nonseekable2 && !seq @ identifier fops0.fops; identifier read_no_fpos.read_f; identifier write_no_fpos.write_f; @@ // write fops use offset struct file_operations fops = { ... .write = write_f, .read = read_f, ... +.llseek = noop_llseek, /* read and write both use no f_pos */ }; @ depends on has_write && !has_read && !fops1 && !fops2 && !has_llseek && !nonseekable1 && !nonseekable2 && !seq @ identifier fops0.fops; identifier write_no_fpos.write_f; @@ struct file_operations fops = { ... .write = write_f, ... +.llseek = noop_llseek, /* write uses no f_pos */ }; @ depends on has_read && !has_write && !fops1 && !fops2 && !has_llseek && !nonseekable1 && !nonseekable2 && !seq @ identifier fops0.fops; identifier read_no_fpos.read_f; @@ struct file_operations fops = { ... .read = read_f, ... +.llseek = noop_llseek, /* read uses no f_pos */ }; @ depends on !has_read && !has_write && !fops1 && !fops2 && !has_llseek && !nonseekable1 && !nonseekable2 && !seq @ identifier fops0.fops; @@ struct file_operations fops = { ... +.llseek = noop_llseek, /* no read or write fn */ }; ===== End semantic patch ===== Signed-off-by: Arnd Bergmann <arnd@arndb.de> Cc: Julia Lawall <julia@diku.dk> Cc: Christoph Hellwig <hch@infradead.org>
|
58ea91c05346f7c6336e6248b743aa9a8e1c19a9 |
|
17-May-2010 |
Martin Schwidefsky <schwidefsky@de.ibm.com> |
[S390] avoid default_llseek in s390 drivers Use nonseekable_open for a couple of s390 device drivers. This avoids the use of default_llseek function which has a dependency on the BKL. Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
94038a99119c171aea27608f81c7ba359de98c4e |
|
17-May-2010 |
Martin Schwidefsky <schwidefsky@de.ibm.com> |
[S390] More cleanup for struct _lowcore Remove cpu_id from lowcore and replace addr_t with __u64. Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
889ee9556c89a877b8343b6bbe6ac8dc5d57e433 |
|
22-Apr-2010 |
Sebastian Ott <sebott@linux.vnet.ibm.com> |
[S390] add hook to reenable mss after hibernation Reenable multiple subchannel sets after hibernation, prior to the device callbacks. Cc: <stable@kernel.org> 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>
|
0d01bb89220490763d89571d27e7ee3f13f9b372 |
|
26-Feb-2010 |
Sebastian Ott <sebott@linux.vnet.ibm.com> |
[S390] cio: trigger subchannel event at resume time ccw_device_pm_restore: trigger subchannel event to better handle changes to the subchannel device. Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
b4c707214c987da021d4d5c4ed54612cf73d80d6 |
|
26-Feb-2010 |
Sebastian Ott <sebott@linux.vnet.ibm.com> |
[S390] cio: make wait_events interruptible Make the potentially long blocking wait_event's used by the cio settle mechanism interruptible. Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
879acca58a904c25487c89ab11e23eb556fb13d3 |
|
26-Feb-2010 |
Sebastian Ott <sebott@linux.vnet.ibm.com> |
[S390] cio: introduce cio_settle This patch introduces a proc file cio_settle. A write request to this file is blocked until all queued cio actions are handled. This will allow userspace to wait for pending work affecting device availability after changing cio_ignore or the hardware configuration. Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
be5d3823f29c09676abd2eeea4f9767bc4a1a531 |
|
26-Feb-2010 |
Sebastian Ott <sebott@linux.vnet.ibm.com> |
[S390] cio: consolidate workqueues We used to maintain 2 singlethreaded workqueues for synchronization and to trigger work from interrupt context. Since our latest cio changes we only use one of these workqueues. So get rid of the unused workqueue, rename the remaining one to "cio_work_q" and move its ownership to the channel subsystem driver. Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
471452104b8520337ae2fb48c4e61cd4896e025d |
|
15-Dec-2009 |
Alexey Dobriyan <adobriyan@gmail.com> |
const: constify remaining dev_pm_ops Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
|
390935acac21f3ea1a130bdca8eb9397cb293643 |
|
07-Dec-2009 |
Peter Oberparleiter <peter.oberparleiter@de.ibm.com> |
[S390] cio: introduce subchannel todos Ensure that current and future users of sch->work do not overwrite each other by introducing a single mechanism for delayed subchannel work. Signed-off-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
5d6e6b6f6f3eac10a7f5a15e961bac3b36824d9d |
|
07-Dec-2009 |
Peter Oberparleiter <peter.oberparleiter@de.ibm.com> |
[S390] cio: introduce parent-initiated device move Change the initiative to update subchannel-ccw device associations to the subchannel: when there is an indication that the internal association no longer reflects the current hardware state, mark each affected subchannel as requiring attention. Once processing reaches a subchannel, determine the correct association for that subchannel at that time and perform the necessary device_move operations. This change fixes problems with the previous approach which would leave devices in an inconsistent state when a new hardware change occurred while a device_move was already scheduled. Signed-off-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
703e5c9993639284bc0a8929b6de362424df7019 |
|
22-Sep-2009 |
Sebastian Ott <sebott@linux.vnet.ibm.com> |
[S390] cio: introduce consistent subchannel scanning Previously, there were multiple subchannel scanning mechanisms which could potentially conflict with each other. Fix this problem by moving blacklist and ccw driver triggered scanning to the existing evaluation method. Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
b0a285d31bd475fdd4312e457288be558b705e55 |
|
22-Sep-2009 |
Sebastian Ott <sebott@linux.vnet.ibm.com> |
[S390] cio: idset use actual number of ssids The functions idset_sch_new and for_each_subchannel_staged use different values for the number of subchannel sets. Make it consistent by changing idset_sch_new to also use the actual number of subchannel sets. Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
b827d1c8b65b27a293433e7c4723c7dfd6c4b848 |
|
22-Sep-2009 |
Sebastian Ott <sebott@linux.vnet.ibm.com> |
[S390] cio: dont kfree vmalloced memory Don't use kfree to free memory allocated by vmalloc. Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
8ea7f5590142c0b9ab319aa3cae85cf430a207d8 |
|
22-Sep-2009 |
Sebastian Ott <sebott@linux.vnet.ibm.com> |
[S390] cio: introduce css_settle Introduce the css_driver callback settle which can be implemented by a subchannel driver to wait for the subchannel type specific asynchronous work to finish. In channel_subsystem_init_sync we call that for each subchannel driver. Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
255305536c1b56ad09590f1400fb2c788265e34e |
|
22-Sep-2009 |
Sebastian Ott <sebott@linux.vnet.ibm.com> |
[S390] cio: introduce css_eval_scheduled Use css_eval_scheduled to determine if all scheduled subchannel evaluation is finished. Wait for this value to be 0 in the channel subsystem init function. Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
2f17644d1cd0121daa0a997ff4eca5b3b44d1fae |
|
22-Sep-2009 |
Sebastian Ott <sebott@linux.vnet.ibm.com> |
[S390] cio: merge init calls Define initialization sequence of css and ccw bus init calls by merging them into a single init call. Also introduce channel_subsystem_init_sync to wait for the initialization of devices to finish. Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
a4dbd6740df0872cdf0a86841f75beec8381964d |
|
24-Jun-2009 |
David Brownell <dbrownell@users.sourceforge.net> |
driver model: constify attribute groups Let attribute group vectors be declared "const". We'd like to let most attribute metadata live in read-only sections... this is a start. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
|
e86a6ed63f46fe8fb555fda531084bca3ef62fd7 |
|
11-Sep-2009 |
Heiko Carstens <heiko.carstens@de.ibm.com> |
[S390] Get rid of cpuid.h header file. Merge cpuid.h header file into cpu.h. While at it convert from typedef to struct declaration and also convert cio code to use proper lowcore structure instead of casts. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
c6304933274f8e3cc6983d496456757ac8ab2e0b |
|
11-Sep-2009 |
Sebastian Ott <sebott@linux.vnet.ibm.com> |
[S390] proper use of device register Don't use kfree directly after device registration started. Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
6ee4fec6be06f7d138860b37cba58982cc3ccb16 |
|
11-Sep-2009 |
Sebastian Ott <sebott@linux.vnet.ibm.com> |
[S390] cio: remove subchannel init_name We used the init_name to set the console subchannels name early at the boot stage. With the patch cio: fix memleak in subchannel validation we moved the name setting to the point where we actually register the console subchannel. At this time we can do dynamic allocations and therefore use dev_set_name. Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
ab6aae09024be1b039df441fa1b64dbe092d0acb |
|
11-Sep-2009 |
Sebastian Ott <sebott@linux.vnet.ibm.com> |
[S390] cio: fix memleak in subchannel validation When scanning for new subchannels we have a code path where we allocate memory for a struct subchannel, set the device name (which is dynamically allocated now) and do a check if the underlying device is blacklisted - if so we free the subchannel structure. Since we have not set up refcounting at this stage, the device name's memory is lost. Fix this by moving the dev_set_name after the blacklist test. Note: With this patch the init_name for the console subchannel becomes virtually obsolete. Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
1da73bc80bdfc9588192a6e6f5a72f8138f7378d |
|
11-Sep-2009 |
Peter Oberparleiter <peter.oberparleiter@de.ibm.com> |
[S390] cio: consolidate subchannel intparm reset Ensure that the hardware interruption parameter for a subchannel is reset when the associated subchannel data structure is freed. Signed-off-by: Peter Oberparleiter <peter.oberparleiter@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>
|
7b4684880dfc6c45bc56039ca5eada771d7643ab |
|
26-Mar-2009 |
Martin Schwidefsky <schwidefsky@de.ibm.com> |
[S390] eliminate cpuinfo_S390 structure Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
56e25e9777bf15365293e27a3256eb9214a11edf |
|
26-Mar-2009 |
Peter Oberparleiter <peter.oberparleiter@de.ibm.com> |
[S390] cio: prevent workqueue deadlock Subchannel reprobing can block the kslowcrw workqueue indefinitely while waiting for device recognition to finish which is also scheduled to run on kslowcrw. Prevent this deadlock by moving the waiting portion of subchannel reprobing to the cio workqueue. Signed-off-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
90ac24a5aeb8d4bef001bd3589564a52846d0eee |
|
26-Mar-2009 |
Sebastian Ott <sebott@linux.vnet.ibm.com> |
[S390] cio: device scan oom fallback. Since some callers rely on for_each_subchannel_staged to not fail, fall back to brute force scanning using get_subchannel_by_schid in case of a oom situation. 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>
|
f67f129e519fa87f8ebd236b6336fe43f31ee141 |
|
01-Mar-2009 |
Ming Lei <tom.leiming@gmail.com> |
Driver core: implement uevent suppress in kobject This patch implements uevent suppress in kobject and removes it from struct device, based on the following ideas: 1,Uevent sending should be one attribute of kobject, so suppressing it in kobject layer is more natural than in device layer. By this way, we can do it for other objects embedded with kobject. 2,It may save several bytes for each instance of struct device.(On my omap3(32bit ARM) based box, can save 8bytes per device object) This patch also introduces dev_set|get_uevent_suppress() helpers to set and query uevent_suppress attribute in case to help kobject as private part of struct device in future. [This version is against the latest driver-core patch set of Greg,please ignore the last version.] Signed-off-by: Ming Lei <tom.leiming@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
|
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>
|
13952ec12dfeea793ff83c2a96139ed57eb0b897 |
|
25-Dec-2008 |
Sebastian Ott <sebott@linux.vnet.ibm.com> |
[S390] cio: introduce cio_commit_config To change the configuration of a subchannel we alter the modifiable bits of the subchannel's schib field and issue a modify subchannel. There can be the case that not all changes were applied -or worse- quietly overwritten by the hardware. With the next store subchannel we obtain the current state of the hardware but lose our target configuration. With this patch we introduce a subchannel_config structure which contains the target subchannel configuration. Additionally the msch wrapper cio_modify is replaced with cio_commit_config which copies the desired changes to a temporary schib. msch is then called with the temporary schib. This schib is only written back to the subchannel if all changes were applied. Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
1bf5b2853925cf92bfc5f0eddb68a8ed18782845 |
|
10-Oct-2008 |
Cornelia Huck <cornelia.huck@de.ibm.com> |
[S390] bus_id -> dev_set_name() changes Convert most s390 users setting bus_id to dev_set_name(). css and ccw busses are deferred since they need some special treatment. Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
a2164b8174f13b7315c3f45c0b48dec619285096 |
|
09-Sep-2008 |
Cornelia Huck <cornelia.huck@de.ibm.com> |
[S390] cio: Correct cleanup on error. Fix cleanup on error in chp_new() and init_channel_subsystem() (must not call kfree() on structures that had been registered). Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
91c36919a456589f4f073671474a1f899e0d3c2b |
|
21-Aug-2008 |
Peter Oberparleiter <peter.oberparleiter@de.ibm.com> |
[S390] cio: call ccw driver notify function with lock held Calling a ccw driver's notify function without the ccw device lock held opens up a race window between discovery and handling of a change in the device operational state. As a result, the device driver may encounter unexpected device malfunction, leading to out-of-retry situations or similar. Remove race by extending the ccw device lock from state change discovery to the calling of the notify function. Signed-off-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
ef60cd13ecee0ccf2439d63013cbfc798aea2bb9 |
|
14-Jul-2008 |
Sebastian Ott <sebott@linux.vnet.ibm.com> |
[S390] cio: fix double unregistering of subchannels In some cases where the channel subsystem decides to drop a subchannel device device_unregister may be called twice, which results in an oops. The patch prevents this by only unregistering registered devices. Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com> Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
f08adc008d84f6b03d377ede951e29ed169e76e2 |
|
14-Jul-2008 |
Cornelia Huck <cornelia.huck@de.ibm.com> |
[S390] css: Use css_device_id for bus matching. css_device_id exists, so use it for determining the right driver (and add a match_flags which is always 1 for valid types). 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>
|
6ef556ccc8fd256259745c4f0d0ab65aaf703824 |
|
14-Jul-2008 |
Cornelia Huck <cornelia.huck@de.ibm.com> |
[S390] cio: Use isc_{register,unregister}. Use the new isc registration functions for all places that need an I/O interruption subclass. 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>
|
3a3fc29a6d0626fb4897b7391c4e956efbacd394 |
|
14-Jul-2008 |
Cornelia Huck <cornelia.huck@de.ibm.com> |
[S390] cio: Introduce abstract isc definitions. Replace the numeric values for I/O interruption subclass usage with abstract definitions and collect them all in asm/isc.h. This gives us a better overview of which iscs are actually used and makes it possible to better spread out isc usage in the future. 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>
|
75784c00876c88ca6e955c39cbb5d47cf408fd3c |
|
14-Jul-2008 |
Cornelia Huck <cornelia.huck@de.ibm.com> |
[S390] cio: Get rid of css_characteristics_avail. Checking for the validity of the css_*_characteristics is superfluous since they stay 0 for non-successful scsc. 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>
|
b3a686f47a3615fcfec0a01c4103c50bb9621369 |
|
14-Jul-2008 |
Cornelia Huck <cornelia.huck@de.ibm.com> |
[S390] cio: Base message subchannel handling. 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>
|
44a1c19e3b47a7ac596808177ccd250b95f5e688 |
|
14-Jul-2008 |
Cornelia Huck <cornelia.huck@de.ibm.com> |
[S390] cio: Export some symbols for modular css drivers. 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>
|
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>
|
7e9db9eaefdb8798730790214ff1b7746006ec98 |
|
14-Jul-2008 |
Cornelia Huck <cornelia.huck@de.ibm.com> |
[S390] cio: Introduce modalias for css bus. Add modalias and subchannel type attributes for all subchannels. I/O subchannel specific attributes are now created in io_subchannel_probe(). modalias and subchannel type are also added to the uevent for the css bus. Also make the css modalias known. 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>
|
0ae7a7b250bdf7ee87c8346164ef3c47fb79dfbd |
|
14-Jul-2008 |
Cornelia Huck <cornelia.huck@de.ibm.com> |
[S390] cio: Register all subchannels. Register all valid subchannels, not only I/O subchannels. Move I/O subchannel specific initialization to io_subchannel_probe(). 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>
|
139b83dd57248a3c8fcfb256e562311ad61478e9 |
|
07-May-2008 |
Michael Ernst <mernst@de.ibm.com> |
[S390] cio: Remove cio_msg kernel parameter. The only sporadically used CIO_DEBUG messages are replaced by ordinary CIO_MSG_EVENT messages. The CIO_MSG_EVENT messages debug levels are consolidated. Signed-off-by: Michael Ernst <mernst@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
2f972202315cf71fd60e890ebbed7d5bcf620ba4 |
|
30-Apr-2008 |
Cornelia Huck <cornelia.huck@de.ibm.com> |
[S390] cio: Use strict_strtoul() for attributes. Make parsing of attribute writes handle incorrect input better. Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@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>
|
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>
|
4beee64685e116b01c47655daf6d88df87e053c8 |
|
26-Jan-2008 |
Cornelia Huck <cornelia.huck@de.ibm.com> |
[S390] cio: Set driver->owner on css, ccw and ccwgroup busses. Set the owner field in the embedded struct device_driver to the value provided in the {css,ccw,ccwgroup}_driver. Signed-off-by: Cornelia Huck <cornelia.huck@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>
|
cd6b4f27b9bb2a6a5ec82b96b87c85421257be6c |
|
26-Jan-2008 |
Cornelia Huck <cornelia.huck@de.ibm.com> |
[S390] cio: Introduce subchannel->private. Introduce a private pointer in struct subchannel to store per-subchannel type data (cannot use dev->priv since this is already used for something else). Create a new header io_sch.h for I/O subchannel specific structures and instructions. Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
25b7bb5838ab81b68a9de72df577103d8b4aba3c |
|
26-Jan-2008 |
Cornelia Huck <cornelia.huck@de.ibm.com> |
[S390] cio: Add css_driver_{register,unregister}. Add wrapper functions for driver_register and driver_unregister so that css drivers don't need to muck with struct device_driver directly. Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
98c13c283a4e8b7f844f1f470abd7c756248fcc4 |
|
26-Jan-2008 |
Cornelia Huck <cornelia.huck@de.ibm.com> |
[S390] cio: Reset sch->driver. sch->driver needs to be reset to NULL on failed probe and after remove. We also need to check for sch->driver on shutdown. 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>
|
084325d80418adf4d75b10a9ceff1348f2e09163 |
|
26-Jan-2008 |
Cornelia Huck <cornelia.huck@de.ibm.com> |
[S390] cio: Use helpers instead of container_of(). - Introduce to_cssdriver. - Use to_xxx instead of container_of where possible. Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
671756162cfb0b3ccbb6a0047baa3010885561a2 |
|
04-Dec-2007 |
Peter Oberparleiter <peter.oberparleiter@de.ibm.com> |
[S390] cio: add missing reprobe loop end statement Add loop end statement to prevent looping over empty subchannel sets. Signed-off-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
c5d4a9997b4b2ec71cff0b219f05c6bc51f3fc79 |
|
20-Nov-2007 |
Cornelia Huck <cornelia.huck@de.ibm.com> |
[S390] cio: Register/unregister subchannels only from kslowcrw. Make sure all subchannel handling is done on the slow path workqueue so that we don't have races between an old subchannel unregistering and a new subchannel with the same name registering. Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
5bf04b2062c5b441d7154216694fea7dc2a6a7f3 |
|
22-Oct-2007 |
Cornelia Huck <cornelia.huck@de.ibm.com> |
[S390] cio: Fix incomplete commit for uevent suppression. Commit fa1a8c23eb7d3ded8a3c6d0e653339a2bc7fca9e intended to introduce uevent suppression for subchannels, but half of it was lost somewhere. Now, we end up with two uevents for every registered subchannel :( So we should better add the missing part from http://marc.info/?l=linux-kernel&m=117515953113974&w=2. Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
a55360df406cca797ac07d722688dd7ec29bf46e |
|
12-Oct-2007 |
Cornelia Huck <cornelia.huck@de.ibm.com> |
[S390] cio: Disable channel path measurements on shutdown/reboot. Make sure channel path measurements are disabled via a reboot notifier since we cannot rely on userspace to disable it again after enabling it. This is 1. clean and 2. makes sure that channel path measurements do not stay enabled after a reboot not involving a subsystem reset (which would lead to the channel subsystem scribbling onto random memory). Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
7c9f4e3aaae020fc674f52393cbac1bdb648bf90 |
|
12-Oct-2007 |
Cornelia Huck <cornelia.huck@de.ibm.com> |
[S390] cio: rename css to channel_subsystems Rename css[] to channel_subsystems[] to avoid name clashes. 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>
|
5693ce6f9b9f08942e55e3825db014f8b1205772 |
|
10-Aug-2007 |
Cornelia Huck <cornelia.huck@de.ibm.com> |
[S390] cio: avoid memory leak on error in css_alloc_subchannel(). sch->lock has been allocated in cio_validate_subchannel(), it must be freed if cio_modify() fails. 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>
|
07c6a3386d8c09e8d6c58274bd69f640dda15833 |
|
27-Jul-2007 |
Cornelia Huck <cornelia.huck@de.ibm.com> |
[S390] cio: css_sch_device_register() can be made static. Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
f7e5d67c7928bfdbcdfd95a0b3d75122238e23e0 |
|
10-May-2007 |
Cornelia Huck <cornelia.huck@de.ibm.com> |
[S390] cio: Make some structures and a function static. 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>
|
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>
|
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>
|
2b67fc46061b2171fb8fbb55d1ac717abd533569 |
|
05-Feb-2007 |
Heiko Carstens <heiko.carstens@de.ibm.com> |
[S390] Get rid of a lot of sparse warnings. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
e42734e270b9e5ada83188d73b733533ce11ee4a |
|
15-Dec-2006 |
Stefan Bader <shbader@de.ibm.com> |
[S390] cio: css_register_subchannel race. Asynchronous probe can release memory of a subchannel before css_get_ssd_info is called. To fix this call css_get_ssd_info before registering with driver core. Signed-off-by: Stefan Bader <shbader@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
529192f3b90682e37c5fcab461d968d062f1e0e4 |
|
08-Dec-2006 |
Cornelia Huck <cornelia.huck@de.ibm.com> |
[S390] Use dev->groups for adding/removing the subchannel attribute group. 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>
|
d7b5a4c94f49131811112526f7d404a50f0b5ca7 |
|
08-Dec-2006 |
Cornelia Huck <cornelia.huck@de.ibm.com> |
[S390] Support for disconnected devices reappearing on another subchannel. - create a 'pseudo_subchannel' per channel subsystem (the 'orphanage') - use the orphanage as a shelter for ccw_devices that can't remain on the same subchannel 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>
|
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>
|
7674da77cb2d27ae6559c55151da171ceb02beb4 |
|
08-Dec-2006 |
Cornelia Huck <cornelia.huck@de.ibm.com> |
[S390] Some preparations for the dynamic subchannel mapping patch. - Move adding subchannel attributes to css_register_subchannel(). - Don't call device_trigger_reprobe() for non-operational devices. - Introduce io_subchannel_create_ccwdev(). 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>
|
4927b3f74c6a2fd92226dcf1542a598be9738808 |
|
06-Dec-2006 |
Al Viro <viro@ftp.linux.org.uk> |
[PATCH] More work_struct induced breakage (s390) Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
c2b1449bd1fd73103ed5ff1a28d8f7cbc8a01b52 |
|
27-Oct-2006 |
Cornelia Huck <cornelia.huck@de.ibm.com> |
[S390] cio: css_probe_device() must be called enabled. Move css_probe_device() behind giving up the lock for the old subchannel in css_evaluate_known_subchannel() so we aren't disabled when we call it. 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>
|
564337f34cc10fd8f30329e4e5f14f8995db5711 |
|
20-Sep-2006 |
Peter Oberparleiter <peter.oberparleiter@de.ibm.com> |
[S390] cio: subchannel evaluation function operates without lock css_evaluate_subchannel() operates subchannel without lock which can lead to erratic behavior caused by concurrent device access. Also split evaluation function to make it more readable. Signed-off-by: Peter Oberparleiter <peter.oberparleiter@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>
|
6ab4879a0d074c938fd17dba141dce042fc17bee |
|
12-Jul-2006 |
Cornelia Huck <cornelia.huck@de.ibm.com> |
[S390] subchannel register/unregister mutex. Add a reg_mutex to prevent unregistering a subchannel before it has been registered. Since 2.6.17, we've seen oopses in kslowcrw when a device is found to be not operational during sense id when doing initial device recognition; it is not clear yet why that particular problem was not (yet) observed with earlier kernels... Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
40154b824331cd9c81c06545761338f3d80a36e2 |
|
29-Jun-2006 |
Peter Oberparleiter <peter.oberparleiter@de.ibm.com> |
[S390] cio async subchannel reprobe. Changes in the DASD driver require an asynchronous implementation of the subchannel reprobe loop. This loop was so far only used by the blacklisting mechanism but is now available to all CCW device drivers. Signed-off-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
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>
|
e843e280cbe218fc8387339806d344708dee348a |
|
15-Mar-2006 |
Greg Smith <gsmith@nc.rr.com> |
[PATCH] "s390: multiple subchannel sets support" fix It seems this patch got dropped (it was in addition to the `s390: improve response code handling in chsc_enable_facility()' patch). Acked-by: Cornelia Huck <cornelia.huck@de.ibm.com> Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> Cc: 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>
|
8bbace7e686f1536905c703038a7eddfb1520264 |
|
11-Jan-2006 |
Cornelia Huck <huckc@de.ibm.com> |
[PATCH] Add {css,ccw}_bus_type probe, remove, shutdown methods. The following patch converts css_bus_type and ccw_bus_type to use the new bus_type methods. Signed-off-by: Cornelia Huck <huckc@de.ibm.com> CC: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
|
3b793060e768197d525e892fd1f84dbc8767cada |
|
06-Jan-2006 |
Cornelia Huck <huckc@de.ibm.com> |
[PATCH] s390: Fix missing release function and cosmetic changes - Use kzalloc() in blacklist.c. - Kill unwanted casts in blacklist.c. - Provide release function for struct channel_subsystem. Signed-off-by: Cornelia Huck <huckc@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>
|
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>
|
cfb1b55595a0dfd87b5849e8d0216c029f34445f |
|
06-Jan-2006 |
Carsten Otte <cotte@de.ibm.com> |
[PATCH] s390: move s390_root_dev_* out of the cio layer 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>
|
b0744bd2925a4a24865963322534107d2ad553f9 |
|
25-Jun-2005 |
Cornelia Huck <cohuck@de.ibm.com> |
[PATCH] s/390: Use klist in cio Convert the common I/O layer to use the klist interfaces. This patch has been adapted from the previous version to the changed interface semantics. Also, gcc 4.0 compile warnings have been removed. Signed-off-by: Cornelia Huck <cohuck@de.ibm.com> Cc: Greg KH <greg@kroah.com> Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
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!
|