Loading arch/s390/kernel/nmi.c +4 −6 Original line number Diff line number Diff line Loading @@ -95,7 +95,6 @@ EXPORT_SYMBOL_GPL(s390_handle_mcck); static int notrace s390_revalidate_registers(struct mci *mci) { int kill_task; u64 tmpclock; u64 zero; void *fpt_save_area, *fpt_creg_save_area; Loading Loading @@ -214,11 +213,10 @@ static int notrace s390_revalidate_registers(struct mci *mci) : "0", "cc"); #endif /* Revalidate clock comparator register */ asm volatile( " stck 0(%1)\n" " sckc 0(%1)" : "=m" (tmpclock) : "a" (&(tmpclock)) : "cc", "memory"); if (S390_lowcore.clock_comparator == -1) set_clock_comparator(S390_lowcore.mcck_clock); else set_clock_comparator(S390_lowcore.clock_comparator); /* Check if old PSW is valid */ if (!mci->wp) /* Loading arch/s390/lib/delay.c +9 −5 Original line number Diff line number Diff line Loading @@ -29,17 +29,21 @@ static void __udelay_disabled(unsigned long long usecs) { unsigned long mask, cr0, cr0_saved; u64 clock_saved; u64 end; mask = psw_kernel_bits | PSW_MASK_WAIT | PSW_MASK_EXT; end = get_clock() + (usecs << 12); clock_saved = local_tick_disable(); set_clock_comparator(get_clock() + (usecs << 12)); __ctl_store(cr0_saved, 0, 0); cr0 = (cr0_saved & 0xffff00e0) | 0x00000800; __ctl_load(cr0 , 0, 0); mask = psw_kernel_bits | PSW_MASK_WAIT | PSW_MASK_EXT; lockdep_off(); do { set_clock_comparator(end); trace_hardirqs_on(); __load_psw_mask(mask); local_irq_disable(); } while (get_clock() < end); lockdep_on(); __ctl_load(cr0_saved, 0, 0); local_tick_enable(clock_saved); Loading drivers/s390/cio/qdio_thinint.c +1 −1 Original line number Diff line number Diff line Loading @@ -292,8 +292,8 @@ void qdio_shutdown_thinint(struct qdio_irq *irq_ptr) return; /* reset adapter interrupt indicators */ put_indicator(irq_ptr->dsci); set_subchannel_ind(irq_ptr, 1); put_indicator(irq_ptr->dsci); } void __exit tiqdio_unregister_thinints(void) Loading Loading
arch/s390/kernel/nmi.c +4 −6 Original line number Diff line number Diff line Loading @@ -95,7 +95,6 @@ EXPORT_SYMBOL_GPL(s390_handle_mcck); static int notrace s390_revalidate_registers(struct mci *mci) { int kill_task; u64 tmpclock; u64 zero; void *fpt_save_area, *fpt_creg_save_area; Loading Loading @@ -214,11 +213,10 @@ static int notrace s390_revalidate_registers(struct mci *mci) : "0", "cc"); #endif /* Revalidate clock comparator register */ asm volatile( " stck 0(%1)\n" " sckc 0(%1)" : "=m" (tmpclock) : "a" (&(tmpclock)) : "cc", "memory"); if (S390_lowcore.clock_comparator == -1) set_clock_comparator(S390_lowcore.mcck_clock); else set_clock_comparator(S390_lowcore.clock_comparator); /* Check if old PSW is valid */ if (!mci->wp) /* Loading
arch/s390/lib/delay.c +9 −5 Original line number Diff line number Diff line Loading @@ -29,17 +29,21 @@ static void __udelay_disabled(unsigned long long usecs) { unsigned long mask, cr0, cr0_saved; u64 clock_saved; u64 end; mask = psw_kernel_bits | PSW_MASK_WAIT | PSW_MASK_EXT; end = get_clock() + (usecs << 12); clock_saved = local_tick_disable(); set_clock_comparator(get_clock() + (usecs << 12)); __ctl_store(cr0_saved, 0, 0); cr0 = (cr0_saved & 0xffff00e0) | 0x00000800; __ctl_load(cr0 , 0, 0); mask = psw_kernel_bits | PSW_MASK_WAIT | PSW_MASK_EXT; lockdep_off(); do { set_clock_comparator(end); trace_hardirqs_on(); __load_psw_mask(mask); local_irq_disable(); } while (get_clock() < end); lockdep_on(); __ctl_load(cr0_saved, 0, 0); local_tick_enable(clock_saved); Loading
drivers/s390/cio/qdio_thinint.c +1 −1 Original line number Diff line number Diff line Loading @@ -292,8 +292,8 @@ void qdio_shutdown_thinint(struct qdio_irq *irq_ptr) return; /* reset adapter interrupt indicators */ put_indicator(irq_ptr->dsci); set_subchannel_ind(irq_ptr, 1); put_indicator(irq_ptr->dsci); } void __exit tiqdio_unregister_thinints(void) Loading