summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-09-03ARM: tegra: cardhu: set I2S as slave modeChandrakanth Gorantla
enable slave mode for cardhu platform. BUG 998682 Change-Id: Iad330677154af417e0848059536581bcabdd98bc Signed-off-by: Chandrakanth Gorantla <cgorantla@nvidia.com> Reviewed-on: http://git-master/r/128734 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Scott Peterson <speterson@nvidia.com>
2012-09-03video: tegra: dc: support for vblank syncRakesh Iyer
Add wait for vsync support for one-shot panels. The code supports extension of this feature to other panels. Bug 1033411. Change-Id: Ie4d6cb45e5de81083458169ccdfa33230235ed72 Signed-off-by: Rakesh Iyer <riyer@nvidia.com> Reviewed-on: http://git-master/r/128927 Reviewed-by: Mrutyunjay Sawant <msawant@nvidia.com> Tested-by: Mrutyunjay Sawant <msawant@nvidia.com>
2012-08-31enterprise pinmux: set the pinmux for audio portsNikesh Oswal
Bug: 1039342 Reviewed-on: http://git-master/r/127868 (cherry picked from commit 92f2d2099e3411dfa1966e8ead58dc5654f3124c) Change-Id: Ibe7dd39a06170766ec043ccbf18df0078ee9e7cb Signed-off-by: Nikesh Oswal <noswal@nvidia.com> Reviewed-on: http://git-master/r/128508 Reviewed-by: Niranjan Wartikar <nwartikar@nvidia.com> Reviewed-by: Scott Peterson <speterson@nvidia.com>
2012-08-29spi: tegra: Add stub runtime power managementLaxman Dewangan
Add stub runtime_pm calls which go through the flow of enabling and disabling but don't actually do anything with the device itself as there's nothing useful we can do. This provides the core PM framework with information about when the device is idle, enabling chip wide power savings. Change-Id: Ie795c16840ccbe07e1a8bfac1a1c5a87281e6849 Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com> Reviewed-on: http://git-master/r/128184 Reviewed-by: Bitan Biswas <bbiswas@nvidia.com> Reviewed-by: Pavan Kunapuli <pkunapuli@nvidia.com> GVS: Gerrit_Virtual_Submit
2012-08-29i2c: tegra: Add stub runtime power managementLaxman Dewangan
Add stub runtime_pm calls which go through the flow of enabling and disabling but don't actually do anything with the device itself as there's nothing useful we can do. This provides the core PM framework with information about when the device is idle, enabling chip wide power savings. The change is based on change done by Mark Brown for s3c2410 i2c bus driver. ---------- Author: Mark Brown <broonie@opensource.wolfsonmicro.com> i2c-s3c2410: Add stub runtime power management ---------- Change-Id: Icb92129c4f79a1642b2b73d14578b05928d745a8 Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com> Reviewed-on: http://git-master/r/128151
2012-08-29i2c: tegra: rename fast clock and div clockLaxman Dewangan
Rename fast clock to "fast-clk" and div clock to "div-clk" in driver and clock table to have aligned with mainline as: This is based on change: --------- commit f16e6e77a105ec53496f0d8343895da342917873 Author: Laxman Dewangan <ldewangan@nvidia.com> i2c: tegra: pass proper name for getting clock --------- Change-Id: Ie9a1972a18e2e60ac7c84c4509860cf72405ef16 Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com> Reviewed-on: http://git-master/r/128150
2012-08-29i2c: tegra: remove support for I2C_M_REV_DIR_ADDRLaxman Dewangan
The Tegra i2c controller actually can not support the reverse of direction address (toggling r/w bit of address) as controller take 7 bit address from configuration and HW make it 8 bit address based on read/write flag. Hence reverting this protocol mangling support. Change-Id: I987b2be343d535c078e27b44575717a209d15584 Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com> Reviewed-on: http://git-master/r/128149
2012-08-29video: tegra: host: Use unsigned integer in sysfsTerje Bergstrom
Sync point values are unsigned, but sysfs creates the text representation as signed. Correct to use unsigned representation. Bug 1039058 Change-Id: I96de13952eeeba9510bae179a036459ddee18dcd Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-on: http://git-master/r/128075 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Juha Tukkinen <jtukkinen@nvidia.com> Reviewed-by: Michal Pecio <mpecio@nvidia.com>
2012-08-29arm: tegra: tai: keep smps4 ONSeema Khowala
Bug 1029431 Change-Id: I79ba7e363feeaec86912445ce005ea65a3960718 Signed-off-by: Seema Khowala <seemaj@nvidia.com> Reviewed-on: http://git-master/r/127994 Reviewed-by: Lokesh Pathak <lpathak@nvidia.com> Tested-by: Lokesh Pathak <lpathak@nvidia.com>
2012-08-29ARM: tegra: tai: Add tai machine numSeema Khowala
http://www.arm.linux.org.uk/developer/machines/list.php?id=4311 Bug 1002637 Change-Id: Id52214c1780294e4e4a6607b954c05e9be950fdd Signed-off-by: Seema Khowala <seemaj@nvidia.com> Reviewed-on: http://git-master/r/127978 Reviewed-by: Lokesh Pathak <lpathak@nvidia.com> Tested-by: Lokesh Pathak <lpathak@nvidia.com>
2012-08-29arm: tegra: config: Add TaiSeema Khowala
Bug 1002637 Change-Id: I33d38ab3a5395f85564ef9a3282db152b4d79113 Signed-off-by: Seema Khowala <seemaj@nvidia.com> Reviewed-on: http://git-master/r/127974 Reviewed-by: Lokesh Pathak <lpathak@nvidia.com> Tested-by: Lokesh Pathak <lpathak@nvidia.com>
2012-08-29chromeos: config: armel: enable full L2 maintenanceKirill Artamonov
When allocation is bigger than L2 size it is more optimal to flush or writeback whole L2 instead of doing maintenance for each allocated page. bug 983964 Change-Id: Ibb3609be71621ff9ab75bea9146bfe7578f9315a Signed-off-by: Kirill Artamonov <kartamonov@nvidia.com> Reviewed-on: http://git-master/r/127835 Reviewed-by: Rhyland Klein <rklein@nvidia.com> Reviewed-by: Juha Tukkinen <jtukkinen@nvidia.com>
2012-08-29arm: cardhu: change parameters for emc 266.5mhzWen Yi
The EmcTclkStable is set to 0x00000004 and McEmemArbOutStandingReq is set to 0xc0000030 Bug 1030392 Bug 1039060 Reviewed-on: http://git-master/r/122302 (cherry picked from commit a3a1d1797e310d61204256af8be995f9396c22e7) Change-Id: Ic65334a6573582ae99d05a8f6f8290096755827e Signed-off-by: Wen Yi <wyi@nvidia.com> Reviewed-on: http://git-master/r/127458 Reviewed-by: Lokesh Pathak <lpathak@nvidia.com> Tested-by: Lokesh Pathak <lpathak@nvidia.com>
2012-08-29arm: cardhu: correct EMEM_ARB_CFG in emc dfs tableWen Yi
The memory frequencies 266.5mhz and 437mhz have incorrect EMEM_ARB_CFG set in emc table of Samsung part. That resulted in emc scaling completely disabled and emc runs at 533mhz all time. The settings have been corrected to 0x00000008 and 0x0000000D. Bug 1030392 Bug 1039060 Reviewed-on: http://git-master/r/122163 (cherry picked from commit f691268c138b9ed31b3867b049e64c121ecb188e) Change-Id: I13f89c19af5391743aeba348f4a3ca4a73307bdf Signed-off-by: Wen Yi <wyi@nvidia.com> Reviewed-on: http://git-master/r/127429 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Raymond Poudrier <rapoudrier@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Tested-by: Sanjay Singh Rawat <srawat@nvidia.com>
2012-08-29video: tegra: host: Disable irq when clock gatingTerje Bergstrom
Disable host1x interrupts when clock gating host1x. This fixes a race where host1x interrupt was raised at the same time when host1x clock is turned off. Bug 1031724 Change-Id: I169cd5796608b8888a6b48ed99bb5da754559b2c Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-on: http://git-master/r/125129 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Juha Tukkinen <jtukkinen@nvidia.com>
2012-08-29arm: tegra: Enable LP1_950 configKarthik Ramakrishnan
Enable LP1 Core voltage settings to 950mV The feature is added in the below change. Refer to http://git-master/r/#change,124135 for more details. Bug 1035684 Change-Id: I922efff17797f4666fd6ed069a8523c164445842 Signed-off-by: Karthik Ramakrishnan <karthikr@nvidia.com> (cherry picked from commit 0f5d34db547ca6bfb9c0bae0b0048f58ba71c833) Reviewed-on: http://git-master/r/124781 Reviewed-by: Lokesh Pathak <lpathak@nvidia.com> Tested-by: Lokesh Pathak <lpathak@nvidia.com>
2012-08-29arm: tegra: Board files settings for LP1 0.95V CoreVKarthik Ramakrishnan
Set the register values for each of the board files to keep the Core voltage to 0.95V in LP1. This change is only for those platforms where LP1 is supported. Enterprise and Kai are the main platforms for this change. There is no support for Cardhu for LP1 and so is left blank and the feature will be skipped for Cardhu platforms, except for AP37. AP37 with a PM269 board needs this change and so Cardhu board file is updated with the values specific to AP37. This change is part of the feature to set VCore to 0.95V Refer to http://git-master/r/124135 for more details Bug 1035684 Change-Id: I6d1d984b0e7968b441cebbc37705c25647a4a85a Signed-off-by: Karthik Ramakrishnan <karthikr@nvidia.com> (cherry picked from commit b46921e475bd95e729896a6763bc94df1e03ee4a) Reviewed-on: http://git-master/r/124780 Reviewed-by: Lokesh Pathak <lpathak@nvidia.com> Tested-by: Lokesh Pathak <lpathak@nvidia.com>
2012-08-29arm: tegra: Set Core to 0.95V in LP1Karthik Ramakrishnan
When the device prepares for LP1, the Core voltage is set to the highest value(1.2V for Enterprise and Kai, and 1.3V for AP37 and Cardhu). This is to set for some of the driver suspend along the sequence need a higher emc frequency and thus a higher Core voltage. Since the sequence of drivers suspend depends on the sequence of their registration in the table, which in turn is platform-dependent, there is no right place in the LP1 entry path where the Core voltage can be set to a lower voltage. Hence, the Core voltage remains high in LP1 resulting in higher power. Thus, the only safe location where the Core voltage can be lowered is once all the drivers are suspended and the DRAM is set in self-refresh, at the final point just before the system is suspended in the IRAM code. This location at the assembly code ensures that no other module will be running and thus that nothing will require a higher core voltage. The Core is set to the lowest possible value since nothing requires it. It is then restored to the highest voltage as soon as the LP1 resume code is started so that all drivers are resumed safely. At the execution point in IRAM during LP1 suspend path, even the I2C clocks are gated. They must be reset first and then the I2C transaction is performed. An I2C transaction involves 4 bytes of data, to send the slave address, the Core voltage register address and 2 bytes of data which has the value to set the voltage(the second byte is not required for this transaction). Once these registers are set, the I2C transaction is performed by setting the I2C transaction register to 0xA02. After sending the I2C transaction, we wait for about 250us to check the status of the transaction and if not updated, wait for more time to check again. If after 2ms and the transaction fails to register, the transaction is aborted and the device is allowed to enter at high voltage. Since the failure rate of I2C transaction is very low at this point in execution where there will be no conflicts in the bus, it is okay to have Core high for some of the LP1 cycles. However, it is unacceptable for the I2C transaction to fail on the way from LP1 resume since the device cannot come up with a lower Core voltage. In this case, the transaction is retried again and again till it is successful. There is no way but to keep trying as the device would fail to resume with Core at 0.95V. Each platform(or each PMU) has different values for the I2C transaction ie. slave address, Core voltage register and the value to set the voltage. For the device in IRAM, it cannot access anything in SDRAM memory, these values needs to be pushed to IRAM memory before the device starts execution in IRAM. This is done during initialization of suspend code when it picks values from the board files and copies it to IRAM part of code, before the whole memory is copied to IRAM. This new feature is controlled by a KConfig variable TEGRA_LP1_950 which should be enabled once the board file of the device is updated with the right values. The device hangs when it does not have the right values for the I2C transaction. With this change in Core, LP1 power is reduced by 12mW in Enterprise, 20mW in AP37 and about 24mW in Kai. Bug 1035684 Change-Id: I4318c66fd70ab227ef0786d6a13286e020e4541d Signed-off-by: Karthik Ramakrishnan <karthikr@nvidia.com> (cherry picked from commit ab476f287376fd0ae51a9f298659f5eba19f0296) Reviewed-on: http://git-master/r/124779 Reviewed-by: Lokesh Pathak <lpathak@nvidia.com> Tested-by: Lokesh Pathak <lpathak@nvidia.com>
2012-08-29video: tegra: fb: Default stride from HWChristopher Freeman
This patch adds: 1. line_stride value is honored in fb_set_par routine 2. Hardware value for line_stride is used in fb_register Bug 1025739 Change-Id: Ic37c4c90911c2c70e74b8d5609f3b32b521772ff Signed-off-by: Christopher Freeman <cfreeman@nvidia.com> Reviewed-on: http://git-master/r/127690 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Kevin Huang (Eng-SW) <kevinh@nvidia.com> Reviewed-by: Jon Mayo <jmayo@nvidia.com>
2012-08-28Revert "Revert "ARM: tegra: enterprise: update memory timings""Simone Willett
This reverts commit 0405128605ed7a858aecb8fb9aaaf80e0e44c4b8 Change-Id: I3a0ee9b0079b884d53c43323e21b472a40c31bb7 Reviewed-on: http://git-master/r/125323 Reviewed-by: Simone Willett <swillett@nvidia.com> Tested-by: Simone Willett <swillett@nvidia.com> Reviewed-by: Raymond Poudrier <rapoudrier@nvidia.com>
2012-08-28video: tegra: cardhu: Default bpp from hardwareChristopher Freeman
This patch adds: 1. A kernel config option that hints to DC driver to use the current value of the color depth register as the default for initializing the FB driver. 2. Checks to see if DC is enabled before reading off the color depth register in tegra_dc_probe. Change-Id: I852cc1328fcf42f33052f46b86d753e691744329 Signed-off-by: Christopher Freeman <cfreeman@nvidia.com> Reviewed-on: http://git-master/r/127297 Reviewed-by: Simone Willett <swillett@nvidia.com> Tested-by: Simone Willett <swillett@nvidia.com>
2012-08-28arm: tegra: p1852: set FPDLink latch clock edgeDongfang Shi
Make parallel data strobed on rising clock edge For SKU2 MODS get correct CRC. Bug 995623 Change-Id: I70f4b87e781821cf4ff8370c17b79f5bea7dc55c Signed-off-by: Dongfang Shi <dshi@nvidia.com> Reviewed-on: http://git-master/r/121824 (cherry-pick from 5200d0f10b936e00dbc2a946eed8c2e48b039943) Reviewed-on: http://git-master/r/122537 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Bob Johnston <bjohnston@nvidia.com> Reviewed-by: Nitin Kumbhar <nkumbhar@nvidia.com> Reviewed-by: Varun Wadekar <vwadekar@nvidia.com>
2012-08-28E1853 BRINGUP Linux Snor: Micron SupportBob Johnston
Expanding NOR functionality to work with ADMUX and Burst mode for Micron Support in E1853. Bug 989919 Bug 966833 - Adding fields for picking MUX vs NONMUX and picking Async, Paging, Burst mode for reads - Added run time decision between them - 1853 specific settings for Async NOR - 1852 specific settings for NOR - 1853 NOR timings changed Reviewed-on: http://git-master/r/122286 (cherry picked from commit a242e7194c7de559d22fe5b275a8782086f10e50) Change-Id: I79de1d52d4c7199c83b380c2fa6d8cae6b35f09d Signed-off-by: Bob Johnston <BJohnston@nvidia.com> Reviewed-on: http://git-master/r/124946 Tested-by: Bob Johnston <bjohnston@nvidia.com> Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Sumeet Gupta <sumeetg@nvidia.com> Reviewed-by: Varun Wadekar <vwadekar@nvidia.com>
2012-08-28video: tegra: nvmap: implement full L2 clean/flushKirill Artamonov
When allocation is bigger than L2 size it is more optimal to flush or writeback whole L2 instead of doing maintenance for each allocated page. bug 983964 Signed-off-by: Kirill Artamonov <kartamonov@nvidia.com> Change-Id: Ieaa70875b92920567ad7cd75eca6eac8197f46de Reviewed-on: http://git-master/r/108511 Reviewed-by: Simone Willett <swillett@nvidia.com> Tested-by: Simone Willett <swillett@nvidia.com>
2012-08-28ARM: tegra: enable errata 727915 for Tegra3Kirill Artamonov
By-way maintenance doesn't reliably work with enabled lp2_in_idle on Tegra3 platform which uses R3P1_50 revision of pl310. Enable errata 727915 for Tegra3 to avoid system hang. Change-Id: Ia296c1d5b35b8f28353c15d1e4622686bc7d3beb Signed-off-by: Kirill Artamonov <kartamonov@nvidia.com> Reviewed-on: http://git-master/r/127225 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Juha Tukkinen <jtukkinen@nvidia.com>
2012-08-28ARM: cache-l2x0: fix L2 maintenance for R3P1_50Kirill Artamonov
Do flush and clear by set/way instead of by-way by enabling errata 727915 for pl310 revision R3P1_50. By-way maintenance doesn't work with enabled lp2_in_idle on Tegra3 platform using R3P1_50 revision of pl310. Debug register access causes hang when CONFIG_TRUSTED_FOUNDATIONS is defined. Don't access those regeisters if CONFIG_TRUSTED_FOUNDATIONS is defined. bug 983964 Signed-off-by: Kirill Artamonov <kartamonov@nvidia.com> Change-Id: I76a3a9ef9dbcf86140ee26752202bf25542144e6 Reviewed-on: http://git-master/r/125153 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Krishna Reddy <vdumpa@nvidia.com> Reviewed-by: Antti Miettinen <amiettinen@nvidia.com> Tested-by: Antti Miettinen <amiettinen@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Juha Tukkinen <jtukkinen@nvidia.com> Reviewed-by: Peter De Schrijver <pdeschrijver@nvidia.com>
2012-08-28arm: tegra: tai: correct gpio for voice callSeema Khowala
Bug 1031990 Change-Id: I9410bc0347544701a753287713f9537710e7533f Signed-off-by: Seema Khowala <seemaj@nvidia.com> Reviewed-on: http://git-master/r/127620 Reviewed-by: Scott Peterson <speterson@nvidia.com> Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Michael Hsu <mhsu@nvidia.com> Tested-by: Michael Hsu <mhsu@nvidia.com>
2012-08-28Revert "video: tegra: hdcp: Fix Locking Issue"Matt Wagner
This reverts commit 51f746421b73f8f378bd7908b35fd6c79687e239. Bug 1030468 Bug 1030415 Signed-off-by: Matt Wagner <mwagner@nvidia.com> Change-Id: If9b5febd812e84848913431dcaf0bdefc518e5d1 Reviewed-on: http://git-master/r/126948 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Jon Mayo <jmayo@nvidia.com>
2012-08-28Revert "video: tegra: hdcp: Add Missing Lock"Matt Wagner
This reverts commit 77c8da0aa18fad9e33fd8b1afb2013b1a476d74e. Bug 1030468 Bug 1030415 Signed-off-by: Matt Wagner <mwagner@nvidia.com> Change-Id: I2b85159dfcfc40b3a3632dc1300c729e0977a18f Reviewed-on: http://git-master/r/126946 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Jon Mayo <jmayo@nvidia.com>
2012-08-27arm: tegra: E1239: Fix LP0 audio stop issueManoj Gangwal
Fix audio stop issue after resuming from lp0. Bug 1039326 Change-Id: Ieb586b614ffecc9d149213fbfd3cbb3198088725 Signed-off-by: Manoj Gangwal <mgangwal@nvidia.com> Reviewed-on: http://git-master/r/127562 Reviewed-by: Simone Willett <swillett@nvidia.com> Tested-by: Simone Willett <swillett@nvidia.com>
2012-08-27video: tegra: host: fix integer overflowsTuomas Tynkkynen
job_size() calculates the size of a job structure based on a struct passed as a ioctl parameter. This calculation was not checked for overflow. Bug 1038551 Change-Id: I13d087dbd5aad5fef1c5d13ceb23e50f565acf95 Signed-off-by: Tuomas Tynkkynen <ttynkkynen@nvidia.com> Reviewed-on: http://git-master/r/127185 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
2012-08-27usb: otg: tegra: Notify USB events to otg coreRakesh Bodla
Notify USB connection events to otg core. These notifications will be used by drivers (e.g. otg wakelock driver) who registered for the events. Bug 1031034 Bug 976849 Change-Id: I3655071af9226e3aef385681fcabc94b9def4233 Signed-off-by: Rakesh Bodla <rbodla@nvidia.com> Reviewed-on: http://git-master/r/127137 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Alex Courbot <acourbot@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
2012-08-27asoc: aic326x machine: Add support for D-MicManoj Gangwal
Bug 1034241 Change-Id: I205a74a8f27237470a3cd1266bb925971654459c Signed-off-by: Manoj Gangwal <mgangwal@nvidia.com> Reviewed-on: http://git-master/r/125280 Reviewed-by: Simone Willett <swillett@nvidia.com> Tested-by: Simone Willett <swillett@nvidia.com>
2012-08-27asoc: codecs: TI aic326x: Add Digital Mic supportManoj Gangwal
Bug 1034241 Change-Id: Id0037f18afa58be82cbeeb43e97b606614fb8ba8 Signed-off-by: Manoj Gangwal <mgangwal@nvidia.com> Reviewed-on: http://git-master/r/125273 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Scott Peterson <speterson@nvidia.com>
2012-08-27arm: tegra: E1239: Add TI aic326x supportManoj Gangwal
1) Add latest TI aic326x codec driver support 2) Dmic support for TAI Bug 1034241 Change-Id: I8db5223fd203a4e8f93f159a9c654486831f08a1 Signed-off-by: Manoj Gangwal <mgangwal@nvidia.com> Reviewed-on: http://git-master/r/125265 Reviewed-by: Simone Willett <swillett@nvidia.com> Tested-by: Simone Willett <swillett@nvidia.com>
2012-08-27arm: tegra: config: Enable TI TLV320AIC326X codecManoj Gangwal
Enable TI TLV320AIC326X audio codec configuration. Bug 1034241 Change-Id: I5997c365f6ae3fde12e40f3a157421b655bb054e Signed-off-by: Manoj Gangwal <mgangwal@nvidia.com> Reviewed-on: http://git-master/r/125261 Reviewed-by: Simone Willett <swillett@nvidia.com> Tested-by: Simone Willett <swillett@nvidia.com>
2012-08-27asoc: aic326x machine: Add supp. for new TI driverManoj Gangwal
Add support for latest TI codec aic326x driver. Bug 1034241 Change-Id: I387693ed2de466d1704c6f7ff0a1b15c7cbff32f Signed-off-by: Manoj Gangwal <mgangwal@nvidia.com> Reviewed-on: http://git-master/r/125180 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Lokesh Pathak <lpathak@nvidia.com>
2012-08-27drivers: mfd: Add support for TI aic3262 driverManoj Gangwal
Bug 1034241 Change-Id: I5607d53cf0bdd25c5e2b8447cd7e676b64cd32a2 Signed-off-by: Manoj Gangwal <mgangwal@nvidia.com> Reviewed-on: http://git-master/r/125169 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Lokesh Pathak <lpathak@nvidia.com>
2012-08-27asoc: codecs: Add TI aic326x driverManoj Gangwal
Add latest TI aic326x driver. Bug 1034241 Change-Id: I8457538025b2989c4baa5eaefef48bdd5535def9 Signed-off-by: Manoj Gangwal <mgangwal@nvidia.com> Reviewed-on: http://git-master/r/125167 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Lokesh Pathak <lpathak@nvidia.com>
2012-08-27arm: tegra: pcie: WAR to avoid hang on PCIe deviceJay Agarwal
Setting DFPCI_RSPPASSPW bit in AFI_CONFIGURATION register to avoid instant hang on CPU read/write while gpu transfers are in progress. Bug 1034443 Change-Id: I40c99588753b8b2cb2d418b54c6ac73f7b8ddc13 Signed-off-by: Jay Agarwal <jagarwal@nvidia.com> Reviewed-on: http://git-master/r/124037 Reviewed-by: Simone Willett <swillett@nvidia.com> Tested-by: Simone Willett <swillett@nvidia.com>
2012-08-27video: tegra: nvmap: fix handle usecount trackingTuomas Tynkkynen
A handle's usecount used to be incremented once during the mmap ioctl, and decremented when the mapping is closed by the kernel. However, that fails if a mapping cloned, for example if the mapping was split due to a munmap, or (presumably) during fork, as the decrement will then happen for each cloned mapping. Therefore increment the usecount when a mapping is opened. Also fix a BUG_ON() that would have caught this bug, if it wouldn't have done the check by checking if the unsigned usecount field is less than zero. Bug 1033981 Change-Id: I72ac9361a19e44f91ffd6b1126f4632e0f7b6726 Signed-off-by: Tuomas Tynkkynen <ttynkkynen@nvidia.com> Reviewed-on: http://git-master/r/123710 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Krishna Reddy <vdumpa@nvidia.com>
2012-08-27ARM: tegra: TAI: Add E1239 supportSeema Khowala
Bug 1002637 Change-Id: I1271f95e8c174422bcb93eed3cc2bd7df8012479 Signed-off-by: Seema Khowala <seemaj@nvidia.com> Reviewed-on: http://git-master/r/123537 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Scott Peterson <speterson@nvidia.com>
2012-08-24Revert "arm: tegra: Enable speculative line fill in SCU."Krishna Reddy
This reverts commit 06c880a6086183173c361b4a9d4f8047c6a39769. This CL is reverted as it causes write perf regression with lmbench(bw_mem) benchmark. Bug 1026077 Change-Id: I7ff9ffbfe74e2083aa43cab75b694b1c61987bc3 Signed-off-by: Krishna Reddy <vdumpa@nvidia.com> Reviewed-on: http://git-master/r/125097 Reviewed-by: Aleksandr Frid <afrid@nvidia.com>
2012-08-24Revert "arm: tegra: scu: Enable IC and SCU standby"Krishna Reddy
This reverts commit b25193d5c3e2c59169c127d23b59123136cfefa7. This CL is reverted as it causes write perf regression with lmbench(bw_mem) benchmark. Bug 1026077 Change-Id: I9858c88a6e846d2c3629f14c7cc62a7feb4f4528 Signed-off-by: Krishna Reddy <vdumpa@nvidia.com> Reviewed-on: http://git-master/r/125096 Reviewed-by: Aleksandr Frid <afrid@nvidia.com>
2012-08-24ARM:tegra:emc: scale latency allowance by tick lenRay Poudrier
Calculate the tick length of the EMC DFS table and scale the latency allowance settings. Bug 955082 Change-Id: Id7b1504c6854009ba7677c7ddebe0a8f62cbfb7e Signed-off-by: Ray Poudrier <rapoudrier@nvidia.com> Reviewed-on: http://git-master/r/124980 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Aleksandr Frid <afrid@nvidia.com> Reviewed-by: Krishna Reddy <vdumpa@nvidia.com>
2012-08-24video: console: Enable framebuffer consoleMark Zhang
Framebuffer console init failed issue will be fixed by: http://git-master/r/#change,107866 So we should enable framebuffer console now. Bug 996992 Bug 941073 Change-Id: I6841248fad406f4a00055062691f5794145c030a Signed-off-by: Mark Zhang <markz@nvidia.com> Reviewed-on: http://git-master/r/124805 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Peer Chen <pchen@nvidia.com> Reviewed-by: Matthew Pedro <mapedro@nvidia.com> Reviewed-by: Rhyland Klein <rklein@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Allen Martin <amartin@nvidia.com>
2012-08-23ARM: tegra: la: add function to scale LARay Poudrier
Add functionality to enable changing of latency allowance settings. This is used for memory tables that may have different tick lengths. Bug 955082 Change-Id: I3055a062846cfdeb992931e691cf687ffb05725c Signed-off-by: Ray Poudrier <rapoudrier@nvidia.com> Reviewed-on: http://git-master/r/124979 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Aleksandr Frid <afrid@nvidia.com> Reviewed-by: Krishna Reddy <vdumpa@nvidia.com>
2012-08-23net/usbnet: avoid recursive locking in usbnet_stop()Steve Lin
|kernel BUG at kernel/rtmutex.c:724! |[<c029599c>] (rt_spin_lock_slowlock+0x108/0x2bc) from [<c01c2330>] (defer_bh+0x1c/0xb4) |[<c01c2330>] (defer_bh+0x1c/0xb4) from [<c01c3afc>] (rx_complete+0x14c/0x194) |[<c01c3afc>] (rx_complete+0x14c/0x194) from [<c01cac88>] (usb_hcd_giveback_urb+0xa0/0xf0) |[<c01cac88>] (usb_hcd_giveback_urb+0xa0/0xf0) from [<c01e1ff4>] (musb_giveback+0x34/0x40) |[<c01e1ff4>] (musb_giveback+0x34/0x40) from [<c01e2b1c>] (musb_advance_schedule+0xb4/0x1c0) |[<c01e2b1c>] (musb_advance_schedule+0xb4/0x1c0) from [<c01e2ca8>] (musb_cleanup_urb.isra.9+0x80/0x8c) |[<c01e2ca8>] (musb_cleanup_urb.isra.9+0x80/0x8c) from [<c01e2ed0>] (musb_urb_dequeue+0xec/0x108) |[<c01e2ed0>] (musb_urb_dequeue+0xec/0x108) from [<c01cbb90>] (unlink1+0xbc/0xcc) |[<c01cbb90>] (unlink1+0xbc/0xcc) from [<c01cc2ec>] (usb_hcd_unlink_urb+0x54/0xa8) |[<c01cc2ec>] (usb_hcd_unlink_urb+0x54/0xa8) from [<c01c2a84>] (unlink_urbs.isra.17+0x2c/0x58) |[<c01c2a84>] (unlink_urbs.isra.17+0x2c/0x58) from [<c01c2b44>] (usbnet_terminate_urbs+0x94/0x10c) |[<c01c2b44>] (usbnet_terminate_urbs+0x94/0x10c) from [<c01c2d68>] (usbnet_stop+0x100/0x15c) |[<c01c2d68>] (usbnet_stop+0x100/0x15c) from [<c020f718>] (__dev_close_many+0x94/0xc8) defer_bh() takes the lock which is hold during unlink_urbs(). The safe walk suggest that the skb will be removed from the list and this is done by defer_bh() so it seems to be okay to drop the lock here. Reported-by: Aníbal Almeida Pinto <anibal.pinto@efacec.com> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Acked-by: Oliver Neukum <oliver@neukum.org> Signed-off-by: David S. Miller <davem@davemloft.net> (cherry picked from commit 4231d47e6fe69f061f96c98c30eaf9fb4c14b96d) --------------------------------------------------------------------- net/usbnet: reserve headroom on rx skbs network drivers should reserve some headroom on incoming skbs so that we dont need expensive reallocations, eg forwarding packets in tunnels. This NET_SKB_PAD padding is done in various helpers, like __netdev_alloc_skb_ip_align() in this patch, combining NET_SKB_PAD and NET_IP_ALIGN magic. Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Cc: Oliver Neukum <oneukum@suse.de> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Acked-by: Oliver Neukum <oneukum@suse.de> Signed-off-by: David S. Miller <davem@davemloft.net> (cherry picked from commit 7bdd402706cf26bfef9050dfee3f229b7f33ee4f) --------------------------------------------------------------------- usbnet: use netif_tx_wake_queue instead of netif_start_queue If host is going to autosuspend function with two interfaces and if IP packet has arrived in-between of two usbnet_suspend() callbacks, i.e usbnet_resume() is called in-between, tx data flow is stopped. When autosuspend timer expires and device is put to autosuspend again, tx queue is waked up and data can be sent again. This behavior might be repeated several times in a row. Tested on Intel/ARM. Reviewed-by: Sjur Brændeland <sjur.brandeland@stericsson.com> Tested-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com> Signed-off-by: Alexey Orishko <alexey.orishko@stericsson.com> Acked-by: Oliver Neukum <oneukum@suse.de> Signed-off-by: David S. Miller <davem@davemloft.net> (cherry picked from commit 1aa9bc5b2f4cf8c48944fb9a607bf1dd674e2c10) --------------------------------------------------------------------- usbnet: increase URB reference count before usb_unlink_urb Commit 4231d47e6fe69f061f96c98c30eaf9fb4c14b96d(net/usbnet: avoid recursive locking in usbnet_stop()) fixes the recursive locking problem by releasing the skb queue lock, but it makes usb_unlink_urb racing with defer_bh, and the URB to being unlinked may be freed before or during calling usb_unlink_urb, so use-after-free problem may be triggerd inside usb_unlink_urb. The patch fixes the use-after-free problem by increasing URB reference count with skb queue lock held before calling usb_unlink_urb, so the URB won't be freed until return from usb_unlink_urb. Reported-by: Dave Jones <davej@redhat.com> Signed-off-by: Ming Lei <tom.leiming@gmail.com> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: David S. Miller <davem@davemloft.net> (cherry picked from commit 0956a8c20b23d429e79ff86d4325583fc06f9eb4) --------------------------------------------------------------------- usbnet: don't clear urb->dev in tx_complete URB unlinking is always racing with its completion and tx_complete may be called before or during running usb_unlink_urb, so tx_complete must not clear urb->dev since it will be used in unlink path, otherwise invalid memory accesses or usb device leak may be caused inside usb_unlink_urb. Signed-off-by: Ming Lei <tom.leiming@gmail.com> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: David S. Miller <davem@davemloft.net> (cherry picked from commit 5d5440a835710d09f0ef18da5000541ec98b537a) --------------------------------------------------------------------- usbnet: consider device busy at each recieved packet usbnet should centrally handle busy reporting in the rx path so subdrivers need not worry. This hurts use cases which do rx only or predominantly. Signed-off-by: Oliver Neukum <oneukum@suse.de> Signed-off-by: David S. Miller <davem@davemloft.net> (cherry picked from commit 8a78335442cea429afb2b964318b6e257448ea00) --------------------------------------------------------------------- usbnet: fix leak of transfer buffer of dev->interrupt The transfer buffer of dev->interrupt is allocated in .probe path, but not freed in .disconnet path, so mark the interrupt URB as URB_FREE_BUFFER to free the buffer when the URB is destroyed. Signed-off-by: Ming Lei <tom.leiming@gmail.com> Acked-by: Oliver Neukum <oneukum@suse.de> Signed-off-by: David S. Miller <davem@davemloft.net> (cherry picked from commit 267a83e8e00dc5a878b24c39883643c20a8b1482) Bug 1036768 Change-Id: I5d6620c8ff4e6cef52c3f467fb2196658c4d47b1 Signed-off-by: Steve Lin <stlin@nvidia.com> Reviewed-on: http://git-master/r/125338 GVS: Gerrit_Virtual_Submit
2012-08-23video: tegra: host: Clear intr list at intr_putTerje Bergstrom
Process wait list when removing a waiter. This clears the interrupt once it is no longer needed. Bug 1031724 Change-Id: Ifb46672f70c8bbd6359d0a8aeaac0d718a5394b2 Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-on: http://git-master/r/125230 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Juha Tukkinen <jtukkinen@nvidia.com>
2012-08-23video: tegra: dc: Make framebuffer console init OKMark Zhang
Update framebuffer's modelist after we changed it's fb_var_screeninfo. This makes sure the framebuffer console can be inited successfully. During framebuffer console init, it'll check whether the var info of the framebuffer is consistent with the modelist. Unsuccessful init of framebuffer console driver makes VT driver doesn't work in right way. Bug 996992 Signed-off-by: Mark Zhang <markz@nvidia.com> Change-Id: I96a1db1f389be75dcba48b20447cf1510ad3768b Reviewed-on: http://git-master/r/107866 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Shashank Sharma <shashanks@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Jon Mayo <jmayo@nvidia.com>