Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 25 Apr 2012 02:46:14 +0000 (UTC)
From:      Pyun YongHyeon <yongari@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r234666 - head/sys/dev/msk
Message-ID:  <201204250246.q3P2kE8f075985@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: yongari
Date: Wed Apr 25 02:46:13 2012
New Revision: 234666
URL: http://svn.freebsd.org/changeset/base/234666

Log:
  For Yukon II controllers that implement optional temperature sensor
  and voltage sensor, TWSI is used to get sensor data.  msk(4) does
  not monitor these sensors and interrupt for TWSI completion is
  disabled by default.
  However, due to unknown reason, the TWSI completion interrupt fires
  and it resulted in interrupt storm.  To fix it, acknowledges the
  TWSI completion interrupt if driver see the event.  Given that not
  all Yukon II controllers show the issue it could be a silicon bug
  which does not honor interrupt masking.
  
  Probably the right way to address the issue is disabling automatic
  TWSI cycle initiation against these sensors.  It would be even
  better to implement reading voltage/temperature from the NIC but it
  requires access to National LM80 through TWSI and documentation to
  do that is not available yet(probably will never happen).
  
  Reported by:	jhb
  Tested by:	jhb
  MFC after:	2 weeks

Modified:
  head/sys/dev/msk/if_msk.c

Modified: head/sys/dev/msk/if_msk.c
==============================================================================
--- head/sys/dev/msk/if_msk.c	Wed Apr 25 02:05:14 2012	(r234665)
+++ head/sys/dev/msk/if_msk.c	Wed Apr 25 02:46:13 2012	(r234666)
@@ -3734,6 +3734,9 @@ msk_intr(void *xsc)
 	if ((status & Y2_IS_STAT_BMU) != 0 && domore == 0)
 		CSR_WRITE_4(sc, STAT_CTRL, SC_STAT_CLR_IRQ);
 
+	/* Clear TWSI IRQ. */
+	if ((status & Y2_IS_TWSI_RDY) != 0)
+		CSR_WRITE_4(sc, B2_I2C_IRQ, 1);
 	/* Reenable interrupts. */
 	CSR_WRITE_4(sc, B0_Y2_SP_ICR, 2);
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201204250246.q3P2kE8f075985>