From: Jon Hunter <jonathanh@nvidia.com>
To: Jim Lin <jilin@nvidia.com>
Cc: "linux-tegra@vger.kernel.org" <linux-tegra@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>,
"thierry.reding@gmail.com" <thierry.reding@gmail.com>,
"mathias.nyman@intel.com" <mathias.nyman@intel.com>,
"linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>
Subject: Re: [PATCH v3] xhci: tegra: USB2 pad power controls
Date: Mon, 17 Oct 2022 21:17:30 +0100 [thread overview]
Message-ID: <d627e907-8c2e-6a98-20ad-5f7c50e56146@nvidia.com> (raw)
In-Reply-To: <cf9b9c605ed06e59edd3ae5deba914cfbfa55be3.camel@nvidia.com>
On 17/10/2022 10:36, Jim Lin wrote:
> On Wed, 2022-10-12 at 12:45 +0100, Jon Hunter wrote:
>> On 12/10/2022 11:25, Jim Lin wrote:
>>> Program USB2 pad PD controls during port connect/disconnect, port
>>> suspend/resume, and test mode, to reduce power consumption on
>>> disconnect or suspend.
>>>
>>> Signed-off-by: Jim Lin <jilin@nvidia.com>
>>> ---
>>> v2: Fix issue that wrong tegra->phys[] may be accessed on tegra124
>>> v3: No change on copyright
>>>
>>> drivers/usb/host/xhci-tegra.c | 139
>>> +++++++++++++++++++++++++++++++++-
>>> 1 file changed, 138 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/usb/host/xhci-tegra.c b/drivers/usb/host/xhci-
>>> tegra.c
>>> index c8af2cd2216d..996182a1959f 100644
>>> --- a/drivers/usb/host/xhci-tegra.c
>>> +++ b/drivers/usb/host/xhci-tegra.c
>>> @@ -189,6 +189,13 @@ struct tegra_xusb_context_soc {
>>> } fpci;
>>> };
>>>
>>> +enum tegra_xhci_phy_type {
>>> + USB3_PHY,
>>> + USB2_PHY,
>>> + HSIC_PHY,
>>> + MAX_PHY_TYPES,
>>> +};
>>> +
>>> struct tegra_xusb_soc {
>>> const char *firmware;
>>> const char * const *supply_names;
>>> @@ -274,9 +281,17 @@ struct tegra_xusb {
>>>
>>> bool suspended;
>>> struct tegra_xusb_context context;
>>> + u32 enable_utmi_pad_after_lp0_exit;
>>> };
>>>
>>> static struct hc_driver __read_mostly tegra_xhci_hc_driver;
>>> +static int (*original_xhci_hub_control)(struct usb_hcd *hcd, u16
>>> typeReq, u16 wValue, u16 wIndex,
>>> + char *buf, u16 wLength);
>>
>> Is it better to add this function pointer to the tegra_xusb
>> structure?
>>
>> Jon
>>
> Do you mean removing variable "original_xhci_hub_control" and save
> function pointer to the tegra_xusb structure ?
>
> But that doesn't look possible over here to point to tegra_xusb
> structure and save pointer (to tegra_xhci_hc_driver.hub_control) into
> it.
Ah yes, this is in the init function and so we can't do that. Any issue
with calling xhci_hub_control() directly in the function
tegra_xhci_hub_control()?
Jon
--
nvpublic
next prev parent reply other threads:[~2022-10-17 20:19 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-10-12 10:25 [PATCH v3] xhci: tegra: USB2 pad power controls Jim Lin
2022-10-12 11:18 ` Greg KH
2022-10-12 11:43 ` Jon Hunter
2022-10-14 9:41 ` Jim Lin
2022-10-12 11:45 ` Jon Hunter
2022-10-17 9:36 ` Jim Lin
2022-10-17 20:17 ` Jon Hunter [this message]
2022-10-18 3:20 ` Jim Lin
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=d627e907-8c2e-6a98-20ad-5f7c50e56146@nvidia.com \
--to=jonathanh@nvidia.com \
--cc=gregkh@linuxfoundation.org \
--cc=jilin@nvidia.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tegra@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=mathias.nyman@intel.com \
--cc=thierry.reding@gmail.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox