* [PATCH v2] accel: habanalabs: pm: use DEFINE_SIMPLE_DEV_OPS for pm struct
@ 2026-08-21 3:19 Li Jun
2026-08-21 7:35 ` sashiko-bot
0 siblings, 1 reply; 2+ messages in thread
From: Li Jun @ 2026-08-21 3:19 UTC (permalink / raw)
To: lijun01, koby.elbaz, konstantin.sinyuk, ogabbay, dri-devel
use DEFINE_SIMPLE_DEV_PM_OPS for hl_pm_ops,
pm_sleep_ptr() to safely drop the references without
triggering compiler warnings. and add the value of
'.freeze .thaw .poweroff .restore'. if these
address are null, may cause error in s4.
Signed-off-by: Li Jun <lijun01@kylinos.cn>
---
drivers/accel/habanalabs/common/habanalabs_drv.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/drivers/accel/habanalabs/common/habanalabs_drv.c b/drivers/accel/habanalabs/common/habanalabs_drv.c
index 483e1ad9fc41..6de59a9bac9b 100644
--- a/drivers/accel/habanalabs/common/habanalabs_drv.c
+++ b/drivers/accel/habanalabs/common/habanalabs_drv.c
@@ -706,10 +706,7 @@ static void hl_pci_reset_done(struct pci_dev *pdev)
hl_device_reset(hdev, flags);
}
-static const struct dev_pm_ops hl_pm_ops = {
- .suspend = hl_pmops_suspend,
- .resume = hl_pmops_resume,
-};
+static DEFINE_SIMPLE_DEV_PM_OPS(hl_pm_ops, hl_pmops_suspend, hl_pmops_resume);
static const struct pci_error_handlers hl_pci_err_handler = {
.error_detected = hl_pci_err_detected,
--
2.25.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH v2] accel: habanalabs: pm: use DEFINE_SIMPLE_DEV_OPS for pm struct
2026-08-21 3:19 [PATCH v2] accel: habanalabs: pm: use DEFINE_SIMPLE_DEV_OPS for pm struct Li Jun
@ 2026-08-21 7:35 ` sashiko-bot
0 siblings, 0 replies; 2+ messages in thread
From: sashiko-bot @ 2026-08-21 7:35 UTC (permalink / raw)
To: Li Jun; +Cc: dri-devel
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [High] Using `DEFINE_SIMPLE_DEV_PM_OPS` incorrectly maps the `.freeze` callback to the suspend function, causing the PCI device to be forced into D3hot during hibernation freeze.
--
--- Patch [1]: [PATCH v2] accel: habanalabs: pm: use DEFINE_SIMPLE_DEV_OPS for pm struct ---
commit 05b8c895a9d3a2cfea19ba9e2cdc13394fb870ce
Author: Li Jun <lijun01@kylinos.cn>
accel: habanalabs: pm: use DEFINE_SIMPLE_DEV_OPS for pm struct
This commit uses DEFINE_SIMPLE_DEV_PM_OPS to define hl_pm_ops and safely
handle PM callbacks without triggering compiler warnings when PM sleep is
disabled. It also implicitly adds callbacks for freeze, thaw, poweroff,
and restore.
> diff --git a/drivers/accel/habanalabs/common/habanalabs_drv.c b/drivers/accel/habanalabs/common/habanalabs_drv.c
> index 220954d730136..7ec5aa7905f06 100644
> --- a/drivers/accel/habanalabs/common/habanalabs_drv.c
> +++ b/drivers/accel/habanalabs/common/habanalabs_drv.c
> @@ -1630,10 +1630,7 @@ static void hl_pci_reset_done(struct pci_dev *pdev)
> hl_device_reset(hdev, flags);
> }
>
> -static const struct dev_pm_ops hl_pm_ops = {
> - .suspend = hl_pmops_suspend,
> - .resume = hl_pmops_resume,
> -};
> +static DEFINE_SIMPLE_DEV_PM_OPS(hl_pm_ops, hl_pmops_suspend, hl_pmops_resume);
[Severity: High]
Does this map the .freeze callback to hl_pmops_suspend, which forces the
device into D3hot?
DEFINE_SIMPLE_DEV_PM_OPS implicitly sets the .freeze callback to
hl_pmops_suspend. When the user initiates hibernation, this callback is
invoked and eventually puts the device into D3hot:
drivers/accel/habanalabs/common/device.c:hl_device_suspend() {
...
pci_set_power_state(hdev->pdev, PCI_D3hot);
...
}
Will putting the PCI device into D3hot during the .freeze phase make its
configuration and memory space inaccessible, breaking the system-wide
hibernation image creation process?
> static const struct pci_error_handlers hl_pci_err_handler = {
> .error_detected = hl_pci_err_detected,
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260821031959.288264-1-lijun01@kylinos.cn?part=1
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-08-21 7:35 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-21 3:19 [PATCH v2] accel: habanalabs: pm: use DEFINE_SIMPLE_DEV_OPS for pm struct Li Jun
2026-08-21 7:35 ` sashiko-bot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.