summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2013-08-06Revert "video: tegra: Removing tegra_fb_set_par from tegra_fb_register"pdabade
This reverts commit 5065f2b7ca2f76f5cf48ceef3f4d09435d30be2e. Window format is not initialized. Window format is set by tegra_fb_set_par. Bug 1326825 Signed-off-by: Pankaj Dabade <pdabade@nvidia.com> Change-Id: I8c181cfc11f1db1df5b928f0c1216a40a6641160 Reviewed-on: http://git-master/r/254901 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Reviewed-by: Matthew Pedro <mapedro@nvidia.com>
2013-08-06i2c: tegra: enable I2C_INT_ALL_PACKETS_XFER_COMPLETE interrupt.Nitin Sehgal
- fix i2c timeout issue as I2C_INT_ALL_PACKETS_XFER_COMPLETE is disabled. bug 1313673 bug 1278481 Change-Id: I2a2c39c64298ed6e087abbe047ba01113db80f3e Signed-off-by: Nitin Sehgal <nsehgal@nvidia.com> Signed-off-by: Naveen Kumar S <nkumars@nvidia.com> Reviewed-on: http://git-master/r/243891 (cherry picked from commit ca3063b3717b6cb4777d4ea2882636e98f9ccd5a) Reviewed-on: http://git-master/r/250779 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com> Reviewed-by: Matthew Pedro <mapedro@nvidia.com>
2013-08-06backlight: pwm_bl: Bypassing registration of backlight as edp clientpdabade
Register device as EDP client only when EDP_FRAMEWORK is enabled. Bug 1306131 Change-Id: Id8b3ea91426ba04b402b36b1a61e48b00debbe36 Signed-off-by: Pankaj Dabade <pdabade@nvidia.com> Reviewed-on: http://git-master/r/245369 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Kiran Adduri <kadduri@nvidia.com> Reviewed-by: Matthew Pedro <mapedro@nvidia.com>
2013-07-15video: tegra: dc: hdmi: remove dangling pointerJong Kim
Remove dangling pointer by removing kfree in tegra_dc_add_modes. specs.modedb is allocated by tegra_dc_add_modes(), but is consumed by tegra_fb_update_monspecs(), so releasing specs.modedb creates a dangling pointer and make the system crashed, especially when the system suspends to lp0. bug 1264520 Change-Id: Ic944e75b631800ed552b7e56b5799a3e60b48afe Signed-off-by: Jong Kim <jongk@nvidia.com> Reviewed-on: http://git-master/r/248089 (cherry picked from commit e00bcba1c2d54f91d9ff93c5f8fd61c40a9ab5bd) Reviewed-on: http://git-master/r/248727 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Matthew Pedro <mapedro@nvidia.com> Tested-by: Matthew Pedro <mapedro@nvidia.com>
2013-07-11media: video: tegra: correct gpio accessBibek Basu
Read and write to gpios only when request for the gpio has suceeded Bug 1317541 Change-Id: Icfeed36b9e95f4ee03e49bee0cc8b3c2daf4a4a8 Signed-off-by: Bibek Basu <bbasu@nvidia.com> Reviewed-on: http://git-master/r/244190 (cherry picked from commit 1caddafdf260e3521804a02395d42f3f96928b99) Reviewed-on: http://git-master/r/245281 Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Reviewed-by: Winnie Hsu <whsu@nvidia.com>
2013-07-11video: tegra: fb: hdmi: enable new mode on HDMIJong Kim
Enable HDMI as primary framebuffer console by programming the HW when new/best mode is detected. bug 1264520 Change-Id: I8862d2860c97a1241d4acae8206c71de06ea0162 Signed-off-by: Jong Kim <jongk@nvidia.com> Reviewed-on: http://git-master/r/243981 (cherry picked from commit a49c55a39ee7b6e2b1075b7441f500c4572c2ddd) Reviewed-on: http://git-master/r/247279 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Matthew Pedro <mapedro@nvidia.com> Tested-by: Matthew Pedro <mapedro@nvidia.com>
2013-07-11video: tegra: dc: hdmi: remove dead lockJong Kim
Remove dead lock for HDMI used as the primary display. tegra_dc_hdmi_detect should not acquire dc->lock, which generates dead lock because its sub-procedure such as tegra_dc_set_mode(), tegra_dc_enable(), tegra_dc_disable(), etc... try to acquire same dc->lock withing same process context. bug 1264520 Change-Id: I4d5f301a8f46e2ad2f990637b1f1c3b1d02a5054 Signed-off-by: Jong Kim <jongk@nvidia.com> Reviewed-on: http://git-master/r/243980 (cherry picked from commit 7d88a78ad46d3b6ef106da5b6aeafc77191dfe35) Reviewed-on: http://git-master/r/247278 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Matthew Pedro <mapedro@nvidia.com>
2013-07-11video: tegra: dc: hdmi: call tegra_dc_hpd in tegra_hdmi_hotplug_signalsharath sarangpur
Call tegra_hotplug_signal to queue deferred work after a delay of 30ms and call gpio_get_value in tegra_dc_hpd bug 1298680 Change-Id: I7e1c15c1445116b4f6400708335590ea6e2d5d0b Signed-off-by: sharath sarangpur <ssarangpur@nvidia.com> Reviewed-on: http://git-master/r/241136 (cherry picked from commit a05fe127fde8c6b77aa686248c6bd8387642aa43) Reviewed-on: http://git-master/r/247366 Tested-by: Jong Kim <jongk@nvidia.com> Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Matthew Pedro <mapedro@nvidia.com> Tested-by: Matthew Pedro <mapedro@nvidia.com>
2013-07-11video: tegra: dc: hdmi: defer resume regulator enableJon Mayo
On suspend/resume, defer the blocking regulator enable. Place this slow path in the dedicated hotplug thread. bug 1299936 bug 1294872 Change-Id: I61a835c2c37dcae47697482e0023b68684ff19dc Signed-off-by: Jon Mayo <jmayo@nvidia.com> Reviewed-on: http://git-master/r/239058 (cherry picked from commit 6e789c76d47a6e144868d1e33f9d79b7fc58405d) Reviewed-on: http://git-master/r/247365 Tested-by: Jong Kim <jongk@nvidia.com> Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Matthew Pedro <mapedro@nvidia.com> Tested-by: Matthew Pedro <mapedro@nvidia.com>
2013-07-11video: tegra: dc: don't blank DC before disablingVictor Ryabukhin
Blanking the screen before DC disable is redundant and might cause momentary screen flash (screen off -> on -> off) in case if DC receives flip ioctl after screen was blanked. This also makes DC shutdown process similar to FB_BLANK_POWERDOWN. Bug 1299434 Change-Id: I9d3713bae4cc4511c7beb0cef22499cb9b3b5d64 Signed-off-by: Victor Ryabukhin <vryabukhin@nvidia.com> Reviewed-on: http://git-master/r/237914 (cherry picked from commit 161501da4ae10339e6f8c6ce208cca305d1f6569) Reviewed-on: http://git-master/r/247364 Tested-by: Jong Kim <jongk@nvidia.com> Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Matthew Pedro <mapedro@nvidia.com> Tested-by: Matthew Pedro <mapedro@nvidia.com>
2013-07-10video: tegra: Removing tegra_fb_set_par from tegra_fb_registerpdabade
Removing tegra_fb_set_par from tegra_fb_register which tries to set videomode to nearest mode before the framebuffer modelist is ready. Function register_framebuffer() is found to add a mode to modelist and calls tegra_fb_set_par later. bug 1194793 Change-Id: I3908a435dddba3b8884f33bcaa0f3955b94b4147 Signed-off-by: Pankaj Dabade <pdabade@nvidia.com> Reviewed-on: http://git-master/r/242499 (cherry picked from commit f6c60cef8e6707e06c5057a43ecf280902eb1cce) Reviewed-on: http://git-master/r/243328 GVS: Gerrit_Virtual_Submit Reviewed-by: Kiran Adduri <kadduri@nvidia.com> Reviewed-by: Jong Kim <jongk@nvidia.com> Tested-by: Jong Kim <jongk@nvidia.com> Reviewed-by: Matthew Pedro <mapedro@nvidia.com>
2013-06-12power: max77665-charger: config OC current from board fileXin Xie
Currently we hard wired the OC current to 3.25A on MAX77665. But different board could use different setting, or do not use MAX77665 to generate OC alert. This patch use the board file to config OC current. bug 1298931 Change-Id: I87872b6c7bc052efec680683dee6cde571359d84 Signed-off-by: Xin Xie <xxie@nvidia.com> Reviewed-on: http://git-master/r/237769 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
2013-06-12net: wireless: sd8897/sd8797: Update WLAN/BT driverMarc Yang
Signed-off-by: Marc Yang <yangyang@marvell.com> Update SD8897 and SD8797 WLAN driver Add SD8897 and SD8797 BT drivers Bug 1256420 Bug 1279040 Change-Id: I3338479450b1b6716a1e3b899e33de92850c9e85 Signed-off-by: Nagarjuna Kristam <nkristam@nvidia.com> Reviewed-on: http://git-master/r/235723 Reviewed-by: Mohan Thadikamalla <mohant@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
2013-06-12net: wireless: 8797/8897: Add SUSPEND/RESUME flagsMarc Yang
Add SUSPEND/RESUME flags to Makefiles of SD8897 and SD8797 WLAN drivers Signed-off-by: Marc Yang <yangyang@marvell.com> Bug 1279040 Bug 1256420 Change-Id: I2d0518c38b6003a96d3c7447a8a64210ffc319dc Signed-off-by: Nagarjuna Kristam <nkristam@nvidia.com> Reviewed-on: http://git-master/r/235722 Reviewed-by: Mohan Thadikamalla <mohant@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
2013-06-12net: wireless: sd8797: Update SD8797 WLAN driverMarc Yang
Signed-off-by: Marc Yang <yangyang@marvell.com> Bug 1279040 Change-Id: Ifee06a06feb304b039f62f2a3730dc4f04f1e7b5 Signed-off-by: Nagarjuna Kristam <nkristam@nvidia.com> Reviewed-on: http://git-master/r/235721 Reviewed-by: Mohan Thadikamalla <mohant@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
2013-06-12hwmon: ina230: fix negative current readingXin Xie
bug 1298931 Change-Id: If0037afb285b88dde11fe5f40def8f8fe9727c56 Signed-off-by: Xin Xie <xxie@nvidia.com> Reviewed-on: http://git-master/r/235215 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
2013-06-12media: video: tegra: fuse id supportPhil Breczinski
Adds support to read fuse ID from OTP memory on ov2710, ov9726, ov9772, ar0832, and imx091 sensors. Also includes macro-enabled fuse ID programming for ov2710. Adjusts data structure used by fuse ID ioctl to include a field for fuse ID size. Required by nvcamera version 1.8.0 Required by NVCS version 4.10.0 Bug 1198663 Change-Id: Ib3bb0e100e49aea2c6ce13cd069862476d7f4bb6 Signed-off-by: Phil Breczinski <pbreczinski@nvidia.com> Reviewed-on: http://git-master/r/169187 (cherry picked from commit 0ce57617ee1f735759333a589aa2890559053fe0) Reviewed-on: http://git-master/r/232254 Reviewed-by: Brian Bamsch <bbamsch@nvidia.com> Tested-by: Brian Bamsch <bbamsch@nvidia.com> Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Jon Mayo <jmayo@nvidia.com>
2013-06-11media: tegra: apply ov7695 qualiy tune (060713)Jake Park
Apply ov7695 qualiy tune register change from OV, 'OV7695 reference setting_MIPI_24MCLK_060713_nVidia.txt'. Bug 1278482 Change-Id: If14deae5e49cc766c226e57d91a325b3fb1a8134 Signed-off-by: Jake Park <jakep@nvidia.com> Reviewed-on: http://git-master/r/237108 (cherry picked from commit bf6303da0d525e9656e3da04bde609589945a0c6) Reviewed-on: http://git-master/r/237161 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Sachin Nikam <snikam@nvidia.com>
2013-06-11power: power-supply-extcon: update cable state during initLaxman Dewangan
Update cable state during initialisation to have the sync with the cable state if cable state event is missed which is happened before initialisation of driver. bug 1304013 Change-Id: I87eb4c41ab589094639379eff8ed2837893ca892 Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com> Reviewed-on: http://git-master/r/234771 Reviewed-by: Hyong Bin Kim <hyongbink@nvidia.com> Tested-by: Hyong Bin Kim <hyongbink@nvidia.com> Reviewed-by: Automatic_Commit_Validation_User
2013-06-11USB: xhci: Dynamic host load supportKrishna Yarlagadda
Load xhci dynamically when otg cable is connected Bug 1242148 Change-Id: If6b9b3ad198e3d1aef7636e9a7752be7a4ccc1c7 Signed-off-by: Krishna Yarlagadda <kyarlagadda@nvidia.com> Reviewed-on: http://git-master/r/234146 Reviewed-by: Riham Haidar <rhaidar@nvidia.com> Tested-by: Riham Haidar <rhaidar@nvidia.com>
2013-06-11media: video: tegra: ad5816: Stay on after probePhil Breczinski
Keep power on after probe function. Also change focus position type from u16 to s32 so garbage bytes aren't passed to the raw header. Bug 1283378 Change-Id: I6a045ac93a3045e390cee9bd0a9772c6d7668290 Signed-off-by: Phil Breczinski <pbreczinski@nvidia.com> Reviewed-on: http://git-master/r/237032 Reviewed-by: Zhaoyi Wei <zwei@nvidia.com> Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Gilbert Yeung <gyeung@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
2013-06-11video: tegra: fb: Make offset comparison android specificpdabade
Making current x and y offset comparison android specific. Bug 1216329 Change-Id: Ie28d81fc2bff06237528fba56a348a442233e6c7 Signed-off-by: Pankaj Dabade <pdabade@nvidia.com> Reviewed-on: http://git-master/r/236257 Reviewed-by: Riham Haidar <rhaidar@nvidia.com> Tested-by: Riham Haidar <rhaidar@nvidia.com>
2013-06-11video: tegra: dc: use DISB power domain for HDMIJon Mayo
Always use DISB for HDMI. Bug 236314 Change-Id: I65e7a6344b62998363e26510dcab17b006bb9d18 Signed-off-by: Jon Mayo <jmayo@nvidia.com> Reviewed-on: http://git-master/r/236928 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Michael I Gold <gold@nvidia.com>
2013-06-11driver: switch: avoid access freed memoryJay Cheng
reorder switch_dev_unergister function to avoide access freed memory bug 1302980 Change-Id: I741cce3001b401b4c9c95dff29a5bd0a7d7009bd Signed-off-by: Jay Cheng <jacheng@nvidia.com> Reviewed-on: http://git-master/r/236428 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Bo Yan <byan@nvidia.com>
2013-06-11media: tegra: ad5823: add setting from cal dataJake Park
Added the capability to set pos_high/pos_low from the per unit calibration data for VCM. Bug 1271714 Bug 1270541 Bug 1264961 Change-Id: If459308459523918be153df809f8890b379a797c Signed-off-by: Jake Park <jakep@nvidia.com> Reviewed-on: http://git-master/r/232852 (cherry picked from commit 2c86c26fd86d913980503bd860de4fcfb9b84c73) Reviewed-on: http://git-master/r/222636 Reviewed-by: Riham Haidar <rhaidar@nvidia.com> Tested-by: Riham Haidar <rhaidar@nvidia.com>
2013-06-11input: misc: fix sysfs permissionsErik Lilliebjerg
- Fix sysfs permissions. - Fix raw accelerometer access. - Fix autodetection behind MPU. - Add self-test. Bug 1224709 Bug 1243584 Bug 1291044 Bug 1295651 Bug 1290313 Bug 1298831 Change-Id: I55847fd158abdb9f12dc830218619c6ed7913396 Signed-off-by: Erik Lilliebjerg <elilliebjerg@nvidia.com> Reviewed-on: http://git-master/r/236327 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Robert Collins <rcollins@nvidia.com> Tested-by: Robert Collins <rcollins@nvidia.com> Reviewed-by: Jon Mayo <jmayo@nvidia.com>
2013-06-10media:video:tegra: adjusting ad5823 valueKarl Kim
settletime / POW_LOW / POS_HIGH / VCM_MODE_TIME value is adjusted by result of ad5823 characterization. Bug 1288326 Change-Id: Ibb22927049610d6ea3b5df499b2aa322c2d3e548 Signed-off-by: Karl Kim <kkim@nvidia.com> Reviewed-on: http://git-master/r/235435 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Jake Park <jakep@nvidia.com> Reviewed-by: Sachin Nikam <snikam@nvidia.com>
2013-06-10media: video: tegra: Fix ov5693 preview flashing issueFrank Chen
Set MGC register to use sensor gain instead of real gain. Change-Id: I949637ec50230539bccdb0acfc4e069165fba33d Signed-off-by: Frank Chen <frankc@nvidia.com> Reviewed-on: http://git-master/r/234764 Reviewed-on: http://git-master/r/234785 (cherry picked from commit 25bd6126c61fb839411ae9570249f465b005722c) Reviewed-on: http://git-master/r/236900 Reviewed-by: Yin-Chia Yeh <yyeh@nvidia.com> Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Sachin Nikam <snikam@nvidia.com>
2013-06-10Camera: Kernel: modified ov5693 power on/off sequenceAlvin Park
1. modified ov5693 power on/off sequence 2. removed unused power rail 3. removed delay code Bug 1234944 Change-Id: I681088faeb3dd663bae1e3f827270da2270a65f2 Signed-off-by: Alvin Park <apark@nvidia.com> Reviewed-on: http://git-master/r/233584 (cherry picked from commit 1a6856f773b4a27d1d1035abea7958c0dc190b56) Reviewed-on: http://git-master/r/236899 Reviewed-by: Frank Chen <frankc@nvidia.com> Tested-by: Frank Chen <frankc@nvidia.com> Reviewed-by: Yin-Chia Yeh <yyeh@nvidia.com> Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Sachin Nikam <snikam@nvidia.com>
2013-06-10input: touch: maxim: update cpu boostDavid Jung
Nvidia change to update cpu boost to use MSC Activity Bug 1290845 Bug 1302936 Change-Id: I31e71d7801c80db0fd32d17bb12a628123eac7cf Signed-off-by: David Jung <djung@nvidia.com> Reviewed-on: http://git-master/r/234302 (cherry picked from commit 38393a0bcefad477254a19b563ed2842e355c62b) Reviewed-on: http://git-master/r/229856 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Yogish Kulkarni <yogishk@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Jinyoung Park <jinyoungp@nvidia.com> Reviewed-by: Robert Collins <rcollins@nvidia.com> Reviewed-by: Li Li (SW-TEGRA) <lli5@nvidia.com> Reviewed-by: Scott Peterson <speterson@nvidia.com> Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
2013-06-10tegra/iommu: smmu: Add linear map support at unmapHiroshi Doyu
Add linear map support at unmap bug 1286500 Change-Id: I093ddf8ab6c72fd917107944edef3e465414e345 Signed-off-by: Hiroshi Doyu <hdoyu@nvidia.com> Reviewed-on: http://git-master/r/234139 Reviewed-by: Krishna Reddy <vdumpa@nvidia.com>
2013-06-10iommu/tegra: smmu: rel-17 fixupHiroshi Doyu
Fix a gap between m/main and rel-17. rel-17 hasn't enable PLATFORM_ENABLE_IOMMU yet. bug 1286500 Change-Id: Ic860fb081ae7178dc997bbf947990c6cf1de4a41 Signed-off-by: Hiroshi Doyu <hdoyu@nvidia.com> Reviewed-on: http://git-master/r/234138 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Krishna Reddy <vdumpa@nvidia.com>
2013-06-10video: tegra: nvmap: Add tegra_iovmm_vm_insert_pages()Hiroshi Doyu
Use ops->map_pages() for nvmap. bug 1286500 Change-Id: Ibaaf27a3c5cb4086561f1b4bcd40ebb5a40cd12c (cherry picked from commit c8453b97711a9af0d4913de16574fab6bf97d07c) Signed-off-by: Hiroshi Doyu <hdoyu@nvidia.com> Reviewed-on: http://git-master/r/234135 Reviewed-by: Krishna Reddy <vdumpa@nvidia.com>
2013-06-10iommu/tegra: smmu: Add Tegra errata 1053704 for some of Tegra SoCHiroshi Doyu
Add workaround of TEGRA_ERRATA_1053704 for some of Tegra SoC bug 1286500 Change-Id: I7d1a75b198051bc49eb7e14e4e7892eab9818f29 (cherry picked from commit fc688d6f91ae4250cb16274bc8b41875ead06b4e) Signed-off-by: Hiroshi Doyu <hdoyu@nvidia.com> Reviewed-on: http://git-master/r/234132 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Krishna Reddy <vdumpa@nvidia.com>
2013-06-10iommu/core: Add new API iommu_map_pages()Hiroshi Doyu
Add new API iommu_map_pages() to call iommu_ops->map_pages() internally. bug 1286500 Change-Id: I37605703def34bba774e480b29506c459d6391bd (cherry picked from commit 11ed57ffcbd908e12c1fd836211beed4fc577833) Signed-off-by: Hiroshi Doyu <hdoyu@nvidia.com> Reviewed-on: http://git-master/r/234131 Reviewed-by: Krishna Reddy <vdumpa@nvidia.com>
2013-06-10iommu/tegra: smmu: Add ->map_pages() for perfHiroshi Doyu
Implement iommu_ops->map_pages() for tegra-smmu. bug 1286500 Change-Id: I0d50d2e73cd9d4c17416e67f100de7194078808f (cherry picked from commit dfee95817e0150223a06a8062a21e3889903a428) Signed-off-by: Hiroshi Doyu <hdoyu@nvidia.com> Reviewed-on: http://git-master/r/234129 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Krishna Reddy <vdumpa@nvidia.com>
2013-06-10iommu/tegra: smmu: iterate {SECTION,GROUP} instead of TLB_FLUSH_ALLHiroshi Doyu
TLB_FLUSH_{ALL,ASID} has SMMU H/W bug at HUM OoO. To work around this H/W bug, iterate TLB_FLUSH_{SECTION,GROUP} for all PDIR index instead of TLB_FLUSH_ALL although a big perf penalty is expected. Enable flush_{ptc,tlb}_all when unmap entry is larger than some specific value. The threshold value can be set to define how many entries to use flush_ptc_tbl_all via debugfs entry, "flush_all_threshold". bug 1286500 Change-Id: I3e8f1eb0316a6829a14661b8e1d4cfcd7e2ec85b (cherry picked from commit 0aad4b30dde6fd6dd2d86536c6797d83c79830b4) Signed-off-by: Hiroshi Doyu <hdoyu@nvidia.com> Reviewed-on: http://git-master/r/234128 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Krishna Reddy <vdumpa@nvidia.com>
2013-06-10iommu/tegra: smmu: Add smmu_flush_{ptc,tlb}_range()Hiroshi Doyu
Add smmu_flush_{ptc,tlb}_range(), a little bit more efficient because it skips unnecessary flushing by unit. bug 1286500 Change-Id: I879d39d6e514662c1ce70fa4e3bc62a3eeb5b31a (cherry picked from commit 1a1e153bcb978e421407c2ccbab9667b5cd380cf) Signed-off-by: Hiroshi Doyu <hdoyu@nvidia.com> Reviewed-on: http://git-master/r/234127 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Krishna Reddy <vdumpa@nvidia.com>
2013-06-10iommu/tegra: smmu: Rename SMMU_ADDR_TO_PFN to SMMU_ADDR_TO_PTNHiroshi Doyu
It will convert an address to a Page Table index Number. This is equivalent to SMMU_ADDR_TO_PDN(), which converts an address to a Page Directory index Number. So it's better to use PTN instead of PFN, which may imply Page Frame Number wrongly. bug 1286500 Change-Id: Ib2e02b91c5af91df5d374064e10266341adb402b (cherry picked from commit 36448e5261403c54c6c30ddc41db9040f88bd1e7) Signed-off-by: Hiroshi Doyu <hdoyu@nvidia.com> Reviewed-on: http://git-master/r/234126 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Krishna Reddy <vdumpa@nvidia.com>
2013-06-10iommu/tegra: smmu: Add alloc_tbl() for L2 pagetableHiroshi Doyu
Add alloc_tbl() to allocate SMMU L2 pagetable. This is refactoring alloc_tbl() out from locate_pte() for the later use. bug 1286500 Change-Id: I03177cf18a41b06e1aab03d748064a845d2b7284 (cherry picked from commit 2194fef5f777a2438ed5d268ef48de8bd8f7b460) Signed-off-by: Hiroshi Doyu <hdoyu@nvidia.com> Reviewed-on: http://git-master/r/234125 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Krishna Reddy <vdumpa@nvidia.com>
2013-06-10iommu/tegra: smmu: Remove unnecessary checkHiroshi Doyu
This sholdn't happen because the previous write doesn't match to the condition. bug 1286500 Change-Id: If80063d8feb8e75e828b5b1d9cbdb3f2f014d79d (cherry picked from commit ac62226fcbfc698a489b4d458e91233a2659c6b8) Signed-off-by: Hiroshi Doyu <hdoyu@nvidia.com> Reviewed-on: http://git-master/r/234124 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Krishna Reddy <vdumpa@nvidia.com>
2013-06-10iommu/tegra: smmu: Skip invalid L2 pagetalbe at unmapHiroshi Doyu
Skip invalid L2 pagetalbe at unmap. Unmap can be called against invalide pages. bug 1286500 Change-Id: I70e66eddb57982ae1dd2e0f592d18923676e9171 (cherry picked from commit 56a0bf501f15921bccfc73c3400ce48cb39f36be) Signed-off-by: Hiroshi Doyu <hdoyu@nvidia.com> Reviewed-on: http://git-master/r/234123 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Krishna Reddy <vdumpa@nvidia.com>
2013-06-10iommu/tegra: smmu: Unmap multiple pages at onceHiroshi Doyu
Implement to unmap multiple pages at once for performance. bug 1286500 Change-Id: Ifa4671a8d784f46f3cb5feed21e433240f1634ed (cherry picked from commit 93f56bda11694944ed246e4e119da073a435536c) Signed-off-by: Hiroshi Doyu <hdoyu@nvidia.com> Reviewed-on: http://git-master/r/234122 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Krishna Reddy <vdumpa@nvidia.com>
2013-06-10iommu/tegra: smmu: Add flush_ptc_and_tlb_range()Hiroshi Doyu
Add flush_ptc_and_tlb_range() to handle multiple entries at once. bug 1286500 Change-Id: Ib1e9e2e7131345bb422787633eb8d1a4c549dda0 (cherry picked from commit b16d45873a8776d7ef7259a9b293336d9a2e1d28) Signed-off-by: Hiroshi Doyu <hdoyu@nvidia.com> Reviewed-on: http://git-master/r/234121 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Krishna Reddy <vdumpa@nvidia.com>
2013-06-10iommu/tegra: smmu: Add flush_ptc_and_tlb_all()Hiroshi Doyu
A version of flush_ptc_and_tlb() against all entries within the same address space. bug 1286500 Change-Id: I73dfdb0f1249a89313edd89dc5a51b8229648a32 (cherry picked from commit 923f7df28db0f9e18d2698926e3896a0c77c9376) Signed-off-by: Hiroshi Doyu <hdoyu@nvidia.com> Reviewed-on: http://git-master/r/234120 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Krishna Reddy <vdumpa@nvidia.com>
2013-06-10iommu/tegra: smmu: Mask pagetable index correctlyHiroshi Doyu
Mask pagetable index to avoid overrun by removing unnecessary bit at first place. bug 1286500 Change-Id: I1bccd4d4b1c8510b540d7c0c60e1997ba63f952b (cherry picked from commit 88bc3c325df13f118ae5a3e492f713119a125e39) Signed-off-by: Hiroshi Doyu <hdoyu@nvidia.com> Reviewed-on: http://git-master/r/234119 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Krishna Reddy <vdumpa@nvidia.com>
2013-06-10iommu/tegra: smmu: Fix u32 -> u64 for swgidHiroshi Doyu
Fix u32 -> u64 for swgid. bug 1286500 Change-Id: I2ef4bdab4ec80e1578dd0ee8f3208179d295fb79 Reported-by: Terje Bergstrom <tbergstrom@nvidia.com> (cherry picked from commit eb64012d3a56e6499d5eb62e671a44641ab8987d) Signed-off-by: Hiroshi Doyu <hdoyu@nvidia.com> Reviewed-on: http://git-master/r/234118 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Krishna Reddy <vdumpa@nvidia.com>
2013-06-10iommu/tegra: smmu: Add support Multiple ASIDHiroshi Doyu
"nvidia,memory-client" ID is used to find a map/asid. If those info isn't provided, a platform can specify it in a fixup table later. bug 1286500 Change-Id: Id6b2955013d33052e9071678b7c119adf35a019f (cherry picked from commit 659e185e19482e781ae4be847aba12319a7da842) Signed-off-by: Hiroshi Doyu <hdoyu@nvidia.com> Reviewed-on: http://git-master/r/234117 Reviewed-by: Krishna Reddy <vdumpa@nvidia.com>
2013-06-10iommu/tegra: smmu: Remove SKIP_SWGRP_CHECKHiroshi Doyu
Remove obsolete workaround, SKIP_SWGRP_CHECK. bug 1286500 Change-Id: I2986a33af1304973a2c30e57f7790dd70729f566 (cherry picked from commit 7de038bc039ba1106580fea174a4b74805fea412) Signed-off-by: Hiroshi Doyu <hdoyu@nvidia.com> Reviewed-on: http://git-master/r/234116 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Krishna Reddy <vdumpa@nvidia.com>
2013-06-10iommu/tegra: smmu: Unified tegra-smmu with memory client IDsHiroshi Doyu
With memory client ID in bitmap, this driver can be unified among Tegra SoC after Tegra30. Presently a bitmap is set statically in the driver but this could be removed once tegra-smmu is instanciated from DT. This driver supports, T30, T114 and T148. bug 1286500 Change-Id: I39776fa3e0a3705f62f283687d063054be8210d1 (cherry picked from commit 181667972935e412bb81d0c5782d58babf183743) Signed-off-by: Hiroshi Doyu <hdoyu@nvidia.com> Reviewed-on: http://git-master/r/234115 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Krishna Reddy <vdumpa@nvidia.com>