lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <d627e907-8c2e-6a98-20ad-5f7c50e56146@nvidia.com>
Date:   Mon, 17 Oct 2022 21:17:30 +0100
From:   Jon Hunter <jonathanh@...dia.com>
To:     Jim Lin <jilin@...dia.com>
Cc:     "linux-tegra@...r.kernel.org" <linux-tegra@...r.kernel.org>,
        "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
        "gregkh@...uxfoundation.org" <gregkh@...uxfoundation.org>,
        "thierry.reding@...il.com" <thierry.reding@...il.com>,
        "mathias.nyman@...el.com" <mathias.nyman@...el.com>,
        "linux-usb@...r.kernel.org" <linux-usb@...r.kernel.org>
Subject: Re: [PATCH v3] xhci: tegra: USB2 pad power controls


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@...dia.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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ