Date: Tue, 29 Sep 2009 15:01:04 GMT From: Yohanes Nugroho <yohanes@FreeBSD.org> To: Perforce Change Reviews <perforce@FreeBSD.org> Subject: PERFORCE change 169011 for review Message-ID: <200909291501.n8TF14vv085078@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=169011 Change 169011 by yohanes@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) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200909291501.n8TF14vv085078>