Пример #1
0
/*
 * busy wait for the next interrupt on the console
 */
void wait_cons_dev(void)
{
	if (!console_subchannel_in_use)
		return;

	while (1) {
		cio_tsch(&console_subchannel);
		if (console_subchannel.schib.scsw.cmd.actl == 0)
			break;
		udelay_simple(100);
	}
}
Пример #2
0
static int
__clear_io_subchannel_easy(struct subchannel_id schid)
{
	int retry;

	if (csch(schid))
		return -ENODEV;
	for (retry=0;retry<20;retry++) {
		struct tpi_info ti;

		if (tpi(&ti)) {
			tsch(ti.schid, this_cpu_ptr(&cio_irb));
			if (schid_equal(&ti.schid, &schid))
				return 0;
		}
		udelay_simple(100);
	}
	return -EBUSY;
}
Пример #3
0
static void __clear_chsc_subchannel_easy(void)
{
	/* It seems we can only wait for a bit here :/ */
	udelay_simple(100);
}