Call for bge(4) testers
Pyun YongHyeon
pyunyh at gmail.com
Tue Nov 17 19:32:44 UTC 2009
On Tue, Nov 17, 2009 at 04:50:06PM -0200, Gonzalo Nemmi wrote:
[...]
> Well, I proceeded as I told you I would, applied your patch and even if
> it didn't solve the problem (bge still doesn't resume) at least it
> improved the previous situation given that now it doesn't loop timing
> out once and again as before.
>
> You can find a tail from /var/log/messages in here:
> http://pastebin.com/f643555f7
>
> As you can see, the first 3 lines corresponds to "kldload if_bge"
> Line number 4 is "acpiconf -s3"
>
> At line number 17 bge0 finally fails and let's the machine wake up at
> line 18.
>
> Then, as soon as I could I issued a "ifconfig bge0" to see what I could
> get .. that's what you can see from line 20 to line 41. (as you can see
Ok, would you try this one? I guess bge(4) register access method
could be in uninitialized state after resume.
> in there, I found there are problems resuming umass devices as
> well ... )
>
Probably Hans can help you on USB issues.
> Line 42 to 53 correspond to "kldnuload if_bge" .. which, by the way,
> once unloaded, I could load it again but bge0 never showed
> on "ifconfig".
>
> Line 54 till the end correspond to "umount_msdos /dev/ad0s1" ... which
> ended with pulling the pendrive out as the system coldn't umount it ...
>
> I also found I get wpi0 messages on resume .. it spouts:
> wpi0 could not lock memory
> wpi0 could not lock memory
> wpi0 could not lock memory
> wpi0 could not lock memory
> wpi0 could not lock memory
> wpi0 could not lock memory
> wpi0 could not lock memory
> and then it let's the system resume.
>
Don't know what it really means. You'd be better to ask wpi(4)
author Benjamin Close(benjsc@).
> All in all .. there's _a_lot_of_problems_on_resume_
>
>
> Pyun, if you'd like me to try a new patch or to do some tests or
> whatever, just let me know. I'm here awaiting orders :)
>
> Best Regards
> Gonzalo Nemmi
-------------- next part --------------
Index: sys/dev/bge/if_bge.c
===================================================================
--- sys/dev/bge/if_bge.c (revision 199411)
+++ sys/dev/bge/if_bge.c (working copy)
@@ -2995,6 +2995,15 @@
}
}
+ if (sc->bge_asicrev == BGE_ASICREV_BCM5906) {
+ val = CSR_READ_4(sc, BGE_VCPU_STATUS);
+ CSR_WRITE_4(sc, BGE_VCPU_STATUS,
+ val | BGE_VCPU_STATUS_DRV_RESET);
+ val = CSR_READ_4(sc, BGE_VCPU_EXT_CTRL);
+ CSR_WRITE_4(sc, BGE_VCPU_EXT_CTRL,
+ val & ~BGE_VCPU_EXT_CTRL_HALT_CPU);
+ }
+
/*
* Set GPHY Power Down Override to leave GPHY
* powered up in D0 uninitialized.
@@ -3005,15 +3014,6 @@
/* Issue global reset */
write_op(sc, BGE_MISC_CFG, reset);
- if (sc->bge_asicrev == BGE_ASICREV_BCM5906) {
- val = CSR_READ_4(sc, BGE_VCPU_STATUS);
- CSR_WRITE_4(sc, BGE_VCPU_STATUS,
- val | BGE_VCPU_STATUS_DRV_RESET);
- val = CSR_READ_4(sc, BGE_VCPU_EXT_CTRL);
- CSR_WRITE_4(sc, BGE_VCPU_EXT_CTRL,
- val & ~BGE_VCPU_EXT_CTRL_HALT_CPU);
- }
-
DELAY(1000);
/* XXX: Broadcom Linux driver. */
@@ -4455,6 +4455,7 @@
sc = device_get_softc(dev);
BGE_LOCK(sc);
+ bge_reset(sc);
ifp = sc->bge_ifp;
if (ifp->if_flags & IFF_UP) {
bge_init_locked(sc);
More information about the freebsd-current
mailing list