Casper.Dik at Sun.COM wrote:
>   
>> There is a gld_reset entry point in the driver, which will initialize the
>> hardware and enable the interrupt.
>>     
>
> I'm not sure where gld_reset() comes into play.
>
> The iprbreset() function is called on panic/reboot and it's a undocumented
> driver interface which is required for some devices to survive warm boot.
>   

Hmm... that's interesting.   That could have helped me with a similar
issue.  I'm going to look at it separately.

> (Both Windows and Solaris hang on warm boot from Solaris when iprb did not
> disable the receiver and interrupt before going down)
>   

Hmm... that's bad.  It sounds like a shared interrupt.  (Or the driver
isn't clearing the hardware interrupt before doing attach(9e), but then
that would indicate the same bug in both windows and solaris drivers.) 
It also sounds like the device doesn't get reset by e.g. a PCI bus
reset.  I've seen that before with prism cards.
>   
>> Do you mean I should disable the interrupt in the gld_reset() and enable
>> it in the gld_start()?
>>     
>
> No.  You need to look at the drv_reset() entry point; not gld_reset.
>   

devo_reset (if that's what you mean) is listed as not supported.   But 
grepping around in the code, it looks like it gets called via
devi_reset, which is called via reset_leaves(), and possibly via other
paths as well.

Maybe this function should get listed as "supported", because it would
be really useful in scenarios like the one described here.  (It is also
used, e.g., in CPR suspend/resume cycles.)

> (I'm not sure were and how gld_reset() is called but I expect it to be
> more like iprb_reset() than iprbreset().)
>   
gld_reset is called just once, at start of day.  Its kind of redundant,
actually, with gld_start.  My gld_reset function is often empty.

    -- Garrett
> Casper
>
> _______________________________________________
> laptop-discuss mailing list
> laptop-discuss at opensolaris.org
>   


-- 
Garrett D'Amore, Principal Software Engineer
Tadpole Computer / Computing Technologies Division,
General Dynamics C4 Systems
http://www.tadpolecomputer.com/
Phone: 951 325-2134  Fax: 951 325-2191


Reply via email to