| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
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
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This version also makes sure writes are properly aligned, preventing
the panics seen with the previous incarnation of this change.
Fixes battery status passthrough in vmware, brightness keys on my x220
and who knows what else.
ok mlarkin@, deraadt@
|
|
|
|
|
| |
repeat this action at resume time.
ok mlarkin guenther
|
|
|
|
|
| |
on some laptops. Mailing lists threads mention x220 and Asus machines.
Reverting for now.
|
|
|
|
|
|
|
|
| |
Fixes battery status passthrough in vmware and who knows what else.
Tested by many.
ok mlarkin@, deraadt@
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
buttons are wired to the trackpad and need to be re-routed to the
trackstick. Without this change the buttons on 2015 thinkpads
get picked up as extended buttons that show up as scroll up/down.
Remove the X1 Carbon 2015 (LEN0048) and X250 (LEN0046) from the
top button area/soft buttons quirks list. Also avoid using the
quirk list entirely if the capability bit is set.
Based on work from jcs@ with feedback from mpi@
ok mpi@ jcs@
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
to all functions on a device. This makes no sense in the context of accessing
PCI config space. Nevertheless stsp@ has a machine with AML that tries to
do config space reads from a device where _ADR encodes function number FFFF.
This is almost certainly buggy AML, but since Linux (and presumably Windows)
boot just fine on this machine we need to work around this. Linux effectively
treats function FFFF as function 7, which isn't present on this machine.
Instead we simulate a read from a non-existent device by returning a bit
pattern of all ones. Writes to function FFFF will still panic.
ok mlarkin@
|
|
|
|
|
|
|
| |
handling into RAMDISK. This is now possible because the install media
has ample room. The goal is to reduce special cases where we may be
skipping (unknown) important operations...
ok mlarkin kettenis
|
|
|
|
|
|
|
| |
have any direct symbols used. Tested for indirect use by compiling
amd64/i386/sparc64 kernels.
ok tedu@ deraadt@
|
|
|
|
|
| |
boot.
ok mlarkin
|
|
|
|
|
|
|
|
| |
may not have been mapped previously (in the failure to hibernate case).
Also ensure that the lowmem ptp is mapped in all cases (not just MP).
ok kettenis
|
| |
|
|
|
|
|
|
|
|
|
|
| |
physical buttons. This will be used if the acpi pnpid for the mouse
matches a list provided by Synaptics found in Linux.
Combined with the xenocara changes this will remove the need for an xorg
config file for the x240/t440/t540 generation of thinkpads.
ok matthieu@ shadchin@ kettenis@
|
|
|
|
|
|
|
|
| |
there are machines out there with broken BIOSen with such checksum errors in
thier RSDT tables. Windows runs fine on these machines, so it probably does
not check. Linux ignores checksum errors as well (and prints a warning).
ok deraadt@, krw@
|
|
|
|
| |
ok reyk djm
|
|
|
|
| |
ok tedu@ deraadt@
|
|
|
|
|
|
|
| |
is still closed when resuming. This allows docked laptop to be resumed
without opening them.
ok mlarkin@
|
|
|
|
|
|
|
|
| |
where machines without any _LIDs were going back to sleep after hibernate
due to the recent suspend-if-lid-closed-on-resume diff. Noticed on qemu,
which doesn't have any _LIDs.
discussed with deraadt
|
|
|
|
| |
ok miod@
|
|
|
|
|
|
|
| |
sleep. This prevents accidental lid flex or slight opening in a backpack
from waking the machine up and leaving it resumed (powered on).
ok deraadt@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
deep down in the suspend path, where it is really hard to recover from
allocation failure. So allocate the piglet early on in the suspend path.
Also change the piglet and piglet allocation functions to use km_alloc(9)
instead of doing pmemrange magic. This removes a bunch of code which, in the
case of the piglet allocation, is broken since it results in a NULL pointer
dereference. Also switch the piglet allocation to not wait. If we can't
allocate 16MB of phys contig memory on a halfway modern machine we're almost
certainly under a lot of memory pressure and we're better off not trying to
hibernate anyway.
ok mlarkin@
|
|
|
|
|
|
|
|
| |
safe to restore perflevel when resuming. Should fix the issues people
see with the processor running at full speed heating up the machine while
the apm command reports that the CPUs are running at a low speed.
ok dcoppa@, deraadt@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
wsdisplay_resume(). The X server may adjust the display brightness just
before/after the VT switch when suspending/resuming. In fact, it may
already be blocked adjusting the display brightness for some reason
unrelated to the suspend request.
The VT switch request will eventually time out, but the delay is annoying
and the failed VT switch will lead to problems after resume.
Needed for a future update of the xf86-video-intel driver.
ok mlarkin@
|
| |
|
|
|
|
|
|
|
| |
Fixes the interrupt storm on the 2009 Mac mini with WOL enabled on its
nfe(4) interface.
ok mlarkin@
|
|
|
|
| |
much help and ok from deraadt@
|
| |
|
|
|
|
| |
after discussions with beck deraadt kettenis.
|
|
|
|
|
|
| |
it when we hibernate.
ok mlarkin@, miod@, deraadt@
|
|
|
|
|
|
| |
Remember initprocess instead of initproc.
ok matthew@ blambert@
|
|
|
|
|
|
| |
size (kern.bufcachepercent) on resume, for better hibernate performance.
ok beck@
|
|
|
|
| |
ok mlarkin@
|
|
|
|
|
|
| |
during autoconf makes no sense.
ok deraadt@
|
|
|
|
|
|
|
| |
must use the bus_space(9) API to access it instead of memcpy(9). Also make
sure we properly align access to fields that need more than byte alignment.
ok guenther@
|
|
|
|
|
|
|
| |
(used only when ACPI_DEBUG is enabled)
From a diff on tech@ by Fabian Raetz, with a minor change by me, tested
on i386 and amd64 with ACPI_DEBUG enabled and disabled.
|
|
|
|
|
|
|
|
|
|
| |
do so.
Freeing the hibernate structures too early leads to inadvertent calls into
splx when we aren't ready for them yet. Found when trapping splx calls in
the resume path.
discussed with deraadt@ at m2k14
|
|
|
|
| |
to sleep, instead of just the acpi thread going to sleep.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
call bufq_quiesce() after executing the DVACT_QUIESCE handlers.
This should be safe since no disk nor controller drivers have such
handler but it will allow us to detach sd(4) devices attached to a
USB bus.
Another benefit pointed out by kettenis@ is that drivers that need
to read a firmware from the disk should be able to do it at resume
time in a DVACT_WAKEUP handler.
ok kettenis@, deraadt@
|
|
|
|
|
|
|
|
|
|
|
| |
"mainbus" device. this breaks when mpath is enabled because it
attaches before mainbus and therefore takes the head position.
have autoconf provide device_mainbus() which looks up mainbus_cd,
and use that instead.
discussed with deraadt who just wants mpath stuff to move forward
despite there being many ways to shine this particular turd.
|
|
|
|
|
|
|
| |
AML, and will do WAITOK operations. While cold, that is a bad idea.
We seem to be safe with respect to the spec, I do not see any event
debounce issues here.
ok kettenis, tested by many
|
|
|
|
|
|
|
|
| |
fadt->hdr_revision <= 1. This is a better check since it checks
the version of the proper descriptor. This allows the alix APU
to reboot since those boards have currently a wrong sc->sc_revision.
Committing this now so that it can be tested easier.
With and OK jsg@ also fine by derradt@
|
|
|
|
|
|
| |
and don't need to disable SMI ownership of the ACPI hardware registers.
ok mlarkin@
|
|
|
|
| |
GENERIC.MP.
|
|
|
|
|
|
| |
to do this fairly late in the resume to avoid hangs.
ok deraadt@, mlarkin@
|
|
|
|
|
|
|
|
| |
kernel resumes normal (non-cold, able to run processes, etc) operation.
Previously we were relying on specific DVACT_RESUME op's in drivers
creating callback/threads themselves, but that has become too common,
indicating the need for a built-in mechanism.
ok dlg kettenis, tested by a sufficient amount of people
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
for PCI devices. This hook should be called twice, before and after
changing the power state of a PCI device.
Before setting the device to the new state, the ACPI layer will notify
every power resources linked to the device for that state and make sure
they are turned "_ON". After changing the state of the device, it will
decrement the reference of every power resources linked to that device
for the old state and turn them "_OFF" if they are no longer referenced.
This fixes the no-USB after resume problem seen on various ThinkPad,
problem initialy diagnosed with Alexander Polakov.
ok kettenis@, deraadt@
|
|
|
|
|
|
| |
Helps with VMware VMs that report hundreds of wakeup devices.
ok reyk@, deraadt@
|