[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230126205620.3714994-1-pmalani@chromium.org>
Date: Thu, 26 Jan 2023 20:55:45 +0000
From: Prashant Malani <pmalani@...omium.org>
To: linux-kernel@...r.kernel.org, chrome-platform@...ts.linux.dev
Cc: bleung@...omium.org, heikki.krogerus@...ux.intel.com,
Prashant Malani <pmalani@...omium.org>,
Daisuke Nojiri <dnojiri@...omium.org>,
"Dustin L. Howett" <dustin@...ett.net>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Guenter Roeck <groeck@...omium.org>,
"Gustavo A. R. Silva" <gustavoars@...nel.org>,
Lee Jones <lee@...nel.org>,
Tinghan Shen <tinghan.shen@...iatek.com>,
Tzung-Bi Shih <tzungbi@...nel.org>
Subject: [PATCH 1/2] platform/chrome: cros_ec: Add VDM attention headers
Incorporate updates to the EC headers to support the retrieval of VDM
Attention messages from port partners. These headers are already present
in the ChromeOS EC codebase. [1]
[1] https://source.chromium.org/chromium/chromiumos/platform/ec/+/main:include/ec_commands.h
Signed-off-by: Prashant Malani <pmalani@...omium.org>
---
include/linux/platform_data/cros_ec_commands.h | 16 +++++++++++++---
1 file changed, 13 insertions(+), 3 deletions(-)
diff --git a/include/linux/platform_data/cros_ec_commands.h b/include/linux/platform_data/cros_ec_commands.h
index b9c4a3964247..ec327638c6eb 100644
--- a/include/linux/platform_data/cros_ec_commands.h
+++ b/include/linux/platform_data/cros_ec_commands.h
@@ -5862,6 +5862,7 @@ enum tcpc_cc_polarity {
#define PD_STATUS_EVENT_MUX_1_SET_DONE BIT(5)
#define PD_STATUS_EVENT_VDM_REQ_REPLY BIT(6)
#define PD_STATUS_EVENT_VDM_REQ_FAILED BIT(7)
+#define PD_STATUS_EVENT_VDM_ATTENTION BIT(8)
struct ec_params_typec_status {
uint8_t port;
@@ -5906,7 +5907,8 @@ struct ec_response_typec_status {
} __ec_align1;
/*
- * Gather the response to the most recent VDM REQ from the AP
+ * Gather the response to the most recent VDM REQ from the AP, as well
+ * as popping the oldest VDM:Attention from the DPM queue
*/
#define EC_CMD_TYPEC_VDM_RESPONSE 0x013C
@@ -5919,10 +5921,18 @@ struct ec_response_typec_vdm_response {
uint8_t vdm_data_objects;
/* Partner to address - see enum typec_partner_type */
uint8_t partner_type;
- /* Reserved */
- uint16_t reserved;
+ /* enum ec_status describing VDM response */
+ uint16_t vdm_response_err;
/* VDM data, including VDM header */
uint32_t vdm_response[VDO_MAX_SIZE];
+ /* Number of 32-bit Attention fields filled in */
+ uint8_t vdm_attention_objects;
+ /* Number of remaining messages to consume */
+ uint8_t vdm_attention_left;
+ /* Reserved */
+ uint16_t reserved1;
+ /* VDM:Attention contents */
+ uint32_t vdm_attention[2];
} __ec_align1;
#undef VDO_MAX_SIZE
--
2.39.1.456.gfc5497dd1b-goog
Powered by blists - more mailing lists