summaryrefslogtreecommitdiffstats
path: root/sys/dev/pci (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* regenkettenis2019-05-022-2/+7
|
* add Cryptographics Co-processor found on newer AMD Ryzen CPUs/APUskettenis2019-05-021-1/+2
|
* Allow non-root users to become master when they are the first to open a drmkettenis2019-05-021-8/+4
| | | | | | | device. This matches what Linux does and is a first step towards running X without setuid or root priviliges. ok jsg@
* Avoid using an expression which resolves to an int in a bool contextjsg2019-05-011-2/+2
| | | | | when a nested macro is called with an expression argument. Prompted by -Wint-in-bool-context with gcc 8. ok kettenis@
* Make AK5385-related macros of ap192k cards look like julia ones.ratchov2019-04-301-8/+9
| | | | | | As ap192k and julia cards are very similar, this change will hopefully help reusing part of the juilia codec initialization code as is in the ap192k card code. No behavior change.
* Implement the set_rate() method for ESI Juli@ cards.ratchov2019-04-302-3/+56
| | | | | | | | | The set_rate method switches the AK5385 and the AK4358 chips between single-, double- or quad-speed modes depending on the host sample rate. This suppresses aliasing noise in 96kHz and 192kHz sample rates. Help and testing by Andrey Oktyabrskiy <ano at bestmx.net>. Thanks!
* Add a "set_rate" method to the envy codec API.ratchov2019-04-302-8/+7
| | | | | | | This allows to hook card-specific codec initialization code called when the sample rate is changed. As codecs follow host clock, this method will be typically used to switch between simple-speed to double-speed modes when necessary.
* Fix ESI juil@'s EEPROM contents holding default GPIO state.ratchov2019-04-301-3/+3
| | | | | | The new GPIO state doesn't set masked bits and matches the default 48kHz sampling rate. As the codec uses the host clock, this is a no-op, but this way the code is less confusing.
* Enable EnvyHT-specific sample rates (above 96kHz) on the host controller.ratchov2019-04-302-3/+24
| | | | Tests and help from Andrey Oktyabrskiy <ano at bestmx.net>. Thanks.
* Convert a linux specific test for master in currently disabled code.jsg2019-04-301-1/+1
|
* Add an equivalent test for master in drm_fb_helper_is_bound()jsg2019-04-301-0/+3
| | | | | | | Prevents black screens on hotplugging a new display with Xorg running which required a vt switch for screens to be useable. Reported by various people on misc@. Tested by and ok sthen@
* Extend channel dwell time during passive scans in iwn(4).stsp2019-04-291-2/+2
| | | | | | Makes scan results more reliable. testing jmc@, kmos@, Tracey Emery ok kettenis@ kevlo@ jmc@ phessler@
* Make sure only "primary" clients can become master.kettenis2019-04-281-2/+3
| | | | ok jsg@
* drm/ttm: fix out-of-bounds read in ttm_put_pages() v2jsg2019-04-271-2/+3
| | | | | | From Christian Koenig 96800ba9e565ab752774cd88328f96aed28a1436 in linux 4.19.y/4.19.37 a66477b0efe511d98dde3e4aaeb189790e6f0a39 in mainline linux
* Since we now have an attachhook, the actual interrupt handler is installedkettenis2019-04-251-1/+4
| | | | | | | | | | late, after we enable interrupts. If the interrupt pin used for inteldrm(4) is shared with another device, we may end up being called before the actual interrup handler is installed resulting in a null-pointer dereference. Fix this by adding an explicit check that the interrupt handler function pointer has been set. ok matthieu@, jsg@
* Follow up on jmatthew's suggestion:kevlo2019-04-251-3/+3
| | | | | | | in x_media_change(), return the errno from ieee80211_media_change() and do the error check from x_init(). ok stsp@, jmatthew@, phessler@
* implement SIOCGIFSFFPAGE so ifconfig can get transceiver info.jmatthew2019-04-242-2/+102
| | | | | | | the controller has an i2c read operation that's almost exactly what we want, except it only does 64 bytes at a time, so this is pretty simple. ok dlg@
* regendlg2019-04-242-2/+7
|
* add the product id for VMware NVMe interfacedlg2019-04-241-1/+2
|
* Since ppb(4) properly allocates bus ranges for attached devices,patrick2019-04-231-99/+2
| | | | | | | | | the hotplug code doesn't need to do the same. Also the hotplug code only configured a single bus and did that before the proper allocation ran, so there was no chance for hotplugged ppb(4)s to have children busses. ok kettenis@
* syncderaadt2019-04-232-162/+162
|
* shorten some stringsderaadt2019-04-231-81/+81
|
* Remove file name and line number output from witness(4)visa2019-04-233-51/+33
| | | | | | | | | | | | | Reduce code clutter by removing the file name and line number output from witness(4). Typically it is easy enough to locate offending locks using the stack traces that are shown in lock order conflict reports. Tricky cases can be tracked using sysctl kern.witness.locktrace=1 . This patch additionally removes the witness(4) wrapper for mutexes. Now each mutex implementation has to invoke the WITNESS_*() macros in order to utilize the checker. Discussed with and OK dlg@, OK mpi@
* enable discard_backing_storage() testjsg2019-04-231-4/+0
| | | | ok kettenis@
* Linux code expects to find struct file in fs.h so include sys/file.hjsg2019-04-232-2/+2
| | | | | there. As sys/file.h does not have an include guard don't include it in drm_linux.c which indirectly includes fs.h via drmP.h.
* regenjsg2019-04-232-12/+352
|
* Add more amdgpu device ids.jsg2019-04-231-5/+73
| | | | | | | | | | | | The marketing names in libdrm's amdgpu.ids are based on device id and revision id. A single device id often maps to multiple marketing names but the same codename so stick to codenames here. The marketing names in amdgpu.ids also do not cover all the device ids amdgpu matches on. Use the same codenames as amdgpu. Polaris 20 and Polaris 30 as Polaris 10. Polaris 21 as Polaris 11. Polaris 22 as Vega M.
* - Update the comment describing why pci retry timeout needs to be disabledkevlo2019-04-231-6/+12
| | | | | | | | - Override the default cache line size if it's set to zero from Linux ath9k ok stsp@, jmatthew@
* Timeline lock is used from interrupt context so use IPL_TTY to preventkettenis2019-04-211-1/+1
| | | | "locking against myself" panics.
* Fix rbtree_postorder_for_each_entry_safe() implementation. Fixes crasheskettenis2019-04-211-5/+33
| | | | | | seen with the "intel" X driver with the new inteldrm kernel driver. ok (and with help from) jsg@
* drm/ttm: Fix bo_global and mem_global kfree errorjsg2019-04-202-10/+0
| | | | | | From Trigger Huang b10cc08374728ea79555a1cd98f962b0f942e942 in linux 4.19.y/4.19.36 30f33126feca0fe16df9e9302ffc28a953e2eb37 in mainline linux
* Adapt radeondrm_detach_kms() to struct drm_device being split fromjsg2019-04-201-1/+1
| | | | | | | drm softc. Avoids uvm_fault() when firmware is missing and radeondrm is forcibly detached. Reported by Mihai Popescu on misc@
* When we encounter ppb(4)s that are not configured we allocate a rangepatrick2019-04-161-1/+12
| | | | | | | of bus numbers from the parent's bus extent. On detach, which can happen with hotplug-able devices, we should free those busses. ok kettenis@
* i2c reads are more reliable a byte at a time.dlg2019-04-161-13/+13
| | | | | | reading all 256 at a time was a nice idea, but meant page 0xa2 wasnt appearing like it should. this follows what freebsd does more closely too.
* make sff page reads work on little endian archs too. like amd64.dlg2019-04-161-7/+7
| | | | | | some modules seem to need more time when waiting for bytes while here. hrvoje popovski hit the endian issue
* Use timeout_del_barrier(9) instead of timeout_del(9) followed byvisa2019-04-151-5/+3
| | | | | | conditional timeout_barrier(9). OK kn@ dlg@
* implement SIOCGIFSFFPAGE so ifconfig can get transceiver info.dlg2019-04-151-6/+81
| | | | | | | | myx doesn't allow i2c writes, so you can only read whatever page the firmware is already pointing at on device 0xa0. if you try to read another page it will return ENXIO. tested on a 10G-PCIE-8A-R with an xfp module.
* the myx_cmd struct has to be 4 byte aligned for use with bus_spacedlg2019-04-151-2/+2
| | | | i don't know how this didn't blow up before.
* enum thing needs commas between items.dlg2019-04-151-2/+2
| | | | unbreaks the build...
* there's some new errors that commands can complete with toodlg2019-04-151-1/+5
|
* there's a bunch of new commands in newer firmwaresdlg2019-04-151-2/+35
|
* trim some debug code that printed out the name of a commanddlg2019-04-151-41/+3
| | | | | | | | the list of commands is going to grow, but the thought of keeping the list in debug code up to date with it just makes me feel tired. this prints the command id number instead in the same format we represent it in the header.
* Update shared drm code, inteldrm(4) and radeondrm(4) from linux 4.4 tojsg2019-04-14654-86315/+167959
| | | | | | | | | | | | | | | | | | | linux 4.19.34. Adds support for more Intel hardware: Broxton/Apollo Lake (was is_preliminary in 4.4) Amber Lake (another Kaby Lake refresh) Gemini Lake Coffee Lake Whiskey Lake Cannon Lake (though no hardware with Intel graphics ever shipped) Ice Lake (alpha support, hardware not released) This does not add support for new radeon hardware on the AMD side as newer radeons have a different kernel driver (amdgpu). Thanks to the OpenBSD Foundation for sponsoring this work, kettenis@ for helping and a bunch of other developers for testing.
* Add support for X722 to ixl(4)phessler2019-04-101-1/+7
| | | | | | full list of pci ids from sthen@ OK sthen@, jmatthew@, deraadt@
* syncphessler2019-04-102-2/+32
|
* Add support for X722 to ixl(4)phessler2019-04-101-1/+7
| | | | | | full list of pci ids from sthen@ OK sthen@, jmatthew@, deraadt@
* implement support for SIOCGIFSFFPAGEdlg2019-04-101-1/+142
| | | | | | | | | | | | | | | | | | this relies on some firmware commands for accessing the i2c bus that are not available until a relatively recent API version. our nics using API 1.4 and 1.5 don't handle the command, but the API 1.7 nic we have is happy to talk to the module that is plugged into it. xl710 cards (the 40g ones with a qsfp+ connector) can be split up into 4 functions that represent lanes on a single port. you can get qsfp+ to 4x sfp+ cables so you can use the different lanes/functions as completely independent interfaces. however, because each lane/ function is one port and therefore module, we need to serialise access to the module by at least the port. this is to prevent concurrent reads of different pages of the one module from stepping on each other. i took the easy path and made a single ixlsff lock, which is at least conservative.
* add support for SIOCGIFSFFPAGE so userland can read sfp module infodlg2019-04-103-3/+64
| | | | | | | | | access to the ioctl is serialised by a per ifp rwlock so userland reads of different pages in the same device address do not confuse each other. this was pretty straightforward because a lot of the plumbing for accessing the i2c bus was already in place.
* Make azalia(4) initialize dolby atmos codecs in the resume path.stsp2019-04-081-1/+4
| | | | | Keeps stereo sound intact across suspend/resume cycles on the matebook x. ok phessler@ deraadt@
* Correct access to doorbell. In radeondrm this is only present and usedjsg2019-04-031-2/+2
| | | | | | | with gfx7/sea islands hardware. Fixes ring 2 test failure on carrizo-l/mullins. Problem found by kettenis@ in a different part of the drm 4.19 tree.