Commit cbb23d55 authored by JC Kuo's avatar JC Kuo Committed by Greg Kroah-Hartman

usb: host: xhci-tegra: Tegra186/Tegra194 LPM

Tegra186 and Tegra194 xHC supports USB 3.0 LPM. This commit enables
XHCI_LPM_SUPPORT quirk for Tegra186 and Tegra194.
Signed-off-by: default avatarJC Kuo <jckuo@nvidia.com>
Acked-by: default avatarThierry Reding <treding@nvidia.com>
Signed-off-by: default avatarMathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20200312144517.1593-6-mathias.nyman@linux.intel.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 2170a98d
...@@ -203,6 +203,7 @@ struct tegra_xusb_soc { ...@@ -203,6 +203,7 @@ struct tegra_xusb_soc {
bool scale_ss_clock; bool scale_ss_clock;
bool has_ipfs; bool has_ipfs;
bool lpm_support;
}; };
struct tegra_xusb_context { struct tegra_xusb_context {
...@@ -1779,6 +1780,7 @@ static const struct tegra_xusb_soc tegra186_soc = { ...@@ -1779,6 +1780,7 @@ static const struct tegra_xusb_soc tegra186_soc = {
.data_out = 0xec, .data_out = 0xec,
.owner = 0xf0, .owner = 0xf0,
}, },
.lpm_support = true,
}; };
static const char * const tegra194_supply_names[] = { static const char * const tegra194_supply_names[] = {
...@@ -1808,6 +1810,7 @@ static const struct tegra_xusb_soc tegra194_soc = { ...@@ -1808,6 +1810,7 @@ static const struct tegra_xusb_soc tegra194_soc = {
.data_out = 0x70, .data_out = 0x70,
.owner = 0x74, .owner = 0x74,
}, },
.lpm_support = true,
}; };
MODULE_FIRMWARE("nvidia/tegra194/xusb.bin"); MODULE_FIRMWARE("nvidia/tegra194/xusb.bin");
...@@ -1832,7 +1835,11 @@ static struct platform_driver tegra_xusb_driver = { ...@@ -1832,7 +1835,11 @@ static struct platform_driver tegra_xusb_driver = {
static void tegra_xhci_quirks(struct device *dev, struct xhci_hcd *xhci) static void tegra_xhci_quirks(struct device *dev, struct xhci_hcd *xhci)
{ {
struct tegra_xusb *tegra = dev_get_drvdata(dev);
xhci->quirks |= XHCI_PLAT; xhci->quirks |= XHCI_PLAT;
if (tegra && tegra->soc->lpm_support)
xhci->quirks |= XHCI_LPM_SUPPORT;
} }
static int tegra_xhci_setup(struct usb_hcd *hcd) static int tegra_xhci_setup(struct usb_hcd *hcd)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment