From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3C4403E4C90; Thu, 2 Apr 2026 14:07:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.18 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775138839; cv=none; b=V295nUovaS3D/V4IaElX3Kh1rugL/sVe5k7XsuQ1YQ4WhQliEWrDYJAx5/O+mqIdEQ5l180Y5BJM9Lnn7ExD8If9x5ny1ynF+9XucjnIHEfhcuKJl8POiR03zn9HNU17JRhj9vGwtekyUOQGnpyYBCAvx6Bqeojp51tr+IrWWbY= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775138839; c=relaxed/simple; bh=gYESeRb0qPLXt+/mthA2S699t3955yDhVoyjnkXvDmo=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=QjA0XmPxaGNQhCZRR5yssIauPS2LreKLhPAIzzQUc77XTUJcVnqDssBvSEiafX6CW7KrWsxstsdASHVOUQJWoN/6y7rt+Y8p9gA9i7BX+BbjG50mwb3vWiOp33ldA3rKEioKDg9s6+C2ZOx6s9RqWJ3Y2Yc2HqVwxus5b+TJcOU= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=UsRgnHs8; arc=none smtp.client-ip=198.175.65.18 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="UsRgnHs8" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1775138837; x=1806674837; h=date:from:to:cc:subject:message-id:references: mime-version:in-reply-to; bh=gYESeRb0qPLXt+/mthA2S699t3955yDhVoyjnkXvDmo=; b=UsRgnHs8xAGU8xAiKDANxcRAcMItDZXCrhWGw25LQvBiYGrK6noXOW8P pbBqCIuTm2lZTQWxlKNsaw4oNRXV/bec0yfTVn2LOx3mqW0R+KH+XZ62L 8+dvjzp5a+LPBvhDs5rVzTAe8QjAlm1JS9Anx0oqRzH4e0A3llRLWHpn3 3I9CnqZVZNfcgNzX8xbcbIsaH/p0Uf9+gxjviPBi3lOXnZBKgNPWxIXFO oa7eZA7h89HUlQ7c9AD0QHZ3r/IPzg7K9otTZprL/wJkpPs93s6r5LGyM UMdHPI4J32yf/JDbGtOvdtH4MM4QNbrxnEsL6dsTa8vGwni45+V9v5LF+ Q==; X-CSE-ConnectionGUID: oKLg4Zc6T8yYshpTT4bZHA== X-CSE-MsgGUID: LBW1B8thTwycGS7oGoAocQ== X-IronPort-AV: E=McAfee;i="6800,10657,11746"; a="76213287" X-IronPort-AV: E=Sophos;i="6.23,155,1770624000"; d="scan'208";a="76213287" Received: from fmviesa003.fm.intel.com ([10.60.135.143]) by orvoesa110.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Apr 2026 07:07:17 -0700 X-CSE-ConnectionGUID: Chzy8OXbSmyj099eo8MKOQ== X-CSE-MsgGUID: J/RxUdt1T0i2VOC+fXZylw== X-ExtLoop1: 1 Received: from black.igk.intel.com ([10.91.253.5]) by fmviesa003.fm.intel.com with ESMTP; 02 Apr 2026 07:07:14 -0700 Received: by black.igk.intel.com (Postfix, from userid 1008) id AC5D095; Thu, 02 Apr 2026 16:07:13 +0200 (CEST) Date: Thu, 2 Apr 2026 17:06:27 +0300 From: Heikki Krogerus To: Vincent Cloutier Cc: gregkh@linuxfoundation.org, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, sven@kernel.org, Vincent Cloutier , stable@vger.kernel.org Subject: Re: [PATCH v1 1/1] usb: typec: tipd: Restore generic TPS6598x contract interrupts Message-ID: References: <20260402000950.715470-1-vincent.cloutier@icloud.com> Precedence: bulk X-Mailing-List: stable@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20260402000950.715470-1-vincent.cloutier@icloud.com> Wed, Apr 01, 2026 at 08:09:50PM -0400, Vincent Cloutier kirjoitti: > From: Vincent Cloutier > > 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 Acked-by: Heikki Krogerus > --- > 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, -- heikki