summaryrefslogtreecommitdiff
path: root/sys/dev
AgeCommit message (Collapse)Author
2015-10-08Implement set_pages_array_wb() and set_pages_array_wc() for powerpc. SinceMark Kettenis
powerpc doesn't actually implement write-combining fall back to uncached mappings. ok mpi@, jsg@
2015-10-08Call em_start() when we detect a link state change such that packets startMark Kettenis
flowing again even if the send queue is currently full. Restores the fix made by makeb@ in rev 1.263 which was lost in making the tx completion path mpsafe. ok mikeb@
2015-10-07In i915_gem_fault(), move the "out" label after the switch state such that weMark Kettenis
don't interpret one of the VM_PAGER_XXX return values as an unhandled errno value and return the intended code instead of VM_PAGER_ERROR. ok jsg@
2015-10-060xffffffff is 32 bits, not 24 bitsMatthew Dempsky
ok deraadt
2015-10-06Make sure that tx_buffer->next_eop is properly set before we bump the numberMark Kettenis
of available descriptors, such that the interrupt handler doesn't attempt to complete partially initialized descriptors. Seems to fix the watchdog timeouts reported by various people. Tested by Mattieu Baptiste and Gregor Best. ok mikeb@
2015-10-06Make iwm(4) set the MAC address the same way other wireless drivers do.Stefan Sperling
ok mpi@
2015-10-05Simplify iwm(4) newstate task by only queuing one state transitionStefan Sperling
at a time. The newstate task now always transitions to the most recently requested state, rather than hopping along with every request. This allows us get rid of the silly newstate generation counter, and we can now task_del() a pending transition when the interface goes down. While several issues with this driver remain, I believe this change does not introduce new problems. Tested by myself, jasper@, and zhuk@
2015-10-04tweak initial output a bit: do not show number of light sensors, just show ifJoerg Jung
some is found or not, also remove kbdled output as there is no (known) way to test if (not) available at all
2015-10-04a macmini has no light sensor, but reading from light sensor keys isJoerg Jung
successful, while info/type reading from same keys fails and avoids initialization; so check the validity flag earlier and do not try to attach invalid (non-existing) keys debugged with help from kettenis
2015-10-04remove duplicate key, found by kettenisJoerg Jung
2015-10-04Fix memory leak in error path.Jonathan Matthew
From Benjamin Baier, found by llvm/scan-build.
2015-10-01relax vendor comparison to match variations found in olderJoerg Jung
models for example macmini1,1
2015-10-01add const, prodded by mpiJoerg Jung
2015-10-01remove superfluous sensor_attach() added for debug reasonsJoerg Jung
2015-10-01fix semicolon after if statementJonathan Gray
ok jung@
2015-10-01No need to wakeup(9) the sensor thread because upd_refresh() does notMartin Pieuchot
sleep. Discussed with deraadt@
2015-09-30add a (disabled) driver for the Apple System Management Controller (SMC) asJoerg Jung
found in Apple Intel based devices "go at it" deraadt@
2015-09-30Run the tx completion path without the kernel held. This makes theMark Kettenis
"fast path" through the interrupt handler not grab the kernel lock anymore. This removes the code that attempts to reclaim tx descriptors from em_start(). Keeping that code would have complicated the locking. The need to reclaim tx descriptors that way should have largely disappeared now that the interrupt handler doesn't have to wait on the kernel lock. ok mpi@ tested by many
2015-09-30I missed an #ifdef notyet when enabling the aliasing ppgtt code.Mark Kettenis
Hopefully this fixes the stability problems people have been seeing on sandybridge and up after the ppgtt code got enabled.
2015-09-29Unlock interrupt handler rx path with intr_barrierChris Cappuccio
ok mikeb@
2015-09-29get rid of the mutex between access to the status block and myx_downDavid Gwynne
myx is unusual in that it has an explicit command to shut down the chip that gets an interrupt when it's done. so myx_down sends the command and has to sleep until it gets that interrupt. this moves to using a single int to represent that state (so loads and stores are atomic), and sleep_setup/sleep_finish in myx_down to wait for it to change. this has been running in production at work for a few months now tested by chris@
2015-09-29regenJoerg Jung
2015-09-29add keyboard/trackpad IDs found in recent MacBooks (12" retina)Joerg Jung
ok mpi@
2015-09-29Huawei K4511 3G modem.Martin Pieuchot
From phil AT unita.com.au
2015-09-29regenMartin Pieuchot
2015-09-29Huawei K4511 3G modem.Martin Pieuchot
From phil AT unita.com.au
2015-09-28In low-level suspend routines, set cold=2. In tsleep(), use this toTheo de Raadt
spit out a ddb trace to console. This should allow us to find suspend or resume routines which break the rules. It depends on the console output function being non-sleeping.... but that's another codepath which should try to be safe when cold is set. ok kettenis
2015-09-28The Linux code that handles the DPMS mode for inteldrm(4) can sleep now.Mark Kettenis
Adopt the approach taken by radeondrm(4) and hand the "burner" work off to a task. Avoids the panic reported by Gerald Hanuer, who also tested this fix.
2015-09-28remove duplicate entry caused by the "Quanta Transcode" deviceJonathan Gray
2015-09-28Remove the "Quanta Transcode" device from the list of supported hardware.Mark Kettenis
It's only supposed to match certain subvendor/subdevice IDs, but our code doesn't check those. The result is that it (incorrectly) overrides the generic match for the HD Graphics P4000 as found on some Xeon E3 CPUs. This device is supposedly a castrated version of that device with the display output parts fused off. According to the original Linux commit it is "some HW being used for a demo", and there have been proposals to remove it from the Linux tree as well. It is unlikely that OpenBSD will ever run on this particular hardware.
2015-09-27Enable monitor hot plugging for the framebuffer console.Mark Kettenis
Tested on the VGA port of a Radeon 7500 and Radeon 9250 (aka 9200 PRO). Hopefully this works on Intel Graphics as well.
2015-09-27Fix bsd.rd upgrades over iwm(4), and fix `ifconfig iwm0 lladdr random`.Stefan Sperling
The bsd.rd problems happened because of the net80211 detach/attach hack which ran when the firmware is loaded for the first time. Do the minimum of what needs to be done instead. To fix lladdr random pick up a changing MAC address in the ioctl handler and don't overwrite a custom MAC address while loading the firmware. ok kettenis@
2015-09-27Align the way iwm(4) adds the MAC context with how it's done in Linux iwlwifi.Stefan Sperling
Noted by Adrian Chadd (FreeBSD). ok kettenis@
2015-09-27Use drm_fb_helper_restore_fbdev_mode() to restore the wscons framebufferMark Kettenis
whenever we need to. Apologies for the ugly cast. Should fix the locking warnings reported by tobiasu@
2015-09-27regenMark Kettenis
2015-09-27Add another AMD RS780 PCIE found in a dmesg from tobiasu@Mark Kettenis
2015-09-27Switch remaining users of the FreeBSD refcount apis back to the originalJonathan Gray
linux kref/kobject use. ok kettenis@
2015-09-26Try a little bit harder to clean up if attaching inteldrm(4) fails.Mark Kettenis
The crucial bit is that we now clear dev->dev_priv, which prevents the X server from opening /dev/drmN and crashing the kernel because the driver isn't fully initialized. While there, try a little bit harder to print error messages the proper way. Things will still look ugly though if the failure is somewhere in the Linux code.
2015-09-26Update drm_irq.c to the version from Linux 3.14.52.Mark Kettenis
Disable the DRM_IOCTL_IRQ_BUSID and DRM_IOCTL_CONTROL ioctls. These are legacy ioctls for DRI1 support, which we no longer support on OpenBSD.
2015-09-26Apparently Valleyview / Bay Trail has 32-bit BARs, so fetch the type insteadMark Kettenis
of hardcoding them to be 64-bit. Figured out by sthen@
2015-09-26Make the PPGTT code work. Seems to fix the caching issues on Broadwell.Mark Kettenis
Comments on some of the later Broadwell-related commits in the Linux tree seem to say that the PPAT flags in for the (global) GTT are simply broken in the hardware.
2015-09-26Make iwm(4) DPRINTFs show states by name instead of number.Stefan Sperling
2015-09-25Apparently 0 is not a power of 2 (despite <sys/param.h> claiming that it is).Mark Kettenis
Fixes inteldrm(4) on the GM45 chipset.
2015-09-253.14 backports of some Broadwell fixes fromJonathan Gray
http://lists.freedesktop.org/archives/intel-gfx/2014-March/042121.html Ben Widawsky drm/i915/bdw: Restore PPAT on thaw a2319c08bfd849ea32b4f890ce92df86074c5731 Ville Syrjala drm/i915: We implement WaDisableAsyncFlipPerfMode:bdw 8285222c487b61c48b9b955b82598544c3c06050 Ben Widawsky drm/i915/bdw: Use scratch page table for GEN8 PPGTT 8407bb9129da95fc4099b84cdbbc23e6d4f66aee Jani Nikula drm/i915: don't flood the logs about bdw semaphores c923facd535b97972b5bb7d3df4fcafd61a63a5e Ville Syrjala drm/i915: Implement WaDisableSDEUnitClockGating:bdw 4f1ca9e94057de098d65bc7477e8f89dd51609aa Ville Syrjala drm/i915: Don't clobber CHICKEN_PIPESL_1 on BDW c7c656226842679bcd9f39dc24441b4ff398a850 Kenneth Graunke drm/i915: Add a partial instruction shootdown workaround on Broadwell. c8966e1058e1e8ae2eec4211157847032829697a Damien Lespiau drm/i915/bdw: The TLB invalidation mechanism has been removed from INSTPM dc616b89dbc4bb6a99884d214bd1ed1e0eef59a0 Kenneth Graunke drm/i915: Add thread stall DOP clock gating workaround on Broadwell. 1411e6a57a1836ba8a3d4f17c8733b2fbaf0f005 Ville Syrjala drm/i915: Disable semaphore wait event idle message on BDW 295e8bb73a4785b65db6655fbf6ad57c4177b551 Mika Kuoppala drm/i915: Do forcewake reset on gen8 0a089e3355d77f758e46db54a0a81d4b58a28cc3 Mika Kuoppala drm/i915: Fix forcewake counts for gen8 e9dbd2b20201b49b04476d2e5763faa822967913 ok kettenis@
2015-09-25Disable IPS for now. Identified by jsg@ as the cause for the unsynchedMark Kettenis
display after waking it from standby or after VT switches. Can't seem to get him to commit this workaround while he his hunting for a proper fix.
2015-09-25Now that waitqueue_active() actually works, enable the WARN_ON that uses it.Mark Kettenis
2015-09-24Enable MSIs on hardware that supports it. On the Thinkpad X1, the APIC pinMark Kettenis
is shared with the disk, which results in noticable latency during heavy disk activity.
2015-09-24Properly implement waitqueue_active(). Gets rid of spuriousMark Kettenis
*ERROR* Hangcheck timer elapsed... xxx ring idle messages.
2015-09-24regenJonathan Gray
2015-09-24Add some more Broadwell graphics ids.Jonathan Gray