All of lore.kernel.org
 help / color / mirror / Atom feed
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


             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.