lkml.org 
[lkml]   [2008]   [Jun]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [PATCH REPOST] IB/ehca: In case of lost interrupts, trigger EOI to reenable interrupts
Date
 > > So just to be clear: this is a workaround for a hardware/firmware bug?

> Yes it is.

OK, so paulus et al... does it seem like a good approach to call H_EOI
from driver code (given that this driver makes tons of other hcalls)?

How critical is this? Since you said "corner case testing" I suspect we
can defer this to 2.6.27 and maybe get it into -stable later?

Also, out of curiousity:

> +u64 hipz_h_eoi(int irq)
> +{
> + int value;
> + unsigned long xirr;
> +
> + iosync();

what is the iosync() required for here?

> + value = (0xff << 24) | irq;
> + xirr = value & 0xffffffff;

given that irq and value are ints, is there any possible way value could
have bits outside of the low 32 set? If you're worried about sign
extension isn't it simpler to just make value unsigned?

> + return plpar_hcall_norets(H_EOI, xirr);
> +}

ie why not:

u64 hipz_h_eoi(int irq)
{
unsigned xirr;

iosync();
xirr = (0xff << 24) | irq;
return plpar_hcall_norets(H_EOI, xirr);
}


\
 
 \ /
  Last update: 2008-06-10 18:21    [W:0.127 / U:0.620 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site