summaryrefslogtreecommitdiffstats
path: root/drivers/scsi
Commit message (Collapse)AuthorAge
* ufs: tegra: makefile and kconfig changesNaveen Kumar Arepalli2017-09-29
| | | | | | | | | | | Tegra ufs driver is moved to nvidia repo and this would be common across the kernel versions. Required makefile and kconfig changes are made to build the tegra ahci driver from new path Bug 200325777 Change-Id: I6b42341acb576619f3b04e97516b8ea998bd5606 Signed-off-by: Naveen Kumar Arepalli <naveenk@nvidia.com>
* ufs: un-gate CG_SysClk before disabling HCE.Naveen Kumar Arepalli2017-09-29
| | | | | | | | | | | | | | | -un-gate CG_SysClk to make clock running before disabling HCE. -Gate CG_SysClk after enabling HCE. -Define hce_disable notify call back to un_gate CG_SysClk. Bug 200337158 Change-Id: I76bd9b539a6d49da0c43720cb25fa4cfaaa75bbd Signed-off-by: Naveen Kumar Arepalli <naveenk@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1557597 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
* ufs: tegra: Disable ufs aux clock before enabling.Naveen Kumar Arepalli2017-09-29
| | | | | | | | | | | | | | | -Disable ufs clock before enabling. -Enable ufs device reset before disabling. -If ufs is already initialised in bootloader, clock and reset are to be configured from default reset state. Bug 200345906 Change-Id: Ie0b8db7631fe76ee55c16751e75bf003071d56e7 Signed-off-by: Naveen Kumar Arepalli <naveenk@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1556783 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
* scsi: ufs: Use soc/tegra/pmc.h for PMC headerLaxman Dewangan2017-09-29
| | | | | | | | | | | | | | | | | | Use the soc/tegra/pmc.h for PMC header instead of linux/tegra-pmc.h as this will get removed part of single PMC driver for all SOCs. Bug 200260700 Change-Id: Ifec45d773f2bf17deb7675b3a18d1bc11c6773d5 Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com> Reviewed-on: http://git-master/r/1279557 (cherry picked from commit e0b27d20a2e806bb6a2421637e54f70616140583) Reviewed-on: https://git-master.nvidia.com/r/1540132 Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com> Reviewed-by: Pavan Kunapuli <pkunapuli@nvidia.com> Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit
* ufs: provisioning: Include module.hAbhinav Site2017-09-29
| | | | | | | | | | | | | | | | | | | | | This change include missing module.h file to avoid kernel build error seen for UFS driver. Also fix break when DEBUG_FS is turned off Bug 1924210 Change-Id: I06fb8c6d1d36788d32712c019181fce7e2607abb Signed-off-by: Abhinav Site <asite@nvidia.com> Reviewed-on: https://git-master/r/1505134 (cherry picked from commit fb43206a9f99f229227d18ab17b56868916bc105) Signed-off-by: Naveen Kumar Arepalli <naveenk@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1551808 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: svccoveritychecker <svccoveritychecker@nvidia.com> Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
* ufs: provisioning: Add pm_runtime callbacks for ufs provisioningAbhinav Site2017-09-29
| | | | | | | | | | | | | | | | | | | | | | UFS Device can be in suspended state when no logical units are present on the device. In such case, query commands sent to provision the ufs device fails. This change adds pm_runtime_get_sync callback before sending query commands to device, and pm_runtime_put_sync when device provisioning is completed. These callback ensures that device usage counter is updated accordingly and device is in active state before provisioning. Bug 200315040 Change-Id: Ibe63f40073fe495cb94f1c957e8af0368660d724 Signed-off-by: Abhinav Site <asite@nvidia.com> Reviewed-on: http://git-master/r/1496505 (cherry picked from commit 750c1879ca7c8a2ba584890ac2017083e051f7e1) Signed-off-by: Naveen Kumar Arepalli <naveenk@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1551807 Reviewed-by: svccoveritychecker <svccoveritychecker@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
* scsi: ufs: Avoid unsigned compared against < 0.Aniruddha TVS Rao2017-09-29
| | | | | | | | | | | | | | | | | | | Comparison of an unsigned variable against < 0 doesn't serve any purpose. Remove unnecessary comparisons. Coverity ID 2567934 Coverity ID 2567932 Change-Id: If9ad0f96f5e6fe28719d64415e2af1ee16a6dbdd Signed-off-by: Aniruddha TVS Rao <anrao@nvidia.com> Reviewed-on: http://git-master/r/1491799 (cherry picked from commit 989474f5c534b37f6e16cf4a3e9843eb216637c3) Signed-off-by: Naveen Kumar Arepalli <naveenk@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1551806 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: svccoveritychecker <svccoveritychecker@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
* ufs: Add DT property to enable ufs provisioningAbhinav Site2017-09-29
| | | | | | | | | | | | | | | | | | | | | | This change add new DT property "nvidia,enable-ufs-provisioning" for UFS device tree node. This property when defined in UFS DT node triggers the creation of debugfs entries to support ufs provisioning. Bug 1891216 Bug 200288394 Change-Id: I5d3b192ef6e47addab203fe36c2cdb0aaa7272f0 Signed-off-by: Abhinav Site <asite@nvidia.com> Reviewed-on: http://git-master/r/1480218 (cherry picked from commit 99c772cabe50b8ca2b269098e96f52fb8bd6eaa0) Signed-off-by: Naveen Kumar Arepalli <naveenk@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1551805 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: svccoveritychecker <svccoveritychecker@nvidia.com> Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
* ufs: Support for LUN and Refclkfreq ProgrammingNaveen Kumar Arepalli2017-09-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change: 1.Expose Debugfs entries to program bRefClkFreq Following entries are created in UFS debugfs node: - ufs_refclk: Parent folder for refclk programming - refclkfreq_value: Holds input refclkfreq value - program_refclkfreq: Trigger refclk programming 2.Expose Debugfs entries to program UFS LUNs Following entries are created in UFS debugfs node: - ufs_luns: Parent folder for LUN programming - lun* : LUN unit descriptor parameters - program_lun: Trigger LUN programming 3.The debugfs entries exposed do NOT support reading the existing attribute/descriptor values from the UFS device. For example the initial values of the debugfs files do NOT reflect the current state of the UFS device. Based on commit: e8165af ufs: Support for LUN and Refclkfreq Programming Bug 1891216 Bug 200288394 Change-Id: Ia1a30233c65422c04eace0f2021a4e36a56e7940 Signed-off-by: Naveen Kumar Arepalli <naveenk@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1551804 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
* ufs: tegra: Set burst closure delay to default valueNaveen Kumar Arepalli2017-09-29
| | | | | | | | | | | | | | | | | | | -After link start configuration request from Host controller, burst closure delay needs to be configured to previous default value. Bug 200291450 Change-Id: I36a9670946918803acadce5951f3402dbc6a4f1f Reviewed-on: http://git-master/r/1475172 (cherry picked from commit c1b9c1776bbde6716ebc56a5ef64afc414591522) Signed-off-by: Naveen Kumar Arepalli <naveenk@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1544688 Reviewed-by: svccoveritychecker <svccoveritychecker@nvidia.com> Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com> GVS: Gerrit_Virtual_Submit Tested-by: R Raj Kumar <rrajk@nvidia.com> Reviewed-by: Venu Byravarasu <vbyravarasu@nvidia.com>
* drivers: scsi: ufs: Fix warnings as errorPuneet Saxena2017-09-29
| | | | | | | | | | | | It fixes warnings as error in scsi/ufs drivers. Bug 200320173 Change-Id: Ifd497d60d062744a84b7455056f409039cbfc6b0 Signed-off-by: Puneet Saxena <puneets@nvidia.com> Reviewed-on: http://git-master/r/1505400 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
* soc: tegra: use soc/tegra/chip-id.h for soc headerShardar Shariff Md2017-09-29
| | | | | | | | | | | | | | The soc tegra headers are unified and moved all the content of linux/tegra-soc.h to the soc/tegra/chip-id.h to have the single soc header for Tegra. Change-Id: I8119717635823a642a08ba3e5eeed4e599f8d0df Signed-off-by: Shardar Shariff Md <smohammed@nvidia.com> Reviewed-on: http://git-master/r/1288269 (cherry picked from commit 7c1c5eecae76aad99c6d28c1a812722c8471e448) Reviewed-on: http://git-master/r/1489076 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
* ufs: tegra: Init mphy_force_ls_mode clock handle.Naveen Kumar Arepalli2017-09-29
| | | | | | | | | | | | | | | -Init mphy_force_ls_mode clock handle before using it. Bug 200278112 Reviewed-on: http://git-master/r/1495908 (cherry picked from commit e9f2e648a2482424b90c7d83214b95ce4530f0ef) Change-Id: I20c1565f7365285539ed7799a2e40102ace09d56 Signed-off-by: Naveen Kumar Arepalli <naveenk@nvidia.com> Reviewed-on: http://git-master/r/1500263 Reviewed-by: svccoveritychecker <svccoveritychecker@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
* ufs: tegra: Enable and Disable mphy_force_ls_mode.Naveen Kumar Arepalli2017-09-29
| | | | | | | | | | | | | | | | | | -Enable and Disable mphy_force_ls_mode to keep clocks in default state. Bug 200278112 Reviewed-on: http://git-master/r/#/c/1478096/ (cherry picked from commit ce48f7f6df99551aecd2f1d64d800a758fd07a07) Reviewed-on: http://git-master/r/1477396 (cherry picked from commit f64705b9ee955fb5f2179c83908404daec93ccb3) Change-Id: Icc7a61d39976f48873694a5d61eec62a14271ee2 Signed-off-by: Naveen Kumar Arepalli <naveenk@nvidia.com> Reviewed-on: http://git-master/r/1500262 Reviewed-by: svccoveritychecker <svccoveritychecker@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
* ufs: tegra: Enable Hibernate_WAR based on DT property.Naveen Kumar Arepalli2017-09-29
| | | | | | | | | | | | | | ->Parse nvidia,enable-hibern8-war property to enable hibernate WAR. Bug 200317245 Signed-off-by: Naveen Kumar Arepalli <naveenk@nvidia.com> Change-Id: Ie095468407875154706c5619f09c8c15ad2e1352 Reviewed-on: http://git-master/r/1499201 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
* ufs: tegra: fix compile error with GCC 6.3David Pu2017-09-29
| | | | | | | | | | | | Bug 200302518 Change-Id: I464ce4a42d4f5febe0fd1842647bd11de3dd929d Signed-off-by: David Pu <dpu@nvidia.com> Reviewed-on: http://git-master/r/1472325 GVS: Gerrit_Virtual_Submit Reviewed-by: Pritesh Raithatha <praithatha@nvidia.com> Tested-by: Pritesh Raithatha <praithatha@nvidia.com> Reviewed-by: Sachin Nikam <snikam@nvidia.com>
* ufs: tegra: Set burst closure delay to 0Naveen Kumar Arepalli2017-09-29
| | | | | | | | | | | | | | | | | -Before link start configuration request from Host controller, burst closure delay needs to be configured to 0. -This setting is recommended by ASIC team. Bug 200277026 Change-Id: I7f5b1ab4fa98dcc208329e0d89849c2c663a6349 Signed-off-by: Naveen Kumar Arepalli <naveenk@nvidia.com> Reviewed-on: http://git-master/r/1302085 (cherry picked from commit 4d36e17224bb912386a24e936fc230fadd578233) Reviewed-on: http://git-master/r/1460449 GVS: Gerrit_Virtual_Submit Reviewed-by: Pavan Kunapuli <pkunapuli@nvidia.com> Reviewed-by: Venu Byravarasu <vbyravarasu@nvidia.com>
* ufs: tegra: Mask UFS HS modes is ref_clk is not correctNaveen Kumar Arepalli2017-09-29
| | | | | | | | | | | | | | | | | -ufs device supports different ref_clk values, UFS HS modes will fail if ref_clk value is not set to 19.2 MHz. -Value 0 indicates that ufs device ref clk is 19.2 MHz. Bug 1859607 Change-Id: I590dcc3e39e69f87df26f9cc5e28ff61e25023cc Signed-off-by: Naveen Kumar Arepalli <naveenk@nvidia.com> Reviewed-on: http://git-master/r/1297161 (cherry picked from commit 9f951eb98172d48e26d5f227700ebd1e0a2a4b55) Reviewed-on: http://git-master/r/1460448 GVS: Gerrit_Virtual_Submit Reviewed-by: Pavan Kunapuli <pkunapuli@nvidia.com> Reviewed-by: Venu Byravarasu <vbyravarasu@nvidia.com>
* ufs: tegra: Enable ufs rtpm in system resume case.Naveen Kumar Arepalli2017-09-29
| | | | | | | | | | | | | Bug 200244924 Change-Id: Icc5cc489ab2080d925a650b62415bea4e223c021 Signed-off-by: Naveen Kumar Arepalli <naveenk@nvidia.com> Reviewed-on: http://git-master/r/1288062 (cherry picked from commit 7ef32aec72048d6ae9c67a21ed95dba17d240d13) Reviewed-on: http://git-master/r/1460445 GVS: Gerrit_Virtual_Submit Reviewed-by: Pavan Kunapuli <pkunapuli@nvidia.com> Reviewed-by: Venu Byravarasu <vbyravarasu@nvidia.com>
* ufs: tegra: enable hce_enable_notify call back.Naveen Kumar Arepalli2017-09-29
| | | | | | | | | | | | | | | | | | | -This patch is needed for fatal error recovery sequence. -Enable hce_enable_notify call back. -Keep MPHY clocks in PWM mode before enabling hce. -Apply reset to ufs device before enabling hce. -Remove reset after enabling hce. Bug 200258199 Change-Id: I8058d44defbc2fe994076760d5fc4f32382127b3 Signed-off-by: Naveen Kumar Arepalli <naveenk@nvidia.com> Reviewed-on: http://git-master/r/1273256 (cherry picked from commit d5f8f1433a82246b84f034f5c4be39c4467c26e0) Reviewed-on: http://git-master/r/1460444 GVS: Gerrit_Virtual_Submit Reviewed-by: Pavan Kunapuli <pkunapuli@nvidia.com> Reviewed-by: Venu Byravarasu <vbyravarasu@nvidia.com>
* ufs: tegra: Enable UFS RTPM suspend/resume call backs.Naveen Kumar Arepalli2017-09-29
| | | | | | | | | | | | | | -Enable UFS RTPM to keep ufs link in hibernate state to save power. -Enable UFS RTPM suspend/resume call backs. -Set ufs rpm level to UFS_PM_LVL_1. -UFS_PM_LVL_1: UFS_ACTIVE_PWR_MODE, UIC_LINK_HIBERN8_STATE. Bug 200222004 Reviewed-on: http://git-master/r/1273812 Change-Id: Ib843f467c77ac558a25e5367f4956d59eb6547cf Signed-off-by: Naveen Kumar Arepalli <naveenk@nvidia.com>
* ufs: tegra: Register and Implement hibern8_entry_notify event.Naveen Kumar Arepalli2017-09-29
| | | | | | | | | | | | | -ASIC team has suggested a WAR to reset mphy rx after keeping ufs in to hibernate state. -As mphy reset is issued, mphy context should be saved be saved before mphy reset and restore back after reset. -WAR is implemented in ufs_tegra_hibern8_entry_notify function and configured using NVQUIRK_BROKEN_HIBERN8_ENTRY quirk. Reviewed-on: http://git-master/r/1263089 Change-Id: I9f80edfc8f2c4bd6ae6a8909fc0e28943a44f905 Signed-off-by: Naveen Kumar Arepalli <naveenk@nvidia.com>
* ufs: tegra: update Save_Config_Time unipro register.Naveen Kumar Arepalli2017-09-29
| | | | | | | | | | | | | -Update ST_SCT field of Save_Config_Time unipro register as recommended by ASIC team. -This setting is necessary to fix errors when hibernate entry/exit command is issued. Bug 200255881 Reviewed-on: http://git-master/r/1258604 Change-Id: Ic9ccdaf64a940bf57f0b73961e0098ae15e1e956 Signed-off-by: Naveen Kumar Arepalli <naveenk@nvidia.com>
* ufs: tegra: Don't set clock parent and frequency for ufsdevNaveen Kumar Arepalli2017-09-29
| | | | | | | | | | | | | -TEGRA186_CLK_UFSDEV_REF is a gate-only clock. It's parent is clk_m and rate is always 19.2MHz hence, the driver does not need to try to set frequency or parent. -clk_set_rate is failing with error code -22, as the parent and frequency is set by default, removing code from ufs-tegra driver. Bug 200264660 Change-Id: I045b7f7a25f5355e1af0a094bb8453b7a84fdb3f Signed-off-by: Naveen Kumar Arepalli <naveenk@nvidia.com>
* ufs: tegra: ufs suspend/resume implementationNaveen Kumar Arepalli2017-09-29
| | | | | | | | | | | | | | | | -Diasble ufs/mphy clocks in suspend. -assert ufs/mphy reset in suspend. -enable ufs/mphy clocks in resume. -de-assert ufs/mphy in resume. -enable device reset before disabling dpd for ufs. -issue go-bit for restoring mphy registers in resume. -remove regulator management code in ufs-tegra file. Bug 200190540 Bug 200189601 Change-Id: Ibabe63030e3771c19eeb3a5f04e901556e4db4b5 Signed-off-by: Naveen Kumar Arepalli <naveenk@nvidia.com>
* scsi: ufs: invoke probe and init for Tegra UFS driverNaveen Kumar Arepalli2017-09-29
| | | | | | | Change-Id: I7947e703b795eebf1cfc9398b2505260296b2aa2 Signed-off-by: Naveen Kumar Arepalli <naveenk@nvidia.com> Reviewed-on: http://git-master/r/1131077 Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
* ufs: tegra: Enable debugfs to display ufs configuration.Naveen Kumar Arepalli2017-09-29
| | | | | | | | | | | | | | | -Enable debugfs to display ufs configuration. -configuration node is created to disaplay UFSHCI version and NUTRS, NUTMRS. -Print UFS power mode configuration details. -get clk handle for mphy_l0_rx_ls_bit clock. -Update ufs & mphy reset connection names. -Enable SLCG for UFS and MPhy. Bug 200136500 Change-Id: I7b67bcb05472896b1dbaf8587881a0cb85870492 Signed-off-by: Naveen Kumar Arepalli <naveenk@nvidia.com>
* ufs: tegra: Implement pre and post changes.Naveen Kumar Arepalli2017-09-29
| | | | | | | | | | | | | | -Implement pre and post link up settings. -Update mphy rx calibration sequence. -- Parse nvidia,enable-rx-calib, nvidia,enable-x2-config dt properties. -Call receiver calibration after link startup. -Implement pre and post changes for power mode configuration. Bug 200145028 Change-Id: I57f7d57a8c9c9d5c6bb278659c3fb2bdeb3e5094 Signed-off-by: Naveen Kumar Arepalli <naveenk@nvidia.com>
* ufs: tegra: Add support to enable UFS clocks/regulatorsNaveen Kumar Arepalli2017-09-29
| | | | | | | | | | | -Add support to enable ufs clocks. -Add ufs de-assert support. -Correct ufs_aux remap address range. -Correct mphy remap address range. -Update the sequence of executing UFS functions. Change-Id: I2ff138f7d55e356a2adec2722ba48cab30d01ecc Signed-off-by: Naveen Kumar Arepalli <naveenk@nvidia.com>
* scsi: ufs: add ufs tegra host controller driverNaveen Kumar Arepalli2017-09-29
This includes below changes - adds UFS tegra driver support - Vendor register progaming - uphy and ufs aux register programing - add CCF support to ufs host controller driver - add common reset frame work support to ufs host controller driver - suspend resume support - add support for mphy receiver calibration. Bug 200078857 Bug 200123542 Bug 200133891 Change-Id: I4266a796906e8b503cb79731191c80de2e72d1ae Signed-off-by: venkata jagadish <vjagadish@nvidia.com> Signed-off-by: Naveen Kumar Arepalli <naveenk@nvidia.com>