forked from mirrors/linux
		
	 35b69a420b
			
		
	
	
		35b69a420b
		
	
	
	
	
		
			
			Add support for platforms where pit_shutdown() doesn't work because of a quirk in the PIT emulation. On these platforms setting the counter register to zero causes the PIT to start running again, negating the shutdown. Provide a global variable that controls whether the counter register is zero'ed, which platform specific code can override. Signed-off-by: Michael Kelley <mikelley@microsoft.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: "gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org> Cc: "devel@linuxdriverproject.org" <devel@linuxdriverproject.org> Cc: "daniel.lezcano@linaro.org" <daniel.lezcano@linaro.org> Cc: "virtualization@lists.linux-foundation.org" <virtualization@lists.linux-foundation.org> Cc: "jgross@suse.com" <jgross@suse.com> Cc: "akataria@vmware.com" <akataria@vmware.com> Cc: "olaf@aepfle.de" <olaf@aepfle.de> Cc: "apw@canonical.com" <apw@canonical.com> Cc: vkuznets <vkuznets@redhat.com> Cc: "jasowang@redhat.com" <jasowang@redhat.com> Cc: "marcelo.cerri@canonical.com" <marcelo.cerri@canonical.com> Cc: KY Srinivasan <kys@microsoft.com> Cc: stable@vger.kernel.org Link: https://lkml.kernel.org/r/1541303219-11142-2-git-send-email-mikelley@microsoft.com
		
			
				
	
	
		
			30 lines
		
	
	
	
		
			809 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
	
		
			809 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * This file is subject to the terms and conditions of the GNU General Public
 | |
|  * License.  See the file "COPYING" in the main directory of this archive
 | |
|  * for more details.
 | |
|  *
 | |
|  *  Machine specific IO port address definition for generic.
 | |
|  *  Written by Osamu Tomita <tomita@cinet.co.jp>
 | |
|  */
 | |
| #ifndef __LINUX_I8253_H
 | |
| #define __LINUX_I8253_H
 | |
| 
 | |
| #include <linux/param.h>
 | |
| #include <linux/spinlock.h>
 | |
| #include <linux/timex.h>
 | |
| 
 | |
| /* i8253A PIT registers */
 | |
| #define PIT_MODE	0x43
 | |
| #define PIT_CH0		0x40
 | |
| #define PIT_CH2		0x42
 | |
| 
 | |
| #define PIT_LATCH	((PIT_TICK_RATE + HZ/2) / HZ)
 | |
| 
 | |
| extern raw_spinlock_t i8253_lock;
 | |
| extern bool i8253_clear_counter_on_shutdown;
 | |
| extern struct clock_event_device i8253_clockevent;
 | |
| extern void clockevent_i8253_init(bool oneshot);
 | |
| 
 | |
| extern void setup_pit_timer(void);
 | |
| 
 | |
| #endif /* __LINUX_I8253_H */
 |