Date: Fri, 8 Oct 2010 20:37:13 +0000 (UTC) From: Pyun YongHyeon <yongari@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/sys/dev/sis if_sis.c if_sisreg.h Message-ID: <201010082037.o98KbM2t017875@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
yongari 2010-10-08 20:37:13 UTC FreeBSD src repository Modified files: (Branch: RELENG_7) sys/dev/sis if_sis.c if_sisreg.h Log: SVN rev 213618 on 2010-10-08 20:37:13Z by yongari MFC r212116: Overhaul link state change handling. Previously sis(4) blindly configured TX/RX MACs before getting a valid link. After that, when link state change callback is called, it called device initialization again to reconfigure TX/RX MACs depending on resolved link state. This hack created several bad side effects and it required more hacks to not collide with sis_tick callback as well as disabling switching to currently selected media in device initialization. Also it seems sis(4) was used to be a template driver for long time so other drivers which was modeled after sis(4) also should be changed. TX/RX MACs are now reconfigured after getting a valid link. Fix for short cable error is also applied after getting a link because it's only valid when the resolved speed is 100Mbps. While I'm here slightly reorganize interrupt handler such that sis(4) always read SIS_ISR register to see whether the interrupt is ours or not. This change removes another hack and make it possible to nuke sis_stopped variable in softc. Revision Changes Path 1.7.2.9 +100 -86 src/sys/dev/sis/if_sis.c 1.2.2.6 +0 -2 src/sys/dev/sis/if_sisreg.h
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201010082037.o98KbM2t017875>