summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJett Rink <jettrink@chromium.org>2019-04-16 12:43:58 -0600
committerchrome-bot <chrome-bot@chromium.org>2019-04-24 15:51:09 -0700
commitbd4012d9abbb7b79f537e7adba9627bcd4a50a72 (patch)
tree137776675c25c27a1925936e6ef9d8af15fc07cb
parentd6cc4f14205a00b6d17d22fb7e74a0c8b063ec85 (diff)
downloadchrome-ec-bd4012d9abbb7b79f537e7adba9627bcd4a50a72.tar.gz
tasks: convert TASK_EVENT_CUSTOM macro to bit
We should ensure that all custom task definition are non-zero and fit with the globally defined events. Add compile time check and change semantics to specify bit number (instead of making all callers use the BIT macro). This also fixes an error with TASK_EVENT_PHY_TX_DONE for ITE being 0. The bug that made that happen hasn't landed on any firmware branches that use it though. BRANCH=none BUG=none TEST=builds Cq-Depend:chrome-internal:1178968,chrome-internal:1178952 Change-Id: I5e1d1312382d200280c548e9128e53f4eddd3e61 Signed-off-by: Jett Rink <jettrink@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1570607 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
-rw-r--r--board/twinkie/sniffer.c2
-rw-r--r--chip/g/dcrypto/app_cipher.c6
-rw-r--r--chip/g/dcrypto/dcrypto_runtime.c2
-rw-r--r--chip/g/dcrypto/dcrypto_sha512.c10
-rw-r--r--chip/ish/heci.c2
-rw-r--r--chip/ish/ipc_heci.c2
-rw-r--r--chip/npcx/cec.c2
-rw-r--r--common/fpsensor.c4
-rw-r--r--common/host_command.c2
-rw-r--r--common/host_command_pd.c4
-rw-r--r--common/lightbar.c2
-rw-r--r--common/rwsig.c4
-rw-r--r--common/tpm_registers.c6
-rw-r--r--driver/tcpm/it83xx_pd.h2
-rw-r--r--driver/touchpad_elan.c2
-rw-r--r--driver/touchpad_st.c4
-rw-r--r--extra/lightbar/simulation.h10
-rw-r--r--fuzz/host_command_fuzz.c4
-rw-r--r--fuzz/usb_pd_fuzz.c2
-rw-r--r--include/motion_sense.h10
-rw-r--r--include/task.h4
-rw-r--r--include/usb_charge.h12
-rw-r--r--include/usb_pd.h29
23 files changed, 69 insertions, 58 deletions
diff --git a/board/twinkie/sniffer.c b/board/twinkie/sniffer.c
index 43d30157af..3ac6dab04f 100644
--- a/board/twinkie/sniffer.c
+++ b/board/twinkie/sniffer.c
@@ -32,7 +32,7 @@
#define RX_COUNT (16 * EP_PAYLOAD_SIZE)
/* Task event for the USB transfer interrupt */
-#define USB_EVENT TASK_EVENT_CUSTOM(1)
+#define USB_EVENT TASK_EVENT_CUSTOM_BIT(0)
/* Bitmap of enabled capture channels : CC1+CC2 by default */
static uint8_t channel_mask = 0x3;
diff --git a/chip/g/dcrypto/app_cipher.c b/chip/g/dcrypto/app_cipher.c
index a416720633..bc55705f32 100644
--- a/chip/g/dcrypto/app_cipher.c
+++ b/chip/g/dcrypto/app_cipher.c
@@ -413,7 +413,7 @@ static void run_cipher_cmd(void)
if (info.p)
shared_mem_release(info.p);
- task_set_event(TASK_ID_CONSOLE, TASK_EVENT_CUSTOM(1), 0);
+ task_set_event(TASK_ID_CONSOLE, TASK_EVENT_CUSTOM_BIT(0), 0);
}
DECLARE_DEFERRED(run_cipher_cmd);
@@ -440,8 +440,8 @@ static int cmd_cipher(int argc, char **argv)
ccprintf("Will wait up to %d ms\n", (max_time + 500)/1000);
- events = task_wait_event_mask(TASK_EVENT_CUSTOM(1), max_time);
- if (!(events & TASK_EVENT_CUSTOM(1))) {
+ events = task_wait_event_mask(TASK_EVENT_CUSTOM_BIT(0), max_time);
+ if (!(events & TASK_EVENT_CUSTOM_BIT(0))) {
ccprintf("Timed out, you might want to reboot...\n");
return EC_ERROR_TIMEOUT;
}
diff --git a/chip/g/dcrypto/dcrypto_runtime.c b/chip/g/dcrypto/dcrypto_runtime.c
index 2420375420..052547a436 100644
--- a/chip/g/dcrypto/dcrypto_runtime.c
+++ b/chip/g/dcrypto/dcrypto_runtime.c
@@ -74,7 +74,7 @@ void dcrypto_unlock(void)
* When running on Cr50 this event belongs in the TPM task event space. Make
* sure there is no collision with events defined in ./common/tpm_regsters.c.
*/
-#define TASK_EVENT_DCRYPTO_DONE TASK_EVENT_CUSTOM(1)
+#define TASK_EVENT_DCRYPTO_DONE TASK_EVENT_CUSTOM_BIT(0)
uint32_t dcrypto_call(uint32_t adr)
{
diff --git a/chip/g/dcrypto/dcrypto_sha512.c b/chip/g/dcrypto/dcrypto_sha512.c
index cdaff6853b..bb404b28d7 100644
--- a/chip/g/dcrypto/dcrypto_sha512.c
+++ b/chip/g/dcrypto/dcrypto_sha512.c
@@ -702,7 +702,7 @@ static void run_sha512_cmd(void)
ccprintf("%02x", hw_digest[i]);
ccprintf("\n");
- task_set_event(TASK_ID_CONSOLE, TASK_EVENT_CUSTOM(1), 0);
+ task_set_event(TASK_ID_CONSOLE, TASK_EVENT_CUSTOM_BIT(0), 0);
}
DECLARE_DEFERRED(run_sha512_cmd);
@@ -725,8 +725,8 @@ static int cmd_sha512_bench(int argc, char *argv[])
hook_call_deferred(&run_sha512_cmd_data, 0);
ccprintf("Will wait up to %d ms\n", (max_time + 500) / 1000);
- events = task_wait_event_mask(TASK_EVENT_CUSTOM(1), max_time);
- if (!(events & TASK_EVENT_CUSTOM(1))) {
+ events = task_wait_event_mask(TASK_EVENT_CUSTOM_BIT(0), max_time);
+ if (!(events & TASK_EVENT_CUSTOM_BIT(0))) {
ccprintf("Timed out, you might want to reboot...\n");
return EC_ERROR_TIMEOUT;
}
@@ -757,14 +757,14 @@ static void run_sha512_test(void)
}
ccprintf("sha512 self-test PASS!\n");
- task_set_event(TASK_ID_CONSOLE, TASK_EVENT_CUSTOM(1), 0);
+ task_set_event(TASK_ID_CONSOLE, TASK_EVENT_CUSTOM_BIT(0), 0);
}
DECLARE_DEFERRED(run_sha512_test);
static int cmd_sha512_test(int argc, char *argv[])
{
hook_call_deferred(&run_sha512_test_data, 0);
- task_wait_event_mask(TASK_EVENT_CUSTOM(1), 1000000);
+ task_wait_event_mask(TASK_EVENT_CUSTOM_BIT(0), 1000000);
return EC_SUCCESS;
}
DECLARE_SAFE_CONSOLE_COMMAND(sha512_test, cmd_sha512_test, NULL, NULL);
diff --git a/chip/ish/heci.c b/chip/ish/heci.c
index 9d16b6a74e..4fe6fd6ada 100644
--- a/chip/ish/heci.c
+++ b/chip/ish/heci.c
@@ -959,7 +959,7 @@ static void heci_handle_heci_msg(struct heci_msg *heci_msg, size_t msg_length)
}
/* event flag for HECI msg */
-#define EVENT_FLAG_BIT_HECI_MSG TASK_EVENT_CUSTOM(1)
+#define EVENT_FLAG_BIT_HECI_MSG TASK_EVENT_CUSTOM_BIT(0)
void heci_rx_task(void)
{
diff --git a/chip/ish/ipc_heci.c b/chip/ish/ipc_heci.c
index 591e246f81..a3c54c8b87 100644
--- a/chip/ish/ipc_heci.c
+++ b/chip/ish/ipc_heci.c
@@ -694,7 +694,7 @@ int ipc_read(const ipc_handle_t handle, void *buf, const size_t buf_size,
}
/* event flag for MNG msg */
-#define EVENT_FLAG_BIT_MNG_MSG TASK_EVENT_CUSTOM(1)
+#define EVENT_FLAG_BIT_MNG_MSG TASK_EVENT_CUSTOM_BIT(0)
/*
* This task handles MNG messages
diff --git a/chip/npcx/cec.c b/chip/npcx/cec.c
index 8c544c5970..7b02dbe683 100644
--- a/chip/npcx/cec.c
+++ b/chip/npcx/cec.c
@@ -34,7 +34,7 @@
#endif
/* Notification from interrupt to CEC task that data has been received */
-#define TASK_EVENT_RECEIVED_DATA TASK_EVENT_CUSTOM(BIT(0))
+#define TASK_EVENT_RECEIVED_DATA TASK_EVENT_CUSTOM_BIT(0)
/* CEC broadcast address. Also the highest possible CEC address */
#define CEC_BROADCAST_ADDR 15
diff --git a/common/fpsensor.c b/common/fpsensor.c
index d30d13ca40..703c1f0984 100644
--- a/common/fpsensor.c
+++ b/common/fpsensor.c
@@ -89,8 +89,8 @@ static int fp_tpm_seed_is_set;
#endif
/* Events for the FPSENSOR task */
-#define TASK_EVENT_SENSOR_IRQ TASK_EVENT_CUSTOM(1)
-#define TASK_EVENT_UPDATE_CONFIG TASK_EVENT_CUSTOM(2)
+#define TASK_EVENT_SENSOR_IRQ TASK_EVENT_CUSTOM_BIT(0)
+#define TASK_EVENT_UPDATE_CONFIG TASK_EVENT_CUSTOM_BIT(1)
#define FP_MODE_ANY_CAPTURE (FP_MODE_CAPTURE | FP_MODE_ENROLL_IMAGE | \
FP_MODE_MATCH)
diff --git a/common/host_command.c b/common/host_command.c
index cad9fd94a9..2be24277ac 100644
--- a/common/host_command.c
+++ b/common/host_command.c
@@ -23,7 +23,7 @@
#define CPRINTF(format, args...) cprintf(CC_HOSTCMD, format, ## args)
#define CPRINTS(format, args...) cprints(CC_HOSTCMD, format, ## args)
-#define TASK_EVENT_CMD_PENDING TASK_EVENT_CUSTOM(1)
+#define TASK_EVENT_CMD_PENDING TASK_EVENT_CUSTOM_BIT(0)
/* Maximum delay to skip printing repeated host command debug output */
#define HCDEBUG_MAX_REPEAT_DELAY (50 * MSEC)
diff --git a/common/host_command_pd.c b/common/host_command_pd.c
index a21ee33b94..fbb4b8c9df 100644
--- a/common/host_command_pd.c
+++ b/common/host_command_pd.c
@@ -22,8 +22,8 @@
#define CPRINTS(format, args...) cprints(CC_PD_HOST_CMD, format, ## args)
-#define TASK_EVENT_EXCHANGE_PD_STATUS TASK_EVENT_CUSTOM(1)
-#define TASK_EVENT_HIBERNATING TASK_EVENT_CUSTOM(2)
+#define TASK_EVENT_EXCHANGE_PD_STATUS TASK_EVENT_CUSTOM_BIT(0)
+#define TASK_EVENT_HIBERNATING TASK_EVENT_CUSTOM_BIT(1)
/* Define local option for if we are a TCPM with an off chip TCPC */
#if defined(CONFIG_USB_POWER_DELIVERY) && !defined(CONFIG_USB_PD_TCPM_STUB)
diff --git a/common/lightbar.c b/common/lightbar.c
index 11fe41a5aa..bbce184c95 100644
--- a/common/lightbar.c
+++ b/common/lightbar.c
@@ -418,7 +418,7 @@ static inline int cycle_010(uint8_t i)
* the latest one. */
static uint32_t pending_msg;
/* And here's the task event that we use to trigger delivery. */
-#define PENDING_MSG TASK_EVENT_CUSTOM(BIT(0))
+#define PENDING_MSG TASK_EVENT_CUSTOM_BIT(0)
/* Interruptible delay. */
#define WAIT_OR_RET(A) \
diff --git a/common/rwsig.c b/common/rwsig.c
index 0e19f06914..0170884937 100644
--- a/common/rwsig.c
+++ b/common/rwsig.c
@@ -241,8 +241,8 @@ out:
}
#ifdef HAS_TASK_RWSIG
-#define TASK_EVENT_ABORT TASK_EVENT_CUSTOM(1)
-#define TASK_EVENT_CONTINUE TASK_EVENT_CUSTOM(2)
+#define TASK_EVENT_ABORT TASK_EVENT_CUSTOM_BIT(0)
+#define TASK_EVENT_CONTINUE TASK_EVENT_CUSTOM_BIT(1)
static enum rwsig_status rwsig_status;
diff --git a/common/tpm_registers.c b/common/tpm_registers.c
index 947a3b089a..6a0e7e6ac7 100644
--- a/common/tpm_registers.c
+++ b/common/tpm_registers.c
@@ -675,9 +675,9 @@ static void call_extension_command(struct tpm_cmd_header *tpmh,
* Events used on the TPM task context. Make sure there is no collision with
* event(s) defined in chip/g/dcrypto/dcrypto_runtime.c
*/
-#define TPM_EVENT_RESET TASK_EVENT_CUSTOM(BIT(1))
-#define TPM_EVENT_COMMIT TASK_EVENT_CUSTOM(BIT(2))
-#define TPM_EVENT_ALT_EXTENSION TASK_EVENT_CUSTOM(BIT(3))
+#define TPM_EVENT_RESET TASK_EVENT_CUSTOM_BIT(1)
+#define TPM_EVENT_COMMIT TASK_EVENT_CUSTOM_BIT(2)
+#define TPM_EVENT_ALT_EXTENSION TASK_EVENT_CUSTOM_BIT(3)
/*
* Result of executing of the TPM command on the alternative path, could have
diff --git a/driver/tcpm/it83xx_pd.h b/driver/tcpm/it83xx_pd.h
index 73c613ff0e..4a74d8ae7f 100644
--- a/driver/tcpm/it83xx_pd.h
+++ b/driver/tcpm/it83xx_pd.h
@@ -14,7 +14,7 @@
*/
#define IT83XX_USBPD_CC_PIN_CONFIG 0x86
-#define TASK_EVENT_PHY_TX_DONE TASK_EVENT_CUSTOM(BIT(17))
+#define TASK_EVENT_PHY_TX_DONE TASK_EVENT_CUSTOM_BIT(PD_EVENT_FIRST_FREE_BIT)
#define SET_MASK(reg, bit_mask) ((reg) |= (bit_mask))
#define CLEAR_MASK(reg, bit_mask) ((reg) &= (~(bit_mask)))
diff --git a/driver/touchpad_elan.c b/driver/touchpad_elan.c
index 848985109e..10a2038158 100644
--- a/driver/touchpad_elan.c
+++ b/driver/touchpad_elan.c
@@ -25,7 +25,7 @@
#define CPRINTF(format, args...) cprintf(CC_TOUCHPAD, format, ## args)
#define CPRINTS(format, args...) cprints(CC_TOUCHPAD, format, ## args)
-#define TASK_EVENT_POWER TASK_EVENT_CUSTOM(1)
+#define TASK_EVENT_POWER TASK_EVENT_CUSTOM_BIT(0)
/******************************************************************************/
/* How to talk to the controller */
diff --git a/driver/touchpad_st.c b/driver/touchpad_st.c
index e4327a2054..5fbeeb45ea 100644
--- a/driver/touchpad_st.c
+++ b/driver/touchpad_st.c
@@ -31,8 +31,8 @@
#define CPRINTF(format, args...) cprintf(CC_TOUCHPAD, format, ## args)
#define CPRINTS(format, args...) cprints(CC_TOUCHPAD, format, ## args)
-#define TASK_EVENT_POWER TASK_EVENT_CUSTOM(1)
-#define TASK_EVENT_TP_UPDATED TASK_EVENT_CUSTOM(2)
+#define TASK_EVENT_POWER TASK_EVENT_CUSTOM_BIT(0)
+#define TASK_EVENT_TP_UPDATED TASK_EVENT_CUSTOM_BIT(1)
#define SPI (&(spi_devices[SPI_ST_TP_DEVICE_ID]))
diff --git a/extra/lightbar/simulation.h b/extra/lightbar/simulation.h
index 6028c15dd3..2ed95ccad6 100644
--- a/extra/lightbar/simulation.h
+++ b/extra/lightbar/simulation.h
@@ -60,11 +60,11 @@ void cprints(int zero, const char *fmt, ...);
#define strtoi strtol
/* Task events */
-#define TASK_EVENT_CUSTOM(x) (x & 0x0fffffff)
-#define TASK_EVENT_I2C_IDLE 0x10000000
-#define TASK_EVENT_WAKE 0x20000000
-#define TASK_EVENT_MUTEX 0x40000000
-#define TASK_EVENT_TIMER 0x80000000
+#define TASK_EVENT_CUSTOM_BIT(x) BUILD_CHECK_INLINE(BIT(x), BIT(x) & 0x0fffffff)
+#define TASK_EVENT_I2C_IDLE 0x10000000
+#define TASK_EVENT_WAKE 0x20000000
+#define TASK_EVENT_MUTEX 0x40000000
+#define TASK_EVENT_TIMER 0x80000000
/* Time units in usecs */
#define MSEC 1000
diff --git a/fuzz/host_command_fuzz.c b/fuzz/host_command_fuzz.c
index 7f0bfad7a5..9ac7955aed 100644
--- a/fuzz/host_command_fuzz.c
+++ b/fuzz/host_command_fuzz.c
@@ -20,8 +20,8 @@
/* Only test requests with valid size and checksum (makes fuzzing faster) */
#define VALID_REQUEST_ONLY
-#define TASK_EVENT_FUZZ TASK_EVENT_CUSTOM(1)
-#define TASK_EVENT_HOSTCMD_DONE TASK_EVENT_CUSTOM(2)
+#define TASK_EVENT_FUZZ TASK_EVENT_CUSTOM_BIT(0)
+#define TASK_EVENT_HOSTCMD_DONE TASK_EVENT_CUSTOM_BIT(1)
/* Request/response buffer size (and maximum command length) */
#define BUFFER_SIZE 128
diff --git a/fuzz/usb_pd_fuzz.c b/fuzz/usb_pd_fuzz.c
index f7563bb405..ead94e9fac 100644
--- a/fuzz/usb_pd_fuzz.c
+++ b/fuzz/usb_pd_fuzz.c
@@ -18,7 +18,7 @@
#include <stdlib.h>
#include <string.h>
-#define TASK_EVENT_FUZZ TASK_EVENT_CUSTOM(1)
+#define TASK_EVENT_FUZZ TASK_EVENT_CUSTOM_BIT(0)
#define PORT0 0
diff --git a/include/motion_sense.h b/include/motion_sense.h
index 9e55a2f255..cebd7907a7 100644
--- a/include/motion_sense.h
+++ b/include/motion_sense.h
@@ -51,23 +51,23 @@ enum sensor_config {
((1 << TASK_EVENT_MOTION_INTERRUPT_NUM) - 1)
#define TASK_EVENT_MOTION_SENSOR_INTERRUPT(_sensor_id) \
BUILD_CHECK_INLINE( \
- TASK_EVENT_CUSTOM(1 << (_sensor_id)), \
+ TASK_EVENT_CUSTOM_BIT(_sensor_id), \
_sensor_id < TASK_EVENT_MOTION_INTERRUPT_NUM)
/* Internal events to motion sense task.*/
#define TASK_EVENT_MOTION_FIRST_INTERNAL_EVENT TASK_EVENT_MOTION_INTERRUPT_NUM
#define TASK_EVENT_MOTION_INTERNAL_EVENT_NUM 2
#define TASK_EVENT_MOTION_FLUSH_PENDING \
- TASK_EVENT_CUSTOM(1 << TASK_EVENT_MOTION_FIRST_INTERNAL_EVENT)
+ TASK_EVENT_CUSTOM_BIT(TASK_EVENT_MOTION_FIRST_INTERNAL_EVENT)
#define TASK_EVENT_MOTION_ODR_CHANGE \
- TASK_EVENT_CUSTOM(1 << (TASK_EVENT_MOTION_FIRST_INTERNAL_EVENT + 1))
+ TASK_EVENT_CUSTOM_BIT(TASK_EVENT_MOTION_FIRST_INTERNAL_EVENT + 1)
/* Activity events */
#define TASK_EVENT_MOTION_FIRST_SW_EVENT \
(TASK_EVENT_MOTION_INTERRUPT_NUM + TASK_EVENT_MOTION_INTERNAL_EVENT_NUM)
#define TASK_EVENT_MOTION_ACTIVITY_INTERRUPT(_activity_id) \
- (TASK_EVENT_CUSTOM( \
- 1 << (TASK_EVENT_MOTION_FIRST_SW_EVENT + (_activity_id))))
+ (TASK_EVENT_CUSTOM_BIT( \
+ TASK_EVENT_MOTION_FIRST_SW_EVENT + (_activity_id)))
#define ROUND_UP_FLAG BIT(31)
diff --git a/include/task.h b/include/task.h
index 32e62a8384..d56a91986e 100644
--- a/include/task.h
+++ b/include/task.h
@@ -13,8 +13,8 @@
#include "task_id.h"
/* Task event bitmasks */
-/* Tasks may use the bits in TASK_EVENT_CUSTOM for their own events */
-#define TASK_EVENT_CUSTOM(x) (x & 0x0000ffff)
+/* Tasks may use the bits in TASK_EVENT_CUSTOM_BIT for their own events */
+#define TASK_EVENT_CUSTOM_BIT(x) BUILD_CHECK_INLINE(BIT(x), BIT(x) & 0x0ffff)
/* Used to signal that sysjump preparation has completed */
#define TASK_EVENT_SYSJUMP_READY BIT(16)
diff --git a/include/usb_charge.h b/include/usb_charge.h
index de65725d0a..46ba725b95 100644
--- a/include/usb_charge.h
+++ b/include/usb_charge.h
@@ -49,12 +49,12 @@ int usb_charge_set_mode(int usb_port_id, enum usb_charge_mode mode,
enum usb_suspend_charge inhibit_charge);
#ifdef HAS_TASK_USB_CHG_P0
-#define USB_CHG_EVENT_BC12 TASK_EVENT_CUSTOM(1)
-#define USB_CHG_EVENT_VBUS TASK_EVENT_CUSTOM(2)
-#define USB_CHG_EVENT_INTR TASK_EVENT_CUSTOM(4)
-#define USB_CHG_EVENT_DR_UFP TASK_EVENT_CUSTOM(8)
-#define USB_CHG_EVENT_DR_DFP TASK_EVENT_CUSTOM(16)
-#define USB_CHG_EVENT_CC_OPEN TASK_EVENT_CUSTOM(32)
+#define USB_CHG_EVENT_BC12 TASK_EVENT_CUSTOM_BIT(0)
+#define USB_CHG_EVENT_VBUS TASK_EVENT_CUSTOM_BIT(1)
+#define USB_CHG_EVENT_INTR TASK_EVENT_CUSTOM_BIT(2)
+#define USB_CHG_EVENT_DR_UFP TASK_EVENT_CUSTOM_BIT(3)
+#define USB_CHG_EVENT_DR_DFP TASK_EVENT_CUSTOM_BIT(4)
+#define USB_CHG_EVENT_CC_OPEN TASK_EVENT_CUSTOM_BIT(5)
#endif
/*
diff --git a/include/usb_pd.h b/include/usb_pd.h
index a8f1dab008..c70c97bd5f 100644
--- a/include/usb_pd.h
+++ b/include/usb_pd.h
@@ -38,19 +38,30 @@ enum pd_rx_errors {
};
/* Events for USB PD task */
-#define PD_EVENT_TX (1<<3) /* Outgoing packet event */
-#define PD_EVENT_CC (1<<4) /* CC line change event */
-#define PD_EVENT_TCPC_RESET (1<<5) /* TCPC has reset */
-#define PD_EVENT_UPDATE_DUAL_ROLE (1<<6) /* DRP state has changed */
+
+/* Outgoing packet event */
+#define PD_EVENT_TX TASK_EVENT_CUSTOM_BIT(3)
+/* CC line change event */
+#define PD_EVENT_CC TASK_EVENT_CUSTOM_BIT(4)
+/* TCPC has reset */
+#define PD_EVENT_TCPC_RESET TASK_EVENT_CUSTOM_BIT(5)
+/* DRP state has changed */
+#define PD_EVENT_UPDATE_DUAL_ROLE TASK_EVENT_CUSTOM_BIT(6)
/*
* A task, other than the task owning the PD port, accessed the TCPC. The task
* that owns the port does not send itself this event.
*/
-#define PD_EVENT_DEVICE_ACCESSED (1<<7)
-#define PD_EVENT_POWER_STATE_CHANGE (1<<8) /* Chipset power state changed */
-#define PD_EVENT_SEND_HARD_RESET (1<<9) /* Issue a Hard Reset. */
-#define PD_EVENT_SM (1<<10) /* PD State machine event */
-#define PD_EVENT_SYSJUMP (1<<11) /* Prepare for sysjump */
+#define PD_EVENT_DEVICE_ACCESSED TASK_EVENT_CUSTOM_BIT(7)
+/* Chipset power state changed */
+#define PD_EVENT_POWER_STATE_CHANGE TASK_EVENT_CUSTOM_BIT(8)
+/* Issue a Hard Reset. */
+#define PD_EVENT_SEND_HARD_RESET TASK_EVENT_CUSTOM_BIT(9)
+/* PD State machine event */
+#define PD_EVENT_SM TASK_EVENT_CUSTOM_BIT(10)
+/* Prepare for sysjump */
+#define PD_EVENT_SYSJUMP TASK_EVENT_CUSTOM_BIT(11)
+/* First free event on PD task */
+#define PD_EVENT_FIRST_FREE_BIT 12
/* Ensure TCPC is out of low power mode before handling these events. */
#define PD_EXIT_LOW_POWER_EVENT_MASK \