Hi Tesla-dev,
There are at least 3 mechanisms we can use to implement Suspend/
Resume support with Deep C-States.
callb:
A cpr callback handler can be registered in hpet_acpic.c or
the cpudrv.
DDI_SUSPEND/DDI_RESUME:
common/io/cpudrv.c implements driver attach and detach
entry points with DDI_SUSPEND/DDI_RESUME.
This could call platform specific code.
cbe_suspend/cbe_resume:
The Cyclic BackEnd has suspend/resume entry points.
These could suspend/resume the HPET device.
The cbe_suspend/resume interfaces may be best if we only
want to S/R the HPET device but not the Deep C-State code
in cpudrv.
The cpudrv DDI_SUSPEND/DDI_RESUME may be the
best option because it will allow the cpudrv to disable/enable
Deep C-State idle entry?
Regards,
Bill