summaryrefslogtreecommitdiff
path: root/drivers/media/video
AgeCommit message (Collapse)Author
2013-03-25Revert "tegra11: nvavp: clock: increase sclk boost frequency"Shridhar Rasal
This reverts commit 92d5d73e8d9d3db0a6153d1f3a603aeb42445f9c. sclk boost was increased to 80MHz for 25x16 resolution displys. Moving back to 40MHz since roth is 720p display. bug 1258031 Change-Id: I30a49626ae3f1d150c5ca1f8ae281aaa7960e992 Signed-off-by: Mandar Potdar <mpotdar@nvidia.com> Signed-off-by: Shridhar Rasal <srasal@nvidia.com> Reviewed-on: http://git-master/r/211638 Reviewed-by: Soumenkumar Dey <sdey@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Tested-by: Bharat Nihalani <bnihalani@nvidia.com>
2013-03-25nvavp: Set sclk to SCLK_BOOST_RATE if boost is enabledMandar Potdar
When disabling all other clocks, do not set sclk to 0 if boost is enabled. bug 1258031 Change-Id: I021648464e4693e1bc2fb31d5e3e6a53af6e6c37 Signed-off-by: Mandar Potdar <mpotdar@nvidia.com> Reviewed-on: http://git-master/r/211628 Reviewed-by: Shridhar Rasal <srasal@nvidia.com> Tested-by: Shridhar Rasal <srasal@nvidia.com> Reviewed-by: Soumenkumar Dey <sdey@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
2013-02-18tegra11: nvavp: clock: increase sclk boost frequencyLi Li
25x16 panel requires higher slck frequency than 19x12. So increase the sclk from 40MHz to 80MHz. This reuses the mechanism in existing avp driver. Previous code is to boost sclk when display is turned on to prevent glitch audio. It's general enough so not necessary to introduce another duplicate framework just to boost sclk for similar performance issues. And, this is only for runtime boosting. When system is idle with display off, previous commit 9f82f47 (ARM: tegra11: clock: decrease sclk min limit) has ensured that the sclk is at the lowest possible speed to save power. Bug 1211941 Change-Id: I4a3c7b6ccfbb4681b644c68b829508c3660c800f Signed-off-by: Li Li <lli5@nvidia.com> Reviewed-on: http://git-master/r/197156 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Peter Zu <pzu@nvidia.com> Reviewed-by: Aleksandr Frid <afrid@nvidia.com> Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
2013-02-07media: tegra: imx091: use mW E-statesSivaram Nair
The camera driver's E-states are changes to use mW values instead of mA. Change-Id: Ib5929cf45404fdf0c5fb332027fa909f5a6efc48 Signed-off-by: Sivaram Nair <sivaramn@nvidia.com> (cherry picked from commit 2868d8c74df6c8380beebf6c9d7297fdfa84c45d) Reviewed-on: http://git-master/r/196359 Reviewed-by: Riham Haidar <rhaidar@nvidia.com> Tested-by: Riham Haidar <rhaidar@nvidia.com>
2013-02-04media: video: tegra: update imx091 set mode printWei Chen
enable imx091 set mode info print to help debugging bug 1219966 Change-Id: Idc93dffef935560751f0a847e88d2f57683ababf Signed-off-by: Wei Chen <wechen@nvidia.com> Reviewed-on: http://git-master/r/195618 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Joshua Widen <jwiden@nvidia.com> Reviewed-by: Sachin Nikam <snikam@nvidia.com>
2013-02-01media: tegra: as3648: modify shutdown functionalitySri Krishna chowdary
Shutdown functionality needs that it should wait for any pending i2c transations and there should be no i2c transaction after the function returns. To turn off led, power off regulator instead of trying to write into device registers. Bug 1175095 Change-Id: Ic1375b4f9d3af793ddd70a4d73481680e715d597 Signed-off-by: Sri Krishna chowdary <schowdary@nvidia.com> Reviewed-on: http://git-master/r/193000 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Sachin Nikam <snikam@nvidia.com>
2013-01-22video: tegra: imx091: lower max VI clock to 204MHzFrank Chen
Lower the max VI clock for imx091 from 250MHz to 204MHz. This is to match what is currently specified in the sensor mode table. This is done by lowering the clock multiplier from 10.41667 to 8.5(24MHz * 8.5 = 204MHz). On some older T114 platforms, we are not able to set VI clock to 250MHz due to the slower memory clock. This will end up slowing our VI_SENSOR clock and make frame rate lower. Bug 1207018 Change-Id: Ia8b582c740d57409b28e6aa696c29b85e23dceba Signed-off-by: Frank Chen <frankc@nvidia.com> Reviewed-on: http://git-master/r/191825 Reviewed-by: Jon Mayo <jmayo@nvidia.com> Reviewed-by: Gary Zhang <garyz@nvidia.com> Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
2013-01-16media: video: tegra: camera: move tegra_cameraJihoon Bang
Move tegra_camera from platform_driver to part of nvhost vi driver. Split tegra_camera.c file into multiple files incluidng camera.c, camera_power.c, camera_emc.c and camera_clk.c according to functionality. tegra_camera is registered/unregistered in nvhost vi driver. Bug 1189789 Change-Id: I0ff6b4c0032b33b1030f94ac1b1675d1fff53bab Signed-off-by: Jihoon Bang <jbang@nvidia.com> Reviewed-on: http://git-master/r/174508 Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
2013-01-16media: video: tegra: imx091: Add standard preview modeFrank Chen
Add standard preview mode (2104x1560) for imx091. This standard preview mode replaces the low quality 1052x780 preview mode. This will improve the auto focuser accuracy. Bug 1203989 Change-Id: I3be6d47a699bb543befb19e7462ff5a99b4b81d2 Signed-off-by: Frank Chen <frankc@nvidia.com> Reviewed-on: http://git-master/r/189594 Reviewed-by: Gary Zhang <garyz@nvidia.com> Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
2013-01-07media: video: tegra: imx091: fix power off sequenceJihoon Bang
Fix power-down sequence. regulator_enable/regulator_disable wasn't paired. Bug 1168663 Change-Id: I128bb1dfb9b85aa41000e0a3d65bc1d1d455446b Signed-off-by: Jihoon Bang <jbang@nvidia.com> Reviewed-on: http://git-master/r/174334 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Jon Mayo <jmayo@nvidia.com> Reviewed-by: Wei Chen <wechen@nvidia.com> Reviewed-by: Dan Willemsen <dwillemsen@nvidia.com>
2012-12-21media: video: tegra: add isomgr apisJihoon Bang
Add isomgr apis to request memory bandwidth to iso manager. Bug 1169267 Change-Id: I7829d0eed0e114854d3666a470fc500fc787e23d Signed-off-by: Jihoon Bang <jbang@nvidia.com> Reviewed-on: http://git-master/r/170536 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Krishna Reddy <vdumpa@nvidia.com>
2012-12-20Revert "video: tegra: nvavp: Disable powergating of VDE"Jaiprakash Khemkar
This reverts commit 09e38b074d327b2acadbd6c5ca5c745021efb3a9. * Below changes takes care of enabling the clocks just before programming the key to VDE for widevine http://git-master/r/#change,169007 http://git-master/r/#change,169008 Bug 1190582 Change-Id: Ib127760375a5f073a927e80a7735f9455be69d18 Signed-off-by: Jaiprakash Khemkar <jkhemkar@nvidia.com> Reviewed-on: http://git-master/r/171337 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> GVS: Gerrit_Virtual_Submit
2012-12-17media: video: tegra: imx091: Fix pll_mult valueSudhir Vyas
The pll_mult value for imx091 new mode [524x390] is incorrectly set. Which is being used to derive VtPixelClk and later this clock is used to calculate coarse-time, frame-length and frame-rate, hence all are being calculated to wrong values. Slow-mo faces the incorrect fps issue when same mode needs to be programmed with different fps. Bug 1180474 Change-Id: I668095cf3927c58947df79fd3f59b99e3bfac24a Signed-off-by: Sudhir Vyas <svyas@nvidia.com> Reviewed-on: http://git-master/r/#change,170414 Reviewed-on: http://git-master/r/170910 Reviewed-by: Rohan Somvanshi <rsomvanshi@nvidia.com> Tested-by: Rohan Somvanshi <rsomvanshi@nvidia.com>
2012-12-13media: video: tegra: nvavp: Fix nvmap handle issueGajanan Bhat
In open call we were assigning the driver's nvmap handle to the nvavp's client context which would get released in release call to driver. This will cause driver's nvmap handle to be invalid if a parallel client context is running and driver does any nvmap operation. Bug 1013063 Bug 1192772 Change-Id: I9528d233755ddf7cc3dd9cce52816c5521e687e7 Signed-off-by: Gajanan Bhat <gbhat@nvidia.com> Reviewed-on: http://git-master/r/170997 Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Tested-by: Bharat Nihalani <bnihalani@nvidia.com> Reviewed-by: Automatic_Commit_Validation_User
2012-12-13drivers: tegra: imx091/max77665: fix edp issueCharlie Huang
Fix the potential NULL pointer usage in the case there is no edp client allocated. bug 1193275 Change-Id: I901920b65ca9ffef0d859c2746106ad7ffdbcf10 Signed-off-by: Charlie Huang <chahuang@nvidia.com> Reviewed-on: http://git-master/r/170249 Reviewed-by: Jon Mayo <jmayo@nvidia.com> Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
2012-12-10video: tegra: imx091: add debugfs supportWei Chen
add debugfs support for imx091 to facilitate sensor tunning and debug etc. Bug 1037602 Change-Id: I5ac3e7bc24765e2bb924666eeb7631c5909f0a40 Signed-off-by: Wei Chen <wechen@nvidia.com> Reviewed-on: http://git-master/r/166742 Reviewed-by: Simone Willett <swillett@nvidia.com> Tested-by: Simone Willett <swillett@nvidia.com>
2012-12-10drivers: tegra: max77665 flash/imx091: edp supportCharlie Huang
enable edp support on max77665 flash device and imx091 camera sensor. the E-state tables added are not finetuned, need calibrate later. bug 1159989 bug 1159987 Change-Id: I9b4339247099ec1808a677f9a4bfc7b10325d625 Signed-off-by: Charlie Huang <chahuang@nvidia.com> Reviewed-on: http://git-master/r/166733 Reviewed-by: Frank Chen <frankc@nvidia.com> Reviewed-by: Wei Chen <wechen@nvidia.com> Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Sivaram Nair <sivaramn@nvidia.com> Reviewed-by: Diwakar Tundlam <dtundlam@nvidia.com>
2012-12-06video: tegra: nvavp: Disable powergating of VDEJaiprakash Khemkar
* For widevine playback key programming is done in secure OS and VDE should be powered ON. Bug 1190582 Change-Id: I0cea07c20a8f9d7dd0b61810137ae03b20d85161 Signed-off-by: Jaiprakash Khemkar <jkhemkar@nvidia.com> Reviewed-on: http://git-master/r/168615 Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Reviewed-by: Automatic_Commit_Validation_User
2012-12-05video: tegra: ad5816: fix power off issueWei Chen
The original logic prevents the NVC_PWR_OFF from getting called when the device is release. When the device is open again, the power-on sequence is not called. This will cause register mis-programming. Bug 1185601 Change-Id: I197cbb5dc67a970348a7bbf71185503daf67abba Signed-off-by: Wei Chen <wechen@nvidia.com> Reviewed-on: http://git-master/r/167431 Reviewed-by: Simone Willett <swillett@nvidia.com> Tested-by: Simone Willett <swillett@nvidia.com>
2012-12-05media: video: tegra: ov9772: group hold launch nowPhil Breczinski
Modify group hold function to launch immediately to ensure that exposure changes go into effect early enough to pass linearity conformance. Also modify exposure_wr function to properly write exposure registers as a group. Bug 1179317 Change-Id: I36026d6e86bcee3b6e3fcd65e3489140ee33f9b1 Signed-off-by: Phil Breczinski <pbreczinski@nvidia.com> Reviewed-on: http://git-master/r/168474 Reviewed-by: Wei Chen <wechen@nvidia.com> Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Thomas Cherry <tcherry@nvidia.com>
2012-12-05media: video: tegra: normalize emc freq in cameraJihoon Bang
Normalize emc clock freq request from camera. Use tegra_emc_bw_to_freq_req to get HW specific emc freq. Bug 1167105 Change-Id: I366134b7ef61fd8db6fd49d0b8e24a412dcb64ae Signed-off-by: Jihoon Bang <jbang@nvidia.com> Reviewed-on: http://git-master/r/166729 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Krishna Reddy <vdumpa@nvidia.com> Reviewed-by: Aleksandr Frid <afrid@nvidia.com> Reviewed-by: Dan Willemsen <dwillemsen@nvidia.com>
2012-12-04media: video: tegra: handle NULL dereferencesDeepak Nibade
-fix coverity issues ar0832_main : handle dereference before NULL check Coverity id : 15049 ar0832_main : handle dereference after NULL check Coverity id : 12050 tegra_dtv : handle dereference after NULL check Coverity id : 12051 Bug 1046331 Change-Id: I84bc0853db147c6941ab4b795dd3deb129996f7e Signed-off-by: Deepak Nibade <dnibade@nvidia.com> Reviewed-on: http://git-master/r/166923 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Sri Krishna Chowdary <schowdary@nvidia.com> Reviewed-by: Adam Jiang <chaoj@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
2012-12-04media: video: tegra: ov9772: Modify mode tablesPhil Breczinski
Modify mode tables for ov9772 sensor driver to fix blacklevel issues. Adjust pixel type to compensate for mode table changes. Bug 1048307 Change-Id: I2416a43a02152b9b87405305ccd82c4ed476822c Signed-off-by: Phil Breczinski <pbreczinski@nvidia.com> Reviewed-on: http://git-master/r/167577 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Frank Chen <frankc@nvidia.com> Reviewed-by: Thomas Cherry <tcherry@nvidia.com> Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
2012-12-04video: tegra: ad5816: focus setting updateWei Chen
Update the focus settings according to the vcm driver vendor and isp calibration. Bug 1176695 Change-Id: I478dae1af70e3616c440245cc9e66b8018c28bf9 Signed-off-by: Wei Chen <wechen@nvidia.com> Reviewed-on: http://git-master/r/166705 Reviewed-by: Simone Willett <swillett@nvidia.com> Tested-by: Simone Willett <swillett@nvidia.com>
2012-11-28media: video: tegra: moving to clk prepare APIsSivaram Nair
The clk_enable/clk_disable pair of APIs are replaced with clk_prepare_enable and clk_disable_unprepare. This is needed for the migration to common clk framework. Bug 920915 Change-Id: Ib1558412057d523dc75d9cb77b99727b1bc8f497 Signed-off-by: Sivaram Nair <sivaramn@nvidia.com> Reviewed-on: http://git-master/r/162322 Reviewed-by: Simone Willett <swillett@nvidia.com> Tested-by: Simone Willett <swillett@nvidia.com>
2012-11-28media: video: tegra: sh532u: fix out-of-bounds readDeepak Nibade
fix Coverity issue Coverity id : 13692 Bug 1046331 Change-Id: Iefa6d076d4622368534710630b89b9a15d166378 Signed-off-by: Deepak Nibade <dnibade@nvidia.com> Reviewed-on: http://git-master/r/165864 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Frank Chen <frankc@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
2012-11-28media: video: tegra: nvavp_dev: handle function return valueDeepak Nibade
fix coverity issue Coverity id : 20755 Bug 1046331 Change-Id: Id04298ec908d87b25aae1d025efc0221d03c5337 Signed-off-by: Deepak Nibade <dnibade@nvidia.com> Reviewed-on: http://git-master/r/165606 Reviewed-by: Simone Willett <swillett@nvidia.com> Tested-by: Simone Willett <swillett@nvidia.com>
2012-11-28media: video: tegra: fix unused codeDeepak Nibade
-fix coverity issue ad5816: fix logically dead code Coverity id : 21006 ov5640: fix unused pointer value Coverity id : 18076 tegra_camera: fix logically dead code Coverity id : 11332 Bug 1046331 Change-Id: I1b32ec3ae3145d77142fcfa96d68477da4fc20b3 Signed-off-by: Deepak Nibade <dnibade@nvidia.com> Reviewed-on: http://git-master/r/165369 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Frank Chen <frankc@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
2012-11-28video: tegra: avp: Turn off TMR2 when avp tear down.Jaydeep Gokhale
This prevent to continuous wake up from LP1 when AP go into LP1 after tear down AVP Bug 1174971 Change-Id: I7063e5b6aaec8ce289c1f57755c17dba7880297a Signed-off-by: Jaydeep Gokhale <jgokhale@nvidia.com> Reviewed-on: http://git-master/r/166201 Reviewed-by: Mandar Potdar <mpotdar@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Mohan Nimaje <mnimaje@nvidia.com>
2012-11-26media: video: tegra: imx132: Add new sensor modeSudhir Vyas
Add new sensor mode (1976x1200) support in imx132 sensor kernel driver. Bug 1159828 Change-Id: I7fad538266a74cbacb4d96d0900d2269b88a2ec9 Signed-off-by: Sudhir Vyas <svyas@nvidia.com> Reviewed-on: http://git-master/r/161540 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
2012-11-24media: video: tegra: fix floating point handlingJoshua Widen
Certain parameters are handled incorrectly. This change brings it to how it historically has been supported. There is consideration for the future to change to a fixed point representation and have a query to see which format is supported for backward compatibility. Bug 1172946 Change-Id: Iea9fbfc0a6db3ee0e8d2c2e4efdba8babab4c968 Signed-off-by: Joshua Widen <jwiden@nvidia.com> Reviewed-on: http://git-master/r/165165 Reviewed-by: Rohan Somvanshi <rsomvanshi@nvidia.com> Tested-by: Rohan Somvanshi <rsomvanshi@nvidia.com>
2012-11-23drivers: tegra: imx091: flash control supportCharlie Huang
add support of the on-sensor flash control bug 1170146 Change-Id: Ie8f48c5f8065ce4b35f24e7839f78fc6d8579482 Signed-off-by: Charlie Huang <chahuang@nvidia.com> Reviewed-on: http://git-master/r/161015 Reviewed-by: Rohan Somvanshi <rsomvanshi@nvidia.com> Tested-by: Rohan Somvanshi <rsomvanshi@nvidia.com>
2012-11-23media: video: tegra: ov9772: correct group holdPhil Breczinski
Update the group hold function and support to properly implement group hold on the ov9772 sensor. Improves preview flicker problem. Bug 1161168 Change-Id: I19d071d97b8bc55096799b76aa86c839211c471a Signed-off-by: Phil Breczinski <pbreczinski@nvidia.com> Reviewed-on: http://git-master/r/165279 Reviewed-by: Rohan Somvanshi <rsomvanshi@nvidia.com> Tested-by: Rohan Somvanshi <rsomvanshi@nvidia.com>
2012-11-22media: video: tegra: ov9772: reduce set mode timePhil Breczinski
Reduces time to set mode on ov9772 sensor. Eliminate unneeded sleep times at mode switch. Implement active wait following software reset. Change-Id: I25e978eaf64815ba73f8cc42f7ecfdabac95f46c Signed-off-by: Phil Breczinski <pbreczinski@nvidia.com> Reviewed-on: http://git-master/r/164502 Reviewed-by: Rohan Somvanshi <rsomvanshi@nvidia.com> Tested-by: Rohan Somvanshi <rsomvanshi@nvidia.com>
2012-11-21media: video: tegra: moving to clk prepare APIsSivaram Nair
The clk_enable/clk_disable pair of APIs are replaced with clk_prepare_enable and clk_disable_unprepare. This is needed for the migration to common clk framework. Bug 920915 Change-Id: If72e1542f1b4784aeb3aac95b3ae28080e1f351d Signed-off-by: Sivaram Nair <sivaramn@nvidia.com> Reviewed-on: http://git-master/r/162331 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Adam Jiang <chaoj@nvidia.com> Reviewed-by: Juha Tukkinen <jtukkinen@nvidia.com>
2012-11-21media: video: tegra: ov9772: correct 720p sizePhil Breczinski
Changes dimensions of 720p output resolution from 1284x724 to 1280x720, eliminating corruption seen at the right side of the image. Bug 1156852 Change-Id: Ifd931f96f6bec506ae270c33cda2931a62c91c23 Signed-off-by: Phil Breczinski <pbreczinski@nvidia.com> Reviewed-on: http://git-master/r/163316 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Bhushan Rayrikar <brayrikar@nvidia.com> Reviewed-by: Frank Chen <frankc@nvidia.com> Reviewed-by: Patrick Shehane <pshehane@nvidia.com> Reviewed-by: Dan Willemsen <dwillemsen@nvidia.com>
2012-11-19drivers: tegra: ad5816: power sequence updateCharlie Huang
add a 1mS delay after power is on to avoid i2c error in set arc mode. bug 1174413 Change-Id: I481dbc4f8ec57f029985bbf34c0fec8db1921117 Signed-off-by: Charlie Huang <chahuang@nvidia.com> Reviewed-on: http://git-master/r/164185 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Philip Breczinski <pbreczinski@nvidia.com> Reviewed-by: Frank Chen <frankc@nvidia.com> Reviewed-by: Thomas Cherry <tcherry@nvidia.com>
2012-11-16drivers: tegra: turn off leds at LP0/LP1 & exitCharlie Huang
turn off leds before entering LP0/LP1 mode and before exit. bug 1172430 bug 1172390 Change-Id: I94f48f2b4f4215c5ce50c03af1b63e9341d47071 Signed-off-by: Charlie Huang <chahuang@nvidia.com> Reviewed-on: http://git-master/r/163652 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Philip Breczinski <pbreczinski@nvidia.com> Reviewed-by: Thomas Cherry <tcherry@nvidia.com> Reviewed-by: Frank Chen <frankc@nvidia.com>
2012-11-15media: video: tegra: remove hardcoded MCLK valueFrank Chen
Remove hardcoded 24MHz MCLK setting. It is only used for t114 bringup and is no longer needed. Bug 1171825 Change-Id: I68a3ae65b987c6960b34158f01413ff666e94cdc Signed-off-by: Frank Chen <frankc@nvidia.com> Reviewed-on: http://git-master/r/161825 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Wei Chen <wechen@nvidia.com> Reviewed-by: Charlie Huang <chahuang@nvidia.com> Reviewed-by: Dan Willemsen <dwillemsen@nvidia.com>
2012-11-14media: video: tegra: add 120fps mode to imx091Wei Chen
Add a 120fps mode to imx091 to enable slow motion recording. Bug 1154849 Change-Id: I3468cf463df823b49aa435a08dc90589c80963cf Signed-off-by: Wei Chen <wechen@nvidia.com> Reviewed-on: http://git-master/r/161445 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Frank Chen <frankc@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Jon Mayo <jmayo@nvidia.com>
2012-11-09media: video: tegra: ov9772: add 960x720 supportPhil Breczinski
Add support for 960x720 resolution to ov9772 driver. This provides a 4:3 resolution in addition to the existing 16:9 resolution (720p). Also includes support for sensor-specific setmode frame delays (needed for driver functionality). Bug 1156852 Signed-off-by: Phil Breczinski <pbreczinski@nvidia.com> Change-Id: I5dfb5f9aa131caae66f19ff975b879b4a54c2788 Reviewed-on: http://git-master/r/161830 Reviewed-by: Frank Chen <frankc@nvidia.com> Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Dan Willemsen <dwillemsen@nvidia.com>
2012-11-09media: video: tegra: Ad5816 power/gpio changesSudhir Vyas
* Reorganise power sequence. * Restructure focuser driver code. * Add support for dalmore focuser. * Make changes for image sharpness. * Remove unnecessary code. Bug 1156996 Bug 1157339 Change-Id: I578e6f586a66f751d35a6cc99fa5e7c229194ff9 Signed-off-by: Sudhir Vyas <svyas@nvidia.com> Reviewed-on: http://git-master/r/160205 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Prayas Mohanty <pmohanty@nvidia.com> Reviewed-by: Charlie Huang <chahuang@nvidia.com> Reviewed-by: Sachin Nikam <snikam@nvidia.com> Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com> GVS: Gerrit_Virtual_Submit
2012-11-08media: video: tegra: add imx091 nvc driverWei Chen
add NVC framework driver for imx091 Bug 961418 Change-Id: I2a6c984eac956f62fefb36119d3868aadb800f26 Signed-off-by: Wei Chen <wechen@nvidia.com> Reviewed-on: http://git-master/r/159376 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Frank Chen <frankc@nvidia.com> Reviewed-by: Dan Willemsen <dwillemsen@nvidia.com>
2012-11-05drivers: media: tegra: max77665: torch control fixCharlie Huang
the torch timer and led enable registers were not updated properly. bug 1116953 Change-Id: If94a5a62e2cb36b3c75c1a69f22cebffdd8cbe27 Signed-off-by: Charlie Huang <chahuang@nvidia.com> Reviewed-on: http://git-master/r/147707 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Anton Poon <antonp@nvidia.com> Reviewed-by: Dan Willemsen <dwillemsen@nvidia.com>
2012-11-02video: tegra: host: use platform bus/driver/deviceMayuresh Kulkarni
- this commit replaces the custom nvhost bus/driver/device with platform bus/driver/device - this is in preparation to add DT support - following is the list of notable changes done: 1. chip_ops: The per SoC differences is encapsulated by chip_ops structure. With nvhost_bus: - It is hidden in nvhost_bus and exposed APIs to rest of the code. These APIs land up in correct implementation for current SoC. With platform_bus: - I had to make this global and adjust the API accordingly. 2. nvhost_device With nvhost_bus: - The struct nvhost_device encapsulates both Linux device driver parts as well as tegra specific parts. With platform_bus: - I had to move the current nvhost_device as a platform_data for each platform_device. For this I renamed the struct nvhost_device to struct nvhost_device_data. - Also, since nvhost_driver is gone, I had to move all the function pointers in it to struct nvhost_device_data. 3. Device specific private data: Host1x master device has its own static data (called nvhost_master) which stores the per SoC sync-point, IRQ info etc. With nvhost_bus: - This was stored as device specific platform_data. With platform_bus: - The device specific platform_data is now struct nvhost_device_data (as mentioned above). - I need to keep it common for all the devices whose code is part of host1x directory, so that other parts of code that need per-device info have a unique interface of platform_get_drvdata. - As a result, I had to add a void * field in struct nvhost_device_data which now holds per-device specific data and expose APIs to get/set this data. - As of now, only host1x master parent device code uses this. 4. Per SoC device names: With nvhost_bus: - Per SoC device name is SAME for all the SoCs. - The correct driver get linked to this device via the concept of id_table. This id_table allows us to connect multiple devices to single driver code and pass appropriate function pointer specific to SoC (you can check gr3d.c for details). With platform_bus: - The id_table usage of platform_bus is different from above. - To adhere to its need, I had to append the per-SoC device name with a version field (so gr3d for t20 became gr3d01, for t30 became gr3d02 etc). - I adjusted the correct names in _probe of such devices. Also, I adjusted the node names exposed to user space (/dev/host-gr3d etc) to be consistent across SoCs. - But this fails for the sysfs entries created by device registration code of Linux, since during this time the _probe is not called. So, device name is still appended with version field. 5. Per SoC device registration function: tegraXXX_register_host1x_devices is the per SoC specific APIs which is called by board-file to register the host1x and client devices. Host1x has strict requirements for the parent->child relations i.e. any client of host1x device should have the parent set properly BEFORE device registration. With nvhost_bus: - Setting of parent was taken care by nvhost_device_register call and other helpers. With platform_bus: - It is not possible to change parent till _probe of client device returns (meaning not much of control in our hand). The device driver core, takes a mutex lock of parent BEFORE calling _probe to avoid changing parent during _probe. - So, to set correct parent, I changed the return type of tegraXXX_register_host1x_devices to return pointer to master host1x parent device. 6. platform_get_drvdata calls: With nvhost_bus: - Only host1x master parent calls this. With platform_bus: - Almost all the common code ends up calling this. Fortunately, we had designed the APIs such that they take nvhost_device * as argument. So changing them to platform_device * is in a way easy. 7. Device list: The debug-fs dump code & module-reg-read-write functionality rely on having a list of host1x devices registered currently. With nvhost_bus: - This is readily available since struct bus_type of Linux holds this list. Moreover, it provides an iterators to access this list. With platform_bus: - Since it holds large number of devices in system, it is inefficient to use the above iterators. Also, it is difficult to have a common matching criteria for all the devices who have different platform_data. - As a result, I had to add a simple list using Linux kernel's list implementation. It holds the list of devices which have their code within host1x directory and actually use channels (remember tegra-dc and nvavp are outside host1x code && do not use physical channels they only need sync-point and host1x hardware alive when they are alive). I also had to provide 2 iterators one which is used for module-reg-read-write and other for debug-fs dump. 8. I changed how tegra-dc and nvavp called the host1x externally exposed APIs (such APIs end with _ext). In current code, they know little too much of host1x code internals. I now changed to make them independent of host1x internal implementation and structure know-how. They now simply send their own platform_device * to the external visible APIs and these APIs ensures that the call ends up in correct function call. bug 1041377 Change-Id: I9cd4d506e6f3bde805923ce7c7bbbd37c9ec13c4 Signed-off-by: Mayuresh Kulkarni <mkulkarni@nvidia.com> Reviewed-on: http://git-master/r/131403 Reviewed-by: Simone Willett <swillett@nvidia.com> Tested-by: Simone Willett <swillett@nvidia.com>
2012-10-29media: video: tegra: ov9772: fix Coverity errorFrank Chen
Fix incorrect sizeof expression. Bug 1055065 Change-Id: I735c3df49024d240f8d029a753e3ffa90b953665 Signed-off-by: Frank Chen <frankc@nvidia.com> Reviewed-on: http://git-master/r/159286 Reviewed-by: Simone Willett <swillett@nvidia.com> Tested-by: Simone Willett <swillett@nvidia.com>
2012-10-29ARM: tegra: nvavp: Fix build break for formatHiro Sugawara
Fix build break for wrong printf format specifier on carveout build. Change-Id: I25ac1d78b85d29584d8363b5431b6124f6f0db93 Signed-off-by: Hiro Sugawara <hsugawara@nvidia.com> Reviewed-on: http://git-master/r/139119 (cherry picked from commit 627defb796c7dda7c7155446739c5f1235a965ff) Reviewed-on: http://git-master/r/159484 Reviewed-by: Simone Willett <swillett@nvidia.com> Tested-by: Simone Willett <swillett@nvidia.com>
2012-10-29video: tegra: nvavp: Powergate VDEJaiprakash Khemkar
Bug 1059487 Change-Id: I55f51064070888007be6978b7317288bf5dc6c31 Signed-off-by: Jaiprakash Khemkar <jkhemkar@nvidia.com> Reviewed-on: http://git-master/r/147483 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Mohan Nimaje <mnimaje@nvidia.com> Reviewed-by: Chandrakanth Gorantla <cgorantla@nvidia.com> Reviewed-by: Vinayak Pore <vpore@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Reviewed-by: Gajanan Bhat <gbhat@nvidia.com>
2012-10-29media: video: tegra: add power rail definitionsCharlie Huang
In imx091/imx132/nvc_ov9772 drivers, so board files can turn the module on/off specifically and following the power sequence. minor fix in as364x, initialize the power state as OFF. bug 1060778 bug 1059684 bug 1054873 Change-Id: Iedaa867e3d9bd90f2698db943b5da74cb3eac1ec Signed-off-by: Charlie Huang <chahuang@nvidia.com> (cherry picked from commit efd72b1c8503041022bd166c78f867b43bd8fd90) Reviewed on http://git-master/r/#change,142534 Reviewed-on: http://git-master/r/146548 Reviewed-by: Simone Willett <swillett@nvidia.com> Tested-by: Simone Willett <swillett@nvidia.com>
2012-10-29media: video: tegra: add bits/pixel to nvc headerWei Chen
Add bits_per_pixel to nvc header to make the calculation of pixel clock uniform across different sensors. Bug 1041786 Change-Id: I3ec9acc9b6f16dbdb57d6d69511a318e8ad81fd6 Signed-off-by: Wei Chen <wechen@nvidia.com> Reviewed-on: http://git-master/r/147736 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Philip Breczinski <pbreczinski@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Dan Willemsen <dwillemsen@nvidia.com>