summaryrefslogtreecommitdiff
path: root/drivers/usb/host/xhci-tegra.c
AgeCommit message (Collapse)Author
2019-02-06tegra-xusb: fix module compilationDominik Sliwa
Signed-off-by: Dominik Sliwa <dominik.sliwa@toradex.com>
2018-11-29xhci-tegra: fix compiler warningsRolf Eike Beer
Signed-off-by: Rolf Eike Beer <eb@emlix.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2015-06-04xhci: tegra: run firmware log thread only if needJC Kuo
Driver doesn't need to run a kernel thread to collect firmware log if release build firmware is loaded. Only debug build firmware is capable of generating logs. This commit checks firmware CFGTBL to know whether a firmware generates logs or not. bug 1487603 Change-Id: I8b147710dae58332d68625fedd3173e2d2f6074b Signed-off-by: JC Kuo <jckuo@nvidia.com> Reviewed-on: http://git-master/r/663769 (cherry picked from commit bc339c3a63ea18fbbe568c99e33d06d637ad1f71) Reviewed-on: http://git-master/r/744725 GVS: Gerrit_Virtual_Submit Tested-by: Mark Kuo <mkuo@nvidia.com> Reviewed-by: WK Tsai <wtsai@nvidia.com> Reviewed-by: Bibek Basu <bbasu@nvidia.com> Reviewed-by: Matthew Pedro <mapedro@nvidia.com> Reviewed-by: Ashutosh Jha <ajha@nvidia.com>
2015-05-26xhci: tegra: load fw from filesystem earlierBibek Basu
Loading firmware from filesystem takes much time. Enabing vbus regualtor before loading firmware will cause the time gap between vbus ON and host controller ready too large. So, we move the time of firmware loading earlier. Bug 200067006 Change-Id: I63ecbd9e65f3bb56db564f72cc417fc4f76adbc3 Signed-off-by: Henry Lin <henryl@nvidia.com> Signed-off-by: Bibek Basu <bbasu@nvidia.com> Reviewed-on: http://git-master/r/736193 (cherry picked from commit 6875a1752b3ed4e121efcc3fddca0810ffd22546) Reviewed-on: http://git-master/r/746074 GVS: Gerrit_Virtual_Submit Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
2015-05-19usb: xhci: tegra: fix compilation with lockdep enabledAlban Bedel
The sysfs_attr_init() macro expects a pointer to a struct attribute as argument and not a pointer to a struct device_attribute. This was bulding with lockdep disabled because in this case the sysfs_attr_init() macro does nothing. Bug 1618089 Change-Id: I6225c5c26beccae3848d8d5360a0efabcba60ce5 Signed-off-by: Alban Bedel <alban.bedel@avionic-design.de> Signed-off-by: Bibek Basu <bbasu@nvidia.com> Reviewed-on: http://git-master/r/741614 GVS: Gerrit_Virtual_Submit Reviewed-by: Matthew Pedro <mapedro@nvidia.com> Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
2015-04-06usb: xhci: tegra: fix wake from LP1Joy Wang
We have VDD_CORE on when LP1. xusb use padctl interrupt to wake from LP1. Keep interrupt enabled when system suspend. Bug 1583860 Bug 200081242 Change-Id: I276594d69a051ea84034c32015589a6574ded7f1 Signed-off-by: Joy Wang <joyw@nvidia.com> Reviewed-on: http://git-master/r/658281 (cherry picked from commit 0031edc18b385eb5dc67eb419f2c50aa5f0a15a2) Signed-off-by: Petlozu Pravareshwar <petlozup@nvidia.com> Reviewed-on: http://git-master/r/726127 Reviewed-by: Ajay Gupta <ajayg@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Krishna Yarlagadda <kyarlagadda@nvidia.com> Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
2014-09-16usb: xhci: tegra: remove PCIe dependencyHaribabu Narayanan
PCIe powergating dependency is now handled internally in the powergating module for t12x/t13x. This patch removes PCIe related powergating calls from XHCI driver for tegra. Bug 1451279 Bug 1524744 Bug 200027067 Change-Id: I0752cd745f218266e1636cc7c40a6c29dee3b3d4 Reviewed-on: http://git-master/r/424036 (cherry picked from commit 91e2bd6728ca1969615081c70be6b2f21acd43d5) Signed-off-by: Vidya Sagar <vidyas@nvidia.com> Reviewed-on: http://git-master/r/498662 Reviewed-by: Matthew Pedro <mapedro@nvidia.com>
2014-09-16usb: xhci: tegra: remove conditional powergatingHaribabu Narayanan
The powergate module now maintains reference count for PCIE. Remove conditional checks in XHCI driver before invoking powergating APIs. Bug 1451279 Bug 1455032 Bug 200027067 Change-Id: I186270dc86fba78a8c321ba5923382e642b14b60 Reviewed-on: http://git-master/r/418061 (cherry picked from commit b0f746945fccf025e2ab1764c0cc35eb1bc780b3) Signed-off-by: Vidya Sagar <vidyas@nvidia.com> Reviewed-on: http://git-master/r/498660 Reviewed-by: Matthew Pedro <mapedro@nvidia.com>
2014-04-23xhci: tegra: Clear SMI INTR status registerJoy Wang
Clear SMI INTR status bits in smi irq handler. Bug 1481790 Change-Id: I7b5e37ece1996ab2e2d97d561cff05fc6652b2d5 Signed-off-by: Joy Wang <joyw@nvidia.com> Reviewed-on: http://git-master/r/385512 Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Tested-by: Bharat Nihalani <bnihalani@nvidia.com>
2014-04-23xhci: tegra: Fix mailbox enabled sequenceJoy Wang
Enable mailbox after load firmware and ISR registered. Bug 1481790 Change-Id: I965ea8834f710a67ffc3b446c638e5a6c2f679a4 Signed-off-by: Joy Wang <joyw@nvidia.com> Reviewed-on: http://git-master/r/385504 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Ajay Gupta <ajayg@nvidia.com> Reviewed-by: Ashutosh Jha <ajha@nvidia.com>
2014-04-13platform: tegra: move pm_domain to driversPrashant Gaikwad
Change-Id: I30baee4084399b8078232f31296c4d891a903d47 Signed-off-by: Prashant Gaikwad <pgaikwad@nvidia.com> Reviewed-on: http://git-master/r/395123 Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Tested-by: Bharat Nihalani <bnihalani@nvidia.com>
2014-02-18xhci: tegra: Add flexibility to enable portsJoy Wang
Let xusb can own ports with any combination. Bug 1345723 Change-Id: I6532a44150bea1113ebee1483263158fb3c04117 Signed-off-by: Joy Wang <joyw@nvidia.com> Reviewed-on: http://git-master/r/354888 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
2014-02-10usb: xhci: tegra: Power/Unpowergate PEX partitionJay Agarwal
This is WAR for HW Bug#1320346, PEX partition need to be unpowergated whenever XUSB is used. Also powergate it in suspend to save power. Bug 1451279 Change-Id: I29d6c5182a8b38559911fb3b78d0074f990530f7 Signed-off-by: Jay Agarwal <jagarwal@nvidia.com> Reviewed-on: http://git-master/r/361864 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
2014-02-10xhci: tegra: set HS_DISCON_LEVEL to 3'b111Joy Wang
Set HS_DISCON_LEVEL in xusb padctl register USB2_BIAS_PAD_CTL_0 from 3'b101 to 3'b111. Bug 1454282 Change-Id: I48916435e9a142a0674195d8b690c7f8ff376525 Signed-off-by: Joy Wang <joyw@nvidia.com> Reviewed-on: http://git-master/r/364302 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Ashutosh Jha <ajha@nvidia.com> Reviewed-by: Henry Lin <henryl@nvidia.com>
2014-01-21usb: xhci: tegra: do not use pdata for reg namesKrishna Yarlagadda
currently regulator names are passed as platform data to driver this has been deprecated and moving reg names to soc config Bug 1409002 Change-Id: I2f35d5a839e1b8f04ed2ee822c4e69f8a398cfed Signed-off-by: Krishna Yarlagadda <kyarlagadda@nvidia.com> Reviewed-on: http://git-master/r/333430 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com> Tested-by: Laxman Dewangan <ldewangan@nvidia.com>
2014-01-14xhci: tegra: Support HSIC device power on/offJoy Wang
Support for HSIC device power on/off by sending MBOX_CMD_AIRPLANE_MODE_DISABLED/MBOX_CMD_AIRPLANE_MODE_ENABLED mailbox message to firmware. Bug 1390301 Change-Id: If1f314b09fd0887305765cb5bda9c420b11fafa1 Signed-off-by: Joy Wang <joyw@nvidia.com> Reviewed-on: http://git-master/r/355041 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: WK Tsai <wtsai@nvidia.com> Reviewed-by: Jui Chang Kuo <jckuo@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Ashutosh Jha <ajha@nvidia.com> Reviewed-by: Henry Lin <henryl@nvidia.com>
2014-01-08xhci: tegra: remove dead codeDeepak Nibade
Coverity id : 25406 Bug 1416640 Change-Id: Ib0f6dd43ca12a502cd861e3d7e9e20080d49dd41 Signed-off-by: Deepak Nibade <dnibade@nvidia.com> Reviewed-on: http://git-master/r/352258 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Sri Krishna Chowdary <schowdary@nvidia.com> Reviewed-by: Henry Lin <henryl@nvidia.com> Reviewed-by: Sumit Singh <sumsingh@nvidia.com> Reviewed-by: Sachin Nikam <snikam@nvidia.com>
2014-01-01xhci: tegra: Power down HSIC tracking circuitJoy Wang
Update HSIC pad tracking circuit programming sequence. Bring HSIC pad tracking circuit out of power-down mode and wait for 25 usec. This allow calibration complete. Then power down again by setting PD_TRX to 1. Bug 1417885 Change-Id: I9e55c3d59b5674c562ca3d270511ce7f718ce9b3 Signed-off-by: Joy Wang <joyw@nvidia.com> Reviewed-on: http://git-master/r/337742 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
2013-12-22xhci: tegra: remove fw from bootloader supportHenry Lin
The mechanism of getting xusb firmware from bootloader is not supported now. All of its implementation are removed. Bug 1419667 Change-Id: I1227e01d08f936617c75e2817e6b2a4adfef2c34 Signed-off-by: Henry Lin <henryl@nvidia.com> Reviewed-on: http://git-master/r/345665 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Ajay Gupta <ajayg@nvidia.com> Reviewed-by: Joy Wang <joyw@nvidia.com> Reviewed-by: Jui Chang Kuo <jckuo@nvidia.com> Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
2013-12-22xhci: tegra: load xusb firmware from fileHenry Lin
Change to load xusb firmware from file and also remove unused kernel options related to xusb firmware loading. Bug 1419667 Change-Id: I393384eb238fd743fb51b61eda081e2f3103c8de Signed-off-by: Henry Lin <henryl@nvidia.com> Reviewed-on: http://git-master/r/338653 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: WK Tsai <wtsai@nvidia.com> Reviewed-by: Ajay Gupta <ajayg@nvidia.com> Reviewed-by: Joy Wang <joyw@nvidia.com> Reviewed-by: Jui Chang Kuo <jckuo@nvidia.com> Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
2013-12-13xhci: tegra: fix kernel panic in system suspendHenry Lin
If xhci driver fails to loading firmware from file during initialization, it frees all resources it uses and set its driver data to NULL. But xhci driver doesn't unbind it with xhci platform device. So, system still calls tegra_xhci_suspend() during system suspend. And, kernel panic happens when xhci driver trying to access NULL pointer in system suspend. Bug 1414486 Change-Id: I7b52ca01508b35f5c9c7523a75318fc3d049122b Signed-off-by: Henry Lin <henryl@nvidia.com> Reviewed-on: http://git-master/r/336069 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Ashutosh Jha <ajha@nvidia.com> GVS: Gerrit_Virtual_Submit
2013-11-28usb: xhci: tegra: try defer probe when reg failsKrishna Yarlagadda
Few regulators are dependant on gpio and might not be available when xhci loads. Try defer probe to avoid this issue Bug 1409005 Change-Id: I477fbbc2e0c868f04506fbb3d923bddf32ce4857 Signed-off-by: Krishna Yarlagadda <kyarlagadda@nvidia.com> Reviewed-on: http://git-master/r/333429 Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com> Reviewed-by: Jui Chang Kuo <jckuo@nvidia.com> Reviewed-by: Venkat Moganty <vmoganty@nvidia.com> Reviewed-by: Joy Wang <joyw@nvidia.com>
2013-11-22usb: xhci: tegra: fix dt parse errorKrishna Yarlagadda
In dt all constants are considered to be u32 and when read back in driver we would get msb (which is zero always for a u8). changing driver to read the value as u32 and then save to u8. this will ensure proper conversion Change-Id: I23e5ad3476a2f4eace759560e50eb073cfad9cdd Signed-off-by: Krishna Yarlagadda <kyarlagadda@nvidia.com> Reviewed-on: http://git-master/r/330208 Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
2013-11-22usb: xhci: tegra: support hsic dt configKrishna Yarlagadda
Changes to read hsic cofig data from dt and change header to have all u8 values which simplifies parsing dt Bug 1342607 Change-Id: I0c547a32a347e561eccd35acc16c824cd105e69c Signed-off-by: Krishna Yarlagadda <kyarlagadda@nvidia.com> Reviewed-on: http://git-master/r/330163 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
2013-11-08arm: tegra: cleanup fuse.h inclusionsShardar Shariff Md
cleanup fuse.h inclusion to avoid build errors Bug 1380004 Change-Id: I4e91fbca4ffdefe8db118c70f73f71976bb4a599 Signed-off-by: Shardar Shariff Md <smohammed@nvidia.com> Reviewed-on: http://git-master/r/327681 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Venu Byravarasu <vbyravarasu@nvidia.com>
2013-11-06usb: xhci: tegra: add dt supportKrishna Yarlagadda
Add dt support for xhci driver Bug 1357627 Change-Id: Ibdaebd8bb68e8000ab6a9e0fbe8de7fe62dc52e0 Signed-off-by: Krishna Yarlagadda <kyarlagadda@nvidia.com> Reviewed-on: http://git-master/r/301796 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
2013-11-06usb: xhci: tegra: Fix pmc & regulator for dalmoreKrishna Yarlagadda
Regulators should be enabled only if port is enabled PMC port and xhci port are different in case of dalmore Bug 1357627 Change-Id: Ieb0019d9d7b86be1f4616129fd0dd5a7dcff174b Signed-off-by: Krishna Yarlagadda <kyarlagadda@nvidia.com> Reviewed-on: http://git-master/r/301793 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
2013-11-06xhci: tegra: remove write INTERPKT_DELAY in driverJoy Wang
As firmware will set XUSB_CFG_HSPX_CORE_HSICWRAP.INTERPKT_DELAY to 0x30. Remove this register write in driver. Bug 1342607 Change-Id: Ic6197fe738ffbef820c463032650715d225b44f2 Signed-off-by: Joy Wang <joyw@nvidia.com> Reviewed-on: http://git-master/r/304773 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: WK Tsai <wtsai@nvidia.com> Reviewed-by: Henry Lin <henryl@nvidia.com> Reviewed-by: Chao Xu <cxu@nvidia.com>
2013-11-05xhci: tegra: load xusb fw file by async apiHenry Lin
By using request_firmware_nowait(), which is an asynchronous version of request_firmware(), to load xusb firmware, driver can avoid the deadlock that occurs when request_firmware() is called without udev service in presence. Bug 1370816 Bug 1381552 Change-Id: Id0ef45b224634a1f210646add9a8f0f2c015a4e1 Signed-off-by: Henry Lin <henryl@nvidia.com> Reviewed-on: http://git-master/r/301713 Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Tested-by: Bharat Nihalani <bnihalani@nvidia.com>
2013-10-30xhci: tegra: enable runtime PM for xusbPrashant Gaikwad
Bug 1388533 Change-Id: Idddeab680f6f232dec897b8a6e26515c0d071d3c Signed-off-by: Prashant Gaikwad <pgaikwad@nvidia.com> Reviewed-on: http://git-master/r/304682 Reviewed-by: Mitch Luban <mluban@nvidia.com> Tested-by: Mitch Luban <mluban@nvidia.com>
2013-10-27xhci: tegra: Enable XHCI_PLAT quirkjoyw
As platform driver, enable XHCI_PLAT quirk to avoid enable lagecy PCI interrupt in xhci_try_enable_msi. Bug 1393117 Change-Id: Iccf34268835f161145dcde3fa1292b4e95369a95 Signed-off-by: joyw <joyw@nvidia.com> Reviewed-on: http://git-master/r/302608 Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Tested-by: Bharat Nihalani <bnihalani@nvidia.com>
2013-10-27xhci: tegra: Reset EMC bandwidth before elpgHenry Lin
xhci fw informs driver the changes to maximum bandwidth requirement by MBOX_CMD_SET_BW mailbox command. Driver should reset the required bandwidth to 0 before going to elpg. Bug 1371282 Change-Id: Ie7cfce2a82e14ec57aea743deb525333de23cd2f Signed-off-by: Henry Lin <henryl@nvidia.com> Reviewed-on: http://git-master/r/299418 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: WK Tsai <wtsai@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Ashutosh Jha <ajha@nvidia.com>
2013-10-18xhci: tegra: fix ACK/NACK mbox message processingJC Kuo
Driver should not write 0 to XUSB_CFG_ARU_MAILBOX_CMD register, because clearing USB_CFG_ARU_MAILBOX_CMD_INT_EN bit means disabling mailbox messaging from firmware's perspective. bug 1389380 Change-Id: I7b9d860c3069ef0342066f5a1823a99d271c2ec8 Signed-off-by: JC Kuo <jckuo@nvidia.com> Reviewed-on: http://git-master/r/299941 Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Tested-by: Bharat Nihalani <bnihalani@nvidia.com>
2013-10-18xhci: tegra: support loading xusb firmware from fileJC Kuo
This commit add the capability of loading Tegra xusb firmware from a firmware file in file system. Two kernel module parameters provides the firmware loading flexibility. 1. "use_bootloader_firmware=Y" driver loads firmware from the bootloader carveout region. 2. "use_bootloader_firmware=N" driver loads firmware from the file specified by "firmware_file" parameter. This example shows how to load firmware from /etc/firmware/xusb_sil_prod_fw insmod /system/lib/modules/xhci-hcd.ko use_bootloader_firmware=N firmware_file=xusb_sil_prod_fw bug 1301430 bug 1381552 Change-Id: I7ff4a86ab56b2724d3a4d17f28fe048e6303b067 Signed-off-by: JC Kuo <jckuo@nvidia.com> Reviewed-on: http://git-master/r/241457 (cherry picked from commit 12c6b61e6af9a2dbfc5d92fcb0032392ed88594b) Signed-off-by: Henry Lin <henryl@nvidia.com> Reviewed-on: http://git-master/r/299351 Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Tested-by: Bharat Nihalani <bnihalani@nvidia.com>
2013-10-15usb: xhci: tegra: Fix error in non-SMP buildEdgardo Handal
Bug 1386515 Change-Id: Ic297f5a4fe08888b71062f284ad75b62e7393ee8 Signed-off-by: Edgardo Handal <ehandal@nvidia.com> Reviewed-on: http://git-master/r/299015 Reviewed-by: Matt Craighead <mcraighead@nvidia.com> Tested-by: Matt Craighead <mcraighead@nvidia.com> Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
2013-10-04xhci: tegra: only enable vbus owned by xusbHenry Lin
The vbus regulators are shared between xhci and echi host controller. Only the port owner should enable corresponding vbus regulator. Bug 1348463 Change-Id: I77ad19505869e98ae47f1ef36956e8312b5f2e4e Signed-off-by: Henry Lin <henryl@nvidia.com> Reviewed-on: http://git-master/r/281337 Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Tested-by: Bharat Nihalani <bnihalani@nvidia.com>
2013-10-03xhci: tegra: fix kernel panic in tegra_xhci_removeJC Kuo
tegra_xhci_remove() calls usb_unregister_notifier() with parameters are NULL pointers. That causes kernel panic. This change fixes it. bug 1368024 Change-Id: I10ea852659afece3b0ae18c2989ad85ee392e3c3 Signed-off-by: JC Kuo <jckuo@nvidia.com> Reviewed-on: http://git-master/r/274150 Reviewed-by: Sachin Nikam <snikam@nvidia.com> Tested-by: Sachin Nikam <snikam@nvidia.com> (cherry picked from commit 10906950e03608b6a4a5322693bf9793e1ba175d) Signed-off-by: Ajay Nandakumar <anandakumarm@nvidia.com>
2013-09-27xhci: tegra: Add support for xusb use sata lanejoyw
For some boards, Laguna, use sata lane for SS port 1. Add support to set relevant register,XUSB_PADCTL_IOPHY_MISC_PAD_S0_CTL_*_0, in pad ctontrol. Bug 1366525 Change-Id: I409843c9a8d67ab5438357d550f7ddda0fda4495 Signed-off-by: joyw <joyw@nvidia.com> Reviewed-on: http://git-master/r/273556 Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com> Tested-by: Laxman Dewangan <ldewangan@nvidia.com>
2013-09-26usb: xhci: fix tctrl rctrl war programmingKrishna Yarlagadda
WAR requires that tctrl and rctrl values to be updated in pmc register space even if pmc is not in control of ports. Fixing it. Bug 1334159 Change-Id: I4cd7054b17716298a3174eed8bf41b8fe3b4ab7e Signed-off-by: Krishna Yarlagadda <kyarlagadda@nvidia.com> Reviewed-on: http://git-master/r/274381 Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
2013-09-26xhci: tegra: fix a compilation warning in fw_log_wait_empty_timeoutJC Kuo
Input parameter to time_is_after_jiffies() has to be in "unsigned long" type. bug 1320242 Reviewed-on: http://git-master/r/253185 (cherry picked from commit 604612466faae0d70cf08a9d02d8a9bf5d7749b3) Change-Id: Ic4d3af653b507244a016a557fa3a178c02a26a9d Signed-off-by: JC Kuo <jckuo@nvidia.com> Reviewed-on: http://git-master/r/273704 Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Tested-by: Bharat Nihalani <bnihalani@nvidia.com>
2013-09-16xhci-tegra fix warnings on unused functionPhilip Rakity
remove unused function warning for save_ctle_context() the function IS used for T12x but not T11x /nvidia/DEV_KERNEL/kernel/drivers/usb/host/xhci-tegra.c:1768:13: warning: 'save_ctle_context' defined but not used [-Wunused-function] Change-Id: I22aa17fcb4afca9db1356f3017b86d09c28c1814 Signed-off-by: Philip Rakity <prakity@nvidia.com> Reviewed-on: http://git-master/r/272034 Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com> Tested-by: Laxman Dewangan <ldewangan@nvidia.com>
2013-09-16xhci: tegra: support hsic pretend connectJC Kuo
When HSIC port is being used to connect some HSIC device which gets powered-on before Tegra XUSB does, the HSIC CONNECT signal sent by device is likely missed. In addition, HSIC device isn't likely to resend CONNECT. Tegra XUSB supports "hsic pretend connect" which means firmware can manually direct HSIC ports from "RxDetect" to "Polling". We added one firmware mailbox message for this purpose. That allows driver to makeup for the missed CONNECT. bug 1341852 Change-Id: Ibf87b4790ce587f37f4f46cb660c25782562cccb Signed-off-by: JC Kuo <jckuo@nvidia.com> Reviewed-on: http://git-master/r/267195 Reviewed-by: Sachin Nikam <snikam@nvidia.com> Tested-by: Sachin Nikam <snikam@nvidia.com>
2013-09-16usb: xhci: set tracking data using pmc apiKrishna Yarlagadda
set tracking data using pmc api for snps when there is atleast one snps port in use. Bug 1334159 Change-Id: Id15f31ba487d8ad07485509002392821b99bf8f8 Signed-off-by: Krishna Yarlagadda <kyarlagadda@nvidia.com> Reviewed-on: http://git-master/r/270910 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
2013-09-16xhci: tegra: fix host partition powergate sequenceJC Kuo
System hang observed during elpg entry/exit stress test. Root cause is that xhci-tegra doesn't follow host partition powergating sequence illustrated by PG. "flushing MCCIF and partition clients" needs to be done before assserting RESET and disabling partition clocks. This change fixes the sequence by removing fews steps since those are supposed to be done by tegra_powergate_partition(). bug 1348646 Change-Id: Iae82e5cba2b5ceb09b6b5e6af6641736dc9ba855 Signed-off-by: JC Kuo <jckuo@nvidia.com> Reviewed-on: http://git-master/r/267292 Reviewed-by: Sachin Nikam <snikam@nvidia.com> Tested-by: Sachin Nikam <snikam@nvidia.com>
2013-09-16xhci: tegra: fix DFE/CTLE control sequencejoyw
According to PG to adjust DEF and CTLE context save/restore programming sequence. Bug 1345950 Change-Id: I0925f635347c322b96db7a13c9121b707611b97d Signed-off-by: joyw <joyw@nvidia.com> Reviewed-on: http://git-master/r/267288 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Jui Chang Kuo <jckuo@nvidia.com> Reviewed-by: Ashutosh Jha <ajha@nvidia.com> GVS: Gerrit_Virtual_Submit
2013-09-14ARM: tegra: Move mach/powergate.h to linux/tegra-powergate.hDan Willemsen
This moved upstream, do the equivalent change here. Signed-off-by: Dan Willemsen <dwillemsen@nvidia.com> Change-Id: I2de76e5c6487ed4513b6d070e0c515a27a881fff
2013-09-14ARM: tegra: Use <linux/clk/tegra.h> instead of <mach/clk.h>Dan Willemsen
So that the upstream common clk infrastructure can live side by side. Signed-off-by: Dan Willemsen <dwillemsen@nvidia.com> Change-Id: I0fe0ef8cd207d27b707821eed838c75b8ec04025
2013-09-14usb: xhci: tegra: enable otg with xusb hostRohith Seelaboyina
enable switching between usb2.0 device and xusb host on otg port Bug 1307598 Change-Id: I19519d95de394386699f346ef4949278a7455ee6 Signed-off-by: Krishna Yarlagadda <kyarlagadda@nvidia.com> Signed-off-by: Rohith Seelaboyina <rseelaboyina@nvidia.com> Reviewed-on: http://git-master/r/265538 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
2013-09-14usb: tegra: xhci:Transfer utmi port to pmc in elpgRohith Seelaboyina
Program pmc for transfer of utmip ports to pmc during elpg entry or exit. Bug 1307598 Change-Id: Iabc250202e7e3386b18889a136cdf2f04c27698f Signed-off-by: Rohith Seelaboyina <rseelaboyina@nvidia.com> Reviewed-on: http://git-master/r/265536 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Jui Chang Kuo <jckuo@nvidia.com> Reviewed-by: Krishna Yarlagadda <kyarlagadda@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
2013-09-14xhci: tegra: fix a race during usb2 remote wakeupHenry Lin
For usb2 devices, a race condition between remote and host wake was observed during remote wake from LP0. If usb2 remote wake's port status change event interrupt happens while the hub driver is resuming the same usb2 port for host wake, the hub driver may disconnect the usb2 port and cause the resuming_ports flag for usb2 remote wake not cleared properly. Then, the system cannot go to LP0 with "xhci_bus_suspend failed -16" error message. This patch fix the race by letting remote wake being completed before hub driver performs host resume for usb2 port. Bug 1318548 Change-Id: I59c032527f9adf02a6e4f589f022033940b1d494 Reviewed-on: http://git-master/r/248179 (cherry picked from commit 93eb2637dae56488d6e3dc980c04f0020239b3be) Signed-off-by: Henry Lin <henryl@nvidia.com> Reviewed-on: http://git-master/r/259063 Reviewed-by: Simone Willett <swillett@nvidia.com> Tested-by: Simone Willett <swillett@nvidia.com>