summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2015-06-24media:ar0330: add 4 lanes setting 2048x1296tegra-l4t-r21.4Ming Wong
bug 1655159 Change-Id: I5c09cb63075f3465e90aee4f3619df02c34bca95 Signed-off-by: Ming Wong <miwong@nvidia.com> Reviewed-on: http://git-master/r/757527 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Bibek Basu <bbasu@nvidia.com> Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
2015-06-24mmc: tegra: reverify tuning best tapBibek Basu
tuning best_tap_value at times throws wrong value leading to data crc error. To make the SW robust, reverify tuning best_tap_value with previously calculated and then only proceed. Bug 200107220 Bug 200102727 Change-Id: If58194bcfd1f025b15f827b233b534b8fc999327 Signed-off-by: Bibek Basu <bbasu@nvidia.com> Reviewed-on: http://git-master/r/761054 GVS: Gerrit_Virtual_Submit Reviewed-by: Shreshtha Sahu <ssahu@nvidia.com> Tested-by: Shreshtha Sahu <ssahu@nvidia.com> Reviewed-by: Winnie Hsu <whsu@nvidia.com>
2015-06-19media: tegra_camera: add start streaming callBryan Wu
Queueing buffer might happen before starting streaming. So any queueing buffer operation before starting streaming shouldn't trigger real capture but just queue the buffer. After starting streaming, it will wake up kernel workqueue to start real capture. Bug 1639982 Change-Id: I66fd527bbd12790b2d688f320214976e70a658f3 Signed-off-by: Bryan Wu <pengw@nvidia.com> Reviewed-on: http://git-master/r/754710 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: David Wang (SW-TEGRA) <davidw@nvidia.com> Reviewed-by: Winnie Hsu <whsu@nvidia.com>
2015-06-19media: tegra_camera: optimize single shot modeBryan Wu
Current single shot mode, pixel parser is disabled after capture one frame and software waits for memory write ack done syncpoint, which only gives us half the frame rate. Optimized single shot mode: - during capture setup, set single shot mode - for each frame, wait for FRAME_START syncpoint - arm single shot bit to start capture - for the last frame, wait for MWA_DONE syncpoint to make sure capture finished. With optimized single shot mode, frame rate is about 4208x3120 @ 24fps for IMX135 and 1920x1080 @ 30fps for AR0261. Bug 1639982 Change-Id: I0b15d02c2853647d03f5b2d38a7fe5c145174bd5 Signed-off-by: Bryan Wu <pengw@nvidia.com> Reviewed-on: http://git-master/r/754709 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: David Wang (SW-TEGRA) <davidw@nvidia.com> Reviewed-by: Winnie Hsu <whsu@nvidia.com>
2015-06-19Revert "video: tegra: Wait PMU finishes booting"Winnie Hsu
This reverts commit f69b7093accdacfa653b4bd45d78e04a2676dc2a. Bug 200055546 Bug 200114503 Change-Id: I165a3da9f418657d86bf39fbe3db2adc13762c87 Signed-off-by: Winnie Hsu <whsu@nvidia.com> Reviewed-on: http://git-master/r/759875
2015-06-18video: tegra: dsi: add delay after register writeNaveen Kumar S
Providing a small delay after writing to dc registers while stopping dc stream helps in stabilizing the registers. This helps in resolving the intermittent register read failure issue. bug 200087039 Change-Id: I159d1d75aa2472b9e33bc42d890382f33def218a Signed-off-by: Naveen Kumar S <nkumars@nvidia.com> Reviewed-on: http://git-master/r/746062 (cherry picked from commit d29669af88735a2aeeb87b26f8794c9bcbb9f058) Reviewed-on: http://git-master/r/756015 Reviewed-by: Pankaj Dabade <pdabade@nvidia.com> Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Venkat Moganty <vmoganty@nvidia.com> Reviewed-by: Matthew Pedro <mapedro@nvidia.com>
2015-06-18Revert "mmc: tegra: Fix missing tap hole margins print"Jeetesh Burman
This reverts commit 6ad6591bf83670f91ab5f7628b5a6c3db3e9da4c. Signed-off-by: Jeetesh Burman <jburman@nvidia.com> Change-Id: If31a8a2a53a804657ebc5878be8594230acba2aa Reviewed-on: http://git-master/r/759477 GVS: Gerrit_Virtual_Submit Reviewed-by: Winnie Hsu <whsu@nvidia.com>
2015-06-18Revert "mmc: tegra: disable card clk before setting tap"Jeetesh Burman
This reverts commit f9b36d3b89f76cc48678eeb7a27cb980e89901d0. Signed-off-by: Jeetesh Burman <jburman@nvidia.com> Change-Id: Ie862afeda5e7e5b360775248fbbc49a031528a0b Reviewed-on: http://git-master/r/759476 GVS: Gerrit_Virtual_Submit Reviewed-by: Winnie Hsu <whsu@nvidia.com>
2015-06-18Revert "mmc: tegra: Use 100000 precision instead of 1000"Jeetesh Burman
This reverts commit 3c5f4d1060669ec73dc0ceb4e9a876a55a89c5eb. Signed-off-by: Jeetesh Burman <jburman@nvidia.com> Change-Id: Ic0e3eb4bb892e69dbd808c1d55721290c561ac7c Reviewed-on: http://git-master/r/759475 GVS: Gerrit_Virtual_Submit Reviewed-by: Winnie Hsu <whsu@nvidia.com>
2015-06-18Revert "mmc: tegra: Initialize margin addition variables"Jeetesh Burman
This reverts commit af2031797899b32504e32af377fa65875c06a746. Signed-off-by: Jeetesh Burman <jburman@nvidia.com> Change-Id: I21c89606f1eed0e7d4445c5dfcf7e6d2382829e7 Reviewed-on: http://git-master/r/759474 GVS: Gerrit_Virtual_Submit Reviewed-by: Winnie Hsu <whsu@nvidia.com>
2015-06-18Revert "mmc: tegra: select fixed tap hole margin values"Jeetesh Burman
This reverts commit 8eadba170693964dc30b1e6ab0a80df012858bc0. Signed-off-by: Jeetesh Burman <jburman@nvidia.com> Change-Id: Icd990d1e9c8df4c66c46e7e29a03cc6233e206bd Reviewed-on: http://git-master/r/759473 GVS: Gerrit_Virtual_Submit Reviewed-by: Winnie Hsu <whsu@nvidia.com>
2015-06-18Revert "mmc: sdhci: tegra: update T2T and Tap hole for VCM30T124"Jeetesh Burman
This reverts commit 28c9354b7cbade8813e0e5dbe9937300219fbeb9. Signed-off-by: Jeetesh Burman <jburman@nvidia.com> Change-Id: I4a809d75523513c939fa17a6dbeebee292aec77b Reviewed-on: http://git-master/r/759472 GVS: Gerrit_Virtual_Submit Reviewed-by: Winnie Hsu <whsu@nvidia.com>
2015-06-18Revert "mmc: tegra: Abort tuning if device is removed"Jeetesh Burman
This reverts commit 0bb08ee76692a7ded9fb063b3bd77e1848658ced. Signed-off-by: Jeetesh Burman <jburman@nvidia.com> Change-Id: I83df90d63845bc17bc1a4bf9d28cd47ac60fe9bd Reviewed-on: http://git-master/r/759471 GVS: Gerrit_Virtual_Submit Reviewed-by: Winnie Hsu <whsu@nvidia.com>
2015-06-12gpu: nvgpu: Disable channel when updating SMPC WARSandarbh Jain
When updating SMPC WAR for channel, it needs to be kicked out. This ensures that the updated information is re-read from context header. Bug 1579548 Change-Id: Ieadc6b65b057d7f48dc16fbc786c881ab7e5fcd5 Signed-off-by: Sandarbh Jain <sanjain@nvidia.com> Reviewed-on: http://git-master/r/756639 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-by: Winnie Hsu <whsu@nvidia.com>
2015-06-08watchdog: use FIQ WDT for soft lockup stack dumpRenn Wu
Using Tegra WDT to trigger FIQ when system is in soft lockup. Bug 1581432 Change-Id: I853a88a3f6e9402c978db18c5a63e903c582040a Signed-off-by: Renn Wu <rewu@nvidia.com> Reviewed-on: http://git-master/r/265871 (cherry picked from commit f115f435d471af22ddec5e9d969662f79193f846) Reviewed-on: http://git-master/r/680353 GVS: Gerrit_Virtual_Submit Reviewed-by: Bibek Basu <bbasu@nvidia.com> Reviewed-by: Winnie Hsu <whsu@nvidia.com>
2015-06-05gpu: nvgpu: Do not touch gr status maskTerje Bergstrom
GR status disable mask was never set, so driver always disabled all engines from status rollup. Change-Id: I500a127be9253294f73d1f42ce89b886471a9117 Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-on: http://git-master/r/719141 (cherry picked from commit 34a5ffe7e7dcc4df5f3a11848b828e96c43d2c4d) Reviewed-on: http://git-master/r/752092 GVS: Gerrit_Virtual_Submit
2015-06-05media: tegra_camera: change MIPI_CAL print levelBryan Wu
Bug 1648875 Change-Id: I970a3eafcd7ec10f217f4c1cb13db9193dc037f6 Signed-off-by: Bryan Wu <pengw@nvidia.com> Reviewed-on: http://git-master/r/752761 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Arun Kannan <akannan@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Matthew Pedro <mapedro@nvidia.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-06-04gpu: nvgpu: gk20a: dma_alloc only if neededBibek Basu
if vpr memory is carved out, then only call dma_alloc for secure memory. Bug 200057068 Change-Id: I12557cfaa48f7db729ccab17d3151916d35ce0f1 Signed-off-by: Bibek Basu <bbasu@nvidia.com> Reviewed-on: http://git-master/r/746153 GVS: Gerrit_Virtual_Submit Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
2015-06-04media: tegra_camera: clear MIPI_CAL flagBryan Wu
MIPI calibration should be done when power on the VI/CSI hardware. So clear the MIPI_CAL flag to trigger MIPI calibration for next power on operation. Bug 1648875 Change-Id: Ic0689a331a6058e4d54d5b41869f2e81feb4158c Signed-off-by: Bryan Wu <pengw@nvidia.com> Reviewed-on: http://git-master/r/752129 Reviewed-by: Automatic_Commit_Validation_User Tested-by: Arun Kannan <akannan@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Arun Kannan <akannan@nvidia.com> Reviewed-by: Matthew Pedro <mapedro@nvidia.com>
2015-06-01video: tegra: host: pod: change vic freq tuningArun Kannan
Tune nvhost_podgov scaling algo params for vic03 frequency scaling. Bug 1640539 Change-Id: Id5583b5cd60d6b4449470d8c3df1e5d06bc4aedb Signed-off-by: Arun Kannan <akannan@nvidia.com> Reviewed-on: http://git-master/r/741438 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Kamal Balagopalan <kbalagopalan@nvidia.com> Reviewed-by: Ming Wong <miwong@nvidia.com> Reviewed-by: Bibek Basu <bbasu@nvidia.com> Reviewed-by: Matthew Pedro <mapedro@nvidia.com>
2015-05-29misc: tegra-profiler: add cpu notifierIgor Nabirushkin
Detect when the CPU goes online/offline. Bug 1634024 Change-Id: I989a9aefbc32a70070b37fe42ce5dcf75b18263b Signed-off-by: Igor Nabirushkin <inabirushkin@nvidia.com> Reviewed-on: http://git-master/r/729497 (cherry picked from commit a2eec5a5ea12fb50e073b322ca9d948818179968) Reviewed-on: http://git-master/r/748094 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Andrey Trachenko <atrachenko@nvidia.com> Reviewed-by: Winnie Hsu <whsu@nvidia.com>
2015-05-29misc: tegra-profiler: fix stop errorIgor Nabirushkin
Do not verify the existence of profiled process after start of session. It fixes the stop error on non-rooted devices when application is terminated during the profile session. Bug 1634968 Change-Id: I5384e6de3c7ff9791033d344b02acba9a729157b Signed-off-by: Igor Nabirushkin <inabirushkin@nvidia.com> Reviewed-on: http://git-master/r/730898 (cherry picked from commit 79fcedbbf7fbc984ec8b95900ee49af0a9be590b) Reviewed-on: http://git-master/r/748093 GVS: Gerrit_Virtual_Submit Reviewed-by: Andrey Trachenko <atrachenko@nvidia.com> Reviewed-by: Winnie Hsu <whsu@nvidia.com>
2015-05-29misc: tegra-profiler: fix coverity issueIgor Nabirushkin
Fix Coverity issue of out-of-bounds. Coverity id: 29855 Bug 1416640 Change-Id: I112daaad55c1a2de9fdb411a0591e4ed7bf50e6e Signed-off-by: Igor Nabirushkin <inabirushkin@nvidia.com> Reviewed-on: http://git-master/r/730896 (cherry picked from commit 09c1b2add13aa7c6f4410c874ddad936913f5d19) Reviewed-on: http://git-master/r/748092 GVS: Gerrit_Virtual_Submit Reviewed-by: Andrey Trachenko <atrachenko@nvidia.com> Reviewed-by: Winnie Hsu <whsu@nvidia.com>
2015-05-29misc: tegra-profiler: send all frequenciesIgor Nabirushkin
Send CPU, EMC and GPU frequencies at the start of profiling. It is needed so that initial frequencies are also displayed in the profiler GUI. Bug 1635012 Change-Id: I2e850c846b110da8aa4331ac700a20930da6841b Signed-off-by: Igor Nabirushkin <inabirushkin@nvidia.com> Reviewed-on: http://git-master/r/730895 (cherry picked from commit a00b48ad9e012bf17e0e3f8610e2732af53b2115) Reviewed-on: http://git-master/r/748091 GVS: Gerrit_Virtual_Submit Reviewed-by: Andrey Trachenko <atrachenko@nvidia.com> Reviewed-by: Winnie Hsu <whsu@nvidia.com>
2015-05-29misc: tegra-profiler: cleanup unwinding rulesIgor Nabirushkin
DWARF unwinding: cleanup unwinding rules for frames. It fixes some broken backtraces. Bug 1626528 Change-Id: Iaa62528cc0b6b97f1763934ef641791f196897b0 Signed-off-by: Igor Nabirushkin <inabirushkin@nvidia.com> Reviewed-on: http://git-master/r/720600 (cherry picked from commit 3d68bdc1d81dce7176a8efec54dc5501e55e5eb5) Reviewed-on: http://git-master/r/748090 GVS: Gerrit_Virtual_Submit Reviewed-by: Andrey Trachenko <atrachenko@nvidia.com> Reviewed-by: Winnie Hsu <whsu@nvidia.com>
2015-05-29misc: tegra-profiler: fix broken backtracesIgor Nabirushkin
Unwinding based on arm32 ehabi: fix broken backtraces when all unwind entries are located in exidx section and extab section is not exist. Bug 1625585 Change-Id: I800e1347b04aa2c2c8802b81478931985c19feb2 Signed-off-by: Igor Nabirushkin <inabirushkin@nvidia.com> Reviewed-on: http://git-master/r/720598 (cherry picked from commit dfc9e9e4ce081b3116e457711e2f4a67fabb169c) Reviewed-on: http://git-master/r/748089 GVS: Gerrit_Virtual_Submit Reviewed-by: Andrey Trachenko <atrachenko@nvidia.com> Reviewed-by: Winnie Hsu <whsu@nvidia.com>
2015-05-29misc: tegra-profiler: simpler task status checkingDmitry Antipov
Use PF_EXITING to check task status and simplify argument checking in read_all_sources, adjust hrtimer_handler accordingly. Bug 1625611 Signed-off-by: Dmitry Antipov <dantipov@nvidia.com> Change-Id: Ida8f9e7ed5492f17868988e05328bfa8432a31e9 Reviewed-on: http://git-master/r/719460 (cherry picked from commit 316d507f4aaa04e9c91da3faa25c861260d6b194) Reviewed-on: http://git-master/r/748088 GVS: Gerrit_Virtual_Submit Reviewed-by: Andrey Trachenko <atrachenko@nvidia.com> Tested-by: Igor Nabirushkin <inabirushkin@nvidia.com> Reviewed-by: Winnie Hsu <whsu@nvidia.com>
2015-05-29misc: tegra-profiler: add unwind entry checkingDmitry Antipov
Use simple disassembler to verify unwind table entry against function code. Bug 1618651 Signed-off-by: Dmitry Antipov <dantipov@nvidia.com> Change-Id: Ib75b50f1bb753b7358fcc08107bfefc3133b4f0c Reviewed-on: http://git-master/r/714784 (cherry picked from commit 3a68f6164a4652d027fd2e62d7eb7d5ec5906dbc) Reviewed-on: http://git-master/r/748087 GVS: Gerrit_Virtual_Submit Reviewed-by: Andrey Trachenko <atrachenko@nvidia.com> Tested-by: Igor Nabirushkin <inabirushkin@nvidia.com> Reviewed-by: Winnie Hsu <whsu@nvidia.com>
2015-05-29misc: tegra-profiler: add unwind reason codesIgor Nabirushkin
Unwinding: store individual URC codes for each method. Bug 1624134 Change-Id: I3b2045f9c9147354f3440e326fd3aeccb5e0458d Signed-off-by: Igor Nabirushkin <inabirushkin@nvidia.com> Reviewed-on: http://git-master/r/717848 (cherry picked from commit e5ceff53d63e668a19d36196823f6c185ce48e88) Reviewed-on: http://git-master/r/748086 GVS: Gerrit_Virtual_Submit Reviewed-by: Andrey Trachenko <atrachenko@nvidia.com> Reviewed-by: Winnie Hsu <whsu@nvidia.com>
2015-05-29misc: tegra-profiler: add task statesIgor Nabirushkin
* Add task states into sched samples. * Store task exit_state field. Bug 1624099 Change-Id: I4a25aa6c15b59da987688342478127dccc5c0a1c Signed-off-by: Igor Nabirushkin <inabirushkin@nvidia.com> Reviewed-on: http://git-master/r/717839 (cherry picked from commit 9c512cace5ad5d8719a5a8df553cd313e41f4402) Reviewed-on: http://git-master/r/747753 GVS: Gerrit_Virtual_Submit Reviewed-by: Andrey Trachenko <atrachenko@nvidia.com> Reviewed-by: Winnie Hsu <whsu@nvidia.com>
2015-05-29misc: tegra-profiler: prevent infinite loopIgor Nabirushkin
* Prevent false recursion in mixed mode. * Unwinding based on frame pointers: do not save lr address if previous frame is incorrect. Bug 1619030 Change-Id: Iadeb8ca87ead576b18821964878cddf7aa94cf27 Signed-off-by: Igor Nabirushkin <inabirushkin@nvidia.com> Reviewed-on: http://git-master/r/715291 (cherry picked from commit d8e79953332c96786da5f57475013b045d7ef817) Reviewed-on: http://git-master/r/747752 GVS: Gerrit_Virtual_Submit Reviewed-by: Andrey Trachenko <atrachenko@nvidia.com> Reviewed-by: Winnie Hsu <whsu@nvidia.com>
2015-05-29misc: tegra-profiler: add cpufreq notifierIgor Nabirushkin
Add cpufreq notifier into the profiler. Bug 1618622 Change-Id: I06352c515c64f524fb88898dadefe1d07cedfe0f Signed-off-by: Igor Nabirushkin <inabirushkin@nvidia.com> Reviewed-on: http://git-master/r/714765 (cherry picked from commit b93eebf3afb92cfa97eb66067e5a5ef252a20ae8) Reviewed-on: http://git-master/r/747751 GVS: Gerrit_Virtual_Submit Reviewed-by: Andrey Trachenko <atrachenko@nvidia.com> Reviewed-by: Winnie Hsu <whsu@nvidia.com>
2015-05-29misc: tegra-profiler: add unwind reason codesIgor Nabirushkin
Add unwind reason codes for dwarf unwinding. Bug 1611073 Change-Id: Ic7f324f526ba34505e3b9bbedae7b98c29ce097d Signed-off-by: Igor Nabirushkin <inabirushkin@nvidia.com> Reviewed-on: http://git-master/r/711654 (cherry picked from commit ea2a41fa9056145e3f1cbe6f97c7725f51a08f3e) Reviewed-on: http://git-master/r/747750 GVS: Gerrit_Virtual_Submit Reviewed-by: Andrey Trachenko <atrachenko@nvidia.com> Reviewed-by: Winnie Hsu <whsu@nvidia.com>
2015-05-29misc: tegra-profiler: fix broken call chainsIgor Nabirushkin
Fix broken call chains for thumb code with dwarf and arm ehabi information simultaneously. Bug 1615165 Change-Id: If34ecfac26657546170121c363cf89b8b7256dbb Signed-off-by: Igor Nabirushkin <inabirushkin@nvidia.com> Reviewed-on: http://git-master/r/711611 (cherry picked from commit 7d98345d6f2f1ba476161d91853dd82b23a92d1d) Reviewed-on: http://git-master/r/747749 GVS: Gerrit_Virtual_Submit Reviewed-by: Andrey Trachenko <atrachenko@nvidia.com> Reviewed-by: Winnie Hsu <whsu@nvidia.com>
2015-05-29misc: tegra-profiler: fix return value checkIgor Nabirushkin
Tegra System Profiler: device is frozen when using clk events. Fix return value check. Bug 1611412 Change-Id: Ic9da6f02b222aaf0b3e5e84156103be39a28168b Signed-off-by: Igor Nabirushkin <inabirushkin@nvidia.com> Reviewed-on: http://git-master/r/708066 (cherry picked from commit d7f72918dd2c210fd991e61414da3b5f95916f25) Reviewed-on: http://git-master/r/747748 GVS: Gerrit_Virtual_Submit Reviewed-by: Andrey Trachenko <atrachenko@nvidia.com> Reviewed-by: Winnie Hsu <whsu@nvidia.com>
2015-05-29misc: tegra-profiler: support debug frame sectionsIgor Nabirushkin
DWARF unwinding: support debug frame sections (AArch32/AArch64). Bug 1611073 Change-Id: Ia7a01c61843d35d8c5466623be7d8e44fc70f5a1 Signed-off-by: Igor Nabirushkin <inabirushkin@nvidia.com> Reviewed-on: http://git-master/r/707910 (cherry picked from commit d39c08f5f586453c55c42a91bccd8452343c5236) Reviewed-on: http://git-master/r/747747 GVS: Gerrit_Virtual_Submit Reviewed-by: Andrey Trachenko <atrachenko@nvidia.com> Reviewed-by: Winnie Hsu <whsu@nvidia.com>
2015-05-29misc: tegra-profiler: support eh_frame sectionsIgor Nabirushkin
Support dwarf unwinding for arm32 files (based on eh_frame sections). Bug 1611069 Change-Id: Ie057ebcfcff75ccb2d3e62aa7cb85ac4b090930c Signed-off-by: Igor Nabirushkin <inabirushkin@nvidia.com> Reviewed-on: http://git-master/r/707903 (cherry picked from commit 950855f44e647b22508f2d31fe373fffd9e0642f) Reviewed-on: http://git-master/r/747745 GVS: Gerrit_Virtual_Submit Reviewed-by: Andrey Trachenko <atrachenko@nvidia.com> Reviewed-by: Winnie Hsu <whsu@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-20video : hdmi: Add more checks in mode filterPankaj Dabade
While programming DC controller it is decided at runtime if a particular mode can be satisfied. This check relies on the parent pixel clock settings. This patch adds same check in the mode filter function for HDMI, eliminating entries from modelist which will not be supported. Bug 200080781 Change-Id: I6e39249e419bc83d549e561267a57ad25d4652ad Signed-off-by: Pankaj Dabade <pdabade@nvidia.com> Reviewed-on: http://git-master/r/741686 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Miguel Angel Vico Moya <mvicomoya@nvidia.com> Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
2015-05-19video: tegra: hdmi: Fix potential crash when setting up HDMIAlban Bedel
The HDMI state machine registers an IRQ handler before all the resources it needs are available. Ideally the IRQ handler should be registered later, however it would mean a quite large change. Instead we just add some check to avoid running the state machine as long as the framebuffer hasn't been registered. While at it also prevent scheduling the state machine if it hasn't been initialized yet. Bug 1618089 Change-Id: I8f9dc07d2a4bf7e33e869206ad83ed80af93f566 Signed-off-by: Alban Bedel <alban.bedel@avionic-design.de> Signed-off-by: Bibek Basu <bbasu@nvidia.com> Reviewed-on: http://git-master/r/741616 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-05-14video: tegra: nvmap: clean L1 on all coresKrishna Reddy
Clean L2 by set/ways doesn't ensure that L1 is cleaned on A15 and A57. Clean L1 on all cores before cleaning L2. Bug 20007733 Change-Id: I8a389317571060ba4716663c03ab75896aa13612 Signed-off-by: Krishna Reddy <vdumpa@nvidia.com> Reviewed-on: http://git-master/r/742255 GVS: Gerrit_Virtual_Submit Reviewed-by: Bibek Basu <bbasu@nvidia.com>
2015-05-14usb: phy: tegra: set UTMIP_PCOUNT_UPDN_DIV to zeroRakesh Babu Bodla
Set UTMIP_PCOUNT_UPDN_DIV to zero to address hosts having jitter issues. Bug 200085253 Bug 200100469 Change-Id: I3f0202b74dbbbd697d52c386626112714f26834f Signed-off-by: Rakesh Babu Bodla <rbodla@nvidia.com> Reviewed-on: http://git-master/r/736178 (cherry picked from commit 6d1f2be772751ebb0fb07dce2fc6992467c19eab) Reviewed-on: http://git-master/r/740972 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Bibek Basu <bbasu@nvidia.com> Tested-by: Bibek Basu <bbasu@nvidia.com> Reviewed-by: Matthew Pedro <mapedro@nvidia.com> Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
2015-05-13ata: ahci: increase L2P FIFO DepthPreetham Chandru R
Bug 1592893 Change-Id: Iaa9c0673c928ce4ecaf9b374b997012522e88035 Signed-off-by: Preetham Chandru R <pchandru@nvidia.com> Reviewed-on: http://git-master/r/711902 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Venu Byravarasu <vbyravarasu@nvidia.com>
2015-05-12video: tegra: nvmap: clean cache during page allocations into page poolKrishna Reddy
Clean cache during page allocations into page pool to avoid cache clean overhead at the time of allocation. Increase page pool refill size to 1MB from 512KB. Bug 1539190 Change-Id: I6c45782e54879541f7b518bbbb016383b24e376b Signed-off-by: Krishna Reddy <vdumpa@nvidia.com> Reviewed-on: http://git-master/r/453197 Reviewed-by: Sri Krishna Chowdary <schowdary@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Alex Waterman <alexw@nvidia.com> Reviewed-by: Michael I Gold <gold@nvidia.com> [ccross: moved on top of background zeroing patches, replaced atomic with bool since it has to be protected by a lock anyways] Signed-off-by: Colin Cross <ccross@android.com> Reviewed-on: http://git-master/r/664676 Reviewed-on: http://git-master/r/736430 Tested-by: Alex Waterman <alexw@nvidia.com>
2015-05-12nvmap: page pools: fix lockdep splatColin Cross
lockdep complains about the alloc_page call under the pool lock in nvmap_page_pool_init because the pool lock is also taken during reclaim in nvmap_page_pool_shrink. Rewrite nvmap_page_pool_init to perform the allocation in PENDING_PAGES_SIZE chunks outside the lock. Also move the global pending_pages to a static copy in nvmap_pp_do_background_zero_pages and a kcalloc'd array during init to avoid conflicts when two threads try to use the same array. [ 57.734407] ================================= [ 57.738786] [ INFO: inconsistent lock state ] [ 57.743198] 3.10.40-ge3b2801-dirty #145 Tainted: G W [ 57.749135] --------------------------------- [ 57.753521] inconsistent {RECLAIM_FS-ON-W} -> {IN-RECLAIM_FS-W} usage. [ 57.760082] kswapd0/41 [HC0[0]:SC0[0]:HE1:SE1] takes: [ 57.765159] (&pool->lock#2){+.+.?.}, at: [<ffffffc000404d28>] nvmap_page_pool_shrink+0x48/0x9c [ 57.773953] {RECLAIM_FS-ON-W} state was registered at: [ 57.779118] [<ffffffc000106964>] mark_lock+0x1d0/0x7a8 [ 57.784938] [<ffffffc000107004>] mark_held_locks+0xc8/0x184 [ 57.791543] [<ffffffc000107bd0>] lockdep_trace_alloc+0xb4/0xf8 [ 57.797594] [<ffffffc00015ce24>] __alloc_pages_nodemask+0x98/0x7f8 [ 57.803987] [<ffffffc0004051d8>] nvmap_page_pool_init+0x19c/0x220 [ 57.810287] [<ffffffc0003fbf20>] nvmap_probe+0x9c/0x78c [ 57.815713] [<ffffffc00049c588>] platform_drv_probe+0x18/0x24 [ 57.821662] [<ffffffc00049aadc>] driver_probe_device+0xa8/0x3a8 [ 57.827783] [<ffffffc00049aed0>] __driver_attach+0xa0/0xa8 [ 57.833466] [<ffffffc000498d64>] bus_for_each_dev+0x58/0x9c [ 57.839238] [<ffffffc00049a9d0>] driver_attach+0x1c/0x28 [ 57.844746] [<ffffffc000499828>] bus_add_driver+0x1d8/0x294 [ 57.850517] [<ffffffc00049ba10>] driver_register+0x68/0x174 [ 57.856289] [<ffffffc00049cfe0>] platform_driver_register+0x54/0x60 [ 57.862759] [<ffffffc000d61354>] nvmap_init_driver+0x24/0x40 [ 57.868617] [<ffffffc000d328d4>] do_one_initcall+0xac/0x164 [ 57.874387] [<ffffffc000d32af8>] kernel_init_freeable+0x158/0x1f8 [ 57.880678] [<ffffffc0009e7d40>] kernel_init+0x10/0x158 [ 57.886103] [<ffffffc000084cfc>] ret_from_fork+0xc/0x1c [ 57.891526] irq event stamp: 803 [ 57.894763] hardirqs last enabled at (803): [<ffffffc0009fc208>] _raw_spin_unlock_irqrestore+0x64/0x94 [ 57.904211] hardirqs last disabled at (802): [<ffffffc0009fbfa8>] _raw_spin_lock_irqsave+0x24/0x9c [ 57.913202] softirqs last enabled at (0): [<ffffffc0000a508c>] copy_process.part.55+0x448/0x1150 [ 57.922108] softirqs last disabled at (0): [< (null)>] (null) [ 57.929530] [ 57.929530] other info that might help us debug this: [ 57.936074] Possible unsafe locking scenario: [ 57.936074] [ 57.942008] CPU0 [ 57.944456] ---- [ 57.946905] lock(&pool->lock#2); [ 57.950338] <Interrupt> [ 57.952960] lock(&pool->lock#2); [ 57.956565] [ 57.956565] *** DEADLOCK *** [ 57.956565] [ 57.962502] 1 lock held by kswapd0/41: [ 57.966257] #0: (shrinker_rwsem){++++..}, at: [<ffffffc0001651cc>] shrink_slab+0x54/0x3b0 [ 57.974677] [ 57.974677] stack backtrace: [ 57.979063] CPU: 0 PID: 41 Comm: kswapd0 Tainted: G W 3.10.40-ge3b2801-dirty #145 [ 57.987434] Call trace: [ 57.989888] [<ffffffc0000887e4>] dump_backtrace+0x0/0x188 [ 57.995300] [<ffffffc00008897c>] show_stack+0x10/0x1c [ 58.000363] [<ffffffc0009f3490>] dump_stack+0x1c/0x28 [ 58.005428] [<ffffffc0009f0d6c>] print_usage_bug.part.37+0x28c/0x2a8 [ 58.011799] [<ffffffc0001068f0>] mark_lock+0x15c/0x7a8 [ 58.016951] [<ffffffc000109f50>] __lock_acquire+0x7c0/0xd24 [ 58.022536] [<ffffffc00010ada8>] lock_acquire+0xa8/0x148 [ 58.027862] [<ffffffc0009f870c>] mutex_lock_nested+0x80/0x3e0 [ 58.033623] [<ffffffc000404d24>] nvmap_page_pool_shrink+0x44/0x9c [ 58.039731] [<ffffffc000165364>] shrink_slab+0x1ec/0x3b0 [ 58.045056] [<ffffffc000168554>] balance_pgdat+0x4d0/0x5d4 [ 58.050555] [<ffffffc0001687d0>] kswapd+0x178/0x45c [ 58.055448] [<ffffffc0000d0fa0>] kthread+0xd0/0xdc [ 69.502055] dhd_set_suspend: Remove extra suspend setting [ 69.787786] dhd_set_suspend: force extra Suspend setting Change-Id: I41e908da9c51f353300f32c50354b4f48b2424c5 Signed-off-by: Colin Cross <ccross@android.com> Signed-off-by: Krishna Reddy <vdumpa@nvidia.com> Reviewed-on: http://git-master/r/664675 GVS: Gerrit_Virtual_Submit Reviewed-on: http://git-master/r/736429 Reviewed-by: Alex Waterman <alexw@nvidia.com> Tested-by: Alex Waterman <alexw@nvidia.com>
2015-05-12nvmap: page pools: replace background allocator with background zeroerColin Cross
The background allocator rapidly becomes useless once the system has filled memory with cached pages. It refuses to allocate when free memory < 128MB (which it always is, the kernel is aiming to keep very little free), and freed pages are not returned to the page pool when zero_memory=1. Remove the background allocator completely, and instead return freed memory to the page pool in a separate list to be zeroed in the background. This results in a self-balancing pool of memory available to graphics, and reduces presure on the kernel's page allocator. If the pool grows too big it will get reduced by the shrinker. If it gets too small, the next allocation will fall back to the page allocator, and then later return those pages to the pool. Before this change incremental page pool hit rate reported by /d/nvmap/pagepool/page_pool_hits vs. /d/nvmap/pagepool/page_pool_misses goes to 0% after boot. After this change it is near 100% for small app launches and 75% for larger app launches. Change-Id: I4bc914498d7d0369eef9e621bda110d9b8be90b2 Signed-off-by: Colin Cross <ccross@android.com> Signed-off-by: Krishna Reddy <vdumpa@nvidia.com> Reviewed-on: http://git-master/r/664674 GVS: Gerrit_Virtual_Submit Reviewed-on: http://git-master/r/736428 Reviewed-by: Alex Waterman <alexw@nvidia.com> Tested-by: Alex Waterman <alexw@nvidia.com>
2015-05-12nvmap: page pool: fix background threadColin Cross
Fix a race condition in the background allocator where wake_up_process could be called just before set_current_state changed the state to TASK_INTERRUPTIBLE, causing the thread not to wake. Use a waitqueue instead. Also make the background allocator nicer by marking it freezable so it doesn't compete with suspend, and setting it SCHED_IDLE so it only runs when no other threads want to run. Change-Id: If95da005bb1fc4c9b5e802d40730803a57057fe1 Signed-off-by: Colin Cross <ccross@android.com> Signed-off-by: Krishna Reddy <vdumpa@nvidia.com> Reviewed-on: http://git-master/r/664673 GVS: Gerrit_Virtual_Submit Reviewed-on: http://git-master/r/736427 Reviewed-by: Alex Waterman <alexw@nvidia.com> Tested-by: Alex Waterman <alexw@nvidia.com>
2015-05-12nvmap: combine two methods of requesting zeroed memoryColin Cross
Combine CONFIG_NVMAP_FORCE_ZEROED_USER_PAGES and the zero_memory modparam into a single option by forcing zero_memory=1 when CONFIG_NVMAP_FORCE_ZEROED_USER_PAGES is set, and always using zero_memory to decided whether to zero or not. Change-Id: I9ce0106cfaea950bd9494b697916fbc2a03329ea Signed-off-by: Colin Cross <ccross@android.com> Signed-off-by: Krishna Reddy <vdumpa@nvidia.com> Reviewed-on: http://git-master/r/664672 GVS: Gerrit_Virtual_Submit Reviewed-on: http://git-master/r/736426 Reviewed-by: Alex Waterman <alexw@nvidia.com> Tested-by: Alex Waterman <alexw@nvidia.com>