From: Sebastian Krzyszkowiak <sebastian.krzyszkowiak@puri.sm>
To: Vincent Cloutier <vincent.cloutier@icloud.com>
Cc: heikki.krogerus@linux.intel.com, gregkh@linuxfoundation.org,
linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org,
sven@kernel.org, Vincent Cloutier <vincent@cloutier.co>,
stable@vger.kernel.org
Subject: Re: [PATCH v1 1/1] usb: typec: tipd: Restore generic TPS6598x contract interrupts
Date: Fri, 03 Apr 2026 12:24:54 +0200 [thread overview]
Message-ID: <2374707.tdWV9SEqCh@pliszka> (raw)
In-Reply-To: <20260402000950.715470-1-vincent.cloutier@icloud.com>
On czwartek, 2 kwietnia 2026 02:09:50 czas środkowoeuropejski letni Vincent
Cloutier wrote:
> From: Vincent Cloutier <vincent@cloutier.co>
>
> The generic TPS6598x interrupt handler still relies on
> PP_SWITCH_CHANGED, NEW_CONTRACT_AS_CONSUMER, HARD_RESET, and
> STATUS_UPDATE, but the irq_mask1 refactor only kept
> POWER_STATUS_UPDATE, DATA_STATUS_UPDATE, and PLUG_EVENT in
> tps6598x_data.
>
> On the librem5 that leaves PD partners stuck at the 500 mA fallback
> because the active contract is never refreshed after attach.
>
> Restore the missing interrupt bits so the existing handler paths are
> reachable again. This fixes USB-C charging negotiation on the librem5:
> after a replug the TPS6598x source power supply reports 3 A instead of
> 500 mA and the BQ25890 input limit follows suit.
>
> Fixes: b3dddff502c5 ("usb: typec: tipd: Move initial irq mask to tipd_data")
> Cc: stable@vger.kernel.org
> Signed-off-by: Vincent Cloutier <vincent@cloutier.co>
> ---
> drivers/usb/typec/tipd/core.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/usb/typec/tipd/core.c b/drivers/usb/typec/tipd/core.c
> index 84ee5687bb27..83f2fec6e34e 100644
> --- a/drivers/usb/typec/tipd/core.c
> +++ b/drivers/usb/typec/tipd/core.c
> @@ -2395,7 +2395,11 @@ static const struct tipd_data tps6598x_data = {
> .irq_handler = tps6598x_interrupt,
> .irq_mask1 = TPS_REG_INT_POWER_STATUS_UPDATE |
> TPS_REG_INT_DATA_STATUS_UPDATE |
> - TPS_REG_INT_PLUG_EVENT,
> + TPS_REG_INT_PLUG_EVENT |
> + TPS_REG_INT_PP_SWITCH_CHANGED |
> + TPS_REG_INT_NEW_CONTRACT_AS_CONSUMER |
> + TPS_REG_INT_HARD_RESET |
> + TPS_REG_INT_STATUS_UPDATE,
> .tps_struct_size = sizeof(struct tps6598x),
> .register_port = tps6598x_register_port,
> .unregister_port = tps6598x_unregister_port,
This driver has never handled these interrupts (as seen in the commit you
referenced), so these should be added in patches that make it handle them.
You likely got confused by the patches that still stay in the downstream
Librem 5 tree. We should get them cleaned up and mainlined, but until that
happens this patch doesn't make much sense here I'm afraid.
S.
next prev parent reply other threads:[~2026-04-03 10:31 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-02 0:09 [PATCH v1 1/1] usb: typec: tipd: Restore generic TPS6598x contract interrupts Vincent Cloutier
2026-04-02 14:06 ` Heikki Krogerus
2026-04-03 10:24 ` Sebastian Krzyszkowiak [this message]
2026-04-03 14:09 ` Vincent Cloutier
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=2374707.tdWV9SEqCh@pliszka \
--to=sebastian.krzyszkowiak@puri.sm \
--cc=gregkh@linuxfoundation.org \
--cc=heikki.krogerus@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=stable@vger.kernel.org \
--cc=sven@kernel.org \
--cc=vincent.cloutier@icloud.com \
--cc=vincent@cloutier.co \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox