Tim Wawrzynczak has submitted this change. ( https://review.coreboot.org/c/coreboot/+/58058 )
Change subject: ec/google/chromeec: Update some PD and DisplayPort APIs
......................................................................
ec/google/chromeec: Update some PD and DisplayPort APIs
1. Update google_chromeec_pd_get_amode() to return bitmask.
2. Update google_chromeec_wait_for_displayport() to handle the
updated return value of google_chromeec_pd_get_amode().
3. Drop google_chromeec_pd_get_amode() from ec.h and make it static
because it's not used outside of ec.c.
BUG=b:192947843
Signed-off-by: Derek Huang <derek.huang(a)intel.corp-partner.google.com>
Change-Id: I6020c4305e30018d4c97d862c16e8d642c951765
Reviewed-on: https://review.coreboot.org/c/coreboot/+/58058
Tested-by: build bot (Jenkins) <no-reply(a)coreboot.org>
Reviewed-by: Furquan Shaikh <furquan(a)google.com>
---
M src/ec/google/chromeec/ec.c
M src/ec/google/chromeec/ec.h
2 files changed, 29 insertions(+), 13 deletions(-)
Approvals:
build bot (Jenkins): Verified
Furquan Shaikh: Looks good to me, approved
diff --git a/src/ec/google/chromeec/ec.c b/src/ec/google/chromeec/ec.c
index 650fd14..9086693 100644
--- a/src/ec/google/chromeec/ec.c
+++ b/src/ec/google/chromeec/ec.c
@@ -1542,9 +1542,10 @@
* Check if EC/TCPM is in an alternate mode or not.
*
* @param svid SVID of the alternate mode to check
- * @return 0: Not in the mode. -1: Error. 1: Yes.
+ * @return 0: Not in the mode. -1: Error.
+ * >=1: bitmask of the ports that are in the mode.
*/
-int google_chromeec_pd_get_amode(uint16_t svid)
+static int google_chromeec_pd_get_amode(uint16_t svid)
{
struct ec_response_usb_pd_ports resp;
struct chromeec_command cmd = {
@@ -1557,6 +1558,7 @@
.cmd_dev_index = 0,
};
int i;
+ int ret = 0;
if (google_chromeec_command(&cmd) < 0)
return -1;
@@ -1582,12 +1584,12 @@
if (google_chromeec_command(&cmd) < 0)
return -1;
if (resp2.svid == svid)
- return 1;
+ ret |= BIT(i);
svid_idx++;
} while (resp2.svid);
}
- return 0;
+ return ret;
}
#define USB_SID_DISPLAYPORT 0xff01
@@ -1595,20 +1597,31 @@
/**
* Wait for DisplayPort to be ready
*
- * @param timeout Wait aborts after <timeout> ms.
- * @return 1: Success or 0: Timeout.
+ * @param timeout_ms Wait aborts after <timeout_ms> ms.
+ * @return -1: Error. 0: Timeout.
+ * >=1: Bitmask of the ports that DP device is connected
*/
-int google_chromeec_wait_for_displayport(long timeout)
+int google_chromeec_wait_for_displayport(long timeout_ms)
{
struct stopwatch sw;
+ int ret = 0;
printk(BIOS_INFO, "Waiting for DisplayPort\n");
- stopwatch_init_msecs_expire(&sw, timeout);
- while (google_chromeec_pd_get_amode(USB_SID_DISPLAYPORT) != 1) {
+ stopwatch_init_msecs_expire(&sw, timeout_ms);
+ while (1) {
+ ret = google_chromeec_pd_get_amode(USB_SID_DISPLAYPORT);
+ if (ret > 0)
+ break;
+
+ if (ret < 0) {
+ printk(BIOS_ERR, "Can't get alternate mode!\n");
+ return ret;
+ }
+
if (stopwatch_expired(&sw)) {
printk(BIOS_WARNING,
"DisplayPort not ready after %ldms. Abort.\n",
- timeout);
+ timeout_ms);
return 0;
}
mdelay(200);
@@ -1616,7 +1629,7 @@
printk(BIOS_INFO, "DisplayPort ready after %lu ms\n",
stopwatch_duration_msecs(&sw));
- return 1;
+ return ret;
}
int google_chromeec_get_keybd_config(struct ec_response_keybd_config *keybd)
diff --git a/src/ec/google/chromeec/ec.h b/src/ec/google/chromeec/ec.h
index ebb7ae2..6fa58a9 100644
--- a/src/ec/google/chromeec/ec.h
+++ b/src/ec/google/chromeec/ec.h
@@ -26,7 +26,6 @@
int google_ec_running_ro(void);
enum ec_image google_chromeec_get_current_image(void);
void google_chromeec_init(void);
-int google_chromeec_pd_get_amode(uint16_t svid);
/* Check for the current mux state in EC
* in: int port physical port number of the type-c port
* out: uint8_t flags representing the status of the mux such as
@@ -36,7 +35,11 @@
/* Returns data role and type of device connected */
int google_chromeec_usb_pd_get_info(int port, bool *ufp, bool *dbg_acc,
bool *active_cable, uint8_t *dp_mode);
-int google_chromeec_wait_for_displayport(long timeout);
+/* Poll (up to `timeout_ms` ms) for DisplayPort to be ready
+ * Return: -1: Error. 0: Timeout.
+ * >=1: Bitmask of the ports that DP device is connected
+ */
+int google_chromeec_wait_for_displayport(long timeout_ms);
/* Device events */
uint64_t google_chromeec_get_device_enabled_events(void);
2 is the latest approved patch-set.
No files were changed between the latest approved patch-set and the submitted one.
--
To view, visit https://review.coreboot.org/c/coreboot/+/58058
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I6020c4305e30018d4c97d862c16e8d642c951765
Gerrit-Change-Number: 58058
Gerrit-PatchSet: 5
Gerrit-Owner: Derek Huang <derek.huang(a)intel.corp-partner.google.com>
Gerrit-Reviewer: Furquan Shaikh <furquan(a)google.com>
Gerrit-Reviewer: Tim Wawrzynczak <twawrzynczak(a)chromium.org>
Gerrit-Reviewer: build bot (Jenkins) <no-reply(a)coreboot.org>
Gerrit-CC: Paul Menzel <paulepanter(a)mailbox.org>
Gerrit-MessageType: merged
Attention is currently required from: Paul Menzel, Derek Huang.
Tim Wawrzynczak has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/58058 )
Change subject: ec/google/chromeec: Update some PD and DisplayPort APIs
......................................................................
Patch Set 4:
(1 comment)
Patchset:
PS4:
NM gerrit was being silly
--
To view, visit https://review.coreboot.org/c/coreboot/+/58058
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I6020c4305e30018d4c97d862c16e8d642c951765
Gerrit-Change-Number: 58058
Gerrit-PatchSet: 4
Gerrit-Owner: Derek Huang <derek.huang(a)intel.corp-partner.google.com>
Gerrit-Reviewer: Furquan Shaikh <furquan(a)google.com>
Gerrit-Reviewer: Tim Wawrzynczak <twawrzynczak(a)chromium.org>
Gerrit-Reviewer: build bot (Jenkins) <no-reply(a)coreboot.org>
Gerrit-CC: Paul Menzel <paulepanter(a)mailbox.org>
Gerrit-Attention: Paul Menzel <paulepanter(a)mailbox.org>
Gerrit-Attention: Derek Huang <derek.huang(a)intel.corp-partner.google.com>
Gerrit-Comment-Date: Wed, 06 Oct 2021 22:17:36 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Gerrit-MessageType: comment
Attention is currently required from: Paul Menzel, Derek Huang.
Tim Wawrzynczak has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/58058 )
Change subject: ec/google/chromeec: Update some PD and DisplayPort APIs
......................................................................
Patch Set 4:
(1 comment)
Patchset:
PS4:
Needs to be rebased
--
To view, visit https://review.coreboot.org/c/coreboot/+/58058
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I6020c4305e30018d4c97d862c16e8d642c951765
Gerrit-Change-Number: 58058
Gerrit-PatchSet: 4
Gerrit-Owner: Derek Huang <derek.huang(a)intel.corp-partner.google.com>
Gerrit-Reviewer: Furquan Shaikh <furquan(a)google.com>
Gerrit-Reviewer: Tim Wawrzynczak <twawrzynczak(a)chromium.org>
Gerrit-Reviewer: build bot (Jenkins) <no-reply(a)coreboot.org>
Gerrit-CC: Paul Menzel <paulepanter(a)mailbox.org>
Gerrit-Attention: Paul Menzel <paulepanter(a)mailbox.org>
Gerrit-Attention: Derek Huang <derek.huang(a)intel.corp-partner.google.com>
Gerrit-Comment-Date: Wed, 06 Oct 2021 22:17:23 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Gerrit-MessageType: comment
Attention is currently required from: Sugnan Prabhu S, EricR Lai.
Tim Wawrzynczak has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/58137 )
Change subject: mb/google/brya: Disable unused i2s pins for BT offload
......................................................................
Patch Set 1: Code-Review+2
--
To view, visit https://review.coreboot.org/c/coreboot/+/58137
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: Ifbc53848c6ad12e537216cac3c2871088c094f3d
Gerrit-Change-Number: 58137
Gerrit-PatchSet: 1
Gerrit-Owner: Sugnan Prabhu S <sugnan.prabhu.s(a)intel.com>
Gerrit-Reviewer: EricR Lai <ericr_lai(a)compal.corp-partner.google.com>
Gerrit-Reviewer: Tim Wawrzynczak <twawrzynczak(a)chromium.org>
Gerrit-Reviewer: build bot (Jenkins) <no-reply(a)coreboot.org>
Gerrit-Attention: Sugnan Prabhu S <sugnan.prabhu.s(a)intel.com>
Gerrit-Attention: EricR Lai <ericr_lai(a)compal.corp-partner.google.com>
Gerrit-Comment-Date: Wed, 06 Oct 2021 22:02:50 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment