On Sun, Jan 05, 2025 at 08:52:51PM +0800, joswang wrote: > From: Jos Wang <joswang@xxxxxxxxxx> > > According to the USB PD3 CTS specification > (https://usb.org/document-library/ > usb-power-delivery-compliance-test-specification-0/ > USB_PD3_CTS_Q4_2024_OR.zip), the requirements for Please put urls on one line so that they can be linked to correctly. > tSenderResponse are different in PD2 and PD3 modes, see > Table 19 Timing Table & Calculations. For PD2 mode, the > tSenderResponse min 24ms and max 30ms; for PD3 mode, the > tSenderResponse min 27ms and max 33ms. > > For the "TEST.PD.PROT.SRC.2 Get_Source_Cap No Request" test > item, after receiving the Source_Capabilities Message sent by > the UUT, the tester deliberately does not send a Request Message > in order to force the SenderResponse timer on the Source UUT to > timeout. The Tester checks that a Hard Reset is detected between > tSenderResponse min and max,the delay is between the last bit of > the GoodCRC Message EOP has been sent and the first bit of Hard > Reset SOP has been received. The current code does not distinguish > between PD2 and PD3 modes, and tSenderResponse defaults to 60ms. > This will cause this test item and the following tests to fail: > TEST.PD.PROT.SRC3.2 SenderResponseTimer Timeout > TEST.PD.PROT.SNK.6 SenderResponseTimer Timeout > > Set the SenderResponseTimer timeout to 27ms to meet the PD2 > and PD3 mode requirements. > > Fixes: f0690a25a140 ("staging: typec: USB Type-C Port Manager (tcpm)") > Cc: stable@xxxxxxxxxxxxxxx > Signed-off-by: Jos Wang <joswang@xxxxxxxxxx> > --- > include/linux/usb/pd.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/include/linux/usb/pd.h b/include/linux/usb/pd.h > index 3068c3084eb6..99ca49bbf376 100644 > --- a/include/linux/usb/pd.h > +++ b/include/linux/usb/pd.h > @@ -475,7 +475,7 @@ static inline unsigned int rdo_max_power(u32 rdo) > #define PD_T_NO_RESPONSE 5000 /* 4.5 - 5.5 seconds */ > #define PD_T_DB_DETECT 10000 /* 10 - 15 seconds */ > #define PD_T_SEND_SOURCE_CAP 150 /* 100 - 200 ms */ > -#define PD_T_SENDER_RESPONSE 60 /* 24 - 30 ms, relaxed */ > +#define PD_T_SENDER_RESPONSE 27 /* 24 - 30 ms */ Why 27 and not 30? The comment seems odd here, right? thanks, greg k-h