PERFORCE change 169011 for review

Yohanes Nugroho yohanes at FreeBSD.org
Tue Sep 29 15:01:05 UTC 2009


http://perforce.freebsd.org/chv.cgi?CH=169011

Change 169011 by yohanes at econa on 2009/09/29 15:00:27

		sync latest source	

Affected files ...

.. //depot/projects/str91xx/doc/el_GR.ISO8859-7/books/handbook/kernelconfig/chapter.sgml#2 integrate
.. //depot/projects/str91xx/ports/MOVED#8 integrate
.. //depot/projects/str91xx/src/lib/libc/sys/fcntl.2#2 integrate
.. //depot/projects/str91xx/src/share/man/man4/msk.4#3 integrate
.. //depot/projects/str91xx/src/share/man/man7/tuning.7#3 integrate
.. //depot/projects/str91xx/src/share/zoneinfo/asia#5 integrate
.. //depot/projects/str91xx/src/share/zoneinfo/southamerica#2 integrate
.. //depot/projects/str91xx/src/sys/amd64/amd64/pmap.c#6 integrate
.. //depot/projects/str91xx/src/sys/arm/econa/econa_machdep.c#3 edit
.. //depot/projects/str91xx/src/sys/dev/alc/if_alc.c#3 integrate
.. //depot/projects/str91xx/src/sys/dev/drm/r600_blit.c#3 integrate
.. //depot/projects/str91xx/src/sys/dev/drm/radeon_cs.c#2 integrate
.. //depot/projects/str91xx/src/sys/dev/drm/radeon_drv.h#4 integrate
.. //depot/projects/str91xx/src/sys/dev/drm/radeon_irq.c#3 integrate
.. //depot/projects/str91xx/src/sys/dev/drm/radeon_state.c#3 integrate
.. //depot/projects/str91xx/src/sys/dev/fxp/if_fxp.c#5 integrate
.. //depot/projects/str91xx/src/sys/dev/jme/if_jme.c#3 integrate
.. //depot/projects/str91xx/src/sys/dev/mii/e1000phy.c#4 integrate
.. //depot/projects/str91xx/src/sys/dev/mii/e1000phyreg.h#3 integrate
.. //depot/projects/str91xx/src/sys/dev/msk/if_msk.c#4 integrate
.. //depot/projects/str91xx/src/sys/dev/msk/if_mskreg.h#3 integrate
.. //depot/projects/str91xx/src/sys/dev/sound/pci/hda/hda_reg.h#2 integrate
.. //depot/projects/str91xx/src/sys/dev/sound/pci/hda/hdac.c#5 integrate
.. //depot/projects/str91xx/src/sys/geom/part/g_part_ebr.c#2 integrate
.. //depot/projects/str91xx/src/sys/kern/kern_descrip.c#4 integrate
.. //depot/projects/str91xx/src/sys/kern/vfs_export.c#3 integrate
.. //depot/projects/str91xx/src/sys/kern/vfs_vnops.c#4 integrate
.. //depot/projects/str91xx/src/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c#3 integrate
.. //depot/projects/str91xx/src/sys/sys/fcntl.h#3 integrate

Differences ...

==== //depot/projects/str91xx/doc/el_GR.ISO8859-7/books/handbook/kernelconfig/chapter.sgml#2 (text+ko) ====

@@ -4,10 +4,10 @@
 
   The FreeBSD Greek Documentation Project
 
-  $FreeBSD: doc/el_GR.ISO8859-7/books/handbook/kernelconfig/chapter.sgml,v 1.7 2009/05/15 15:49:44 manolis Exp $
+  $FreeBSD: doc/el_GR.ISO8859-7/books/handbook/kernelconfig/chapter.sgml,v 1.8 2009/09/28 17:25:46 manolis Exp $
 
   %SOURCE%	en_US.ISO8859-1/books/handbook/kernelconfig/chapter.sgml
-  %SRCID%	1.192
+  %SRCID%	1.193
 
 -->
 
@@ -654,10 +654,10 @@
       ôçí åðéëïãÞ <option>-g</option>, åðéôñÝðïíôáò Ýôóé ôçí ÷ñÞóç ôïõò üôáí
       äïèïýí óôï &man.gcc.1;.</para>
 
-    <programlisting>options          SCHED_4BSD         # 4BSD scheduler</programlisting>
+    <programlisting>options          SCHED_ULE         # ULE scheduler</programlisting>
 
-    <para>Ï ðáñáäïóéáêüò êáé ðñïåðéëåãìÝíïò scheduler ôïõ &os;. ÊñáôÞóôå ôçí
-      åðéëïãÞ áõôÞ.</para>
+    <para>Ï ðñïåðéëåãìÝíïò scheduler ôïõ &os;. ÊñáôÞóôå ôçí åðéëïãÞ
+      áõôÞ.</para>
 
     <programlisting>options          PREEMPTION         # Enable kernel thread preemption</programlisting>
 

==== //depot/projects/str91xx/ports/MOVED#8 (text+ko) ====

@@ -1,7 +1,7 @@
 #
 # MOVED - a list of (recently) moved or removed ports
 #
-# $FreeBSD: ports/MOVED,v 1.1991 2009/09/24 20:56:23 miwi Exp $
+# $FreeBSD: ports/MOVED,v 1.1992 2009/09/28 15:40:04 nobutaka Exp $
 #
 # Each entry consists of a single line containing the following four
 # fields in the order named, separated with the pipe (`|') character:
@@ -4179,3 +4179,4 @@
 audio/gmpc-favorites||2009-09-24|Unmaintained upstream
 audio/gmpc-autoplaylist||2009-09-24|Unmaintained upstream
 audio/gmpc-stopbutton||2009-09-24|Unmaintained upstream
+mail/wanderlust-devel||2009-09-28|Port addition canceled

==== //depot/projects/str91xx/src/lib/libc/sys/fcntl.2#2 (text+ko) ====

@@ -26,9 +26,9 @@
 .\" SUCH DAMAGE.
 .\"
 .\"     @(#)fcntl.2	8.2 (Berkeley) 1/12/94
-.\" $FreeBSD: src/lib/libc/sys/fcntl.2,v 1.47 2008/03/26 15:23:07 dfr Exp $
+.\" $FreeBSD: src/lib/libc/sys/fcntl.2,v 1.48 2009/09/28 16:59:47 delphij Exp $
 .\"
-.Dd March 8, 2008
+.Dd September 28, 2009
 .Dt FCNTL 2
 .Os
 .Sh NAME
@@ -241,6 +241,22 @@
 .Dv SA_RESTART
 (see
 .Xr sigaction 2 ) .
+.It Dv F_READAHEAD
+Set or clear the read ahead amount for sequential access to the third
+argument,
+.Fa arg ,
+which is rounded up to the nearest block size.
+A zero value in
+.Fa arg
+turns off read ahead.
+.It Dv F_RDAHEAD
+Equivalent to Darwin counterpart which sets read ahead amount of 128KB
+when the third argument,
+.Fa arg
+is non-zero.
+A zero value in
+.Fa arg
+turns off read ahead.
 .El
 .Pp
 When a shared lock has been set on a segment of a file,

==== //depot/projects/str91xx/src/share/man/man4/msk.4#3 (text+ko) ====

@@ -22,9 +22,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/share/man/man4/msk.4,v 1.9 2009/06/02 05:13:02 yongari Exp $
+.\" $FreeBSD: src/share/man/man4/msk.4,v 1.10 2009/09/28 21:15:57 yongari Exp $
 .\"
-.Dd June 2, 2009
+.Dd September 28, 2009
 .Dt MSK 4
 .Os
 .Sh NAME
@@ -158,6 +158,8 @@
 .It
 D-Link 550SX Gigabit Ethernet
 .It
+D-Link 560SX Gigabit Ethernet
+.It
 D-Link 560T Gigabit Ethernet
 .It
 Marvell Yukon 88E8021CU Gigabit Ethernet

==== //depot/projects/str91xx/src/share/man/man7/tuning.7#3 (text+ko) ====

@@ -21,7 +21,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/share/man/man7/tuning.7,v 1.81 2009/06/23 20:57:27 kib Exp $
+.\" $FreeBSD: src/share/man/man7/tuning.7,v 1.82 2009/09/29 10:50:02 ru Exp $
 .\"
 .Dd January 23, 2009
 .Dt TUNING 7
@@ -407,22 +407,27 @@
 .Va vm.overcommit
 sysctl defines the overcommit behaviour of the vm subsystem.
 The virtual memory system always does accounting of the swap space
-reservation, both total for system and per-user. Corresponding values
+reservation, both total for system and per-user.
+Corresponding values
 are available through sysctl
-.Va vm.swap_total,
+.Va vm.swap_total ,
 that gives the total bytes available for swapping, and
-.Va vm.swap_reserved,
+.Va vm.swap_reserved ,
 that gives number of bytes that may be needed to back all currently
 allocated anonymous memory.
 .Pp
 Setting bit 0 of the
 .Va vm.overcommit
 sysctl causes the virtual memory system to return failure
-to the process when allocation of memory causes vm.swap_reserved
-to exceed vm.swap_total.
-Bit 1 of the sysctl enforces RLIMIT_SWAP limit
+to the process when allocation of memory causes
+.Va vm.swap_reserved
+to exceed
+.Va vm.swap_total .
+Bit 1 of the sysctl enforces
+.Dv RLIMIT_SWAP
+limit
 (see
-.Xr getrlimit 2 ).
+.Xr getrlimit 2 ) .
 Root is exempt from this limit.
 Bit 2 allows to count most of the physical
 memory as allocatable, except wired and free reserved pages

==== //depot/projects/str91xx/src/share/zoneinfo/asia#5 (text+ko) ====

@@ -1,5 +1,5 @@
 # <pre>
-# @(#)asia	8.40
+# @(#)asia	8.41
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 
@@ -1674,8 +1674,15 @@
 # advance clocks in the country by one hour from April 15 to
 # conserve energy"
 
-# From Arthur David Olson (2009-04-10):
-# Assume for now that Pakistan will end DST in 2009 as it did in 2008.
+# From Steffen Thorsen (2009-09-17):
+# "The News International," Pakistan reports that: "The Federal
+# Government has decided to restore the previous time by moving the
+# clocks backward by one hour from October 1. A formal announcement to
+# this effect will be made after the Prime Minister grants approval in
+# this regard." 
+# <a href="http://www.thenews.com.pk/updates.asp?id=87168">
+# http://www.thenews.com.pk/updates.asp?id=87168
+# </a>
 
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
 Rule Pakistan	2002	only	-	Apr	Sun>=2	0:01	1:00	S
@@ -1683,7 +1690,7 @@
 Rule Pakistan	2008	only	-	Jun	1	0:00	1:00	S
 Rule Pakistan	2008	only	-	Nov	1	0:00	0	-
 Rule Pakistan	2009	only	-	Apr	15	0:00	1:00	S
-Rule Pakistan	2009	only	-	Nov	1	0:00	0	-
+Rule Pakistan	2009	only	-	Oct	1	0:00	0	-
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone	Asia/Karachi	4:28:12 -	LMT	1907
 			5:30	-	IST	1942 Sep

==== //depot/projects/str91xx/src/share/zoneinfo/southamerica#2 (text+ko) ====

@@ -1,5 +1,5 @@
 # <pre>
-# @(#)southamerica	8.36
+# @(#)southamerica	8.37
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 
@@ -397,7 +397,37 @@
 # is that "The province will most likely follow the next daylight saving schedule,
 # which is planned for the second Sunday in October."
 
+# From Alexander Krivenyshev (2009-09-19):
+# Some  Argentinian Provinces (Buenos Aires, Entre Ríos) are opposing to the
+# Daylight Saving Time for the 2009-2010 season.
+#
+# (Spanish)
+# "El cambio de huso horario en Entre Ríos deberá ser aprobado por la
+# Legislatura":
+# <a href="http://www.analisisdigital.com.ar/noticias.php?ed=1&di=0&no=110168">
+# http://www.analisisdigital.com.ar/noticias.php?ed=1&di=0&no=110168
+# </a>
+# English translation - "The time zone change in Entre Rios must be approved by
+# the Legislature."
+#
+# (Spanish)
+# "Mar del Plata no quiere cambiar la hora."
+# <a href="http://www.mensajeroweb.com.ar/index.php?x=nota/33861/1/mar-del-plata-no-quiere-cambiar-la-hora">
+# http://www.mensajeroweb.com.ar/index.php?x=nota/33861/1/mar-del-plata-no-quiere-cambiar-la-hora
+# </a>
+# English translation - "Mar del Plata is not to change the time"
 #
+# or
+# (some English translation)
+# <a href="http://www.worldtimezone.com/dst_news/dst_news_argentina07.html">
+# http://www.worldtimezone.com/dst_news/dst_news_argentina07.html
+# </a>
+
+# From Arthur David Olson (2009-09-22):
+# "Mar del Plata no quiere cambiar la hora" translates to
+# "Mar del Plata doesn't want to change the time"
+# (less definitive than "is not to").
+
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 #
 # Buenos Aires (BA), Capital Federal (CF),

==== //depot/projects/str91xx/src/sys/amd64/amd64/pmap.c#6 (text+ko) ====

@@ -77,7 +77,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.673 2009/09/18 17:09:33 alc Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.674 2009/09/28 17:10:27 alc Exp $");
 
 /*
  *	Manages physical address maps.
@@ -442,7 +442,7 @@
 	if (ndmpdp < 4)		/* Minimum 4GB of dirmap */
 		ndmpdp = 4;
 	DMPDPphys = allocpages(firstaddr, NDMPML4E);
-	if ((amd_feature & AMDID_PAGE1GB) == 0)
+	if (TRUE || (amd_feature & AMDID_PAGE1GB) == 0)
 		DMPDphys = allocpages(firstaddr, ndmpdp);
 	dmaplimit = (vm_paddr_t)ndmpdp << PDPSHIFT;
 
@@ -476,7 +476,7 @@
 
 	/* Now set up the direct map space using either 2MB or 1GB pages */
 	/* Preset PG_M and PG_A because demotion expects it */
-	if ((amd_feature & AMDID_PAGE1GB) == 0) {
+	if (TRUE || (amd_feature & AMDID_PAGE1GB) == 0) {
 		for (i = 0; i < NPDEPG * ndmpdp; i++) {
 			((pd_entry_t *)DMPDphys)[i] = (vm_paddr_t)i << PDRSHIFT;
 			((pd_entry_t *)DMPDphys)[i] |= PG_RW | PG_V | PG_PS |

==== //depot/projects/str91xx/src/sys/arm/econa/econa_machdep.c#3 (text+ko) ====

@@ -201,7 +201,7 @@
 	boot_arg1 = arg;
 	boot_arg2 = arg2;
 	boothowto = RB_VERBOSE;
-	boothowto |=  RB_SINGLE;
+	//boothowto |=  RB_SINGLE;
 
 	set_cpufuncs();
 	lastaddr = fake_preload_metadata();

==== //depot/projects/str91xx/src/sys/dev/alc/if_alc.c#3 (text+ko) ====

@@ -28,7 +28,7 @@
 /* Driver for Atheros AR8131/AR8132 PCIe Ethernet. */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/alc/if_alc.c,v 1.4 2009/08/24 20:37:15 yongari Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/alc/if_alc.c,v 1.5 2009/09/28 22:18:38 yongari Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -234,6 +234,16 @@
 	if (phy != sc->alc_phyaddr)
 		return (0);
 
+	/*
+	 * For AR8132 fast ethernet controller, do not report 1000baseT
+	 * capability to mii(4). Even though AR8132 uses the same
+	 * model/revision number of F1 gigabit PHY, the PHY has no
+	 * ability to establish 1000baseT link.
+	 */
+	if ((sc->alc_flags & ALC_FLAG_FASTETHER) != 0 &&
+	    reg == MII_EXTSR)
+		return (0);
+
 	CSR_WRITE_4(sc, ALC_MDIO, MDIO_OP_EXECUTE | MDIO_OP_READ |
 	    MDIO_SUP_PREAMBLE | MDIO_CLK_25_4 | MDIO_REG_ADDR(reg));
 	for (i = ALC_PHY_TIMEOUT; i > 0; i--) {

==== //depot/projects/str91xx/src/sys/dev/drm/r600_blit.c#3 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/drm/r600_blit.c,v 1.2 2009/09/13 11:10:38 rnoland Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/drm/r600_blit.c,v 1.3 2009/09/28 22:38:44 rnoland Exp $");
 
 #include "dev/drm/drmP.h"
 #include "dev/drm/drm.h"
@@ -1876,7 +1876,7 @@
 
 			/* dst */
 			set_render_target(dev_priv, COLOR_8_8_8_8,
-					  dst_x + cur_size, h,
+					  (dst_x + cur_size) / 4, h,
 					  dst_gpu_addr);
 
 			/* scissors */

==== //depot/projects/str91xx/src/sys/dev/drm/radeon_cs.c#2 (text+ko) ====

@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/drm/radeon_cs.c,v 1.1 2009/08/23 14:55:57 rnoland Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/drm/radeon_cs.c,v 1.2 2009/09/28 22:41:28 rnoland Exp $");
 #include "dev/drm/drmP.h"
 #include "dev/drm/radeon_drm.h"
 #include "dev/drm/radeon_drv.h"
@@ -403,8 +403,8 @@
 			DRM_ERROR("bad DRAW_INDEX\n");
 			break;
 		}
-		ib_chunk->kdata[offset_dw + 1] = (offset & 0xffffffff);
-		ib_chunk->kdata[offset_dw + 2] = (upper_32_bits(offset) & 0xff);
+		ib_chunk->kdata[offset_dw + 1] += (offset & 0xffffffff);
+		ib_chunk->kdata[offset_dw + 2] += (upper_32_bits(offset) & 0xff);
 		break;
 	case R600_IT_DRAW_INDEX_AUTO:
 		//DRM_INFO("R600_IT_DRAW_INDEX_AUTO\n");
@@ -433,8 +433,8 @@
 				DRM_ERROR("bad WAIT_REG_MEM\n");
 				break;
 			}
-			ib_chunk->kdata[offset_dw + 2] = (offset & 0xffffffff);
-			ib_chunk->kdata[offset_dw + 3] = (upper_32_bits(offset) & 0xff);
+			ib_chunk->kdata[offset_dw + 2] += (offset & 0xffffffff);
+			ib_chunk->kdata[offset_dw + 3] += (upper_32_bits(offset) & 0xff);
 		}
 		if (ret)
 			DRM_ERROR("bad WAIT_REG_MEM\n");
@@ -469,7 +469,7 @@
 				break;
 			}
 			ib_chunk->kdata[offset_dw + 2] += (offset & 0xffffffff);
-			ib_chunk->kdata[offset_dw + 3] |= (upper_32_bits(offset) & 0xff);
+			ib_chunk->kdata[offset_dw + 3] += (upper_32_bits(offset) & 0xff);
 		}
 		if (ret)
 			DRM_ERROR("bad EVENT_WRITE\n");
@@ -488,7 +488,7 @@
 			break;
 		}
 		ib_chunk->kdata[offset_dw + 2] += (offset & 0xffffffff);
-		ib_chunk->kdata[offset_dw + 3] |= (upper_32_bits(offset) & 0xff);
+		ib_chunk->kdata[offset_dw + 3] += (upper_32_bits(offset) & 0xff);
 		break;
 	case R600_IT_SET_CONFIG_REG:
 		//DRM_INFO("R600_IT_SET_CONFIG_REG\n");
@@ -628,7 +628,7 @@
 					if (ret)
 						break;
 					ib_chunk->kdata[offset_dw + (i * 7) + 0 + 2] += (offset & 0xffffffff);
-					ib_chunk->kdata[offset_dw + (i * 7) + 2 + 2] |= (upper_32_bits(offset) & 0xff);
+					ib_chunk->kdata[offset_dw + (i * 7) + 2 + 2] += (upper_32_bits(offset) & 0xff);
 					break;
 				}
 				if (ret)

==== //depot/projects/str91xx/src/sys/dev/drm/radeon_drv.h#4 (text+ko) ====

@@ -29,7 +29,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/drm/radeon_drv.h,v 1.26 2009/08/23 15:02:58 rnoland Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/drm/radeon_drv.h,v 1.27 2009/09/28 22:40:29 rnoland Exp $");
 
 #ifndef __RADEON_DRV_H__
 #define __RADEON_DRV_H__
@@ -143,15 +143,15 @@
 	CHIP_R600,
 	CHIP_RV610,
 	CHIP_RV630,
+	CHIP_RV670,
 	CHIP_RV620,
 	CHIP_RV635,
-	CHIP_RV670,
 	CHIP_RS780,
 	CHIP_RS880,
 	CHIP_RV770,
-	CHIP_RV740,
 	CHIP_RV730,
 	CHIP_RV710,
+	CHIP_RV740,
 	CHIP_LAST,
 };
 

==== //depot/projects/str91xx/src/sys/dev/drm/radeon_irq.c#3 (text+ko) ====

@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/drm/radeon_irq.c,v 1.15 2009/06/25 16:17:07 rnoland Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/drm/radeon_irq.c,v 1.16 2009/09/28 22:37:07 rnoland Exp $");
 
 #include "dev/drm/drmP.h"
 #include "dev/drm/drm.h"
@@ -194,6 +194,9 @@
 	u32 r500_disp_int;
 	u32 tmp;
 
+	if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_R600)
+		return IRQ_NONE;
+
 	/* Only consider the bits we're interested in - others could be used
 	 * outside the DRM
 	 */
@@ -323,6 +326,9 @@
 	drm_radeon_irq_emit_t *emit = data;
 	int result;
 
+	if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_R600)
+		return -EINVAL;
+
 	LOCK_TEST_WITH_RETURN(dev, file_priv);
 
 	if (!dev_priv) {
@@ -363,6 +369,9 @@
 	    (drm_radeon_private_t *) dev->dev_private;
 	u32 dummy;
 
+	if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_R600)
+		return;
+
 	/* Disable *all* interrupts */
 	if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_RS600)
 		RADEON_WRITE(R500_DxMODE_INT_MASK, 0);
@@ -380,6 +389,9 @@
 	atomic_set(&dev_priv->swi_emitted, 0);
 	DRM_INIT_WAITQUEUE(&dev_priv->swi_queue);
 
+	if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_R600)
+		return 0;
+
 	radeon_irq_set_state(dev, RADEON_SW_INT_ENABLE, 1);
 
 	return 0;
@@ -394,6 +406,9 @@
 
 	dev_priv->irq_enabled = 0;
 
+	if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_R600)
+		return;
+
 	if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_RS600)
 		RADEON_WRITE(R500_DxMODE_INT_MASK, 0);
 	/* Disable *all* interrupts */

==== //depot/projects/str91xx/src/sys/dev/drm/radeon_state.c#3 (text+ko) ====

@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/drm/radeon_state.c,v 1.26 2009/08/23 15:02:58 rnoland Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/drm/radeon_state.c,v 1.27 2009/09/28 22:37:07 rnoland Exp $");
 
 #include "dev/drm/drmP.h"
 #include "dev/drm/drm.h"
@@ -3024,7 +3024,10 @@
 		value = GET_SCRATCH(dev_priv, 2);
 		break;
 	case RADEON_PARAM_IRQ_NR:
-		value = dev->irq;
+		if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_R600)
+			value = 0;
+		else
+			value = dev->irq;
 		break;
 	case RADEON_PARAM_GART_BASE:
 		value = dev_priv->gart_vm_start;

==== //depot/projects/str91xx/src/sys/dev/fxp/if_fxp.c#5 (text+ko) ====

@@ -28,7 +28,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/fxp/if_fxp.c,v 1.297 2009/09/08 13:19:05 phk Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/fxp/if_fxp.c,v 1.298 2009/09/28 19:40:16 yongari Exp $");
 
 /*
  * Intel EtherExpress Pro/100B PCI Fast Ethernet driver
@@ -631,8 +631,11 @@
 	}
 
 	/* For 82559 or later chips, Rx checksum offload is supported. */
-	if (sc->revision >= FXP_REV_82559_A0)
-		sc->flags |= FXP_FLAG_82559_RXCSUM;
+	if (sc->revision >= FXP_REV_82559_A0) {
+		/* 82559ER does not support Rx checksum offloading. */
+		if (sc->ident->devid != 0x1209)
+			sc->flags |= FXP_FLAG_82559_RXCSUM;
+	}
 	/*
 	 * Enable use of extended RFDs and TCBs for 82550
 	 * and later chips. Note: we need extended TXCB support

==== //depot/projects/str91xx/src/sys/dev/jme/if_jme.c#3 (text+ko) ====

@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/jme/if_jme.c,v 1.11 2009/06/26 11:45:06 rwatson Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/jme/if_jme.c,v 1.12 2009/09/28 19:33:52 yongari Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -306,6 +306,10 @@
 
 	sc = ifp->if_softc;
 	JME_LOCK(sc);
+	if ((ifp->if_flags & IFF_UP) == 0) {
+		JME_UNLOCK(sc);
+		return;
+	}
 	mii = device_get_softc(sc->jme_miibus);
 
 	mii_pollstat(mii);
@@ -1585,8 +1589,10 @@
 		    pmc + PCIR_POWER_STATUS, pmstat, 2);
 	}
 	ifp = sc->jme_ifp;
-	if ((ifp->if_flags & IFF_UP) != 0)
+	if ((ifp->if_flags & IFF_UP) != 0) {
+		ifp->if_drv_flags &= ~IFF_DRV_RUNNING;
 		jme_init_locked(sc);
+	}
 
 	JME_UNLOCK(sc);
 
@@ -1861,6 +1867,7 @@
 	if ((sc->jme_flags & JME_FLAG_LINK) == 0) {
 		if_printf(sc->jme_ifp, "watchdog timeout (missed link)\n");
 		ifp->if_oerrors++;
+		ifp->if_drv_flags &= ~IFF_DRV_RUNNING;
 		jme_init_locked(sc);
 		return;
 	}
@@ -1875,6 +1882,7 @@
 
 	if_printf(sc->jme_ifp, "watchdog timeout\n");
 	ifp->if_oerrors++;
+	ifp->if_drv_flags &= ~IFF_DRV_RUNNING;
 	jme_init_locked(sc);
 	if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd))
 		taskqueue_enqueue(sc->jme_tq, &sc->jme_tx_task);
@@ -1917,8 +1925,10 @@
 				VLAN_CAPABILITIES(ifp);
 			}
 			ifp->if_mtu = ifr->ifr_mtu;
-			if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0)
+			if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) {
+				ifp->if_drv_flags &= ~IFF_DRV_RUNNING;
 				jme_init_locked(sc);
+			}
 			JME_UNLOCK(sc);
 		}
 		break;
@@ -2642,6 +2652,8 @@
 	ifp = sc->jme_ifp;
 	mii = device_get_softc(sc->jme_miibus);
 
+	if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0)
+		return;
 	/*
 	 * Cancel any pending I/O.
 	 */

==== //depot/projects/str91xx/src/sys/dev/mii/e1000phy.c#4 (text+ko) ====

@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/mii/e1000phy.c,v 1.31 2009/08/18 20:20:15 yongari Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/mii/e1000phy.c,v 1.34 2009/09/28 21:03:28 yongari Exp $");
 
 /*
  * driver for the Marvell 88E1000 series external 1000/100/10-BT PHY.
@@ -59,6 +59,9 @@
 #include "miidevs.h"
 
 #include <dev/mii/e1000phyreg.h>
+/* XXX */
+#include <machine/bus.h>
+#include <dev/msk/if_mskreg.h>
 
 #include "miibus_if.h"
 
@@ -68,6 +71,7 @@
 struct e1000phy_softc {
 	struct mii_softc mii_sc;
 	int mii_model;
+	struct msk_mii_data *mmd;
 };
 
 static device_method_t e1000phy_methods[] = {
@@ -130,6 +134,7 @@
 	struct mii_softc *sc;
 	struct mii_attach_args *ma;
 	struct mii_data *mii;
+	struct ifnet *ifp;
 
 	esc = device_get_softc(dev);
 	sc = &esc->mii_sc;
@@ -145,6 +150,16 @@
 	mii->mii_instance++;
 
 	esc->mii_model = MII_MODEL(ma->mii_id2);
+	ifp = sc->mii_pdata->mii_ifp;
+	if (strcmp(ifp->if_dname, "msk") == 0) {
+		/* XXX */
+		esc->mmd = device_get_ivars(
+		    device_get_parent(device_get_parent(dev)));
+		if (esc->mmd != NULL &&
+		    (esc->mmd->mii_flags & MIIF_HAVEFIBER) != 0)
+			sc->mii_flags |= MIIF_HAVEFIBER;
+	}
+
 	switch (esc->mii_model) {
 	case MII_MODEL_MARVELL_E1011:
 	case MII_MODEL_MARVELL_E1112:
@@ -199,6 +214,13 @@
 			reg &= ~E1000_SCR_MODE_MASK;
 			reg |= E1000_SCR_MODE_1000BX;
 			PHY_WRITE(sc, E1000_SCR, reg);
+			if (esc->mmd != NULL && esc->mmd->pmd == 'P') {
+				/* Set SIGDET polarity low for SFP module. */
+				PHY_WRITE(sc, E1000_EADR, 1);
+				reg = PHY_READ(sc, E1000_SCR);
+				reg |= E1000_SCR_FIB_SIGDET_POLARITY;
+				PHY_WRITE(sc, E1000_SCR, reg);
+			}
 			PHY_WRITE(sc, E1000_EADR, page);
 		}
 	} else {
@@ -248,7 +270,7 @@
 		}
 	}
 
-	switch (MII_MODEL(esc->mii_model)) {
+	switch (esc->mii_model) {
 	case MII_MODEL_MARVELL_E3082:
 	case MII_MODEL_MARVELL_E1112:
 	case MII_MODEL_MARVELL_E1118:
@@ -485,8 +507,11 @@
 			return;
 		}
 	} else {
-		if (ssr & E1000_SSR_1000MBS)
-			mii->mii_media_active |= IFM_1000_SX;
+		/*
+		 * Some fiber PHY(88E1112) does not seem to set resolved
+		 * speed so always assume we've got IFM_1000_SX.
+		 */
+		mii->mii_media_active |= IFM_1000_SX;
 	}
 
 	if (ssr & E1000_SSR_DUPLEX)

==== //depot/projects/str91xx/src/sys/dev/mii/e1000phyreg.h#3 (text+ko) ====

@@ -1,4 +1,4 @@
-/* $FreeBSD: src/sys/dev/mii/e1000phyreg.h,v 1.7 2009/06/02 00:30:30 yongari Exp $ */
+/* $FreeBSD: src/sys/dev/mii/e1000phyreg.h,v 1.8 2009/09/28 21:03:28 yongari Exp $ */
 /*-
  * Principal Author: Parag Patel
  * Copyright (c) 2001
@@ -248,6 +248,11 @@
 
 #define E1000_SCR_EN_DETECT_MASK	0x0300
 
+/* 88E1112 page 1 fiber specific control */
+#define E1000_SCR_FIB_TX_DIS		0x0008
+#define E1000_SCR_FIB_SIGDET_POLARITY	0x0200
+#define E1000_SCR_FIB_FORCE_LINK	0x0400
+
 /* 88E1112 page 2 */
 #define E1000_SCR_MODE_MASK		0x0380
 #define E1000_SCR_MODE_AUTO		0x0180

==== //depot/projects/str91xx/src/sys/dev/msk/if_msk.c#4 (text+ko) ====

@@ -99,7 +99,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/msk/if_msk.c,v 1.66 2009/09/08 13:19:05 phk Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/msk/if_msk.c,v 1.70 2009/09/28 21:11:31 yongari Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -223,6 +223,8 @@
 	    "Marvell Yukon 88E8072 Gigabit Ethernet" },
 	{ VENDORID_DLINK, DEVICEID_DLINK_DGE550SX,
 	    "D-Link 550SX Gigabit Ethernet" },
+	{ VENDORID_DLINK, DEVICEID_DLINK_DGE560SX,
+	    "D-Link 560SX Gigabit Ethernet" },
 	{ VENDORID_DLINK, DEVICEID_DLINK_DGE560T,
 	    "D-Link 560T Gigabit Ethernet" }
 };
@@ -1445,6 +1447,7 @@
 	struct msk_softc *sc;
 	struct msk_if_softc *sc_if;
 	struct ifnet *ifp;
+	struct msk_mii_data *mmd;
 	int i, port, error;
 	uint8_t eaddr[6];
 
@@ -1454,7 +1457,8 @@
 	error = 0;
 	sc_if = device_get_softc(dev);
 	sc = device_get_softc(device_get_parent(dev));
-	port = *(int *)device_get_ivars(dev);
+	mmd = device_get_ivars(dev);
+	port = mmd->port;
 
 	sc_if->msk_if_dev = dev;
 	sc_if->msk_port = port;
@@ -1600,7 +1604,8 @@
 mskc_attach(device_t dev)
 {
 	struct msk_softc *sc;
-	int error, msic, msir, *port, reg;
+	struct msk_mii_data *mmd;
+	int error, msic, msir, reg;
 
 	sc = device_get_softc(dev);
 	sc->msk_dev = dev;
@@ -1669,10 +1674,6 @@
 	CSR_WRITE_2(sc, B0_CTST, CS_RST_SET);
 	CSR_WRITE_2(sc, B0_CTST, CS_RST_CLR);
 	sc->msk_pmd = CSR_READ_1(sc, B2_PMD_TYP);
-	 if (sc->msk_pmd == 'L' || sc->msk_pmd == 'S')
-		 sc->msk_coppertype = 0;
-	 else
-		 sc->msk_coppertype = 1;
 	/* Check number of MACs. */
 	sc->msk_num_port = 1;
 	if ((CSR_READ_1(sc, B2_Y2_HW_RES) & CFG_DUAL_MAC_MSK) ==
@@ -1812,15 +1813,18 @@
 		error = ENXIO;
 		goto fail;
 	}
-	port = malloc(sizeof(int), M_DEVBUF, M_WAITOK);
-	if (port == NULL) {
+	mmd = malloc(sizeof(struct msk_mii_data), M_DEVBUF, M_WAITOK | M_ZERO);
+	if (mmd == NULL) {
 		device_printf(dev, "failed to allocate memory for "
 		    "ivars of PORT_A\n");
 		error = ENXIO;
 		goto fail;
 	}
-	*port = MSK_PORT_A;
-	device_set_ivars(sc->msk_devs[MSK_PORT_A], port);
+	mmd->port = MSK_PORT_A;
+	mmd->pmd = sc->msk_pmd;
+	 if (sc->msk_pmd == 'L' || sc->msk_pmd == 'S' || sc->msk_pmd == 'P')
+		mmd->mii_flags |= MIIF_HAVEFIBER;
+	device_set_ivars(sc->msk_devs[MSK_PORT_A], mmd);
 
 	if (sc->msk_num_port > 1) {
 		sc->msk_devs[MSK_PORT_B] = device_add_child(dev, "msk", -1);
@@ -1829,15 +1833,18 @@
 			error = ENXIO;
 			goto fail;
 		}
-		port = malloc(sizeof(int), M_DEVBUF, M_WAITOK);
-		if (port == NULL) {
+		mmd = malloc(sizeof(struct msk_mii_data), M_DEVBUF, M_WAITOK | M_ZERO);
+		if (mmd == NULL) {
 			device_printf(dev, "failed to allocate memory for "
 			    "ivars of PORT_B\n");
 			error = ENXIO;
 			goto fail;
 		}
-		*port = MSK_PORT_B;
-		device_set_ivars(sc->msk_devs[MSK_PORT_B], port);
+		mmd->port = MSK_PORT_B;
+		mmd->pmd = sc->msk_pmd;
+	 	if (sc->msk_pmd == 'L' || sc->msk_pmd == 'S' || sc->msk_pmd == 'P')
+			mmd->mii_flags |= MIIF_HAVEFIBER;
+		device_set_ivars(sc->msk_devs[MSK_PORT_B], mmd);
 	}
 
 	error = bus_generic_attach(dev);
@@ -3794,9 +3801,14 @@
 	/* Set receive filter. */
 	msk_rxfilter(sc_if);
 
-	/* Flush Rx MAC FIFO on any flow control or error. */
-	CSR_WRITE_4(sc, MR_ADDR(sc_if->msk_port, RX_GMF_FL_MSK),
-	    GMR_FS_ANY_ERR);
+	if (sc->msk_hw_id == CHIP_ID_YUKON_XL) {
+		/* Clear flush mask - HW bug. */
+		CSR_WRITE_4(sc, MR_ADDR(sc_if->msk_port, RX_GMF_FL_MSK), 0);
+	} else {
+		/* Flush Rx MAC FIFO on any flow control or error. */
+		CSR_WRITE_4(sc, MR_ADDR(sc_if->msk_port, RX_GMF_FL_MSK),
+		    GMR_FS_ANY_ERR);
+	}
 
 	/*
 	 * Set Rx FIFO flush threshold to 64 bytes + 1 FIFO word
@@ -4188,7 +4200,7 @@
 	gmac = GMAC_READ_2(sc, sc_if->msk_port, GM_PHY_ADDR);
 	GMAC_WRITE_2(sc, sc_if->msk_port, GM_PHY_ADDR, gmac | GM_PAR_MIB_CLR);
 	/* Read all MIB Counters with Clear Mode set. */
-	for (i = GM_RXF_UC_OK; i <= GM_TXE_FIFO_UR; i++)
+	for (i = GM_RXF_UC_OK; i <= GM_TXE_FIFO_UR; i += sizeof(uint32_t))
 		reg = MSK_READ_MIB32(sc_if->msk_port, i);
 	/* Clear MIB Clear Counter Mode. */
 	gmac &= ~GM_PAR_MIB_CLR;

==== //depot/projects/str91xx/src/sys/dev/msk/if_mskreg.h#3 (text+ko) ====

@@ -93,7 +93,7 @@
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
-/*$FreeBSD: src/sys/dev/msk/if_mskreg.h,v 1.27 2009/06/02 05:08:57 yongari Exp $*/
+/*$FreeBSD: src/sys/dev/msk/if_mskreg.h,v 1.29 2009/09/28 21:11:31 yongari Exp $*/
 
 /*
  * SysKonnect PCI vendor ID
@@ -148,6 +148,7 @@
  * D-Link gigabit ethernet device ID
  */
 #define DEVICEID_DLINK_DGE550SX	0x4001
+#define DEVICEID_DLINK_DGE560SX	0x4002
 #define DEVICEID_DLINK_DGE560T	0x4b00
 
 #define BIT_31		(1 << 31)
@@ -2403,6 +2404,12 @@
 #define	MSK_TX_TIMEOUT		5
 #define	MSK_PUT_WM	10
 
+struct msk_mii_data {
+	int		port;
+	uint32_t	pmd;
+	int		mii_flags;
+};
+
 /* Forward decl. */
 struct msk_if_softc;
 
@@ -2466,7 +2473,6 @@
 	uint8_t			msk_num_port;
 	int			msk_ramsize;	/* amount of SRAM on NIC */
 	uint32_t		msk_pmd;	/* physical media type */
-	uint32_t		msk_coppertype;
 	uint32_t		msk_intrmask;
 	uint32_t		msk_intrhwemask;
 	uint32_t		msk_pflags;

==== //depot/projects/str91xx/src/sys/dev/sound/pci/hda/hda_reg.h#2 (text+ko) ====

@@ -23,7 +23,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/dev/sound/pci/hda/hda_reg.h,v 1.3 2008/09/13 16:56:03 mav Exp $
+ * $FreeBSD: src/sys/dev/sound/pci/hda/hda_reg.h,v 1.4 2009/09/29 09:36:38 mav Exp $
  */
 
 #ifndef _HDA_REG_H_
@@ -660,13 +660,49 @@
 #define HDA_CMD_VERB_GET_STRIPE_CONTROL			0xf24
 #define HDA_CMD_VERB_SET_STRIPE_CONTROL			0x724
 
-#define HDA_CMD_SET_STRIPE_CONTROL(cad, nid)				\
+#define HDA_CMD_GET_STRIPE_CONTROL(cad, nid)				\
     (HDA_CMD_12BIT((cad), (nid),					\
     HDA_CMD_VERB_GET_STRIPE_CONTROL, 0x0))
-#define HDA_CMD_GET_STRIPE_CONTROL(cad, nid, payload)			\
+#define HDA_CMD_SET_STRIPE_CONTROL(cad, nid, payload)			\
     (HDA_CMD_12BIT((cad), (nid),					\
     HDA_CMD_VERB_SET_STRIPE_CONTROL, (payload)))
 
+/* Channel Count Control */
+#define HDA_CMD_VERB_GET_CONV_CHAN_COUNT			0xf2d
+#define HDA_CMD_VERB_SET_CONV_CHAN_COUNT			0x72d 
+
+#define HDA_CMD_GET_CONV_CHAN_COUNT(cad, nid)				\
+    (HDA_CMD_12BIT((cad), (nid),					\
+    HDA_CMD_VERB_GET_CONV_CHAN_COUNT, 0x0))
+#define HDA_CMD_SET_CONV_CHAN_COUNT(cad, nid, payload)			\
+    (HDA_CMD_12BIT((cad), (nid),					\
+    HDA_CMD_VERB_SET_CONV_CHAN_COUNT, (payload)))
+
+#define HDA_CMD_VERB_GET_HDMI_DIP_SIZE			0xf2e 
+#define HDA_CMD_VERB_GET_HDMI_ELDD			0xf2f 
+
+#define HDA_CMD_VERB_GET_HDMI_DIP_INDEX			0xf30 
+#define HDA_CMD_VERB_SET_HDMI_DIP_INDEX			0x730 
+
+#define HDA_CMD_VERB_GET_HDMI_DIP_DATA			0xf31 
+#define HDA_CMD_VERB_SET_HDMI_DIP_DATA			0x731 
+
+#define HDA_CMD_VERB_GET_HDMI_DIP_XMIT			0xf32 
+#define HDA_CMD_VERB_SET_HDMI_DIP_XMIT			0x732 
+
+#define HDA_CMD_VERB_GET_HDMI_CP_CTRL			0xf33 
+#define HDA_CMD_VERB_SET_HDMI_CP_CTRL			0x733 
+
+#define HDA_CMD_VERB_GET_HDMI_CHAN_SLOT			0xf34 
+#define HDA_CMD_VERB_SET_HDMI_CHAN_SLOT			0x734 
+
+#define HDA_CMD_GET_HDMI_CHAN_SLOT(cad, nid)				\
+    (HDA_CMD_12BIT((cad), (nid),					\
+    HDA_CMD_VERB_GET_HDMI_CHAN_SLOT, 0x0))
+#define HDA_CMD_SET_HDMI_CHAN_SLOT(cad, nid, payload)			\
+    (HDA_CMD_12BIT((cad), (nid),					\
+    HDA_CMD_VERB_SET_HDMI_CHAN_SLOT, (payload)))
+
 /* Function Reset */
 #define HDA_CMD_VERB_FUNCTION_RESET			0x7ff
 
@@ -779,6 +815,10 @@
 #define HDA_PARAM_AUDIO_WIDGET_CAP_TYPE_SHIFT		20
 #define HDA_PARAM_AUDIO_WIDGET_CAP_DELAY_MASK		0x000f0000
 #define HDA_PARAM_AUDIO_WIDGET_CAP_DELAY_SHIFT		16

>>> TRUNCATED FOR MAIL (1000 lines) <<<


More information about the p4-projects mailing list