svn commit: r196144 - in stable/8/sys: . amd64/include/xen cddl/contrib/opensolaris contrib/dev/acpica contrib/pf dev/ata dev/cxgb dev/drm dev/sound/usb dev/usb dev/usb/controller dev/usb/input dev...

Robert Noland rnoland at FreeBSD.org
Wed Aug 12 13:12:11 UTC 2009


Author: rnoland
Date: Wed Aug 12 13:12:09 2009
New Revision: 196144
URL: http://svn.freebsd.org/changeset/base/196144

Log:
  Merge r196142
  
  Add support for radeon RS880 IGP chips to drm.
  
  Approved by:	re (kib)

Modified:
  stable/8/sys/   (props changed)
  stable/8/sys/amd64/include/xen/   (props changed)
  stable/8/sys/cddl/contrib/opensolaris/   (props changed)
  stable/8/sys/contrib/dev/acpica/   (props changed)
  stable/8/sys/contrib/pf/   (props changed)
  stable/8/sys/dev/ata/   (props changed)
  stable/8/sys/dev/ata/ata-usb.c   (props changed)
  stable/8/sys/dev/cxgb/   (props changed)
  stable/8/sys/dev/drm/drm_pciids.h
  stable/8/sys/dev/drm/r600_cp.c
  stable/8/sys/dev/drm/radeon_drv.h
  stable/8/sys/dev/sound/usb/uaudio.c   (props changed)
  stable/8/sys/dev/sound/usb/uaudio.h   (props changed)
  stable/8/sys/dev/sound/usb/uaudio_pcm.c   (props changed)
  stable/8/sys/dev/sound/usb/uaudioreg.h   (props changed)
  stable/8/sys/dev/usb/controller/at91dci.c   (props changed)
  stable/8/sys/dev/usb/controller/at91dci.h   (props changed)
  stable/8/sys/dev/usb/controller/at91dci_atmelarm.c   (props changed)
  stable/8/sys/dev/usb/controller/atmegadci.c   (props changed)
  stable/8/sys/dev/usb/controller/atmegadci.h   (props changed)
  stable/8/sys/dev/usb/controller/atmegadci_atmelarm.c   (props changed)
  stable/8/sys/dev/usb/controller/ehci.c   (props changed)
  stable/8/sys/dev/usb/controller/ehci.h   (props changed)
  stable/8/sys/dev/usb/controller/ehci_ixp4xx.c   (props changed)
  stable/8/sys/dev/usb/controller/ehci_mbus.c   (props changed)
  stable/8/sys/dev/usb/controller/ehci_pci.c   (props changed)
  stable/8/sys/dev/usb/controller/musb_otg.c   (props changed)
  stable/8/sys/dev/usb/controller/musb_otg.h   (props changed)
  stable/8/sys/dev/usb/controller/musb_otg_atmelarm.c   (props changed)
  stable/8/sys/dev/usb/controller/ohci.c   (props changed)
  stable/8/sys/dev/usb/controller/ohci.h   (props changed)
  stable/8/sys/dev/usb/controller/ohci_atmelarm.c   (props changed)
  stable/8/sys/dev/usb/controller/ohci_pci.c   (props changed)
  stable/8/sys/dev/usb/controller/uhci.c   (props changed)
  stable/8/sys/dev/usb/controller/uhci.h   (props changed)
  stable/8/sys/dev/usb/controller/uhci_pci.c   (props changed)
  stable/8/sys/dev/usb/controller/usb_controller.c   (props changed)
  stable/8/sys/dev/usb/controller/uss820dci.c   (props changed)
  stable/8/sys/dev/usb/controller/uss820dci.h   (props changed)
  stable/8/sys/dev/usb/controller/uss820dci_atmelarm.c   (props changed)
  stable/8/sys/dev/usb/input/uhid.c   (props changed)
  stable/8/sys/dev/usb/input/ukbd.c   (props changed)
  stable/8/sys/dev/usb/input/ums.c   (props changed)
  stable/8/sys/dev/usb/input/usb_rdesc.h   (props changed)
  stable/8/sys/dev/usb/misc/udbp.c   (props changed)
  stable/8/sys/dev/usb/misc/udbp.h   (props changed)
  stable/8/sys/dev/usb/misc/ufm.c   (props changed)
  stable/8/sys/dev/usb/net/if_aue.c   (props changed)
  stable/8/sys/dev/usb/net/if_auereg.h   (props changed)
  stable/8/sys/dev/usb/net/if_axe.c   (props changed)
  stable/8/sys/dev/usb/net/if_axereg.h   (props changed)
  stable/8/sys/dev/usb/net/if_cdce.c   (props changed)
  stable/8/sys/dev/usb/net/if_cdcereg.h   (props changed)
  stable/8/sys/dev/usb/net/if_cue.c   (props changed)
  stable/8/sys/dev/usb/net/if_cuereg.h   (props changed)
  stable/8/sys/dev/usb/net/if_kue.c   (props changed)
  stable/8/sys/dev/usb/net/if_kuefw.h   (props changed)
  stable/8/sys/dev/usb/net/if_kuereg.h   (props changed)
  stable/8/sys/dev/usb/net/if_rue.c   (props changed)
  stable/8/sys/dev/usb/net/if_ruereg.h   (props changed)
  stable/8/sys/dev/usb/net/if_udav.c   (props changed)
  stable/8/sys/dev/usb/net/if_udavreg.h   (props changed)
  stable/8/sys/dev/usb/net/usb_ethernet.c   (props changed)
  stable/8/sys/dev/usb/net/usb_ethernet.h   (props changed)
  stable/8/sys/dev/usb/quirk/usb_quirk.c   (props changed)
  stable/8/sys/dev/usb/quirk/usb_quirk.h   (props changed)
  stable/8/sys/dev/usb/serial/u3g.c   (props changed)
  stable/8/sys/dev/usb/serial/uark.c   (props changed)
  stable/8/sys/dev/usb/serial/ubsa.c   (props changed)
  stable/8/sys/dev/usb/serial/ubser.c   (props changed)
  stable/8/sys/dev/usb/serial/uchcom.c   (props changed)
  stable/8/sys/dev/usb/serial/ucycom.c   (props changed)
  stable/8/sys/dev/usb/serial/ufoma.c   (props changed)
  stable/8/sys/dev/usb/serial/uftdi.c   (props changed)
  stable/8/sys/dev/usb/serial/uftdi_reg.h   (props changed)
  stable/8/sys/dev/usb/serial/ugensa.c   (props changed)
  stable/8/sys/dev/usb/serial/uipaq.c   (props changed)
  stable/8/sys/dev/usb/serial/ulpt.c   (props changed)
  stable/8/sys/dev/usb/serial/umct.c   (props changed)
  stable/8/sys/dev/usb/serial/umodem.c   (props changed)
  stable/8/sys/dev/usb/serial/umoscom.c   (props changed)
  stable/8/sys/dev/usb/serial/uplcom.c   (props changed)
  stable/8/sys/dev/usb/serial/usb_serial.c   (props changed)
  stable/8/sys/dev/usb/serial/usb_serial.h   (props changed)
  stable/8/sys/dev/usb/serial/uslcom.c   (props changed)
  stable/8/sys/dev/usb/serial/uvisor.c   (props changed)
  stable/8/sys/dev/usb/serial/uvscom.c   (props changed)
  stable/8/sys/dev/usb/storage/rio500_usb.h   (props changed)
  stable/8/sys/dev/usb/storage/umass.c   (props changed)
  stable/8/sys/dev/usb/storage/urio.c   (props changed)
  stable/8/sys/dev/usb/storage/ustorage_fs.c   (props changed)
  stable/8/sys/dev/usb/template/usb_template.c   (props changed)
  stable/8/sys/dev/usb/template/usb_template.h   (props changed)
  stable/8/sys/dev/usb/template/usb_template_cdce.c   (props changed)
  stable/8/sys/dev/usb/template/usb_template_msc.c   (props changed)
  stable/8/sys/dev/usb/template/usb_template_mtp.c   (props changed)
  stable/8/sys/dev/usb/ufm_ioctl.h   (props changed)
  stable/8/sys/dev/usb/usb.h   (props changed)
  stable/8/sys/dev/usb/usb_bus.h   (props changed)
  stable/8/sys/dev/usb/usb_busdma.c   (props changed)
  stable/8/sys/dev/usb/usb_busdma.h   (props changed)
  stable/8/sys/dev/usb/usb_cdc.h   (props changed)
  stable/8/sys/dev/usb/usb_compat_linux.c   (props changed)
  stable/8/sys/dev/usb/usb_compat_linux.h   (props changed)
  stable/8/sys/dev/usb/usb_controller.h   (props changed)
  stable/8/sys/dev/usb/usb_core.c   (props changed)
  stable/8/sys/dev/usb/usb_core.h   (props changed)
  stable/8/sys/dev/usb/usb_debug.c   (props changed)
  stable/8/sys/dev/usb/usb_debug.h   (props changed)
  stable/8/sys/dev/usb/usb_dev.c   (props changed)
  stable/8/sys/dev/usb/usb_dev.h   (props changed)
  stable/8/sys/dev/usb/usb_device.c   (props changed)
  stable/8/sys/dev/usb/usb_device.h   (props changed)
  stable/8/sys/dev/usb/usb_dynamic.c   (props changed)
  stable/8/sys/dev/usb/usb_dynamic.h   (props changed)
  stable/8/sys/dev/usb/usb_endian.h   (props changed)
  stable/8/sys/dev/usb/usb_error.c   (props changed)
  stable/8/sys/dev/usb/usb_generic.c   (props changed)
  stable/8/sys/dev/usb/usb_generic.h   (props changed)
  stable/8/sys/dev/usb/usb_handle_request.c   (props changed)
  stable/8/sys/dev/usb/usb_hid.c   (props changed)
  stable/8/sys/dev/usb/usb_hub.c   (props changed)
  stable/8/sys/dev/usb/usb_hub.h   (props changed)
  stable/8/sys/dev/usb/usb_if.m   (props changed)
  stable/8/sys/dev/usb/usb_ioctl.h   (props changed)
  stable/8/sys/dev/usb/usb_lookup.c   (props changed)
  stable/8/sys/dev/usb/usb_mbuf.c   (props changed)
  stable/8/sys/dev/usb/usb_mbuf.h   (props changed)
  stable/8/sys/dev/usb/usb_msctest.c   (props changed)
  stable/8/sys/dev/usb/usb_msctest.h   (props changed)
  stable/8/sys/dev/usb/usb_parse.c   (props changed)
  stable/8/sys/dev/usb/usb_pci.h   (props changed)
  stable/8/sys/dev/usb/usb_process.c   (props changed)
  stable/8/sys/dev/usb/usb_process.h   (props changed)
  stable/8/sys/dev/usb/usb_request.c   (props changed)
  stable/8/sys/dev/usb/usb_request.h   (props changed)
  stable/8/sys/dev/usb/usb_transfer.c   (props changed)
  stable/8/sys/dev/usb/usb_transfer.h   (props changed)
  stable/8/sys/dev/usb/usb_util.c   (props changed)
  stable/8/sys/dev/usb/usb_util.h   (props changed)
  stable/8/sys/dev/usb/usbdevs   (props changed)
  stable/8/sys/dev/usb/usbhid.h   (props changed)
  stable/8/sys/dev/usb/wlan/if_rum.c   (props changed)
  stable/8/sys/dev/usb/wlan/if_rumfw.h   (props changed)
  stable/8/sys/dev/usb/wlan/if_rumreg.h   (props changed)
  stable/8/sys/dev/usb/wlan/if_rumvar.h   (props changed)
  stable/8/sys/dev/usb/wlan/if_ural.c   (props changed)
  stable/8/sys/dev/usb/wlan/if_uralreg.h   (props changed)
  stable/8/sys/dev/usb/wlan/if_uralvar.h   (props changed)
  stable/8/sys/dev/usb/wlan/if_zyd.c   (props changed)
  stable/8/sys/dev/usb/wlan/if_zydfw.h   (props changed)
  stable/8/sys/dev/usb/wlan/if_zydreg.h   (props changed)
  stable/8/sys/dev/xen/netfront/   (props changed)
  stable/8/sys/dev/xen/xenpci/   (props changed)
  stable/8/sys/modules/dtrace/dtnfsclient/   (props changed)
  stable/8/sys/modules/ip6_mroute_mod/   (props changed)
  stable/8/sys/modules/ipmi/ipmi_linux/   (props changed)
  stable/8/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c   (props changed)
  stable/8/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_var.h   (props changed)
  stable/8/sys/netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c   (props changed)
  stable/8/sys/netinet/ipfw/ip_dummynet.c   (props changed)
  stable/8/sys/netinet/ipfw/ip_fw2.c   (props changed)
  stable/8/sys/netinet/ipfw/ip_fw_nat.c   (props changed)
  stable/8/sys/netinet/ipfw/ip_fw_pfil.c   (props changed)
  stable/8/sys/netipx/spx_reass.c   (props changed)
  stable/8/sys/xen/evtchn.h   (props changed)
  stable/8/sys/xen/hypervisor.h   (props changed)
  stable/8/sys/xen/xen_intr.h   (props changed)

Modified: stable/8/sys/dev/drm/drm_pciids.h
==============================================================================
--- stable/8/sys/dev/drm/drm_pciids.h	Wed Aug 12 13:09:24 2009	(r196143)
+++ stable/8/sys/dev/drm/drm_pciids.h	Wed Aug 12 13:12:09 2009	(r196144)
@@ -330,6 +330,11 @@
 	{0x1002, 0x9614, CHIP_RS780|RADEON_NEW_MEMMAP|RADEON_IS_IGP, "ATI Radeon 3300 Graphics"}, \
 	{0x1002, 0x9615, CHIP_RS780|RADEON_NEW_MEMMAP|RADEON_IS_IGP, "ATI Radeon 3200 Graphics"}, \
 	{0x1002, 0x9616, CHIP_RS780|RADEON_NEW_MEMMAP|RADEON_IS_IGP, "ATI Radeon 3000 Graphics"}, \
+	{0x1002, 0x9710, CHIP_RS880|RADEON_NEW_MEMMAP|RADEON_IS_IGP, "ATI Radeon HD 4200"}, \
+	{0x1002, 0x9711, CHIP_RS880|RADEON_NEW_MEMMAP|RADEON_IS_IGP, "ATI Radeon 4100"}, \
+	{0x1002, 0x9712, CHIP_RS880|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP, "ATI Mobility Radeon HD 4200"}, \
+	{0x1002, 0x9713, CHIP_RS880|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP, "ATI Mobility Radeon 4100"}, \
+	{0x1002, 0x9714, CHIP_RS880|RADEON_NEW_MEMMAP|RADEON_IS_IGP, "ATI RS880"}, \
 	{0x1002, 0x9440, CHIP_RV770|RADEON_NEW_MEMMAP, "ATI Radeon 4800 Series"}, \
 	{0x1002, 0x9441, CHIP_RV770|RADEON_NEW_MEMMAP, "ATI Radeon 4870 X2"}, \
 	{0x1002, 0x9442, CHIP_RV770|RADEON_NEW_MEMMAP, "ATI Radeon 4800 Series"}, \

Modified: stable/8/sys/dev/drm/r600_cp.c
==============================================================================
--- stable/8/sys/dev/drm/r600_cp.c	Wed Aug 12 13:09:24 2009	(r196143)
+++ stable/8/sys/dev/drm/r600_cp.c	Wed Aug 12 13:12:09 2009	(r196144)
@@ -318,7 +318,8 @@ static void r600_cp_load_microcode(drm_r
 		pfp = RV670_pfp_microcode;
 		break;
 	case CHIP_RS780:
-		DRM_INFO("Loading RS780 Microcode\n");
+	case CHIP_RS880:
+		DRM_INFO("Loading RS780/RS880 Microcode\n");
 		cp  = RS780_cp_microcode;
 		pfp = RS780_pfp_microcode;
 		break;
@@ -722,6 +723,7 @@ static void r600_gfx_init(struct drm_dev
 		break;
 	case CHIP_RV610:
 	case CHIP_RS780:
+	case CHIP_RS880:
 	case CHIP_RV620:
 		dev_priv->r600_max_pipes = 1;
 		dev_priv->r600_max_tile_pipes = 1;
@@ -856,7 +858,8 @@ static void r600_gfx_init(struct drm_dev
 	    ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RV630) ||
 	    ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RV610) ||
 	    ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RV620) ||
-	    ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS780))
+	    ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS780) ||
+	    ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS880))
 		RADEON_WRITE(R600_DB_DEBUG, R600_PREZ_MUST_WAIT_FOR_POSTZ_DONE);
 	else
 		RADEON_WRITE(R600_DB_DEBUG, 0);
@@ -874,7 +877,8 @@ static void r600_gfx_init(struct drm_dev
 	sq_ms_fifo_sizes = RADEON_READ(R600_SQ_MS_FIFO_SIZES);
 	if (((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RV610) ||
 	    ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RV620) ||
-	    ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS780)) {
+	    ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS780) ||
+	    ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS880)) {
 		sq_ms_fifo_sizes = (R600_CACHE_FIFO_SIZE(0xa) |
 				    R600_FETCH_FIFO_HIWATER(0xa) |
 				    R600_DONE_FIFO_HIWATER(0xe0) |
@@ -917,7 +921,8 @@ static void r600_gfx_init(struct drm_dev
 					    R600_NUM_ES_STACK_ENTRIES(0));
 	} else if (((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RV610) ||
 		   ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RV620) ||
-		   ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS780)) {
+		   ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS780) ||
+		   ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS880)) {
 		/* no vertex cache */
 		sq_config &= ~R600_VC_ENABLE;
 
@@ -974,7 +979,8 @@ static void r600_gfx_init(struct drm_dev
 
 	if (((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RV610) ||
 	    ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RV620) ||
-	    ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS780))
+	    ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS780) ||
+	    ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS880))
 		RADEON_WRITE(R600_VGT_CACHE_INVALIDATION, R600_CACHE_INVALIDATION(R600_TC_ONLY));
 	else
 		RADEON_WRITE(R600_VGT_CACHE_INVALIDATION, R600_CACHE_INVALIDATION(R600_VC_AND_TC));
@@ -1017,6 +1023,7 @@ static void r600_gfx_init(struct drm_dev
 		break;
 	case CHIP_RV610:
 	case CHIP_RS780:
+	case CHIP_RS880:
 	case CHIP_RV620:
 		gs_prim_buffer_depth = 32;
 		break;
@@ -1062,6 +1069,7 @@ static void r600_gfx_init(struct drm_dev
 	switch (dev_priv->flags & RADEON_FAMILY_MASK) {
 	case CHIP_RV610:
 	case CHIP_RS780:
+	case CHIP_RS880:
 	case CHIP_RV620:
 		tc_cntl = R600_TC_L2_SIZE(8);
 		break;

Modified: stable/8/sys/dev/drm/radeon_drv.h
==============================================================================
--- stable/8/sys/dev/drm/radeon_drv.h	Wed Aug 12 13:09:24 2009	(r196143)
+++ stable/8/sys/dev/drm/radeon_drv.h	Wed Aug 12 13:12:09 2009	(r196144)
@@ -145,6 +145,7 @@ enum radeon_family {
 	CHIP_RV635,
 	CHIP_RV670,
 	CHIP_RS780,
+	CHIP_RS880,
 	CHIP_RV770,
 	CHIP_RV740,
 	CHIP_RV730,


More information about the svn-src-stable mailing list