Age | Commit message (Collapse) | Author |
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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
|
|
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>
|
|
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
|
|
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>
|
|
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>
|
|
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>
|
|
* 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
|
|
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>
|
|
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>
|
|
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>
|
|
-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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
-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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
* 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
|
|
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>
|
|
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>
|
|
- 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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|