From 45d1d418d6490b2c8daad5de63b8623518afc617 Mon Sep 17 00:00:00 2001 From: Vijayavardhan Vennapusa Date: Mon, 5 Jun 2017 14:47:56 +0530 Subject: [PATCH] Policy_engine: Add module parameter to disable PD Currently power Delivery (PD) is enabled by default which sends PD Hard reset in SINK mode to negogiate PD contract with host machine after connect, if no capabilities message is received from other device. This impacts with compliance for example: PMI ignores type-c disconnects during PD Hard Reset. Add module parameter to disable PD so that it doesn't enable PD communication during USB3.1 compliance testing. Change-Id: Ia3e39cee1e65895402c18b380b650f0a34fb0cec Signed-off-by: Vijayavardhan Vennapusa --- drivers/usb/pd/policy_engine.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/usb/pd/policy_engine.c b/drivers/usb/pd/policy_engine.c index 0272800269eb..03aeec2e878c 100644 --- a/drivers/usb/pd/policy_engine.c +++ b/drivers/usb/pd/policy_engine.c @@ -34,6 +34,10 @@ static bool usb_compliance_mode; module_param(usb_compliance_mode, bool, S_IRUGO|S_IWUSR); MODULE_PARM_DESC(usb_compliance_mode, "Start USB stack for USB3.1 compliance testing"); +static bool disable_usb_pd; +module_param(disable_usb_pd, bool, S_IRUGO|S_IWUSR); +MODULE_PARM_DESC(disable_usb_pd, "Disable USB PD for USB3.1 compliance testing"); + enum usbpd_state { PE_UNKNOWN, PE_ERROR_RECOVERY, @@ -920,7 +924,7 @@ static void usbpd_set_state(struct usbpd *pd, enum usbpd_state next_state) break; } - if (!val.intval) + if (!val.intval || disable_usb_pd) break; pd_reset_protocol(pd);