From b234b9ecc7d23b6f33e452d97158326afaa4de35 Mon Sep 17 00:00:00 2001 From: Shawn Nematbakhsh Date: Tue, 10 Nov 2015 14:21:56 -0800 Subject: pd: Cleanup PD port-to-task macros Cleanup our port-to-task and task-to-port macros to allow cleanly adding a third port. BUG=chromium:554243 BRANCH=None TEST=Manual on glados / glados_pd. Verify that both USB-C ports are functional for charging. Signed-off-by: Shawn Nematbakhsh Change-Id: Ib833de0dfaa9490f4de8efb08d2cdddd86d57896 Reviewed-on: https://chromium-review.googlesource.com/311785 Commit-Ready: Shawn N Tested-by: Shawn N Reviewed-by: Alec Berg Reviewed-by: Vincent Palatin --- board/dingdong/ec.tasklist | 2 +- board/hoho/ec.tasklist | 2 +- board/honeybuns/ec.tasklist | 2 +- board/lucid/board.c | 2 +- board/lucid/ec.tasklist | 2 +- board/plankton/board.c | 2 +- board/plankton/ec.tasklist | 2 +- board/ryu/board.c | 2 +- board/ryu/ec.tasklist | 2 +- board/strago/board.c | 2 +- board/strago/ec.tasklist | 2 +- board/twinkie/board.h | 2 +- board/twinkie/sink.tasklist | 2 +- include/usb_pd.h | 19 +++++++------------ 14 files changed, 20 insertions(+), 25 deletions(-) diff --git a/board/dingdong/ec.tasklist b/board/dingdong/ec.tasklist index d31352893c..a4c8e73391 100644 --- a/board/dingdong/ec.tasklist +++ b/board/dingdong/ec.tasklist @@ -19,4 +19,4 @@ #define CONFIG_TASK_LIST \ TASK_ALWAYS(HOOKS, hook_task, NULL, TASK_STACK_SIZE) \ TASK_ALWAYS(CONSOLE, console_task, NULL, TASK_STACK_SIZE) \ - TASK_ALWAYS(PD, pd_task, NULL, LARGER_TASK_STACK_SIZE) + TASK_ALWAYS(PD_C0, pd_task, NULL, LARGER_TASK_STACK_SIZE) diff --git a/board/hoho/ec.tasklist b/board/hoho/ec.tasklist index d31352893c..a4c8e73391 100644 --- a/board/hoho/ec.tasklist +++ b/board/hoho/ec.tasklist @@ -19,4 +19,4 @@ #define CONFIG_TASK_LIST \ TASK_ALWAYS(HOOKS, hook_task, NULL, TASK_STACK_SIZE) \ TASK_ALWAYS(CONSOLE, console_task, NULL, TASK_STACK_SIZE) \ - TASK_ALWAYS(PD, pd_task, NULL, LARGER_TASK_STACK_SIZE) + TASK_ALWAYS(PD_C0, pd_task, NULL, LARGER_TASK_STACK_SIZE) diff --git a/board/honeybuns/ec.tasklist b/board/honeybuns/ec.tasklist index f6d5c9c3f5..adc8c5bb84 100644 --- a/board/honeybuns/ec.tasklist +++ b/board/honeybuns/ec.tasklist @@ -20,4 +20,4 @@ TASK_ALWAYS(HOOKS, hook_task, NULL, TASK_STACK_SIZE) \ TASK_ALWAYS(USBCFG, hx3_task, NULL, TASK_STACK_SIZE) \ TASK_ALWAYS(CONSOLE, console_task, NULL, LARGER_TASK_STACK_SIZE) \ - TASK_ALWAYS(PD, pd_task, NULL, LARGER_TASK_STACK_SIZE) + TASK_ALWAYS(PD_C0, pd_task, NULL, LARGER_TASK_STACK_SIZE) diff --git a/board/lucid/board.c b/board/lucid/board.c index 3823a1ba05..2cff3dc48c 100644 --- a/board/lucid/board.c +++ b/board/lucid/board.c @@ -57,7 +57,7 @@ void vbus_evt(enum gpio_signal signal) update_vbus_supplier(gpio_get_level(signal)); - task_wake(TASK_ID_PD); + task_wake(TASK_ID_PD_C0); /* trigger AC present interrupt */ extpower_interrupt(signal); diff --git a/board/lucid/ec.tasklist b/board/lucid/ec.tasklist index 1537f55eec..3160aabb60 100644 --- a/board/lucid/ec.tasklist +++ b/board/lucid/ec.tasklist @@ -21,4 +21,4 @@ TASK_ALWAYS(CHARGER, charger_task, NULL, LARGER_TASK_STACK_SIZE) \ TASK_NOTEST(HOSTCMD, host_command_task, NULL, TASK_STACK_SIZE) \ TASK_ALWAYS(CONSOLE, console_task, NULL, LARGER_TASK_STACK_SIZE) \ - TASK_ALWAYS(PD, pd_task, NULL, LARGER_TASK_STACK_SIZE) + TASK_ALWAYS(PD_C0, pd_task, NULL, LARGER_TASK_STACK_SIZE) diff --git a/board/plankton/board.c b/board/plankton/board.c index b833bf6ef1..d4688768a2 100644 --- a/board/plankton/board.c +++ b/board/plankton/board.c @@ -400,7 +400,7 @@ DECLARE_DEFERRED(button_dbg20v_deferred); void vbus_event(enum gpio_signal signal) { ccprintf("VBUS! =%d\n", gpio_get_level(signal)); - task_wake(TASK_ID_PD); + task_wake(TASK_ID_PD_C0); } /* ADC channels */ diff --git a/board/plankton/ec.tasklist b/board/plankton/ec.tasklist index d31352893c..a4c8e73391 100644 --- a/board/plankton/ec.tasklist +++ b/board/plankton/ec.tasklist @@ -19,4 +19,4 @@ #define CONFIG_TASK_LIST \ TASK_ALWAYS(HOOKS, hook_task, NULL, TASK_STACK_SIZE) \ TASK_ALWAYS(CONSOLE, console_task, NULL, TASK_STACK_SIZE) \ - TASK_ALWAYS(PD, pd_task, NULL, LARGER_TASK_STACK_SIZE) + TASK_ALWAYS(PD_C0, pd_task, NULL, LARGER_TASK_STACK_SIZE) diff --git a/board/ryu/board.c b/board/ryu/board.c index e199931cdd..44cc2db069 100644 --- a/board/ryu/board.c +++ b/board/ryu/board.c @@ -65,7 +65,7 @@ static struct ec_response_host_event_status host_event_status __aligned(4); void vbus_evt(enum gpio_signal signal) { usb_charger_vbus_change(0, gpio_get_level(signal)); - task_wake(TASK_ID_PD); + task_wake(TASK_ID_PD_C0); } void usb_evt(enum gpio_signal signal) diff --git a/board/ryu/ec.tasklist b/board/ryu/ec.tasklist index 9d49b2c126..b2ea821de6 100644 --- a/board/ryu/ec.tasklist +++ b/board/ryu/ec.tasklist @@ -26,4 +26,4 @@ TASK_NOTEST(CHIPSET, chipset_task, NULL, LARGER_TASK_STACK_SIZE) \ TASK_NOTEST(HOSTCMD, host_command_task, NULL, VENTI_TASK_STACK_SIZE) \ TASK_ALWAYS(CONSOLE, console_task, NULL, LARGER_TASK_STACK_SIZE) \ - TASK_ALWAYS(PD, pd_task, NULL, LARGER_TASK_STACK_SIZE) + TASK_ALWAYS(PD_C0, pd_task, NULL, LARGER_TASK_STACK_SIZE) diff --git a/board/strago/board.c b/board/strago/board.c index 4ef295f50c..270882b8b0 100644 --- a/board/strago/board.c +++ b/board/strago/board.c @@ -61,7 +61,7 @@ void vbus0_evt(enum gpio_signal signal) { /* VBUS present GPIO is inverted */ usb_charger_vbus_change(0, !gpio_get_level(signal)); - task_wake(TASK_ID_PD); + task_wake(TASK_ID_PD_C0); } void usb0_evt(enum gpio_signal signal) diff --git a/board/strago/ec.tasklist b/board/strago/ec.tasklist index 4f0691a26f..9f3ed29b08 100644 --- a/board/strago/ec.tasklist +++ b/board/strago/ec.tasklist @@ -29,4 +29,4 @@ TASK_ALWAYS(CONSOLE, console_task, NULL, TASK_STACK_SIZE) \ TASK_ALWAYS(POWERBTN, power_button_task, NULL, TASK_STACK_SIZE) \ TASK_NOTEST(KEYSCAN, keyboard_scan_task, NULL, TASK_STACK_SIZE) \ - TASK_ALWAYS(PD, pd_task, NULL, LARGER_TASK_STACK_SIZE) + TASK_ALWAYS(PD_C0, pd_task, NULL, LARGER_TASK_STACK_SIZE) diff --git a/board/twinkie/board.h b/board/twinkie/board.h index e3c150fa34..72f69972cc 100644 --- a/board/twinkie/board.h +++ b/board/twinkie/board.h @@ -34,7 +34,7 @@ #define CONFIG_USBC_SNIFFER_HEADER_V1 #define CONFIG_HW_CRC -#ifndef HAS_TASK_PD /* PD sniffer mode */ +#ifndef HAS_TASK_PD_C0 /* PD sniffer mode */ #undef CONFIG_DMA_DEFAULT_HANDLERS #define CONFIG_USB_PD_TX_PHY_ONLY /* override the comparator interrupt handler */ diff --git a/board/twinkie/sink.tasklist b/board/twinkie/sink.tasklist index 600118314f..aaf83ab95e 100644 --- a/board/twinkie/sink.tasklist +++ b/board/twinkie/sink.tasklist @@ -26,4 +26,4 @@ #define CONFIG_TASK_LIST \ TASK_ALWAYS(HOOKS, hook_task, NULL, TASK_STACK_SIZE) \ TASK_ALWAYS(CONSOLE, console_task, NULL, LARGER_TASK_STACK_SIZE) \ - TASK_ALWAYS(PD, pd_task, NULL, LARGER_TASK_STACK_SIZE) + TASK_ALWAYS(PD_C0, pd_task, NULL, LARGER_TASK_STACK_SIZE) diff --git a/include/usb_pd.h b/include/usb_pd.h index 63d20887db..4b7faa9f0a 100644 --- a/include/usb_pd.h +++ b/include/usb_pd.h @@ -16,21 +16,16 @@ #ifdef CONFIG_USB_PD_PORT_COUNT /* * Define PD_PORT_TO_TASK_ID() and TASK_ID_TO_PD_PORT() macros to - * go between PD port number and task ID. + * go between PD port number and task ID. Assume that TASK_ID_PD_C0 is the + * lowest task ID and IDs are on a continuous range. */ -#if CONFIG_USB_PD_PORT_COUNT == 1 -#ifdef HAS_TASK_PD -#define PD_PORT_TO_TASK_ID(port) TASK_ID_PD -#elif defined(HAS_TASK_PD_C0) -#define PD_PORT_TO_TASK_ID(port) TASK_ID_PD_C0 +#ifdef HAS_TASK_PD_C0 +#define PD_PORT_TO_TASK_ID(port) (TASK_ID_PD_C0 + (port)) +#define TASK_ID_TO_PD_PORT(id) ((id) - TASK_ID_PD_C0) #else #define PD_PORT_TO_TASK_ID(port) -1 /* dummy task ID */ -#endif -#define TASK_ID_TO_PD_PORT(id) 0 -#elif CONFIG_USB_PD_PORT_COUNT == 2 -#define PD_PORT_TO_TASK_ID(port) ((port) ? TASK_ID_PD_C1 : TASK_ID_PD_C0) -#define TASK_ID_TO_PD_PORT(id) ((id) == TASK_ID_PD_C0 ? 0 : 1) -#endif +#define TASK_ID_TO_PD_PORT(id) 0 +#endif /* CONFIG_COMMON_RUNTIME */ #endif /* CONFIG_USB_PD_PORT_COUNT */ enum pd_rx_errors { -- cgit v1.2.1