aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/cio/cio.c
diff options
context:
space:
mode:
authorCornelia Huck <cornelia.huck@de.ibm.com>2008-07-14 03:58:58 -0400
committerHeiko Carstens <heiko.carstens@de.ibm.com>2008-07-14 04:02:10 -0400
commit3a3fc29a6d0626fb4897b7391c4e956efbacd394 (patch)
tree7107a7883f44c6350d8d85bab7a1871b6cb342e6 /drivers/s390/cio/cio.c
parent75784c00876c88ca6e955c39cbb5d47cf408fd3c (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.c13
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