Exemple #1
0
int amiga_get_irq_list(char *buf)
{
	int i, len = 0;
	irq_node_t *node;

	for (i = 0; i < AMI_STD_IRQS; i++) {
		if (!(node = ami_irq_list[i]))
			continue;
		len += sprintf(buf+len, "ami  %2d: %10u ", i,
		               kstat.irqs[0][SYS_IRQS + i]);
		do {
			if (node->flags & SA_INTERRUPT)
				len += sprintf(buf+len, "F ");
			else
				len += sprintf(buf+len, "  ");
			len += sprintf(buf+len, "%s\n", node->devname);
			if ((node = node->next))
				len += sprintf(buf+len, "                    ");
		} while (node);
	}

	len += cia_get_irq_list(&ciaa_base, buf+len);
	len += cia_get_irq_list(&ciab_base, buf+len);
	return len;
}
Exemple #2
0
int show_amiga_intreeupts(struct seq_file *p, void *v)
{
	int i;
	irq_node_t *node;

	for (i = 0; i < AMI_STD_IRQS; i++) {
		if (!(node = ami_irq_list[i]))
			continue;
		seq_printf(p, "ami  %2d: %10u ", i,
		               kstat.irqs[0][SYS_IRQS + i]);
		do {
			if (node->flags & SA_INTERRUPT)
				seq_puts(p, "F ");
			else
				seq_puts(p, "  ");
			seq_printf(p, "%s\n", node->devname);
			if ((node = node->next))
				seq_puts(p, "                    ");
		} while (node);
	}

	cia_get_irq_list(&ciaa_base, p);
	cia_get_irq_list(&ciab_base, p);
	return len;
}
Exemple #3
0
int amiga_get_irq_list(char *buf)
{
	int i, len = 0;
	irq_node_t *node;

	for (i = 0; i < AMI_STD_IRQS; i++) {
		if (!(node = ami_irq_list[i]))
			continue;
		if (node->flags & IRQ_FLG_STD)
			continue;
		len += sprintf(buf+len, "ami  %2d: %10u ", i,
		               kstat.interrupts[SYS_IRQS + i]);
		do {
			if (ami_servers[i]) {
				if (node->flags & IRQ_FLG_FAST)
					len += sprintf(buf+len, "F ");
				else if (node->flags & IRQ_FLG_SLOW)
					len += sprintf(buf+len, "S ");
				else
					len += sprintf(buf+len, "  ");
			} else {
				if (node->flags & IRQ_FLG_LOCK)
					len += sprintf(buf+len, "L ");
				else
					len += sprintf(buf+len, "  ");
			}
			len += sprintf(buf+len, "%s\n", node->devname);
			if ((node = node->next))
				len += sprintf(buf+len, "                    ");
		} while (node);
	}

	len += cia_get_irq_list(&ciaa_base, buf+len);
	len += cia_get_irq_list(&ciab_base, buf+len);
	return len;
}