Age | Commit message (Collapse) | Author |
|
Signed-off-by: Wojciech Bieganski <wbieganski@antmicro.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
|
|
This reverts commit b2f6b2abc791802631ff1c85488cdf3c1f0a97e2.
Signed-off-by: Mariusz Glebocki <mglebocki@antmicro.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
|
|
This reverts commit ff5bccb61c1f8da1f63451fda88bd1f65dbee5b2.
This makes Antmicro's OV5640 camera module work again as described on
their blog here:
http://antmicro.com/Blog/2015/09/jetson-tk1-cameras/
Further investigation pending.
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
|
|
Use one kthread to start capture a frame and wait for next frame start.
Before waiting, it will move the current buffer to another queue which
will be handled another kthread.
The second kthread (capture_done) will wait for memory output done sync
point event and handle the buffer to videobuffer2 framework as capture
done.
Bug 1686911
Change-Id: Ia092c708ecca3b2e7cbc657a96fd247ea4a00d2f
Signed-off-by: Bryan Wu <pengw@nvidia.com>
Reviewed-on: http://git-master/r/819177
GVS: Gerrit_Virtual_Submit
Reviewed-by: Matthew Pedro <mapedro@nvidia.com>
|
|
Use kthread instead of workqueue, which will create a dedicated kernel
thread for capture.
Remove useless mutex and convert spin_lock_irq() to normal spin_lock().
Bug 1686911
Change-Id: Ib236a7ebbdd0359f2705774a979825f1f9e9d82a
Signed-off-by: Bryan Wu <pengw@nvidia.com>
Reviewed-on: http://git-master/r/819176
GVS: Gerrit_Virtual_Submit
Reviewed-by: Matthew Pedro <mapedro@nvidia.com>
|
|
Queueing buffer might happen before starting streaming. So any queueing
buffer operation before starting streaming shouldn't trigger real
capture but just queue the buffer. After starting streaming, it will
wake up kernel workqueue to start real capture.
Bug 1639982
Change-Id: I66fd527bbd12790b2d688f320214976e70a658f3
Signed-off-by: Bryan Wu <pengw@nvidia.com>
Reviewed-on: http://git-master/r/754710
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: David Wang (SW-TEGRA) <davidw@nvidia.com>
Reviewed-by: Winnie Hsu <whsu@nvidia.com>
|
|
Current single shot mode, pixel parser is disabled after capture one
frame and software waits for memory write ack done syncpoint, which
only gives us half the frame rate.
Optimized single shot mode:
- during capture setup, set single shot mode
- for each frame, wait for FRAME_START syncpoint
- arm single shot bit to start capture
- for the last frame, wait for MWA_DONE syncpoint to make sure capture
finished.
With optimized single shot mode, frame rate is about 4208x3120 @ 24fps
for IMX135 and 1920x1080 @ 30fps for AR0261.
Bug 1639982
Change-Id: I0b15d02c2853647d03f5b2d38a7fe5c145174bd5
Signed-off-by: Bryan Wu <pengw@nvidia.com>
Reviewed-on: http://git-master/r/754709
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: David Wang (SW-TEGRA) <davidw@nvidia.com>
Reviewed-by: Winnie Hsu <whsu@nvidia.com>
|
|
MIPI calibration should be done when power on the VI/CSI hardware. So
clear the MIPI_CAL flag to trigger MIPI calibration for next power on
operation.
Bug 1648875
Change-Id: Ic0689a331a6058e4d54d5b41869f2e81feb4158c
Signed-off-by: Bryan Wu <pengw@nvidia.com>
Reviewed-on: http://git-master/r/752129
Reviewed-by: Automatic_Commit_Validation_User
Tested-by: Arun Kannan <akannan@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: Arun Kannan <akannan@nvidia.com>
Reviewed-by: Matthew Pedro <mapedro@nvidia.com>
|
|
Add calibration for T124 VI2.
Bug 1628147
Change-Id: If70b1562c1d6345b337e4a01236c392b79f14dad
Signed-off-by: Bryan Wu <pengw@nvidia.com>
Reviewed-on: http://git-master/r/678605
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Frank Chen <frankc@nvidia.com>
Reviewed-by: Matthew Pedro <mapedro@nvidia.com>
|
|
Change-Id: I3a358eb3f996917218798ae24eb1b0ef471a223f
Signed-off-by: Bryan Wu <pengw@nvidia.com>
Reviewed-on: http://git-master/r/591332
Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
(cherry picked from commit 4011d6570ba8138348ccc45b2acb31526cb73863)
Reviewed-on: http://git-master/r/665998
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Winnie Hsu <whsu@nvidia.com>
|
|
Change clks_init() internal API to use CSI port number to enable clks
instead of using dev_id which is incorrect sometime, since vi.0 might
also assigned to CSI_B/CSI_C port.
Bug 1560636
Change-Id: I0e26308ec885e2e34fe8faa63fca404c911912c4
Signed-off-by: Bryan Wu <pengw@nvidia.com>
Reviewed-on: http://git-master/r/539002
Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
(cherry picked from commit c66d8e5880589b0d95dba63d10daff53e47e8628)
Reviewed-on: http://git-master/r/665995
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Winnie Hsu <whsu@nvidia.com>
|
|
This driver does not demosaic, so when we are working with a bayer sensor,
we can only report the various bayer formats. Similarly, we only support
rgba for test pattern generator right now, so only report rgba if we are in
test pattern mode.
When in test pattern mode, don't ever query the sensor subdev, since it's
not involved at all.
Also, made some miscellaneous cleanup to some debug prints, and the
conditionals around how CSI gets programmed.
Bug 1560636
Change-Id: I9022ec6a489b20d0847dd9d2a79af2307b7a4af1
Signed-off-by: Andrew Chew <achew@nvidia.com>
Signed-off-by: Bryan Wu <pengw@nvidia.com>
Reviewed-on: http://git-master/r/489066
Reviewed-by: Jihoon Bang <jbang@nvidia.com>
Reviewed-by: David Wang (SW-TEGRA) <davidw@nvidia.com>
Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
(cherry picked from commit f211247b0151b926f21b989cc031dc928db61aaa)
Reviewed-on: http://git-master/r/665994
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Winnie Hsu <whsu@nvidia.com>
|
|
Add code to support RAW10 capture from real sensor like IMX135.
Add flag to skip register program from second frame.
Fix sync point operations.
Bug 1380143
Change-Id: I19bcd17ddfba0e16b4b3a34ae8a4e5a0119e85e1
Signed-off-by: Bryan Wu <pengw@nvidia.com>
Reviewed-on: http://git-master/r/337470
(cherry picked from commit ff1055fa436ffb5c1d57eee2e09c17578774d65f)
Reviewed-on: http://git-master/r/498936
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Matthew Pedro <mapedro@nvidia.com>
Reviewed-by: Winnie Hsu <whsu@nvidia.com>
|
|
Change-Id: I30baee4084399b8078232f31296c4d891a903d47
Signed-off-by: Prashant Gaikwad <pgaikwad@nvidia.com>
Reviewed-on: http://git-master/r/395123
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Tested-by: Bharat Nihalani <bnihalani@nvidia.com>
|
|
If driver probing fails, syncpts need to be freed for further use.
Otherwise it will cause syncpts leak.
Bug 1489488
Change-Id: I6f1ae10087b007c7f4814733e0e8f8b60c315fd6
Signed-off-by: Bryan Wu <pengw@nvidia.com>
Reviewed-on: http://git-master/r/391488
Reviewed-by: Deepak Nibade <dnibade@nvidia.com>
Reviewed-by: Sachin Nikam <snikam@nvidia.com>
|
|
nvhost_module_busy_ext() needs error check, otherwise it might cause
kernel oops from nvhost.
Bug 1483752
Change-Id: Ib3b1d6c7ff53444f042725240073ea274e808ec2
Signed-off-by: Bryan Wu <pengw@nvidia.com>
Reviewed-on: http://git-master/r/386453
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Tested-by: Terje Bergstrom <tbergstrom@nvidia.com>
|
|
Change-Id: I6f507cdf95a0c852fa4df0f92e99a31e12ef45f9
Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com>
Reviewed-on: http://git-master/r/390125
Reviewed-by: Juha Tukkinen <jtukkinen@nvidia.com>
Tested-by: Juha Tukkinen <jtukkinen@nvidia.com>
|
|
Remove support for Tegra14.
Change-Id: Ibde33f25852d2142f08b07cffcc04ab91251fbfa
Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com>
Reviewed-on: http://git-master/r/376589
Reviewed-by: Juha Tukkinen <jtukkinen@nvidia.com>
Tested-by: Juha Tukkinen <jtukkinen@nvidia.com>
|
|
Use nvhost_free_syncpts() to free the syncpts during driver
unload
This is required to fix syncpts leak
Bug 1489488
Bug 1305024
Change-Id: Ic02771e2078ddead4c9b54826a669bb7c3653ba2
Signed-off-by: Deepak Nibade <dnibade@nvidia.com>
Reviewed-on: http://git-master/r/388116
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Shridhar Rasal <srasal@nvidia.com>
Reviewed-by: Bryan Wu <pengw@nvidia.com>
Tested-by: Bryan Wu <pengw@nvidia.com>
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
|
|
- use API nvhost_get_syncpt_client_managed() to get syncpts dynamically
- add new function pointers .init_syncpts() to initialize the syncpts at
probe() time only
Bug 1305024
Change-Id: I6bdaace034b966d8409308fd52f5d2b1507314c1
Signed-off-by: Deepak Nibade <dnibade@nvidia.com>
Reviewed-on: http://git-master/r/381958
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
|
|
host1x_writel() is a good wrapper API to register writing especially for
virtual device like vi.1. But in V4L2 case, platform driver data is V4L2
specific data struct not the nvhost_device_data struct. So when
host1x_writel() calls get_aperture() which will eventually call
platform_get_drvdata(), it will access V4L2 specific data struct instead
of the right nvhost_device_data struct.
Replacing host1x_writel() to raw writel() and correcting the device ID
checking solve this issue.
Bug 1421146
Change-Id: I9e34da300ccca9da7eff361690353e0d4c1d3d7f
Signed-off-by: Bryan Wu <pengw@nvidia.com>
Reviewed-on: http://git-master/r/351833
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Pablo Ceballos <pceballos@nvidia.com>
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
|
|
DT will initialize the pdev->id as -1 for both vi.0 and vi.1. This
will cause several subtle issues since checking pdev->id is used a
in VI and Tegra V4L2 camera drivers.
Set the pdev->id as the right value during probing for DT case. Then
no change is need for others
Bug 1463966
Change-Id: I8adf124c4d3489e9c06abbecb6d3587437954c50
Signed-off-by: Bryan Wu <pengw@nvidia.com>
Reviewed-on: http://git-master/r/373000
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Jihoon Bang <jbang@nvidia.com>
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
|
|
With dynamic syncpoint allocation ap_systemsw fails
intermittently for TN8. so reverting series of dynamic
syncpoint patches.
Bug 1305024
Bug 1467163
Revert "video: tegra: host: add pbdma syncpoint headers"
commit 62efc18329c5da0e6dc90f088c145e1099213f20.
Revert "video: tegra: host: print syncpt id in debug spew"
commit c918cc4494008fe764e746142060d896436a1d3c.
Revert "video: tegra: host: remove static from get_syncpt_name()"
commit c098ce933738d892bbeba003ab35505c4b7d7951.
Revert "video: tegra: host: remove unused variable"
commit a4dad0592c95165e8366ebe939367a1ece2cb9b9.
Revert "video: tegra: host: Hardcode AVP sync point"
commit 8da84e56de66f20806cb706ee005f263ca5e213f.
Revert "video: tegra: host: hard-code syncpts for t114"
commit 410536f668a62d94603bc3287efaef3dcffb1226.
Revert "video: tegra: host: remove static syncpt mappings"
commit 4cee1d17b01019cc122acf21604d4f01ac6f7474.
Revert "media: tegra_camera: use dynamic syncpts"
commit eae55c8e4cbb65e3ed1a8c8ef8150d8a6ba938bf.
Revert "video: tegra: dc: use dynamic syncpt"
commit 03d7c261ceb62bf1eb93cae48aaa84881d6de5b9.
Revert "video: tegra: host: use dynamic syncpt for hwctx"
commit 03136f549f54a26d77987f3751bf12d202614372.
Revert "video: tegra: host: implement dynamic synpt"
commit 6c2d1b43e51f2e0424b793c9da1c25adf63ea569.
Change-Id: I19a63e812680b7521bed3c1188858b2165a88c89
Signed-off-by: Shridhar Rasal <srasal@nvidia.com>
Reviewed-on: http://git-master/r/374169
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Tested-by: Terje Bergstrom <tbergstrom@nvidia.com>
|
|
- use API nvhost_get_syncpt_client_managed() to get syncpts dynamically
- add new function pointers .init_syncpts() to initialize the syncpts at
probe() time only
Bug 1305024
Change-Id: Ib751b0a23d556444ba9d86fedc978439b4212b90
Signed-off-by: Deepak Nibade <dnibade@nvidia.com>
Reviewed-on: http://git-master/r/364854
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Shridhar Rasal <srasal@nvidia.com>
Reviewed-by: Bryan Wu <pengw@nvidia.com>
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
|
|
nvhost_module_init() should be called before
nvhost_client_device_init(), since nvhost_module_deinit() will be
called during module unloading
Remove pm_runtime operations, since they are handled by nvhost core.
Bug 1421146
Change-Id: I3f8876dd76b6366c7641f0a087f61e13a6d664ee
Signed-off-by: Bryan Wu <pengw@nvidia.com>
Reviewed-on: http://git-master/r/339528
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Jihoon Bang <jbang@nvidia.com>
Reviewed-by: Allen Martin <amartin@nvidia.com>
|
|
VI device tree node was added into tegra124.dtsi.
- use pdev->dev.id to match sensor driver's bus_id, otherwise it
will fail to start to probe sensor driver.
- the name of VI platform device changed, as a result clock
probing will fail during driver starting. So correct dev_id by
using the name of pdev->dev.
- check the cam->reg_base mapping, if it's NULL further register
operation will cause oops
Bug 1377330
Change-Id: Iacf93f88b4f37bbca1d310c16c6ed2ed0b786758
Signed-off-by: Bryan Wu <pengw@nvidia.com>
Reviewed-on: http://git-master/r/335947
GVS: Gerrit_Virtual_Submit
Reviewed-by: Allen Martin <amartin@nvidia.com>
|
|
Reconstruct the driver for Tegra V4L2 camera driver:
- remove old driver file tegra_v4l2_camera.c
- create driver file vi.c for VI/CSI (T20/T30/T114/T148)
- create driver file vi2.c for VI2/CSI2 (T124)
Bug 1377330
Change-Id: If030cf98e700b9201caa60328be822bc10610e74
Signed-off-by: Bryan Wu <pengw@nvidia.com>
Reviewed-on: http://git-master/r/289329
GVS: Gerrit_Virtual_Submit
Reviewed-by: Allen Martin <amartin@nvidia.com>
|