summaryrefslogtreecommitdiffstats
path: root/sys/dev
Commit message (Collapse)AuthorAgeFilesLines
* Approved by: re@ (gjb)edavis2013-12-302-18/+17
| | | | Approved by: davidch (mentor)
* MFC r259928:dim2013-12-301-7/+0
| | | | | | | In sys/dev/bxe/bxe.c, remove static function bxe_has_tx_work_unload(), which has never been used. Reviewed by: edavis
* MFC r259902:dim2013-12-301-48/+0
| | | | | | In sys/dev/drm/mach64_dma.c, remove static function mach64_set_dma_eol(), which has never been used, even by upstream, since its initial upstream commit (see http://cgit.freedesktop.org/mesa/drm/commit/?id=873e1c4d )
* MFC r259897:dim2013-12-281-47/+0
| | | | | | In sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c, remove static functions mk_cpl_barrier_ulp(), mk_get_tcb_ulp() and mk_set_tcb_field_ulp(), which are all unused since r237263.
* MFC r259896:dim2013-12-281-7/+0
| | | | | In sys/dev/cxgb/common/cxgb_mc5.c, remove static function dbgi_wr_addr3(), which is unused since r167514.
* MFC r259880:dim2013-12-281-21/+0
| | | | | In sys/dev/sym/sym_hipd.c, remove static functions sym_que_first(), sym_que_last() and sym_remque_tail(), which are all unused since r53790.
* MFC r259869:dim2013-12-281-0/+2
| | | | | In sys/dev/mwl/if_mwl.c, put the static RD4() function under #ifdef MWL_DEBUG guards, since it only used in DPRINTF statements.
* MFC r259833:dim2013-12-281-1/+0
| | | | | | | Remove another unused static const variable num_chip_names, from aic7xxx.c this time. Noticed by: pluknet
* MFC r259827:dim2013-12-281-1/+0
| | | | | | Remove unused static const variable num_chip_names from aic79xx.c. Reviewed by: gibbs
* MFC r259825:dim2013-12-281-7/+0
| | | | | | Remove unused static function adwccbstatus() from adw(4). Reviewed by: gibbs
* MFC r259222:mav2013-12-251-1/+3
| | | | | | Destroy mtx lock when failed to allocate memory during attach. Submitted by: Dmitry Luhtionov <dmitryluhtionov@gmail.com>
* MFC r259527:np2013-12-242-0/+21
| | | | | | | | | Do not create a hardware IPv6 server if the listen address is not in6addr_any and is not in the CLIP table either. This fixes a reported TOE+IPv6 NULL-dereference panic in do_pass_open_rpl(). While here, stop creating hardware servers for any loopback address. It's just a waste of server tids.
* MFC r259685:imp2013-12-232-0/+27
| | | | | | | | | | | | | | | | | | Plumb the cn_grab and cn_ungrab routines down into the uart clients. Mask RX interrupts while grabbed on the atmel serial driver. This UART interrupts every character. When interrupts are enabled at the mountroot> prompt, this means the ISR eats the characters. Rather than try to create a cooperative buffering system for the low level kernel console, instead just mask out the ISR. For NS8250 and decsendents this isn't needed, since interrupts only happen after 14 or more characters (depending on the fifo settings). Plumb such that these are optional so there's no change in behavior for all the other UART clients. ddb worked on this platform because all interrupts were disabled while it was running, so this problem wasn't noticed. The mountroot> issue has been around for a very very long time. Approved by: re@ (gjb@)
* MFC r259717:dumbbell2013-12-221-1/+1
| | | | | | | | | | | | | | | | drm: Lower priority of "EDID checksum is invalid" message The priority goes from "error" to "debug". Connectors are polled every 10 seconds. Reading EDID is part of this polling. However, when an invalid EDID is returned, this error message is logged. When using Newcons for instance, having a kernel message every 10 seconds is getting annoying. Now that it's a debug message, it'll be logged only if hw.dri.debug is enabled. This fix console spamming for some users. Tested by: Larry Rosenman <ler@lerctr.org>
* MFC r259684:dumbbell2013-12-224-2/+18
| | | | | | | | | | | | | | | | | drm/ttm, drm/radeon: Replace EINTR/ERESTART by ERESTARTSYS... ... for msleep/cv_*wait() return values, where wait_event*() is used on Linux. ERESTARTSYS is the return code expected by callers when the operation was interrupted. For instance, this is the case of radeon_cs_ioctl() (radeon_cs.c): if an error occurs, and the code isn't ERESTARTSYS (eg. EINTR), it logs an error. Note that ERESTARTSYS is defined as ERESTART, but this keeps callers' code close to Linux. Submitted by: avg@ (previous version)
* MFC r259679:dumbbell2013-12-221-17/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | vga_pci: Improve boot display detection The previous code was checking the "VGA Enable" bit on the video card's parent PCI-to-PCI bridge only. This didn't work for the case where the video card is attached to the root PCI bus (ie. the card has no parent PCI-to-PCI bridge). Now, the new code: 1. checks the "VGA Enable" bit on the parent bridge only if it's a PCI-to-PCI bridge; 2. always checks the "I/O" and "Memory address space decoding" bits on the video card itself. However, vendor-specific bits are not used. This fixes the use of many integrated Radeon cards: without this patch, we fail to detect them as the boot display and, when radeonkms looks for the Video BIOS, it skips the shadow copy made by the System BIOS. It then fails to fully initialize the card, because the shadow copy is the only way to read the Video BIOS in these situations. A workaround was to force the boot display selection using the "hw.pci.default_vgapci_unit" tunable. A previous version of this patch added a new function doing the checks. Now, the vga_pci_is_boot_display() function is used to perform the checks (only until the boot display is found) and return if the given device is the boot display or not. Furthermore, vga_pci_attach() logs "Boot video device" if the card being attached it the Chosen One: vgapci0: <VGA-compatible display> [...] vgapci0: Boot video device Reviewed by: kib@, jhb@ (both a previous version) Tested by: lunatic_ (#freebsd-xorg, integrated Radeon card, xmj (#freebsd-xorg, i915+NVIDIA cards)
* MFC r259248 and r259462:hselasky2013-12-191-2/+13
| | | | | | Set chain bit correctly. This will fix some problems sending and receiving Zero Length Packets, ZLPs. See comment in code for more information.
* MFC r259023 and r259095:hselasky2013-12-194-21/+137
| | | | | Improve the XHCI command timeout recovery handling code. Fix some typos while at it.
* MFC r258363:truckman2013-12-192-0/+2
| | | | | Add alternate ID for Novatel MiFi 2200 CDMA, which is used by my Virgin Mobile branded device. It needs the U3GINIT_SCSIEJECT quirk.
* Merge r256868,257276-257277,257515,257913 from head. These are fixesglebius2013-12-183-38/+31
| | | | | | required to make Xen buтldable w/o INET. Sponsored by: Nginx, Inc.
* MFC DMAR busdma implementation.kib2013-12-171-0/+29
| | | | | | | | | | | | | | | | | | | | | | MFC r257251: Import the driver for VT-d DMAR hardware. Implement the busdma(9) using DMARs. MFC r257512: Add support for queued invalidation. MFC miscellaneous follow-ups to r257251. MFC r257266: Remove redundand assignment to error variable and check for its value. MFC r257308: Remove redundand declaration. MFC r257511: Return BUS_PROBE_NOWILDCARD from the DMAR probe method. MFC r257860,r257896,r257900,r257902,r257903 (by dim): Fixes for gcc compilation.
* MFC r257541:kib2013-12-173-12/+12
| | | | Fix several issues with the busdma(9) KPI use in the e1000 drivers.
* MFC r256718, r257410 and r257411:hselasky2013-12-161-33/+5
| | | | | | | | - Fix RF registers for RT3070. - Initialize BBP68 to improve RX sensitivity. - Add RT2860_BCN_OFFSET1 and RT2860_MAX_LEN_CFG register initialization to match with the vendor driver. While here, remove unused RT2860_DEF_MAC definition.
* MFC r238274, r246752, r256720, r256721, r256722, r256955, r257409hselasky2013-12-1612-304/+1428
| | | | | | | | | | | r257429, r257435, r257712, r257732, r257743, r257748, r257955 r257957, r257958, r258082, r258641, r258643, r258732, r258733, r258840, r258919, r258921, r259029, r259030, r259031, r259032 and r259046: - Add support for the MediaTek/Ralink RT5370/RT5372 chipset. - Various minor USB WLAN fixes and improvements. PR: usb/182936
* MFC r258828:ian2013-12-141-0/+258
| | | | | Add a nand flash controller driver for Atmel at91 family. Tested only on at91rm9200 so far.
* MFC r258740:ian2013-12-141-11/+21
| | | | | | Look up a nand chip by id in the static table before trying to obtain ONFI parameters. This allows a static table entry to provide valid data for chips known to provide invalid ONFI data.
* MFC r257892, r258196, r258197, r258199, r258200, r258201, r258202:ian2013-12-144-45/+128
| | | | | | | | | | | | | | | | | | | Add ONFI signature check. Add Micron chip found in Freescale Vybrid Family Phytec COSMIC board. The vendor specified field is 88 bytes, not 8 bytes. Update the onfi_params struct to ONFI revision 3.2 (06 12 2013). Search for and validate the ONFI params as specified in the standard. ONFI parameters are little-endian, hence we must take care to convert them to native endianness. We must also pay attention to unaligned accesses. Rework the routine that returns a pointer to the table of software ECC byte positions within the OOB area to support chips with unusual OOB sizes such as 218 or 224 bytes.
* MFC r257648, r257649, r257660:ian2013-12-131-1/+4
| | | | | | | | | | | | | | | | | Begin reducing code duplication in arm pmap.c and pmap-v6.c by factoring out common code related to mapping device memory into a new devmap.c file. Remove the growing duplication of code that used pmap_devmap_find_pa() and then did some math with the returned results to generate a virtual address, and likewise in reverse to get a physical address. Now there are a pair of functions, arm_devmap_vtop() and arm_devmap_ptov(), to do that. The bus_space_map() implementations are rewritten in terms of these. Move remaining code and data related to static device mapping into the new devmap.[ch] files. Emphasize the MD nature of these things by using the prefix arm_devmap_ on the function and type names (already a few of these things found their way into MI code, hopefully it will be harder to do by accident in the future).
* MFC r257556:ian2013-12-133-16/+20
| | | | | Arrange for uart_cpu_fdt's probe() routine to use the same table of compat strings as uart_bus_fdt's probe().
* MFC r257393:ian2013-12-131-193/+243
| | | | | | | | | | | Rework the imx ehci driver so that it's four separate ehci units rather than one unit with four busses attached to it. This allows us to use existing fdt data which describes separate devices with separate resources. It also allows any combination of the units to be en/disabled in the board dts files. Adjust our dts code to match what's used by linux and u-boot now that we're structured to do so.
* MFC r257390: Add a vendor entry for Freescale Semiconductor.ian2013-12-131-0/+1
|
* MFC r256658, r256666:rpaulo2013-12-132-133/+109
| | | | Move a lot of debugging printf's to DPRINTF.
* MFC r257480:ian2013-12-131-15/+30
| | | | | | Convert the if/else list of compatible devices to the table-driven ofw_bus_search_compatible() routine. In addition to converting existing strings to table entries, also add compat strings for the whole imx family.
* MFC r256815:ian2013-12-131-5/+5
| | | | Calculate the baud rate divisor rather than using a hard-coded value.
* MFC r256806, r256919, r257167:ian2013-12-132-0/+2061
| | | | | | | | | | | | | Add a driver for the Freescale Fast Ethernet Controller found on various Freescale SoCs including the i.MX series. This also works for the newer SoCs with the ENET gigabit controller, but doesn't use any of the new hardware features other than enabling gigabit speed. Mask out non-address bits in the mac address register, for proper detection of an all-zeroes address. Also remove a misplaced return. Switch to using ofw_bus_search_compatible() table-driven compat lookup. Add compat strings for Freescale Vybrid family SoCs.
* MFC r257130:ian2013-12-132-0/+30
| | | | | | | Add a helper routine to search for a compat string in a table that associates compat strings with arbitrary values that mean something to the driver. This is handy for drivers that support several variations of similar hardware and need to know which one matched.
* MFC r259183:trasz2013-12-131-0/+12
| | | | | | | Properly refuse handoff requests on already connected sessions. Previously this would result in dropping the session. Sponsored by: The FreeBSD Foundation
* MFC r259003:rmh2013-12-131-0/+7
| | | | Initialize modesetting sysctls in radeonkms.
* MFC: r256932, r256938, r256953andreast2013-12-122-0/+53
| | | | | | | | | | | | | | | | | | r256932: Add a new function (OF_getencprop()) that undoes the transformation applied by encode-int. Specifically, it takes a set of 32-bit cell values and changes them to host byte order. Most non-string instances of OF_getprop() should be using this function, which is a no-op on big-endian platforms. r256938: A few other common cases for encode-int decoding: OF_getencprop_alloc() and OF_searchencprop(). I thought about using the element size parameter to OF_getprop_alloc() to do endian-switching automatically, but it breaks use with structs and a *lot* of FDT code (which can hopefully be moved to these new APIs). r256953: Fix build.
* MFC r259145:np2013-12-121-2/+2
| | | | | | | Unstaticize t4_list and t4_uld_list. This works around a clang annoyance[1] and allows kgdb to find these symbols. [1] http://lists.freebsd.org/pipermail/freebsd-hackers/2012-November/041166.html
* MFC r258930:dumbbell2013-12-111-1/+5
| | | | | | drm: Read PCIER_LINK_CAP/PCIER_LINK_CAP2 from the PCI bridge Before this fix, capabilities were read from vgapci and were incorrect.
* MFC r259104:dumbbell2013-12-111-1/+1
| | | | | | | | | | drm/radeon: radeon_dp_i2c_aux_ch() must return 0 on FreeBSD The code was unmodified compared to Linux and returned the amount of received bytes from the i2c bus. This led to non-working i2c bus and failure to eg. read monitor's EDID, if connected to DisplayPort. Tested by: Mikaël Urankar <mikael.urankar@gmail.com>
* MFC r257991, r257992, 257993, 258504andreast2013-12-114-20/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | r257991: Consolidate Apple firmware hacks and improve them by switching on the presence of mac-io devices in the tree, which uniquely identifies Apple hardware. r257992: Allow OF_decode_addr() to also be able to map resources on big-endian devices. To this end, make PCI device detection rely on the device_type field rather than name, as per the standard. r257993: Make tsec work with the device tree present on the RB800. The previous code assumed that the MDIO bus was a direct child of the Ethernet interface. It may not be and indeed on many device trees is not. While here, add proper locking for MII transactions, which may be on a bus shared by several MACs. r258504: Save and restore the trap vectors when doing OF calls on pSeries machines. It turned out that on pSeries machines the call into OF modified the trap vectors and this made further behaviour unpredictable. With this commit I'm now able to boot multi user on a network booted environment on my IntelliStation 285. This is a POWER5+ machine.
* MFC r259101:dumbbell2013-12-111-3/+3
| | | | | | | | | | drm/radeon: agp_info->ai_aperture_size is in bytes, not Mbytes This fixes radeon_agp_init() and gtt_size is now correct. However, this is not enough to make Radeon AGP cards work: ttm_agp_backend.c isn't implemented yet. Submitted by: tijl@
* MFC r257654, r257772, r258441, r258689, r258698, r258879, r259048, andnp2013-12-096-25/+394
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | r259103. r257654: cxgbe(4): Exclude MPS_RPLC_MAP_CTL (0x11114) from the register dump. Turns out it's a write-only register with strange side effects on read. r257772: cxgbe(4): Tidy up the display for payload memory statistics (pm_stats). r258441: cxgbe(4): update the internal list of device features. r258689: Disable an assertion that relies on some code[1] that isn't in HEAD yet. r258698: cxgbetool: "modinfo" command to display SFP+ module information. r258879: cxgbe(4): T4_SET_SCHED_CLASS and T4_SET_SCHED_QUEUE ioctls to program scheduling classes in the chip and to bind tx queue(s) to a scheduling class respectively. These can be used for various kinds of tx traffic throttling (to force selected tx queues to drain at a fixed Kbps rate, or a % of the port's total bandwidth, or at a fixed pps rate, etc.). r259048: Two new cxgbetool subcommands to set up scheduler classes and to bind them to NIC queues. r259103: cxgbe(4): save a copy of the RSS map for each port for the driver's use.
* MFC r258941:delphij2013-12-064-19/+60
| | | | | | | | | | | | | | Apply vendor improvements to oce(4) driver: - Add support to 40Gbps devices; - Add support to control adaptive interrupt coalescing (AIC) via sysctl; - Improve support of BE3 devices; Many thanks to Emulex for their continued support of FreeBSD. Submitted by: Venkata Duvvuru <VenkatKumar.Duvvuru Emulex Com> Approved by: re (rodrigc)
* MFC 258178:royger2013-12-051-157/+45
| | | | | | | | | | | | | | | | | | Improve robustness of the Xen balloon driver. sys/dev/xen/balloon/balloon.c: Remove unused and commented out code. Fix deadlock caused by performing a sleepable malloc while holding the balloon mutex. Perform proper accounting of the memory used by the domain. Submitted by: Roger Pau Monné Sponsored by: Citrix Systems R&D Reviewed by: gibbs Approved by: gibbs (mentor) Approved by: re (gjb)
* MFC 257876:royger2013-12-051-8/+1
| | | | | | | | | | | | | | | | On XenServer the "halt" message is used instead of "poweroff", which makes FreeBSD halt but not poweroff (as expected when issuing a shutdown from the VM manager). Fix this by using the same handler for both "halt" and "poweroff". NB: The "halt" signal seems to be used on XenServer only. The OSS Xen toolstack (xl) uses "poweroff" instead. Submitted by: Roger Pau Monné Sponsored by: Citrix Systems R&D Reviewed by: gibbs Approved by: gibbs (mentor) Approved by: re (gjb)
* MFC r258830:yongari2013-12-052-0/+15
| | | | | | Add support for BCM57764, BCM57767, BCM57782, BCM57786 and BCM57787. PR: 184304 Approved by: re (rodrigc)
* MFC r258790:trasz2013-12-041-3/+5
| | | | | | | Fix hang on reboot with active iSCSI connections. Approved by: re (glebius) Sponsored by: The FreeBSD Foundation
OpenPOWER on IntegriCloud