Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 2 Jan 2007 12:20:09 -0500
From:      John Baldwin <jhb@freebsd.org>
To:        Olivier Houchard <cognet@freebsd.org>
Cc:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   Re: PERFORCE change 112424 for review
Message-ID:  <200701021220.09987.jhb@freebsd.org>
In-Reply-To: <200701021653.l02GrTiC007919@repoman.freebsd.org>
References:  <200701021653.l02GrTiC007919@repoman.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tuesday 02 January 2007 11:53, Olivier Houchard wrote:
> http://perforce.freebsd.org/chv.cgi?CH=112424
> 
> Change 112424 by cognet@hulglah on 2007/01/02 16:52:32
> 
> 	Implement a minimalist intr_eoi_src which just calls arm_unmask_irq(),
> 	so that irq are unmasked after a filter+ithread runs.

Err, you shouldn't need to mask the IRQ unless you schedule the ithread.   Hmm,
I'd also prefer it if we didn't pass function handlers to mi_handle_intr() (which
should be intr_handle() or something, all the MI interrupt code is intr_foo(),
not mi_foo_intr()) but instead set them in the intr_event and passed them to
intr_event_create().

> Affected files ...
> 
> .. //depot/projects/soc2006/intr_filter/arm/arm/intr.c#10 edit
> 
> Differences ...
> 
> ==== //depot/projects/soc2006/intr_filter/arm/arm/intr.c#10 (text+ko) ====
> 
> @@ -122,6 +122,15 @@
>  	return (NULL);
>  }
>  
> +static void
> +intr_eoi_src(void *arg)
> +{
> +	uintptr_t nb;
> +
> +	nb = (uintptr_t)arg;
> +	arm_unmask_irq(nb);
> +}
> +
>  void
>  arm_handler_execute(struct trapframe *frame, int irqnb __unused)
>  {
> @@ -133,8 +142,8 @@
>  		arm_mask_irq(i);
>  		intrcnt[intrcnt_tab[i]]++;
>  		event = intr_events[i];
> -		res = mi_handle_intr(event, frame, intr_eoi_src_stub, 
> -				     intr_disab_eoi_src_stub, NULL);
> +		res = mi_handle_intr(event, frame, intr_eoi_src, 
> +				     intr_disab_eoi_src_stub, (void *)i);
>  		switch (res) {
>  		case 0:
>  			break;
> 

-- 
John Baldwin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200701021220.09987.jhb>