diff options
author | Cornelia Huck <cornelia.huck@de.ibm.com> | 2008-07-14 03:58:58 -0400 |
---|---|---|
committer | Heiko Carstens <heiko.carstens@de.ibm.com> | 2008-07-14 04:02:10 -0400 |
commit | 3a3fc29a6d0626fb4897b7391c4e956efbacd394 (patch) | |
tree | 7107a7883f44c6350d8d85bab7a1871b6cb342e6 /drivers/s390/cio/cio.c | |
parent | 75784c00876c88ca6e955c39cbb5d47cf408fd3c (diff) |
[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>
Diffstat (limited to 'drivers/s390/cio/cio.c')
-rw-r--r-- | drivers/s390/cio/cio.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/drivers/s390/cio/cio.c b/drivers/s390/cio/cio.c index c24dfcd858da..a4f9130910d6 100644 --- a/drivers/s390/cio/cio.c +++ b/drivers/s390/cio/cio.c | |||
@@ -24,6 +24,7 @@ | |||
24 | #include <asm/ipl.h> | 24 | #include <asm/ipl.h> |
25 | #include <asm/chpid.h> | 25 | #include <asm/chpid.h> |
26 | #include <asm/airq.h> | 26 | #include <asm/airq.h> |
27 | #include <asm/isc.h> | ||
27 | #include <asm/cpu.h> | 28 | #include <asm/cpu.h> |
28 | #include <asm/fcx.h> | 29 | #include <asm/fcx.h> |
29 | #include "cio.h" | 30 | #include "cio.h" |
@@ -699,9 +700,9 @@ void wait_cons_dev(void) | |||
699 | if (!console_subchannel_in_use) | 700 | if (!console_subchannel_in_use) |
700 | return; | 701 | return; |
701 | 702 | ||
702 | /* disable all but isc 1 (console device) */ | 703 | /* disable all but the console isc */ |
703 | __ctl_store (save_cr6, 6, 6); | 704 | __ctl_store (save_cr6, 6, 6); |
704 | cr6 = 0x40000000; | 705 | cr6 = 1UL << (31 - CONSOLE_ISC); |
705 | __ctl_load (cr6, 6, 6); | 706 | __ctl_load (cr6, 6, 6); |
706 | 707 | ||
707 | do { | 708 | do { |
@@ -783,10 +784,10 @@ cio_probe_console(void) | |||
783 | } | 784 | } |
784 | 785 | ||
785 | /* | 786 | /* |
786 | * enable console I/O-interrupt subclass 1 | 787 | * enable console I/O-interrupt subclass |
787 | */ | 788 | */ |
788 | ctl_set_bit(6, 30); | 789 | ctl_set_bit(6, 31 - CONSOLE_ISC); |
789 | console_subchannel.schib.pmcw.isc = 1; | 790 | console_subchannel.schib.pmcw.isc = CONSOLE_ISC; |
790 | console_subchannel.schib.pmcw.intparm = | 791 | console_subchannel.schib.pmcw.intparm = |
791 | (u32)(addr_t)&console_subchannel; | 792 | (u32)(addr_t)&console_subchannel; |
792 | ret = cio_modify(&console_subchannel); | 793 | ret = cio_modify(&console_subchannel); |
@@ -802,7 +803,7 @@ cio_release_console(void) | |||
802 | { | 803 | { |
803 | console_subchannel.schib.pmcw.intparm = 0; | 804 | console_subchannel.schib.pmcw.intparm = 0; |
804 | cio_modify(&console_subchannel); | 805 | cio_modify(&console_subchannel); |
805 | ctl_clear_bit(6, 30); | 806 | ctl_clear_bit(6, 31 - CONSOLE_ISC); |
806 | console_subchannel_in_use = 0; | 807 | console_subchannel_in_use = 0; |
807 | } | 808 | } |
808 | 809 | ||