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>