User Details
- User Since
- Jul 12 2022, 11:32 AM (185 w, 3 d)
Thu, Jan 29
Mon, Jan 26
accepting so I can close this again manually
Small style changes.
Remove dev/acpica/acpi_pmc_if.m from sys/conf/files
oops, wrong revision
Use eventhandler hooks instead of new acpi_pmc interface
Use eventhandler hooks instead of new acpi_pmc interface
Use eventhandler hooks instead of acpi_pmc interface.
thanks for pointing this out. Have a fix, just building with ACPI_DEBUG to make sure everything is fixed...
will fix trailing whitespaces on commit
Cool that someone is working on an intel PMC driver!
Sat, Jan 24
Include opt_acpi.h for DEV_ACPI
Use new acpi_pmc interface (see D48735) instead of new methods on device interface, and generally simplify how this is being called in acpi_EnterSleepState().
Add acpi_pmc interface, which acpi_EnterSleepState() calls the suspend and resume methods of during late suspend and early resume.
once added in D48735, this should use the PMC interface too
Typo in comments
Newline after DSM set unexpected enum functions warning messages + fix DSM revision sysctl default values.
Fri, Jan 23
Align declarations.
acpi_spmc_check_dsm_set() function which enables DSM set so long as enum functions DSM is supported (bit 1), but warns if incomplete vs what we expect.
- Add dsms_needed mask to each DSM set definition to check the result of enum functions (acpi_DSMQuery()) against.
- Default AMD DSM set revision ID to 2 as my ASL suggests it should be.
- Add debug.acpi.spmc.amd_dsm_revision sysctl so we can easily test emulating Linux's behaviour of using revision ID 0 (probably won't make a different irl - at least my ASL doesn't ever check for revision ID in DSM implementations).
- Return 0 in probe instead of BUS_PROBE_DEFAULT.
- Fix style/comment placement.
Tue, Jan 20
thanks for the review!
Make hw.acpi.spmc.intel_dsm_revision sysctl operate directly on Intel DSM set struct.
Make sched_preempt_locked entirely responsible for releasing thread lock and style change.
looks good!
Don't ever use Microsoft DSM UUID for getting constraints, as this isn't supported (checked on Intel acpidump).
Comment about changing sc->constraint_count and more style(9) improvements.
Remove struct acpi_spmc_private and just set DSM set flags directly on softc + style(9) improvements.
See changes/comments in D48387, but will add an interface for PMC suspend and resume which this will use.
Mon, Jan 19
Which kind of interrupts do you still see that prevent staying in S0ix? I think you mentioned some IPIs at some point, but which ones? Can we determine their cause?
Remove SPMC callbacks on struct acpi_softc. I will replace them with new pmc_suspend and pmc_resume methods in another revision. This leaves the acpi_spmc_suspend and acpi_spmc_resume (renamed from acpi_spmc_enter/exit) functions unused at the moment. Lmk if this is okay or if you'd rather I add these in a different revision too.
Sun, Jan 18
fixed most of the issues highlighted. Will address the allocating-memory-in-probe-function pattern and add an interface for late suspend/early resume (or maybe call this something like pmc_enter and pmc_exit? then again maybe on some platforms the PMC isn't necessarily intended to be called after device suspend) in the future.
Fix issues pointed out by olce@ and apply some suggestions. Main changes:
Fri, Jan 16
Remove unused acpi_s2idle_looping
Don't use new IPI_IDLE/IPI_UNIDLE, but use smp_rendezvous_cpus() calling sched_do_idle() instead.
Can totally use smp_rendezvous_cpus() for this instead of adding 2 new IPIs. I thought I had run into a problem using rendezvous when I first implemented this, but I just tried it again and see no problem doing it this way.
Wed, Jan 14
Move comment.
Fix more issues pointed out by olce@.
style(9)
style(9)
Fri, Jan 9
Tested on my machine (only S5, S4, and S0) and all works
Should we even allow hw.acpi.s4bios to be set if not supported? feels like it could be confusing to users not super familiar with power management that hw.acpi.s4bios is set but the system is not entering S4BIOS.
Accepting assuming no one has objections about changing the size of the sysctl
relevant commit in acpica, for reference: https://github.com/acpica/acpica/commit/79cd933e7b370e8d3fb490bf36ca5d111a12f96a
Thu, Jan 8
Wed, Jan 7
Reorder includes.
Tue, Jan 6
Dec 29 2025
Simplify cpuset initialization.
Remove rev_for_uuid for now and just use revision 0 everywhere.
Finally got around to updating this diff @olce :)
Fix issues pointed out by olce@.
Dec 15 2025
Dec 10 2025
looks good, though I wonder if there is a point in actually passing down tb_gen, considering I don't think we'll be supporting non-TB_GEN_USB4 in a while (and I was gonna remove the existing tb_pcib_identifiers after D52861)