Index | Thread | Search

From:
Mark Kettenis <mark.kettenis@xs4all.nl>
Subject:
Re: qwz: enable suspend/resume
To:
"Theo de Raadt" <deraadt@openbsd.org>
Cc:
marcus@nazgul.ch, tech@openbsd.org
Date:
Sun, 07 Jun 2026 15:34:35 +0200

Download raw body.

Thread
> From: "Theo de Raadt" <deraadt@openbsd.org>
> Date: Sun, 07 Jun 2026 07:17:22 -0600
> 
> Marcus Glocker <marcus@nazgul.ch> wrote:
> 
> > > 2. Are there firmware differences that justify that qwz(4) diverges
> > >    from qwx(4) here.
> > 
> > Yes, this is the load-bearing reason.  The WCN7850 ath12k firmware
> > empirically does not tolerate repeated full core_deinit /
> > core_init cycles -- state accumulates inside the chip across cycles
> > even with the documented M0-M3 flush and PCI sw_reset, and after a few
> > iterations WMI PDEV commands get silently dropped.  Therefore, we have
> > adapted the ath12k Linux driver life-cycle model, were the firmware
> > stays up for the lifetime of the driver attachment.
> > 
> > WCN6855 ath11k firmware apparently does not have this bug, since qwx
> > with its current pattern has been working reliably.  So qwx should not
> > follow qwz here.  Conversely qwz can't follow qwx because of the
> > firmware bug -- that's why we diverged.
> 
> I wonder if that would have an impact on hibernate.

Probably.  But at this point all development is done on arm64.  For
now this is probably going to help S0i support on amd64.

It is probably time for us to work on hibernate for arm64.