Module Name: src
Committed By: cliff
Date: Mon Nov 9 10:11:47 UTC 2009
Modified Files:
src/sys/dev/pci [matt-nb5-mips64]: if_msk.c
Log Message:
- in msk_tick, only call mii_tick() if status has changed
To generate a diff of this commit:
cvs rdiff -u -r1.21.6.1 -r1.21.6.1.4.1 src/sys/dev/pci/if_msk.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/dev/pci/if_msk.c
diff -u src/sys/dev/pci/if_msk.c:1.21.6.1 src/sys/dev/pci/if_msk.c:1.21.6.1.4.1
--- src/sys/dev/pci/if_msk.c:1.21.6.1 Thu Nov 20 03:12:08 2008
+++ src/sys/dev/pci/if_msk.c Mon Nov 9 10:11:47 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: if_msk.c,v 1.21.6.1 2008/11/20 03:12:08 snj Exp $ */
+/* $NetBSD: if_msk.c,v 1.21.6.1.4.1 2009/11/09 10:11:47 cliff Exp $ */
/* $OpenBSD: if_msk.c,v 1.42 2007/01/17 02:43:02 krw Exp $ */
/*
@@ -52,7 +52,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_msk.c,v 1.21.6.1 2008/11/20 03:12:08 snj Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_msk.c,v 1.21.6.1.4.1 2009/11/09 10:11:47 cliff Exp $");
#include "bpfilter.h"
#include "rnd.h"
@@ -1221,8 +1221,9 @@
case PCI_MAPREG_TYPE_MEM | PCI_MAPREG_MEM_TYPE_64BIT:
if (pci_mapreg_map(pa, SK_PCI_LOMEM,
memtype, 0, &sc->sk_btag, &sc->sk_bhandle,
- NULL, &size) == 0)
+ NULL, &size) == 0) {
break;
+ }
default:
aprint_error(": can't map mem space\n");
return;
@@ -1823,10 +1824,15 @@
{
struct sk_if_softc *sc_if = xsc_if;
struct mii_data *mii = &sc_if->sk_mii;
+ uint16_t gpsr;
int s;
s = splnet();
- mii_tick(mii);
+ gpsr = SK_YU_READ_2(sc_if, YUKON_GPSR);
+ if ((gpsr & YU_GPSR_MII_PHY_STC) != 0) {
+ SK_YU_WRITE_2(sc_if, YUKON_GPSR, YU_GPSR_MII_PHY_STC);
+ mii_tick(mii);
+ }
splx(s);
callout_schedule(&sc_if->sk_tick_ch, hz);