From: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
To: Bjorn Andersson <bjorn.andersson@linaro.org>,
Peter Chen <peter.chen@kernel.org>
Cc: balbi@kernel.org, agross@kernel.org, gregkh@linuxfoundation.org,
jackp@codeaurora.org, wcheng@codeaurora.org,
linux-usb@vger.kernel.org, linux-arm-msm@vger.kernel.org
Subject: Re: [PATCH 0/3] Implement role-switch notifications from dwc3-drd to dwc3-qcom
Date: Thu, 8 Jul 2021 11:17:00 +0100 [thread overview]
Message-ID: <de86a2c5-92cf-da0a-8819-2de4c3c88b3f@linaro.org> (raw)
In-Reply-To: <YOZ3CBNTXFTa+fNx@yoga>
On 08/07/2021 04:54, Bjorn Andersson wrote:
> Bryan had a previous patch where the glue layer was notified about role
> switching (iirc) and as soon as we hit a probe deferal in the core
> driver we'd dereference some pointer in the glue layer. I don't find the
> patch right now, but I suspect it might have been caused by the same
> platform_get_drvdata() as we see in qcom_dwc3_resume_irq().
Here
https://lore.kernel.org/linux-usb/20200311191501.8165-7-bryan.odonoghue@linaro.org/
and here
https://lore.kernel.org/linux-usb/20200311191501.8165-8-bryan.odonoghue@linaro.org/
one thing about that I don't think is right now in retrospect is having
to find a DT connector in the core, meaning it incorrectly assumes you
have a node named "connector" as a child of dwc3-core
https://lore.kernel.org/linux-usb/158463604559.152100.9219030962819234620@swboyd.mtv.corp.google.com/
Having done some work with TCPM on pm8150b silicon I see what Stephen
was saying about that
That's one solid reason I like the USB role-switch API - because it gets
you out of the business of trying to discern from dwc3-qcom if dwc3-core
has role-switching turned on by iterating through its range of DT nodes
and looking for a special one named "connector"
The initial and imperfect solution I had for that looked like this
if (dwc3_qcom_find_gpio_usb_connector(qcom->dwc3)) {}
Wesley had another iteration on that that was a little better
https://lore.kernel.org/linux-usb/20201009082843.28503-4-wcheng@codeaurora.org/
+static int dwc3_qcom_connector_check(struct fwnode_handle *fwnode)
+{
+ if (fwnode && (!fwnode_property_match_string(fwnode, "compatible",
+ "gpio-usb-b-connector") ||
+ !fwnode_property_match_string(fwnode, "compatible",
+ "usb-c-connector")))
+ return 1;
+
+ return 0;
+}
All we are really doing there is replicating functionality that the
role-switch API already provides
---
bod
next prev parent reply other threads:[~2021-07-08 10:15 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-07-04 1:33 [PATCH 0/3] Implement role-switch notifications from dwc3-drd to dwc3-qcom Bryan O'Donoghue
2021-07-04 1:33 ` [PATCH 1/3] usb: dwc3: dwc3-qcom: Fix typo in the dwc3 vbus override API Bryan O'Donoghue
2021-07-07 5:06 ` Bjorn Andersson
2021-07-04 1:33 ` [PATCH 2/3] usb: dwc3: Add role switch relay support Bryan O'Donoghue
2021-07-06 2:51 ` Peter Chen
2021-07-06 10:07 ` Bryan O'Donoghue
2021-07-07 5:14 ` Bjorn Andersson
2021-07-07 9:49 ` Bryan O'Donoghue
2021-07-07 9:51 ` Bryan O'Donoghue
2021-07-04 1:33 ` [PATCH 3/3] usb: dwc3: dwc3-qcom: Make dwc3-qcom a role-switch signal recipient Bryan O'Donoghue
2021-07-07 1:57 ` [PATCH 0/3] Implement role-switch notifications from dwc3-drd to dwc3-qcom Peter Chen
2021-07-07 19:03 ` Bjorn Andersson
2021-07-08 3:06 ` Peter Chen
2021-07-08 3:54 ` Bjorn Andersson
2021-07-08 10:17 ` Bryan O'Donoghue [this message]
2021-08-24 23:52 ` Bjorn Andersson
2021-08-24 23:58 ` Bryan O'Donoghue
2021-08-25 0:01 ` Bjorn Andersson
2021-08-25 0:17 ` Bryan O'Donoghue
2021-08-24 23:37 ` Bjorn Andersson
2021-08-25 5:51 ` Felipe Balbi
2021-08-25 8:18 ` Bryan O'Donoghue
2021-08-25 15:53 ` Bjorn Andersson
2021-08-25 16:43 ` Heikki Krogerus
2021-08-25 17:04 ` Bjorn Andersson
2021-08-25 17:59 ` Bryan O'Donoghue
2021-08-25 20:06 ` Bjorn Andersson
2021-08-26 6:15 ` Felipe Balbi
2021-09-15 13:53 ` Bjorn Andersson
2021-09-17 12:33 ` Heikki Krogerus
2021-08-25 20:11 ` Dmitry Baryshkov
2021-08-25 12:12 ` Rob Herring
2021-08-25 15:20 ` Felipe Balbi
2021-08-25 13:16 ` Bjorn Andersson
2021-08-25 15:22 ` Felipe Balbi
2021-08-25 16:33 ` Bjorn Andersson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=de86a2c5-92cf-da0a-8819-2de4c3c88b3f@linaro.org \
--to=bryan.odonoghue@linaro.org \
--cc=agross@kernel.org \
--cc=balbi@kernel.org \
--cc=bjorn.andersson@linaro.org \
--cc=gregkh@linuxfoundation.org \
--cc=jackp@codeaurora.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=peter.chen@kernel.org \
--cc=wcheng@codeaurora.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.