[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <CO1PR11MB48357FE72D34818360D2105E96189@CO1PR11MB4835.namprd11.prod.outlook.com>
Date: Wed, 23 Mar 2022 10:26:37 +0000
From: "Khandelwal, Rajat" <rajat.khandelwal@...el.com>
To: "mika.westerberg@...ux.intel.com" <mika.westerberg@...ux.intel.com>,
"bleung@...gle.com" <bleung@...gle.com>,
"Malani, Prashant" <pmalani@...gle.com>
CC: "jthies@...gle.com" <jthies@...gle.com>,
"Rao, Abhijeet" <abhijeet.rao@...el.com>,
"Regupathy, Rajaram" <rajaram.regupathy@...el.com>,
"linux-usb@...r.kernel.org" <linux-usb@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"Westerberg, Mika" <mika.westerberg@...el.com>
Subject: RE: [PATCH] USB4/TBT device routers should wake up during S0ix when
something gets connected/disconnected or a DP monitor gets plugged in
+Mika
@Malani, Prashant @bleung@...gle.com This is the patch which fixes the partner issue. Kindly escalate your thoughts.
Thanks
Rajat
-----Original Message-----
From: Khandelwal, Rajat <rajat.khandelwal@...el.com>
Sent: Wednesday, March 23, 2022 3:48 PM
To: mika.westerberg@...ux.intel.com
Cc: Khandelwal, Rajat <rajat.khandelwal@...el.com>; bleung@...gle.com; jthies@...gle.com; Malani, Prashant <pmalani@...gle.com>; Rao, Abhijeet <abhijeet.rao@...el.com>; Regupathy, Rajaram <rajaram.regupathy@...el.com>; linux-usb@...r.kernel.org; linux-kernel@...r.kernel.org
Subject: [PATCH] USB4/TBT device routers should wake up during S0ix when something gets connected/disconnected or a DP monitor gets plugged in
Device routers don't wake up during S0ix when something is plugged in/out or if a DP monitor gets connected. This causes the linux device to not wake up during S0ix cycling as the host router didn't wake up because the device router didn't. This patch adds a new functionality to linux.
Signed-off-by: Rajat-Khandelwal <rajat.khandelwal@...el.com>
---
drivers/thunderbolt/switch.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/drivers/thunderbolt/switch.c b/drivers/thunderbolt/switch.c index d026e305fe5d..4f8056724aa4 100644
--- a/drivers/thunderbolt/switch.c
+++ b/drivers/thunderbolt/switch.c
@@ -3067,13 +3067,11 @@ void tb_switch_suspend(struct tb_switch *sw, bool runtime)
tb_switch_suspend(port->remote->sw, runtime);
}
- if (runtime) {
+ if (runtime || device_may_wakeup(&sw->dev)) {
/* Trigger wake when something is plugged in/out */
flags |= TB_WAKE_ON_CONNECT | TB_WAKE_ON_DISCONNECT;
flags |= TB_WAKE_ON_USB4;
flags |= TB_WAKE_ON_USB3 | TB_WAKE_ON_PCIE | TB_WAKE_ON_DP;
- } else if (device_may_wakeup(&sw->dev)) {
- flags |= TB_WAKE_ON_USB4 | TB_WAKE_ON_USB3 | TB_WAKE_ON_PCIE;
}
tb_switch_set_wake(sw, flags);
--
2.17.1
Powered by blists - more mailing lists