summaryrefslogtreecommitdiff
path: root/drivers/media
AgeCommit message (Collapse)Author
2016-04-05msm: camera: Add support to enable eLDOs through GPIOsViswanadha Raju Thotakura
Add support to control/enable external regulators through GPIOs. CRs-Fixed: 996222 Change-Id: I18f1ce72dfe93da2fdb80725ed66218eb0af2f49 Signed-off-by: Viswanadha Raju Thotakura <viswanad@codeaurora.org>
2016-04-05msm: camera: isp: Add camif raw path output format supportSagar Gore
Add changes to enable different output formats on supported target. This change enables camif raw path to output data in multiple other formats along with legacy packed. Change-Id: Ie763455df2cffcb4fc9447a1bbcc8d9c7d577c6c Signed-off-by: Sagar Gore <sgore@codeaurora.org>
2016-03-25msm: camera: Add stream base locks for all vb2 ops.Hariram Purushothaman
Stream based lock needed in all vb2 ops to avoid any invalid access in vb2 queue when hal triggers ioctl in multiple thread context. CRs-Fixed: 986029 Change-Id: Idcbef3db5c2bd04005b0832049b5dee00c4cf96b Signed-off-by: Hariram Purushothaman <hariramp@codeaurora.org>
2016-03-25msm: camera: Implementing stream base locks in qbuf, dqbuf, reqbufs.Hariram Purushothaman
Stream based locks used in qbuf, dqbuf, reqbus. Old session based locks are removed. CRs-Fixed: 986029 Change-Id: I30788f9248bea67e560d1a602e8feadfde6c2691 Signed-off-by: Ramesh V <ramev@codeaurora.org> Signed-off-by: Hariram Purushothaman <hariramp@codeaurora.org>
2016-03-25msm: camera: Validate parameters before usageAzam Sadiq Pasha Kapatrala Syed
Patch to check the parameters before usage. CRs-Fixed: 981826 Change-Id: Ib27076507477f3949063963db503f734c49ab591 Signed-off-by: Azam Sadiq Pasha Kapatrala Syed <akapatra@codeaurora.org>
2016-03-25msm: camera: isp: Turn off irq and overflow signalShubhraprakash Das
When vfe is halted, an overflow signal could be generated that has side effects. Turn off this signal when halting vfe. Also, disable interrupts when halting the vfe due prevent other side effects. CRs-Fixed: 953865 Change-Id: I706d796c500db4a201149196d7ed15965c0b1bb7 Signed-off-by: Shubhraprakash Das <sadas@codeaurora.org>
2016-03-25msm: vidc: Handle encoder input in true dynamic modePraneeth Paladugu
Earlier video driver maintains list of fds and compare each ETB fd with these values. If the fd is found then mapping is retained. But in some usecases, buffer address and fd association may not be unique. This resuts in usage of stale buffers. This is also not the true dynamic buffer mode. With this change, driver treats every buffer as new buffer and map and unmap each time. CRs-Fixed: 989007 Change-Id: Ice90c745d4920b64c48c3f4dafca789f2551b327 Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>
2016-03-25msm: cpp: Remove usage of reserved field in cpp driverKrishnankutty Kolathappilly
Reserved field is used for VFE-CDS-TNR usecases and is deprecated. Remove usage of reserved field in cpp driver. CRs-Fixed: 981024 Change-Id: I587e6ac7b813d8ac0865dcd18431417f8ca67a94 Signed-off-by: Krishnankutty Kolathappilly <kkolatha@codeaurora.org>
2016-03-25msm: camera: sensor: Adapting sensor driver to soc layerSureshnaidu Laveti
Adapting sensor driver to SOC layer by replacing msm specific routines with SOC API which eases the portability of sensor driver on to non-msm platforms. Change-Id: I147dbf714d913b4aa55adc313c354f85cf4b23dd Signed-off-by: Sureshnaidu Laveti <lsuresh@codeaurora.org>
2016-03-25msm: isp: Increased the Scratch buffer size.Senthil Kumar Rajagopal
Scratch buffer size is not sufficient for 14 bit raw. This leads to page fault. This change increases the size of scratch buffer to accommodate 14 bit MIPI raw format. CRs-Fixed: 970413 Change-Id: I866640158c11c0f69505e4fb6b12a9204e2a6ad4 Signed-off-by: Senthil Kumar Rajagopal <skrajago@codeaurora.org>
2016-03-25msm: vidc: read platform version from efuse registerMaheshwar Ajja
Read platform version through efuse register for clients to know the underlying platform version. CRs-Fixed: 987512 Change-Id: I16cdb8655e4a79d6f05e3185cac4014d3c0f0f77 Signed-off-by: Maheshwar Ajja <majja@codeaurora.org>
2016-03-25msm: ispif: Remove CSID version check for ahb clockShilpa Mamidi
As part of open AHB clocks are currently enabled based on CSID version check. But CSID version is updated as part of INIT IOCTL call. Due to this AHB clocks are not enabled and this is causing unclocked register access. Now every target have AHB clocks for ISPIF which needs to be enabled always. Change-Id: I576ac20650ac081175942b7d94b6f2b9711b14c8 Signed-off-by: Shilpa Mamidi <shilpam@codeaurora.org>
2016-03-25msm: camera: ispif: Validate VFE num input during resetVenu Yeshala
Userspace supplies the actual number of used VFEs in session to ISPIF. Validate the userspace input value and if found to be invalid, return error. CRs-Fixed: 898074 Change-Id: I3288ddb6404e817a705a92281b4c54666f372c56 Signed-off-by: Venu Yeshala <vyeshala@codeaurora.org>
2016-03-25msm : camera: Changes to support larger queue size for cciViswanadha Raju Thotakura
Changes to support larger queues Q0, Q1 for camera CCI 1.6 onwards. CRs-Fixed: 974739 Change-Id: Iffdd78b6bf27f0f34d7e72a030264b428acf3f60 Signed-off-by: Viswanadha Raju Thotakura <viswanad@codeaurora.org>
2016-03-25msm: camera: uapi header splitJeremy Gebben
Move userspace visible definitions to the uapi directory. Change-Id: I95b754a1f888f849eb50e449a211b18633aff6a2 Signed-off-by: Jeremy Gebben <jgebben@codeaurora.org> Signed-off-by: Lakshmi Narayana Kalavala <lkalaval@codeaurora.org>
2016-03-25msm: isp: Enable testgen recording for 24M 30fpsMeera Gande
As violations were observed at streamOn followed by SOF freeze when testgen is enabled after camif, changes are made to enable testgen before camif. CRs-Fixed: 982807 Change-Id: Ib7c3adb1f23fd6ae763383fda152ac63e4e00f74 Signed-off-by: Meera Gande <mgande@codeaurora.org>
2016-03-25msm: fd: Add FD HW reset sequence after haltAshwini Rao
The FD hardware needs to be reset everytime after halt is called. Adding the reset sequence. CRs-fixed: 961394 Change-Id: I129de341e619d8c8f6faa69d43c9d13ba21dd88f Signed-off-by: Ashwini Rao <ashwinik@codeaurora.org>
2016-03-25msm: cpp: Changes to adapt cpp driver to soc layerLakshmi Narayana Kalavala
Adapt CPP driver to SOC layer by replacing the msm specific routines with SOC API which eases the portability of cpp driver on to non-msm platforms. Change-Id: I8cd6bdcaa9d310b770f2dfe66047c64316a309de Signed-off-by: Lakshmi Narayana Kalavala <lkalaval@codeaurora.org>
2016-03-25msm: camera: Change API to set and get clock rateLakshmi Narayana Kalavala
Some of the camera modules need to get the clock rate back after rounded to a new value, Hence change the msm_camera_clk_set_rate API to return the rounded clock rate after setting it. Change-Id: Ie3ed17ad6658e51448a769fd141aef63ff0c79fe Signed-off-by: Lakshmi Narayana Kalavala <lkalaval@codeaurora.org>
2016-03-25msm: vidc: Remove read-only flags for profile and level clustersSrinu Gorle
Due to chipset max capabilities considered in buffer population, secure scenarios are failing due to limited CMA size. Remove read-only flags for profile and level clusters to allow omx component set. CRs-Fixed: 973470 Change-Id: I28c8318bd356ebb01258c1ec946215a838f81827 Signed-off-by: Srinu Gorle <sgorle@codeaurora.org>
2016-03-23msm: camera: isp: fix two corner case handling for the framedrop patternJing Zhou
This change fixes two corner case handling for the framedrop pattern a) return the buffer when it is required in the drop frame handling b) correct an incorrect framedrop pattern update when we miss the reg update Change-Id: I6d9b7715d3f0545a673d70e7744141f92bbc3a9d Signed-off-by: Jing Zhou <jzhou70@codeaurora.org>
2016-03-23msm: camera: isp: Reduce burst countShubhraprakash Das
Decrement the burst count for dual stream in case of dual vfe. The count is tracked in both streams and hence should be reduced for both streams once buffer is done from both vfe. Change-Id: I681390c2b3a2a0c4861721204ac19302335bf542 Signed-off-by: Shubhraprakash Das <sadas@codeaurora.org>
2016-03-23msm: camera: isp: fix a cts test failure due to framedrop patternJing Zhou
The ITS HAL3 test failed due to broken frames and green frames. The root cause of the issue is due to the framedrop pattern setting in the isp driver. This change fixes the following issues: a) Keep tracking the hw framedrop pattern even after the reg update ack miss. b) Remove a race condition between the framedrop pattern setting and request frame ioctl handling. c) Correctly set the framedrop pattern after the request frame. Change-Id: I862046c718d6e3a28d5f372eb2eb5e371471eb58 Signed-off-by: Jing Zhou <jzhou70@codeaurora.org>
2016-03-23msm: camera: Update combo clk mask in CSIPHYXu Han
For 14nm CSIPHY, the 5th lane is the clock lane in combo mode. So update the mask value to 0x10. Change-Id: I628031b19c1bd99d6c117e8b8db05af95f540106 Signed-off-by: Xu Han <hanxu@codeaurora.org>
2016-03-23msm: camera: Enable ov2685 on msm8937Vijay kumar Tumati
Changing csiphy clock lane setting and removing a register write in combo mode to enable ov2685 on msm8937. Change-Id: I8e6d987a8072a0c2679f7b53bfd3522b8dfa5297 Signed-off-by: Vijay kumar Tumati <vtumati@codeaurora.org>
2016-03-23msm: isp: Handle pingpong bit mismatch gracefullyAbhishek Kondaveeti
Ping pong mismatch occurs when the interrupts miss happens. Handle this scenario properly by sending error to userspace. Change-Id: Idd8f9979a9b0e8c6a1989dd89ed6b98ccaa54ac9 Signed-off-by: Abhishek Kondaveeti <akondave@codeaurora.org>
2016-03-23msm: isp: Make HALT independent from disable_camifHarsh Shah
AXI should be halted whenever all HW streams are stopping. This will improve KPI even for RDI streams. Currently halt is determined using Disable_Camif which is only valid for PIX streams. Decouple the two to improve KPI on RDI and avoid wait. Also, cleanup after timeout in start_axi. Remove handling of SD_SHUTDOWN to avoid multiple release. Change-Id: I09db8adb766d2e7889443f779a716aaa2f6c09d1 Signed-off-by: Harsh Shah <harshs@codeaurora.org>
2016-03-23msm: camera: Update camera driversLakshmi Narayana Kalavala
Add changes to update camera drivers to: 1. Update necessary Kconfig files to support camera driver compilation. 2. Support minor changes to V4L framework. 3. Export uapi headers to header_install export location. Signed-off-by: Seemanta Dutta <seemanta@codeaurora.org> Signed-off-by: Lakshmi Narayana Kalavala <lkalaval@codeaurora.org>
2016-03-23msm: camera: Decouple CSIPHY 3phase clocksXu Han
3phase clock is required in CPHY mode but not in DPHY mode. Decouple 3phase clocks from other CSIPHY clocks in order to not enable 3phase clock when camera is in DPHY mode. Change-Id: I10f9a175ef937dab30afd9604cca3e870451b0c2 Signed-off-by: Xu Han <hanxu@codeaurora.org>
2016-03-23msm: camera: isp: Remove buffer queue shared listJing Zhou
Remove the shared list of buffer queue that is used in case of dual vfe. Whenever a buffer is dequeued from the buffer queue program it on both vfe and ensure that buffer is dequeued only once by compositing the buf done irq. Also, program scratch buffer for stats stream Change-Id: I96cd0a97b24bf6bc0223cbee8d1fc6bf2ecc7c49 Signed-off-by: Harsh Shah <harshs@codeaurora.org> Signed-off-by: Shubhraprakash Das <sadas@codeaurora.org> Signed-off-by: Jing Zhou <jzhou70@codeaurora.org>
2016-03-23msm: camera: Fix memory corruption with vb2 buffersLakshmi Narayana Kalavala
The camera generic buffer manager and isp buffer manager keep references of vb2 buffers locally during buffer circulation. If for some reason the vb2 buffers are freed from a cleanup call from mediaserver. The memory for the buffers is freed. But the camera buffer managers still access them for a fraction of time before the cleanup call is triggered from daemon process. Hence make sure to access the vb2 buffers only after checking for the existence in vb2 queues to avoid memory corruption. Change-Id: I7a1e5f9a3af3345e0c37d3208facbab107a6b9ed Signed-off-by: Lakshmi Narayana Kalavala <lkalaval@codeaurora.org>
2016-03-23msm: isp: use proper spin lock on isr and taskletJing Zhou
When CPU do spin lock irq save, it will disable irq/preemption. If the same CPU do spin lock (without disabling irq), then irq context can preempt and acuire the lock hold by user, which will possibly hang CPU. Avoid the issue to use spin lock irq save consistantly. Change-Id: I52e17d189668166ae126dc5948fe51bd79ae9859 Signed-off-by: Peter Liu <pingchie@codeaurora.org> Signed-off-by: Jing Zhou <jzhou70@codeaurora.org>
2016-03-23msm: camera: isp: Remove false error message in isp driverJing Zhou
Due to the tasklet scheduling, SOF and Epoch irq handling can be out of order. This causes some false isp error message being reported. This change removes the false error message due to the out of order irq handling. This change will remove this unnecessary check. Change-Id: I7dd7d36692f63a53e54e7afcee4d9ed32cb22bc6 Signed-off-by: Jing Zhou <jzhou70@codeaurora.org>
2016-03-23msm: camera: isp: Remove memset and spin lock initializationShubhraprakash Das
Do not memset the buffer queue since its already reset during free. This also removes the requirement to reinitialize the buffer queue lock Change-Id: Ifccbd3fbffb822f47898cff5bfcae0e53ef7f275 Signed-off-by: Shubhraprakash Das <sadas@codeaurora.org> Signed-off-by: Jing Zhou <jzhou70@codeaurora.org>
2016-03-23msm: camera: isp: Track put_buf per VFEHarsh Shah
Update bit mask per VFE for put_buf instead of only count. In flush buf update put buf mask first and put buffer if put_mask is same as get_mask Change-Id: I8b128094e4ae62e5676a46e6a4624e4933234266 Signed-off-by: Harsh Shah <harshs@codeaurora.org> Signed-off-by: Jing Zhou <jzhou70@codeaurora.org>
2016-03-23msm: camera: isp: Debug double add state checkJing Zhou
Add changes to track buffer being added to list. Add error messages if buffer is found to be added twice. Add state checking in the isp driver. Change-Id: I1504e8984db3578009b8944719bbd559ad57d63d Signed-off-by: Harsh Shah <harshs@codeaurora.org> Signed-off-by: Jing Zhou <jzhou70@codeaurora.org>
2016-03-23Revert "msm: camera: Update camera drivers"Seemanta Dutta
This reverts commit 282882c50fe26957c00bd598e8cab75d00251e2e. Signed-off-by: Seemanta Dutta <seemanta@codeaurora.org>
2016-03-23msm: vidc: Add Video driver for MSM targetsArun Menon
Add snapshot for Video driver source for MSM targets. The code is migrated from msm-3.18 kernel at the below commit level - d5809484bb1bf5864dad2f081b0145224762963a. Signed-off-by: Arun Menon <avmenon@codeaurora.org>
2016-03-23msm: camera: isp: fix overflow during stop axi streamchiz
In dual VFE case, VFE0 and VFE1 will have different behavior during stoping pix stream. We should disable write master sync to ensure both VFEs stop as expected. Change-Id: Ib63b52a948e526e0d2518cb563a4fc4d67340d0f Signed-off-by: chiz <chiz@codeaurora.org> CRs-Fixed: 977856
2016-03-23msm: camera: Fixing memory leak issues in camera stackVijay kumar Tumati
Adding memory free calls to during error conditions to fix memory leaks in platform probe. CRs-Fixed: 975003 Change-Id: I7ecd7586e8662eaa6ec020963831e08af424be18 Signed-off-by: Vijay kumar Tumati <vtumati@codeaurora.org>
2016-03-23Power: Enable/Disable power collapse after camera openRamesh V
Disabling power collapse during camera open. We send disable request before opening camera and enable it back after opening camera Change-Id: Idd55021063eace18fa20f00183a41a502f5c88a1 Signed-off-by: Ramesh V <ramev@codeaurora.org>
2016-03-23msm: isp: Avoid ping pong mismatch in CDSAbhishek Kondaveeti
Update AXI only when both ISPs issue reg update interrupt. CRs-Fixed: 955803 Change-Id: I8b7090e2b45de5a84e5ceca02aa083aefc6af600 Signed-off-by: Abhishek Kondaveeti <akondave@codeaurora.org>
2016-03-23msm: camera: sof freeze enhancementRamesh V
Enable CSID IRQ dynamically and add sof recover logic, in case kernel get sof freeze hints from userspace,will enable IRQs to monitor the status of moduels,if sof recovers after 2.5 secs then kernel get MSM_SD_UNNOTIFY_FREEZE to disable all the IRQs. CRs-Fixed: 973732 Change-Id: I7aa6dcd60e0858258c40c3d6517e2974e6e2b722 Signed-off-by: Ramesh V <ramev@codeaurora.org>
2016-03-23msm: camera: isp: fix an issue in scratch buffer configurationJing Zhou
When configure the scratch buffer, wrong pingpong bit location is programmed. So the VFE hardware can still write to the same buffer which has been diverted to other camera compoment. This cause the image corruption. Change-Id: I6d5cfe0c00a237efb3ab3dff87459341736d45a7 Signed-off-by: Jing Zhou <jzhou70@codeaurora.org>
2016-03-23msm: camera: Do node close with lock before reducing open indexHariram Purushothaman
Do session/stream node destroy with lock before reducing opn_idx to avoid conflicts while closing node and mutex getting destroyed while other node still holds it, Also trigger the stream delete to backend for nodes which are only created by HAL. CRs-Fixed: 971839 Change-Id: Iefc1132e5790d8f7ba025ee140e536a2b3ca21c0 Signed-off-by: Hariram Purushothaman <hariramp@codeaurora.org>
2016-03-23msm: camera: sensor: Request allocating DMA-able memory from DMA zoneAzam Sadiq Pasha Kapatrala Syed
When DMA I/O is performed to or from high memory, an area is allocated in low memory known as a bounce buffer. When data travels between a device and high memory, it is first copied through the bounce buffer. Systems with a large amount of high memory and intense I/O activity can create a large number of bounce buffers that can cause memory shortage problems. In general, when communicating to SPI framework,it's recommended to use gfp_dma,since the buffer mm client passes is used by the spi driver for dma ops. CRs-Fixed: 967770 Change-Id: Idd7e0229d1a128516298ee18bf2c798e6218c71b Signed-off-by: Azam Sadiq Pasha Kapatrala Syed <akapatra@codeaurora.org>
2016-03-23msm: camera: sensor: I2C poll implementationRajesh Bondugula
Remove additional delay after poll. Delay in ms is acounted during polling the register. If read is successful and match fails, then poll is non-fatal. CRs-Fixed: 971014 Change-Id: I655a272bed125edc2dc60504640f1d57652a64e2 Signed-off-by: Rajesh Bondugula <rajeshb@codeaurora.org>
2016-03-23msm: isp: Use recommended ab and ib values for ispAbhishek Kondaveeti
Use recommended ab and ib settings for isp to ensure isp requests required bandwidth CRs-Fixed: 943154 Change-Id: I871854e059963bf64665201fb9ea7d99861ebe8c Signed-off-by: Abhishek Kondaveeti <akondave@codeaurora.org>
2016-03-23msm: jpegdma: Changes to adapt jpeg dma driver to soc layerLakshmi Narayana Kalavala
Adapt JPEG DMA driver to SOC layer by replacing the msm specific routines with SOC API which eases the portability of driver on to non-msm platforms. CRs-Fixed: 968483 Change-Id: I2738062ef11b64acb0501694ce4e35c26766d8a1 Signed-off-by: Lakshmi Narayana Kalavala <lkalaval@codeaurora.org>
2016-03-23msm: jpeg: Changes to adapt jpeg driver to soc layerLakshmi Narayana Kalavala
Adapt JPEG driver to SOC layer by replacing the msm specific routines with SOC API which eases the portability of jpeg driver on to non-msm platforms. CRs-Fixed: 968483 Change-Id: I8436604e8fd0984f1cd31ce99035dd55a33e89f3 Signed-off-by: Lakshmi Narayana Kalavala <lkalaval@codeaurora.org>