From: Ravindra <ravindra@intel.com>
To: linux-bluetooth@vger.kernel.org, lsa.uz@pm.me,
vladimirkondratyev2@gmail.com
Cc: chethan.tumkur.narayan@intel.com, kiran.k@intel.com,
pmenzel@molgen.mpg.de, Ravindra <ravindra@intel.com>
Subject: [PATCH v5 0/4] Bluetooth: btintel_pcie: fix D-state transition and PM flows
Date: Mon, 28 Sep 2026 10:33:40 +0530 [thread overview]
Message-ID: <20260928050344.2893790-1-ravindra@intel.com> (raw)
This series fixes the suspend/resume path of btintel_pcie.
Patch 1 re-reads the boot stage register before the fallback state check,
so a missed alive interrupt no longer leaves btintel_pcie_set_dxstate()
testing a stale cache and aborting suspend with -EBUSY.
Patch 2 distinguishes S0ix from S3/S4 so the controller is placed in the
correct D-state, and routes .thaw through a normal D0 transition instead
of an unnecessary FLR.
Patch 3 stops treating gp0_received as proof that the requested D-state
transition completed. The flag is set at the top of the GP0 handler,
before the switch on alive_intr_ctxt, so a matched case can return having
changed nothing. The state is now verified against the register, and the
handler's work is completed from the fallback when needed.
Patch 4 clears the GP0 cause with a direct W1C write. The previous
read-modify-write helper wrote zero to GP0, leaving it uncleared, and
could acknowledge unrelated pending causes.
Changes in v5:
- Resend of the full series. v4 4/4 was posted on its own and could not be
applied by CI, because its context depends on 3/4.
- 4/4: picked up Sergey's Tested-by and Reviewed-by.
- No functional changes since v4.
Changes in v4:
- 3/4: verify the state after the alive interrupt instead of trusting
gp0_received, keep the flag reset inside the retry loop, complete the
mbox<->alive handshake, propagate btintel_pcie_start_rx() errors, and
restore the D3 context when the handler did not record it.
- 4/4: replace the W1C read-modify-write with a direct GP0 write.
- 1/4: corrected the Fixes: tag.
Ravindra (2):
Bluetooth: btintel_pcie: fix PM flow for S0ix, S3 and S4
Bluetooth: btintel_pcie: clear the GP0 cause with a W1C write
Sergey Lebedev (1):
Bluetooth: btintel_pcie: verify state after alive interrupt
Vladimir V. Kondratyev (1):
Bluetooth: btintel_pcie: fix stale cache in set_dxstate fallback check
drivers/bluetooth/btintel_pcie.c | 124 ++++++++++++++++++++++---------
drivers/bluetooth/btintel_pcie.h | 3 +-
2 files changed, 91 insertions(+), 36 deletions(-)
--
2.43.0
next reply other threads:[~2026-09-28 5:01 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-28 5:03 Ravindra [this message]
2026-09-28 5:03 ` [PATCH v5 1/4] Bluetooth: btintel_pcie: fix stale cache in set_dxstate fallback check Ravindra
2026-09-28 7:39 ` Bluetooth: btintel_pcie: fix D-state transition and PM flows bluez.test.bot
2026-09-28 5:03 ` [PATCH v5 2/4] Bluetooth: btintel_pcie: fix PM flow for S0ix, S3 and S4 Ravindra
2026-09-28 5:03 ` [PATCH v5 3/4] Bluetooth: btintel_pcie: verify state after alive interrupt Ravindra
2026-09-28 16:59 ` Ravindra
2026-09-28 5:03 ` [PATCH v5 4/4] Bluetooth: btintel_pcie: clear the GP0 cause with a W1C write Ravindra
2026-09-29 15:10 ` [PATCH v5 0/4] Bluetooth: btintel_pcie: fix D-state transition and PM flows patchwork-bot+bluetooth
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260928050344.2893790-1-ravindra@intel.com \
--to=ravindra@intel.com \
--cc=chethan.tumkur.narayan@intel.com \
--cc=kiran.k@intel.com \
--cc=linux-bluetooth@vger.kernel.org \
--cc=lsa.uz@pm.me \
--cc=pmenzel@molgen.mpg.de \
--cc=vladimirkondratyev2@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.