From owner-p4-projects@FreeBSD.ORG Mon Jan 1 00:32:24 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A5A1B16A412; Mon, 1 Jan 2007 00:32:24 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 596BC16A403 for ; Mon, 1 Jan 2007 00:32:24 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 43E7F13C441 for ; Mon, 1 Jan 2007 00:32:24 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l010WO87014656 for ; Mon, 1 Jan 2007 00:32:24 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l010WNhl014653 for perforce@freebsd.org; Mon, 1 Jan 2007 00:32:23 GMT (envelope-from mjacob@freebsd.org) Date: Mon, 1 Jan 2007 00:32:23 GMT Message-Id: <200701010032.l010WNhl014653@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mjacob@freebsd.org using -f From: Matt Jacob To: Perforce Change Reviews Cc: Subject: PERFORCE change 112380 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 01 Jan 2007 00:32:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=112380 Change 112380 by mjacob@mjexp_6 on 2007/01/01 00:32:00 Integrate from releng_6 vendor branch. Affected files ... .. //depot/projects/mjexp_6/sys/amd64/amd64/mptable_pci.c#2 integrate .. //depot/projects/mjexp_6/sys/amd64/pci/pci_bus.c#2 integrate .. //depot/projects/mjexp_6/sys/cam/cam.c#2 integrate .. //depot/projects/mjexp_6/sys/cam/cam_xpt.c#2 integrate .. //depot/projects/mjexp_6/sys/cam/scsi/scsi_da.c#2 integrate .. //depot/projects/mjexp_6/sys/conf/NOTES#3 integrate .. //depot/projects/mjexp_6/sys/conf/files#3 integrate .. //depot/projects/mjexp_6/sys/conf/files.arm#2 integrate .. //depot/projects/mjexp_6/sys/dev/acpica/acpi_pci.c#2 integrate .. //depot/projects/mjexp_6/sys/dev/acpica/acpi_pcib_acpi.c#2 integrate .. //depot/projects/mjexp_6/sys/dev/acpica/acpi_pcib_pci.c#2 integrate .. //depot/projects/mjexp_6/sys/dev/ath/if_ath_pci.c#2 integrate .. //depot/projects/mjexp_6/sys/dev/bge/if_bge.c#2 integrate .. //depot/projects/mjexp_6/sys/dev/bge/if_bgereg.h#2 integrate .. //depot/projects/mjexp_6/sys/dev/cardbus/cardbus.c#2 integrate .. //depot/projects/mjexp_6/sys/dev/drm/drm_agpsupport.c#2 integrate .. //depot/projects/mjexp_6/sys/dev/pci/pci.c#2 integrate .. //depot/projects/mjexp_6/sys/dev/pci/pci_if.m#2 integrate .. //depot/projects/mjexp_6/sys/dev/pci/pci_pci.c#2 integrate .. //depot/projects/mjexp_6/sys/dev/pci/pci_private.h#2 integrate .. //depot/projects/mjexp_6/sys/dev/pci/pcib_private.h#2 integrate .. //depot/projects/mjexp_6/sys/dev/pci/pcivar.h#2 integrate .. //depot/projects/mjexp_6/sys/dev/ral/if_ral.c#2 delete .. //depot/projects/mjexp_6/sys/dev/ral/if_ral_pccard.c#2 delete .. //depot/projects/mjexp_6/sys/dev/ral/if_ral_pci.c#2 integrate .. //depot/projects/mjexp_6/sys/dev/ral/if_ralreg.h#2 delete .. //depot/projects/mjexp_6/sys/dev/ral/if_ralvar.h#2 delete .. //depot/projects/mjexp_6/sys/dev/ral/rt2560.c#1 branch .. //depot/projects/mjexp_6/sys/dev/ral/rt2560reg.h#1 branch .. //depot/projects/mjexp_6/sys/dev/ral/rt2560var.h#1 branch .. //depot/projects/mjexp_6/sys/dev/ral/rt2661.c#1 branch .. //depot/projects/mjexp_6/sys/dev/ral/rt2661_ucode.h#1 branch .. //depot/projects/mjexp_6/sys/dev/ral/rt2661reg.h#1 branch .. //depot/projects/mjexp_6/sys/dev/ral/rt2661var.h#1 branch .. //depot/projects/mjexp_6/sys/dev/sound/pci/ich.c#2 integrate .. //depot/projects/mjexp_6/sys/dev/usb/uark.c#1 branch .. //depot/projects/mjexp_6/sys/dev/usb/usbdevs#2 integrate .. //depot/projects/mjexp_6/sys/fs/msdosfs/msdosfs_conv.c#2 integrate .. //depot/projects/mjexp_6/sys/fs/msdosfs/msdosfs_vnops.c#2 integrate .. //depot/projects/mjexp_6/sys/fs/udf/udf_vnops.c#2 integrate .. //depot/projects/mjexp_6/sys/gnu/fs/ext2fs/ext2_vfsops.c#2 integrate .. //depot/projects/mjexp_6/sys/i386/i386/mptable_pci.c#2 integrate .. //depot/projects/mjexp_6/sys/i386/pci/pci_bus.c#2 integrate .. //depot/projects/mjexp_6/sys/kern/link_elf_obj.c#2 integrate .. //depot/projects/mjexp_6/sys/kern/subr_bus.c#2 integrate .. //depot/projects/mjexp_6/sys/kern/tty.c#2 integrate .. //depot/projects/mjexp_6/sys/modules/Makefile#2 integrate .. //depot/projects/mjexp_6/sys/modules/ral/Makefile#2 integrate .. //depot/projects/mjexp_6/sys/modules/uark/Makefile#1 branch .. //depot/projects/mjexp_6/sys/net/ethernet.h#2 integrate .. //depot/projects/mjexp_6/sys/netinet/in_pcb.c#2 integrate .. //depot/projects/mjexp_6/sys/netinet/in_pcb.h#2 integrate .. //depot/projects/mjexp_6/sys/netinet/ip_divert.c#2 integrate .. //depot/projects/mjexp_6/sys/netinet/raw_ip.c#2 integrate .. //depot/projects/mjexp_6/sys/netinet/tcp_subr.c#2 integrate .. //depot/projects/mjexp_6/sys/netinet/tcp_usrreq.c#2 integrate .. //depot/projects/mjexp_6/sys/netinet/udp_usrreq.c#2 integrate .. //depot/projects/mjexp_6/sys/netinet6/in6_pcb.c#2 integrate .. //depot/projects/mjexp_6/sys/netinet6/raw_ip6.c#2 integrate .. //depot/projects/mjexp_6/sys/netinet6/udp6_usrreq.c#2 integrate .. //depot/projects/mjexp_6/sys/nfsclient/bootp_subr.c#2 integrate .. //depot/projects/mjexp_6/sys/pci/agp.c#2 integrate .. //depot/projects/mjexp_6/sys/pci/agp_i810.c#2 integrate .. //depot/projects/mjexp_6/sys/pci/agpreg.h#2 integrate .. //depot/projects/mjexp_6/sys/pci/if_rl.c#2 integrate .. //depot/projects/mjexp_6/sys/powerpc/ofw/ofw_pcib_pci.c#2 integrate .. //depot/projects/mjexp_6/sys/sparc64/pci/apb.c#2 integrate .. //depot/projects/mjexp_6/sys/sparc64/pci/ofw_pcib.c#2 integrate .. //depot/projects/mjexp_6/sys/sparc64/pci/ofw_pcibus.c#2 integrate .. //depot/projects/mjexp_6/sys/sys/copyright.h#2 integrate .. //depot/projects/mjexp_6/sys/sys/param.h#2 integrate Differences ... ==== //depot/projects/mjexp_6/sys/amd64/amd64/mptable_pci.c#2 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/mptable_pci.c,v 1.2.8.1 2005/09/18 02:55:09 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/mptable_pci.c,v 1.2.8.2 2006/12/28 22:09:46 jhb Exp $"); #include #include @@ -100,13 +100,10 @@ { 0, 0 } }; -static driver_t mptable_hostb_driver = { - "pcib", - mptable_hostb_methods, - 1, -}; +static devclass_t hostb_devclass; -DRIVER_MODULE(mptable_pcib, legacy, mptable_hostb_driver, pcib_devclass, 0, 0); +DEFINE_CLASS_0(pcib, mptable_hostb_driver, mptable_hostb_methods, 1); +DRIVER_MODULE(mptable_pcib, legacy, mptable_hostb_driver, hostb_devclass, 0, 0); /* PCI to PCI bridge driver. */ @@ -155,11 +152,9 @@ {0, 0} }; -static driver_t mptable_pcib_driver = { - "pcib", - mptable_pcib_pci_methods, - sizeof(struct pcib_softc), -}; +static devclass_t pcib_devclass; +DEFINE_CLASS_0(pcib, mptable_pcib_driver, mptable_pcib_pci_methods, + sizeof(struct pcib_softc)); DRIVER_MODULE(mptable_pcib, pci, mptable_pcib_driver, pcib_devclass, 0, 0); ==== //depot/projects/mjexp_6/sys/amd64/pci/pci_bus.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/pci/pci_bus.c,v 1.113.2.1 2005/09/18 02:55:10 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/pci/pci_bus.c,v 1.113.2.2 2006/12/28 22:09:46 jhb Exp $"); #include "opt_cpu.h" @@ -326,12 +326,9 @@ { 0, 0 } }; -static driver_t legacy_pcib_driver = { - "pcib", - legacy_pcib_methods, - 1, -}; +static devclass_t pcib_devclass; +DEFINE_CLASS_0(pcib, legacy_pcib_driver, legacy_pcib_methods, 1); DRIVER_MODULE(pcib, legacy, legacy_pcib_driver, pcib_devclass, 0, 0); @@ -435,12 +432,7 @@ { 0, 0 } }; -static driver_t pcibus_pnp_driver = { - "pcibus_pnp", - pcibus_pnp_methods, - 1, /* no softc */ -}; - static devclass_t pcibus_pnp_devclass; +DEFINE_CLASS_0(pcibus_pnp, pcibus_pnp_driver, pcibus_pnp_methods, 1); DRIVER_MODULE(pcibus_pnp, isa, pcibus_pnp_driver, pcibus_pnp_devclass, 0, 0); ==== //depot/projects/mjexp_6/sys/cam/cam.c#2 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/cam.c,v 1.9 2005/01/05 22:34:34 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/cam.c,v 1.9.2.1 2006/12/21 19:51:53 mjacob Exp $"); #include #ifdef _KERNEL @@ -373,7 +373,16 @@ { uint32_t size_mb, secs_per_cylinder; - size_mb = ccg->volume_size / ((1024L * 1024L) / ccg->block_size); + if (ccg->block_size == 0) { + ccg->ccb_h.status = CAM_REQ_CMP_ERR; + return; + } + size_mb = (1024L * 1024L) / ccg->block_size; + if (size_mb == 0) { + ccg->ccb_h.status = CAM_REQ_CMP_ERR; + return; + } + size_mb = ccg->volume_size / size_mb; if (size_mb > 1024 && extended) { ccg->heads = 255; ccg->secs_per_track = 63; @@ -382,6 +391,10 @@ ccg->secs_per_track = 32; } secs_per_cylinder = ccg->heads * ccg->secs_per_track; + if (secs_per_cylinder == 0) { + ccg->ccb_h.status = CAM_REQ_CMP_ERR; + return; + } ccg->cylinders = ccg->volume_size / secs_per_cylinder; ccg->ccb_h.status = CAM_REQ_CMP; } ==== //depot/projects/mjexp_6/sys/cam/cam_xpt.c#2 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/cam_xpt.c,v 1.155.2.9 2006/12/16 07:05:54 mjacob Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/cam_xpt.c,v 1.155.2.10 2006/12/24 03:23:43 mjacob Exp $"); #include #include @@ -1446,7 +1446,11 @@ devq); xpt_max_ccbs = 16; - xpt_bus_register(xpt_sim, /*bus #*/0); + if ((status = xpt_bus_register(xpt_sim, /*bus #*/0)) != CAM_SUCCESS) { + printf("xpt_init: xpt_bus_register failed with status %#x," + " failing attach\n", status); + return; + } /* * Looking at the XPT from the SIM layer, the XPT is ==== //depot/projects/mjexp_6/sys/cam/scsi/scsi_da.c#2 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.180.2.9 2006/11/14 12:54:39 flz Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.180.2.10 2006/12/19 19:19:16 maxim Exp $"); #include @@ -459,6 +459,14 @@ {T_DIRECT, SIP_MEDIA_REMOVABLE, "iriver", "H10*", "*"}, /*quirks*/ DA_Q_NO_SYNC_CACHE }, + { + /* + * X-Micro Flash Disk + * PR: usb/96901 + */ + {T_DIRECT, SIP_MEDIA_REMOVABLE, "X-Micro" , "Flash Disk", + "*"}, /*quirks*/ DA_Q_NO_SYNC_CACHE + }, }; static disk_strategy_t dastrategy; ==== //depot/projects/mjexp_6/sys/conf/NOTES#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1325.2.24 2006/10/21 05:28:50 scottl Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1325.2.25 2006/12/30 17:55:15 maxim Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -2356,6 +2356,8 @@ # # USB serial support device ucom +# USB support for Arkmicro Technologies ARK3116 based serial adapters +device uark # USB support for Belkin F5U103 and compatible serial adapters device ubsa # USB support for BWCT console serial adapters ==== //depot/projects/mjexp_6/sys/conf/files#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1031.2.46 2006/11/20 07:18:24 imp Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1031.2.48 2006/12/30 17:55:15 maxim Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -809,9 +809,9 @@ dev/puc/puc_sbus.c optional puc fhc dev/puc/puc_sbus.c optional puc sbus dev/puc/pucdata.c optional puc pci -dev/ral/if_ral.c optional ral +dev/ral/rt2560.c optional ral +dev/ral/rt2661.c optional ral dev/ral/if_ralrate.c optional ral -dev/ral/if_ral_pccard.c optional ral pccard dev/ral/if_ral_pci.c optional ral pci dev/random/harvest.c standard dev/random/hash.c optional random @@ -972,6 +972,7 @@ dev/usb/if_udav.c optional udav dev/usb/ohci.c optional ohci dev/usb/ohci_pci.c optional ohci pci +dev/usb/uark.c optional uark ucom dev/usb/ubsa.c optional ubsa ucom dev/usb/ubser.c optional ubser dev/usb/ucom.c optional ucom ==== //depot/projects/mjexp_6/sys/conf/files.arm#2 (text+ko) ==== @@ -1,4 +1,7 @@ -# $FreeBSD: src/sys/conf/files.arm,v 1.8 2005/06/09 19:45:07 jkoshy Exp $ +# $FreeBSD: src/sys/conf/files.arm,v 1.8.2.2 2006/12/24 00:09:56 sam Exp $ +crypto/blowfish/bf_enc.c optional crypto | ipsec ipsec_esp +crypto/des/des_enc.c optional crypto | ipsec ipsec_esp | \ + netsmb arm/arm/autoconf.c standard arm/arm/bcopy_page.S standard arm/arm/bcopyinout.S standard @@ -58,6 +61,7 @@ libkern/ashrdi3.c standard libkern/divdi3.c standard libkern/ffsl.c standard +libkern/fls.c standard libkern/flsl.c standard libkern/lshrdi3.c standard libkern/moddi3.c standard ==== //depot/projects/mjexp_6/sys/dev/acpica/acpi_pci.c#2 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_pci.c,v 1.26.2.1 2005/11/07 09:53:22 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_pci.c,v 1.26.2.3 2006/12/28 22:20:40 jhb Exp $"); #include #include @@ -83,50 +83,21 @@ /* Device interface */ DEVMETHOD(device_probe, acpi_pci_probe), DEVMETHOD(device_attach, acpi_pci_attach), - DEVMETHOD(device_shutdown, bus_generic_shutdown), - DEVMETHOD(device_suspend, pci_suspend), - DEVMETHOD(device_resume, pci_resume), /* Bus interface */ - DEVMETHOD(bus_print_child, pci_print_child), - DEVMETHOD(bus_probe_nomatch, pci_probe_nomatch), DEVMETHOD(bus_read_ivar, acpi_pci_read_ivar), DEVMETHOD(bus_write_ivar, acpi_pci_write_ivar), - DEVMETHOD(bus_driver_added, pci_driver_added), - DEVMETHOD(bus_setup_intr, bus_generic_setup_intr), - DEVMETHOD(bus_teardown_intr, bus_generic_teardown_intr), - - DEVMETHOD(bus_get_resource_list,pci_get_resource_list), - DEVMETHOD(bus_set_resource, bus_generic_rl_set_resource), - DEVMETHOD(bus_get_resource, bus_generic_rl_get_resource), - DEVMETHOD(bus_delete_resource, pci_delete_resource), - DEVMETHOD(bus_alloc_resource, pci_alloc_resource), - DEVMETHOD(bus_release_resource, bus_generic_rl_release_resource), - DEVMETHOD(bus_activate_resource, bus_generic_activate_resource), - DEVMETHOD(bus_deactivate_resource, bus_generic_deactivate_resource), - DEVMETHOD(bus_child_pnpinfo_str, pci_child_pnpinfo_str_method), DEVMETHOD(bus_child_location_str, acpi_pci_child_location_str_method), /* PCI interface */ - DEVMETHOD(pci_read_config, pci_read_config_method), - DEVMETHOD(pci_write_config, pci_write_config_method), - DEVMETHOD(pci_enable_busmaster, pci_enable_busmaster_method), - DEVMETHOD(pci_disable_busmaster, pci_disable_busmaster_method), - DEVMETHOD(pci_enable_io, pci_enable_io_method), - DEVMETHOD(pci_disable_io, pci_disable_io_method), - DEVMETHOD(pci_get_powerstate, pci_get_powerstate_method), DEVMETHOD(pci_set_powerstate, acpi_pci_set_powerstate_method), - DEVMETHOD(pci_assign_interrupt, pci_assign_interrupt_method), { 0, 0 } }; -static driver_t acpi_pci_driver = { - "pci", - acpi_pci_methods, - 0, /* no softc */ -}; +static devclass_t pci_devclass; +DEFINE_CLASS_1(pci, acpi_pci_driver, acpi_pci_methods, 0, pci_driver); DRIVER_MODULE(acpi_pci, pcib, acpi_pci_driver, pci_devclass, 0, 0); MODULE_DEPEND(acpi_pci, acpi, 1, 1, 1); MODULE_DEPEND(acpi_pci, pci, 1, 1, 1); ==== //depot/projects/mjexp_6/sys/dev/acpica/acpi_pcib_acpi.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_pcib_acpi.c,v 1.47.2.2 2005/11/07 09:53:22 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_pcib_acpi.c,v 1.47.2.3 2006/12/28 22:09:46 jhb Exp $"); #include "opt_acpi.h" #include @@ -107,12 +107,10 @@ {0, 0} }; -static driver_t acpi_pcib_acpi_driver = { - "pcib", - acpi_pcib_acpi_methods, - sizeof(struct acpi_hpcib_softc), -}; +static devclass_t pcib_devclass; +DEFINE_CLASS_0(pcib, acpi_pcib_acpi_driver, acpi_pcib_acpi_methods, + sizeof(struct acpi_hpcib_softc)); DRIVER_MODULE(acpi_pcib, acpi, acpi_pcib_acpi_driver, pcib_devclass, 0, 0); MODULE_DEPEND(acpi_pcib, acpi, 1, 1, 1); ==== //depot/projects/mjexp_6/sys/dev/acpica/acpi_pcib_pci.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_pcib_pci.c,v 1.12.2.1 2005/11/07 09:53:23 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_pcib_pci.c,v 1.12.2.2 2006/12/28 22:09:46 jhb Exp $"); #include "opt_acpi.h" @@ -97,12 +97,10 @@ {0, 0} }; -static driver_t acpi_pcib_pci_driver = { - "pcib", - acpi_pcib_pci_methods, - sizeof(struct acpi_pcib_softc), -}; +static devclass_t pcib_devclass; +DEFINE_CLASS_0(pcib, acpi_pcib_pci_driver, acpi_pcib_pci_methods, + sizeof(struct acpi_pcib_softc)); DRIVER_MODULE(acpi_pcib, pci, acpi_pcib_pci_driver, pcib_devclass, 0, 0); MODULE_DEPEND(acpi_pcib, acpi, 1, 1, 1); ==== //depot/projects/mjexp_6/sys/dev/ath/if_ath_pci.c#2 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath_pci.c,v 1.12.2.1 2006/07/11 16:33:12 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath_pci.c,v 1.12.2.2 2006/12/24 00:15:55 sam Exp $"); /* * PCI/Cardbus front-end for the Atheros Wireless LAN controller driver. @@ -196,8 +196,8 @@ ATH_LOCK_INIT(sc); error = ath_attach(pci_get_device(dev), sc); - if (error == 0) - return error; + if (error == 0) /* success */ + return 0; ATH_LOCK_DESTROY(sc); bus_dma_tag_destroy(sc->sc_dmat); ==== //depot/projects/mjexp_6/sys/dev/bge/if_bge.c#2 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/bge/if_bge.c,v 1.91.2.18 2006/10/13 08:05:55 glebius Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/bge/if_bge.c,v 1.91.2.19 2006/12/21 21:51:44 scottl Exp $"); /* * Broadcom BCM570x family gigabit ethernet driver for FreeBSD. @@ -171,17 +171,10 @@ { BCOM_VENDORID, BCOM_DEVICEID_BCM5753 }, { BCOM_VENDORID, BCOM_DEVICEID_BCM5753F }, { BCOM_VENDORID, BCOM_DEVICEID_BCM5753M }, - { BCOM_VENDORID, BCOM_DEVICEID_BCM5754 }, - { BCOM_VENDORID, BCOM_DEVICEID_BCM5754M }, - { BCOM_VENDORID, BCOM_DEVICEID_BCM5755 }, - { BCOM_VENDORID, BCOM_DEVICEID_BCM5755M }, { BCOM_VENDORID, BCOM_DEVICEID_BCM5780 }, { BCOM_VENDORID, BCOM_DEVICEID_BCM5780S }, { BCOM_VENDORID, BCOM_DEVICEID_BCM5781 }, { BCOM_VENDORID, BCOM_DEVICEID_BCM5782 }, - { BCOM_VENDORID, BCOM_DEVICEID_BCM5786 }, - { BCOM_VENDORID, BCOM_DEVICEID_BCM5787 }, - { BCOM_VENDORID, BCOM_DEVICEID_BCM5787M }, { BCOM_VENDORID, BCOM_DEVICEID_BCM5788 }, { BCOM_VENDORID, BCOM_DEVICEID_BCM5789 }, { BCOM_VENDORID, BCOM_DEVICEID_BCM5901 }, @@ -274,8 +267,6 @@ { BGE_ASICREV_BCM5752, "unknown BCM5752" }, { BGE_ASICREV_BCM5780, "unknown BCM5780" }, { BGE_ASICREV_BCM5714, "unknown BCM5714" }, - { BGE_ASICREV_BCM5755, "unknown BCM5755" }, - { BGE_ASICREV_BCM5787, "unknown BCM5787" }, { 0, NULL } }; @@ -286,18 +277,14 @@ (sc)->bge_asicrev == BGE_ASICREV_BCM5714_A0 || \ (sc)->bge_asicrev == BGE_ASICREV_BCM5780 || \ (sc)->bge_asicrev == BGE_ASICREV_BCM5714 || \ - (sc)->bge_asicrev == BGE_ASICREV_BCM5752 || \ - (sc)->bge_asicrev == BGE_ASICREV_BCM5755 || \ - (sc)->bge_asicrev == BGE_ASICREV_BCM5787) + (sc)->bge_asicrev == BGE_ASICREV_BCM5752) #define BGE_IS_575X_PLUS(sc) \ ((sc)->bge_asicrev == BGE_ASICREV_BCM5750 || \ (sc)->bge_asicrev == BGE_ASICREV_BCM5714_A0 || \ (sc)->bge_asicrev == BGE_ASICREV_BCM5780 || \ (sc)->bge_asicrev == BGE_ASICREV_BCM5714 || \ - (sc)->bge_asicrev == BGE_ASICREV_BCM5752 || \ - (sc)->bge_asicrev == BGE_ASICREV_BCM5755 || \ - (sc)->bge_asicrev == BGE_ASICREV_BCM5787) + (sc)->bge_asicrev == BGE_ASICREV_BCM5752) #define BGE_IS_5714_FAMILY(sc) \ ((sc)->bge_asicrev == BGE_ASICREV_BCM5714_A0 || \ ==== //depot/projects/mjexp_6/sys/dev/bge/if_bgereg.h#2 (text+ko) ==== @@ -30,7 +30,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/bge/if_bgereg.h,v 1.36.2.8 2006/10/13 08:05:55 glebius Exp $ + * $FreeBSD: src/sys/dev/bge/if_bgereg.h,v 1.36.2.9 2006/12/21 21:51:44 scottl Exp $ */ /* @@ -279,8 +279,6 @@ #define BGE_ASICREV_BCM5700 0x07 #define BGE_ASICREV_BCM5780 0x08 #define BGE_ASICREV_BCM5714 0x09 -#define BGE_ASICREV_BCM5755 0x0a -#define BGE_ASICREV_BCM5787 0x0b /* chip revisions */ #define BGE_CHIPREV(x) ((x) >> 24) @@ -1993,17 +1991,10 @@ #define BCOM_DEVICEID_BCM5753 0x16F7 #define BCOM_DEVICEID_BCM5753F 0x16FE #define BCOM_DEVICEID_BCM5753M 0x16FD -#define BCOM_DEVICEID_BCM5754 0x167A -#define BCOM_DEVICEID_BCM5754M 0x1672 -#define BCOM_DEVICEID_BCM5755 0x167B -#define BCOM_DEVICEID_BCM5755M 0x1673 #define BCOM_DEVICEID_BCM5780 0x166A #define BCOM_DEVICEID_BCM5780S 0x166B #define BCOM_DEVICEID_BCM5781 0x16DD #define BCOM_DEVICEID_BCM5782 0x1696 -#define BCOM_DEVICEID_BCM5786 0x169A -#define BCOM_DEVICEID_BCM5787 0x169B -#define BCOM_DEVICEID_BCM5787M 0x1693 #define BCOM_DEVICEID_BCM5788 0x169C #define BCOM_DEVICEID_BCM5789 0x169D #define BCOM_DEVICEID_BCM5901 0x170D ==== //depot/projects/mjexp_6/sys/dev/cardbus/cardbus.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/cardbus/cardbus.c,v 1.52.2.3 2006/03/01 18:19:33 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/cardbus/cardbus.c,v 1.52.2.4 2006/12/28 22:20:40 jhb Exp $"); #include #include @@ -664,7 +664,6 @@ {0,0} }; -DECLARE_CLASS(pci_driver); DEFINE_CLASS_1(cardbus, cardbus_driver, cardbus_methods, 0, pci_driver); static devclass_t cardbus_devclass; ==== //depot/projects/mjexp_6/sys/dev/drm/drm_agpsupport.c#2 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/drm/drm_agpsupport.c,v 1.1.2.3 2006/05/17 07:40:11 anholt Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/drm/drm_agpsupport.c,v 1.1.2.4 2006/12/28 21:54:49 jhb Exp $"); #include "dev/drm/drmP.h" @@ -46,7 +46,7 @@ drm_device_find_capability(drm_device_t *dev, int cap) { #ifdef __FreeBSD__ -#if __FreeBSD_version >= 700010 +#if __FreeBSD_version >= 602102 return (pci_find_extcap(dev->device, cap, NULL) == 0); #else ==== //depot/projects/mjexp_6/sys/dev/pci/pci.c#2 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/pci/pci.c,v 1.292.2.10 2006/12/01 16:55:14 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/pci/pci.c,v 1.292.2.12 2006/12/28 22:20:40 jhb Exp $"); #include "opt_bus.h" @@ -131,13 +131,14 @@ DEVMETHOD(pci_get_powerstate, pci_get_powerstate_method), DEVMETHOD(pci_set_powerstate, pci_set_powerstate_method), DEVMETHOD(pci_assign_interrupt, pci_assign_interrupt_method), + DEVMETHOD(pci_find_extcap, pci_find_extcap_method), { 0, 0 } }; DEFINE_CLASS_0(pci, pci_driver, pci_methods, 0); -devclass_t pci_devclass; +static devclass_t pci_devclass; DRIVER_MODULE(pci, pcib, pci_driver, pci_devclass, pci_modevent, 0); MODULE_VERSION(pci, 1); @@ -429,7 +430,7 @@ ptrptr = PCIR_CAP_PTR; break; case 2: - ptrptr = 0x14; + ptrptr = PCIR_CAP_PTR_2; /* cardbus capabilities ptr */ break; default: return; /* no extended capabilities support */ @@ -448,10 +449,10 @@ } /* Find the next entry */ ptr = nextptr; - nextptr = REG(ptr + 1, 1); + nextptr = REG(ptr + PCICAP_NEXTPTR, 1); /* Process this entry */ - switch (REG(ptr, 1)) { + switch (REG(ptr + PCICAP_ID, 1)) { case PCIY_PMG: /* PCI power management */ if (cfg->pp.pp_cap == 0) { cfg->pp.pp_cap = REG(ptr + PCIR_POWER_CAP, 2); @@ -476,6 +477,58 @@ #undef REG } +/* + * Return the offset in configuration space of the requested extended + * capability entry or 0 if the specified capability was not found. + */ +int +pci_find_extcap_method(device_t dev, device_t child, int capability, + int *capreg) +{ + struct pci_devinfo *dinfo = device_get_ivars(child); + pcicfgregs *cfg = &dinfo->cfg; + u_int32_t status; + u_int8_t ptr; + + /* + * Check the CAP_LIST bit of the PCI status register first. + */ + status = pci_read_config(child, PCIR_STATUS, 2); + if (!(status & PCIM_STATUS_CAPPRESENT)) + return (ENXIO); + + /* + * Determine the start pointer of the capabilities list. + */ + switch (cfg->hdrtype & PCIM_HDRTYPE) { + case 0: + case 1: + ptr = PCIR_CAP_PTR; + break; + case 2: + ptr = PCIR_CAP_PTR_2; + break; + default: + /* XXX: panic? */ + return (ENXIO); /* no extended capabilities support */ + } + ptr = pci_read_config(child, ptr, 1); + + /* + * Traverse the capabilities list. + */ + while (ptr != 0) { + if (pci_read_config(child, ptr + PCICAP_ID, 1) == capability) { + if (capreg != NULL) + *capreg = ptr; + return (0); + } + ptr = pci_read_config(child, ptr + PCICAP_NEXTPTR, 1); + } + + return (ENOENT); +} + /* free pcicfgregs structure and all depending data structures */ int ==== //depot/projects/mjexp_6/sys/dev/pci/pci_if.m#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/pci/pci_if.m,v 1.7 2005/01/06 01:43:05 imp Exp $ +# $FreeBSD: src/sys/dev/pci/pci_if.m,v 1.7.2.1 2006/12/28 21:40:54 jhb Exp $ # #include @@ -82,3 +82,10 @@ device_t dev; device_t child; }; + +METHOD int find_extcap { + device_t dev; + device_t child; + int capability; + int *capreg; +}; ==== //depot/projects/mjexp_6/sys/dev/pci/pci_pci.c#2 (text+ko) ==== @@ -29,7 +29,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/pci/pci_pci.c,v 1.37.2.2 2006/12/01 16:11:05 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/pci/pci_pci.c,v 1.37.2.3 2006/12/28 22:09:46 jhb Exp $"); /* * PCI:PCI bridge support. @@ -83,14 +83,9 @@ { 0, 0 } }; -static driver_t pcib_driver = { - "pcib", - pcib_methods, - sizeof(struct pcib_softc), -}; +static devclass_t pcib_devclass; -devclass_t pcib_devclass; - +DEFINE_CLASS_0(pcib, pcib_driver, pcib_methods, sizeof(struct pcib_softc)); DRIVER_MODULE(pcib, pci, pcib_driver, pcib_devclass, 0, 0); /* ==== //depot/projects/mjexp_6/sys/dev/pci/pci_private.h#2 (text+ko) ==== @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/pci/pci_private.h,v 1.14.2.1 2006/01/30 18:38:08 imp Exp $ + * $FreeBSD: src/sys/dev/pci/pci_private.h,v 1.14.2.3 2006/12/28 22:20:40 jhb Exp $ * */ @@ -34,10 +34,9 @@ /* * Export definitions of the pci bus so that we can more easily share - * it with "subclass" busses. A more generic subclassing mechanism would - * be nice, but is not present in the tree at this time. + * it with "subclass" busses. */ -extern devclass_t pci_devclass; +DECLARE_CLASS(pci_driver); void pci_add_children(device_t dev, int busno, size_t dinfo_size); void pci_add_child(device_t bus, struct pci_devinfo *dinfo); @@ -61,6 +60,8 @@ int pci_disable_busmaster_method(device_t dev, device_t child); int pci_enable_io_method(device_t dev, device_t child, int space); int pci_disable_io_method(device_t dev, device_t child, int space); +int pci_find_extcap_method(device_t dev, device_t child, + int capability, int *capreg); struct resource *pci_alloc_resource(device_t dev, device_t child, int type, int *rid, u_long start, u_long end, u_long count, u_int flags); ==== //depot/projects/mjexp_6/sys/dev/pci/pcib_private.h#2 (text+ko) ==== @@ -27,7 +27,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/pci/pcib_private.h,v 1.6 2004/01/11 06:52:31 imp Exp $ + * $FreeBSD: src/sys/dev/pci/pcib_private.h,v 1.6.8.1 2006/12/28 22:09:46 jhb Exp $ */ #ifndef __PCIB_PRIVATE_H__ @@ -75,6 +75,4 @@ void pcib_write_config(device_t dev, int b, int s, int f, int reg, uint32_t val, int width); int pcib_route_interrupt(device_t pcib, device_t dev, int pin); -extern devclass_t pcib_devclass; - #endif ==== //depot/projects/mjexp_6/sys/dev/pci/pcivar.h#2 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/pci/pcivar.h,v 1.66.2.1 2006/01/30 18:34:41 imp Exp $ + * $FreeBSD: src/sys/dev/pci/pcivar.h,v 1.66.2.2 2006/12/28 21:40:54 jhb Exp $ * */ @@ -343,6 +343,12 @@ return PCI_GET_POWERSTATE(device_get_parent(dev), dev); } +static __inline int +pci_find_extcap(device_t dev, int capability, int *capreg) +{ + return PCI_FIND_EXTCAP(device_get_parent(dev), dev, capability, capreg); +} + device_t pci_find_bsf(uint8_t, uint8_t, uint8_t); device_t pci_find_device(uint16_t, uint16_t); #endif /* _SYS_BUS_H_ */ ==== //depot/projects/mjexp_6/sys/dev/ral/if_ral_pci.c#2 (text+ko) ==== @@ -1,7 +1,7 @@ -/* $FreeBSD: src/sys/dev/ral/if_ral_pci.c,v 1.1.2.1 2005/08/25 05:01:14 rwatson Exp $ */ +/* $FreeBSD: src/sys/dev/ral/if_ral_pci.c,v 1.1.2.2 2006/12/23 07:14:42 fjoe Exp $ */ /*- - * Copyright (c) 2005 + * Copyright (c) 2005, 2006 * Damien Bergamini * * Permission to use, copy, modify, and distribute this software for any @@ -18,10 +18,10 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ral/if_ral_pci.c,v 1.1.2.1 2005/08/25 05:01:14 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ral/if_ral_pci.c,v 1.1.2.2 2006/12/23 07:14:42 fjoe Exp $"); /* - * PCI front-end for the Ralink RT2500 driver. + * PCI/Cardbus front-end for the Ralink RT2560/RT2561/RT2561S/RT2661 driver. */ #include @@ -38,7 +38,6 @@ #include #include -#include #include #include @@ -56,8 +55,8 @@ #include #include -#include -#include +#include +#include MODULE_DEPEND(ral, pci, 1, 1, 1); MODULE_DEPEND(ral, wlan, 1, 1, 1); @@ -69,13 +68,57 @@ }; static const struct ral_pci_ident ral_pci_ids[] = { - { 0x1814, 0x0201, "Ralink Technology RT2500" }, + { 0x1814, 0x0201, "Ralink Technology RT2560" }, + { 0x1814, 0x0301, "Ralink Technology RT2561S" }, + { 0x1814, 0x0302, "Ralink Technology RT2561" }, + { 0x1814, 0x0401, "Ralink Technology RT2661" }, { 0, 0, NULL } }; +static struct ral_opns { + int (*attach)(device_t, int); + int (*detach)(void *); + void (*shutdown)(void *); + void (*suspend)(void *); + void (*resume)(void *); + void (*intr)(void *); + +} ral_rt2560_opns = { + rt2560_attach, + rt2560_detach, + rt2560_shutdown, + rt2560_suspend, + rt2560_resume, + rt2560_intr + +}, ral_rt2661_opns = { + rt2661_attach, + rt2661_detach, + rt2661_shutdown, + rt2661_suspend, + rt2661_resume, + rt2661_intr +}; + +struct ral_pci_softc { + union { + struct rt2560_softc sc_rt2560; + struct rt2661_softc sc_rt2661; + } u; + + struct ral_opns *sc_opns; + int irq_rid; + int mem_rid; + struct resource *irq; + struct resource *mem; + void *sc_ih; +}; + static int ral_pci_probe(device_t); static int ral_pci_attach(device_t); +static int ral_pci_detach(device_t); +static int ral_pci_shutdown(device_t); static int ral_pci_suspend(device_t); static int ral_pci_resume(device_t); @@ -83,7 +126,8 @@ /* Device interface */ DEVMETHOD(device_probe, ral_pci_probe), DEVMETHOD(device_attach, ral_pci_attach), - DEVMETHOD(device_detach, ral_detach), + DEVMETHOD(device_detach, ral_pci_detach), + DEVMETHOD(device_shutdown, ral_pci_shutdown), DEVMETHOD(device_suspend, ral_pci_suspend), DEVMETHOD(device_resume, ral_pci_resume), @@ -93,9 +137,11 @@ static driver_t ral_pci_driver = { "ral", ral_pci_methods, - sizeof (struct ral_softc) + sizeof (struct ral_pci_softc) }; +static devclass_t ral_devclass; + DRIVER_MODULE(ral, pci, ral_pci_driver, ral_devclass, 0, 0); DRIVER_MODULE(ral, cardbus, ral_pci_driver, ral_devclass, 0, 0); @@ -120,6 +166,8 @@ static int ral_pci_attach(device_t dev) { + struct ral_pci_softc *psc = device_get_softc(dev); + struct rt2560_softc *sc = &psc->u.sc_rt2560; int error; if (pci_get_powerstate(dev) != PCI_POWERSTATE_D0) { @@ -131,23 +179,77 @@ /* enable bus-mastering */ pci_enable_busmaster(dev); - error = ral_alloc(dev, RAL_PCI_BAR0); + psc->sc_opns = (pci_get_device(dev) == 0x0201) ? &ral_rt2560_opns : + &ral_rt2661_opns; + + psc->mem_rid = RAL_PCI_BAR0; + psc->mem = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &psc->mem_rid, + RF_ACTIVE); + if (psc->mem == NULL) { + device_printf(dev, "could not allocate memory resource\n"); + return ENXIO; + } + + sc->sc_st = rman_get_bustag(psc->mem); >>> TRUNCATED FOR MAIL (1000 lines) <<<