Date: Fri, 15 Jan 2010 14:59:57 -0800 From: Pyun YongHyeon <pyunyh@gmail.com> To: freebsd-current@FreeBSD.org Subject: CFT: bge(4) ASF handling Message-ID: <20100115225957.GL1228@michelle.cdnetworks.com>
next in thread | raw e-mail | index | archive | help
--rCwQ2Y43eQY6RBgR Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hi, It seems bge(4) had long standing issues on ASF handling. Floris Bos sent me a patch that fixes ASF issues. While reading bge(4) I also noticed new handshake method was not enabled on all BCM575X family of controllers. So if you have ever experienced problems with ASF or you had to disable ASF in bge(hw.bge.allow_asf) please test attached patch with ASF and let me know how it goes on your box. Note, ASF handling was disabled except HEAD so you may have to enable it explicitly on your box with hw.bge.allow_asf tunable. I'm not sure but this would also have effects on bge(4) suspend/resume issues. So if you have BCM575X or higher controller and if you have problems with suspend/resume on bge(4) please give it try. Thanks. --rCwQ2Y43eQY6RBgR Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="bge.asf.diff" Index: sys/dev/bge/if_bge.c =================================================================== --- sys/dev/bge/if_bge.c (revision 202406) +++ sys/dev/bge/if_bge.c (working copy) @@ -2744,9 +2744,8 @@ & BGE_HWCFG_ASF) { sc->bge_asf_mode |= ASF_ENABLE; sc->bge_asf_mode |= ASF_STACKUP; - if (sc->bge_asicrev == BGE_ASICREV_BCM5750) { + if (BGE_IS_575X_PLUS(sc)) sc->bge_asf_mode |= ASF_NEW_HANDSHAKE; - } } } @@ -3677,7 +3676,7 @@ if (sc->bge_asf_count) sc->bge_asf_count --; else { - sc->bge_asf_count = 5; + sc->bge_asf_count = 2; bge_writemem_ind(sc, BGE_SOFTWARE_GENCOMM_FW, BGE_FW_DRV_ALIVE); bge_writemem_ind(sc, BGE_SOFTWARE_GENNCOMM_FW_LEN, 4); --rCwQ2Y43eQY6RBgR--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100115225957.GL1228>