summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)AuthorFilesLines
2015-01-04drm: delete unconsumed pending event list in drm_events_releaseYoungJun Cho1-1/+3
When there are unconsumed pending events, the events are destroyed by calling destroy callback, but the events list are remained, because there is no list_del(). It is possible that the page flip request is handled after drm_events_release() is called and before drm_fb_release(). In this case a drm_pending_event is remained not freed. So exynos driver checks again to remove it in its post close routine. But the file_priv->event_list contains undeleted ones, this can make oops for accessing invalid memory. Signed-off-by: YoungJun Cho <yj44.cho@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Dave Airlie <airlied@redhat.com> Change-Id: I25a471f4f4929150542eb6273c7673b9f44936b6 [back-ported from mainline to fix use after free issue] Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
2014-12-18ARM: exynos: restrain the use of gpio driver for Exynos5420Hyungwon Hwang1-0/+1
Now, pinctrl is being used to control gpio of Exynos5420. So this patch is needed not to try to use gpio driver for Exynos5420, and fail making meaningless error log in boot process. Change-Id: I41b2575229e6c3f571800f07e775b5a6a11e456a Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com>
2014-12-17drm/exynos: add support for exynos5420 mixerRahul Sharma2-12/+39
Add support for exynos5420 mixer IP in the drm mixer driver. Signed-off-by: Rahul Sharma <rahul.sharma@samsung.com> Acked-by: Seung-Woo Kim <sw0312.kim@samsung.com> Reviewed-by: Tomasz Figa <t.figa@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com>
2014-12-17drm/exynos: enable support for exynos5420 hdmi deviceRahul Sharma1-1/+167
Enable support for hdmi for exynos5420 hdmiphy. Add compatible string in the of_match table. Also added hdmiphy configuration values for exynos5420. Signed-off-by: Rahul Sharma <Rahul.Sharma@samsung.com> Signed-off-by: Shirish S <s.shirish@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com>
2014-12-17i2c: exynos5: remove extra line and fix an assignmentNaveen Krishna Ch1-2/+1
This patch does the following in exynos5_i2c_message_start() function 1. Fixes an assignment As, "i2c_auto_conf" is initialized to '0' at the beginning of the function and HSI2C_READ_WRITE is defined as (1u << 16) Using "|=" for the first assignment is more readable. 2. Removes an extra line Signed-off-by: Naveen Krishna Chatradhi <ch.naveen@samsung.com> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2014-12-17i2c: exynos5: remove an unnecessary read of FIFO_STATUS registerNaveen Krishna Ch1-1/+0
This patch removes an extra read of FIFO_STATUS register in the interrrupt service routine. Which is read again before the actual use. Signed-off-by: Naveen Krishna Chatradhi <ch.naveen@samsung.com> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2014-12-17i2c: exynos5: Properly use the "noirq" variants of suspend/resumeDoug Anderson1-2/+10
The original code for the exynos i2c controller registered for the "noirq" variants. However during review feedback it was moved to SIMPLE_DEV_PM_OPS without anyone noticing that it meant we were no longer actually "noirq" (despite functions named exynos5_i2c_suspend_noirq and exynos5_i2c_resume_noirq). i2c controllers that might have wakeup sources on them seem to need to resume at noirq time so that the individual drivers can actually read the i2c bus to handle their wakeup. NOTE: I took the original review feedback from Wolfram and added poweroff, thaw, freeze, restore. This patch has only been compile-tested since I don't have all the patches needed to make my machine using this i2c driver actually suspend/resume. Signed-off-by: Doug Anderson <dianders@chromium.org> Acked-by: Kukjin Kim <kgene.kim@samsung.com> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2014-12-17i2c: remove unnecessary OOM messagesJingoo Han13-38/+12
The site-specific OOM messages are unnecessary, because they duplicate the MM subsystem generic OOM message. For example, k.alloc and v.alloc failures use dump_stack(). Signed-off-by: Jingoo Han <jg1.han@samsung.com> Acked-by: Guenter Roeck <linux@roeck-us.net> Reviewed-by: Jean Delvare <jdelvare@suse.de> Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Acked-by: Felipe Balbi <balbi@ti.com> Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2014-12-17i2c: exynos5: add support for HSI2C on Exynos5260 SoCNaveen Krishna Ch1-12/+55
HSI2C module on Exynos5260 differs from current modules in following ways: 1. HSI2C on Exynos5260 has fifo_depth of 16bytes 2. Module needs to be reset as a part of init sequence. Hence, Following changes are involved. 1. Add a new compatible string and Updates the Documentation dt bindings. 2. Introduce a variant struct to support the changes in H/W 3. Reset the module during init. Thus, bringing the module back to default state irrespective of what firmware did with it. Signed-off-by: Naveen Krishna Chatradhi <ch.naveen@samsung.com> Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2014-12-17i2c: exynos5: remove unnecessary cast of void pointerJingoo Han1-1/+1
Remove unnecessary cast of void pointer, because 'algo_data' of 'struct i2c_adapter' is a void pointer. Casting the void pointer is redundant. The conversion from void pointer to any other pointer type is guaranteed by the C programming language. Signed-off-by: Jingoo Han <jg1.han@samsung.com> Reviewed-by: Naveen Krishna Chatradhi <ch.naveen@samsung.com> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2014-12-17i2c: exynos5: add CONFIG_PM_SLEEP to suspend/resume functionsJingoo Han1-0/+2
Add CONFIG_PM_SLEEP to suspend/resume functions to fix the following build warning when CONFIG_PM_SLEEP is not selected. This is because sleep PM callbacks defined by SIMPLE_DEV_PM_OPS are only used when the CONFIG_PM_SLEEP is enabled. warning: 'exynos5_i2c_suspend_noirq' defined but not used [-Wunused-function] warning: 'exynos5_i2c_resume_noirq' defined but not used [-Wunused-function] Signed-off-by: Jingoo Han <jg1.han@samsung.com> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2014-12-17i2c: delete non-required instances of include <linux/init.h>Paul Gortmaker43-43/+0
None of these files are actually using any __init type directives and hence don't need to include <linux/init.h>. Most are just a left over from __devinit and __cpuinit removal, or simply due to code getting copied from one driver to the next. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Acked-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2014-12-17treewide: Fix typos in printkMasanari Iida1-1/+1
Correct spelling typo in various part of kernel Signed-off-by: Masanari Iida <standby24x7@gmail.com> Acked-by: Randy Dunlap <rdunlap@infradead.org> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2014-12-17i2c: exynos5: Remove incorrect clk_disable_unprepareSachin Kamat1-5/+0
clk_disable_unprepare in remove causes an imbalance and hence gives the below crash on module remove. While at it also remove some duplicate code from probe. / $ rmmod i2c-exynos5 [ 6.996374] ------------[ cut here ]------------ [ 6.999523] WARNING: CPU: 2 PID: 1137 at drivers/clk/clk.c:842 clk_disable+0x18/0x24() [ 7.007403] Modules linked in: i2c_exynos5(-) [ 7.011747] CPU: 2 PID: 1137 Comm: rmmod Not tainted 3.12.0-next-20131105-00083-g16f4799-dirty #21 [ 7.020696] [<c0014e0c>] (unwind_backtrace+0x0/0xf4) from [<c0011784>] (show_stack+0x10/0x14) [ 7.029190] [<c0011784>] (show_stack+0x10/0x14) from [<c037acd4>] (dump_stack+0x7c/0xb0) [ 7.037255] [<c037acd4>] (dump_stack+0x7c/0xb0) from [<c001e0ac>] (warn_slowpath_common+0x6c/0x88) [ 7.046190] [<c001e0ac>] (warn_slowpath_common+0x6c/0x88) from [<c001e164>] (warn_slowpath_null+0x1c/0x24) [ 7.055818] [<c001e164>] (warn_slowpath_null+0x1c/0x24) from [<c02dcde4>] (clk_disable+0x18/0x24) [ 7.064670] [<c02dcde4>] (clk_disable+0x18/0x24) from [<bf0002d4>] (exynos5_i2c_remove+0x1c/0x34 [i2c_exynos5]) [ 7.074736] [<bf0002d4>] (exynos5_i2c_remove+0x1c/0x34 [i2c_exynos5]) from [<c02274a8>] (__device_release_driver+0x58/0xb0) [ 7.085836] [<c02274a8>] (__device_release_driver+0x58/0xb0) from [<c0227b88>] (driver_detach+0xac/0xb0) [ 7.095291] [<c0227b88>] (driver_detach+0xac/0xb0) from [<c02271c0>] (bus_remove_driver+0x4c/0xa0) [ 7.104227] [<c02271c0>] (bus_remove_driver+0x4c/0xa0) from [<c00725dc>] (SyS_delete_module+0x124/0x194) [ 7.113682] [<c00725dc>] (SyS_delete_module+0x124/0x194) from [<c000e2e0>] (ret_fast_syscall+0x0/0x30) [ 7.122957] ---[ end trace 23bb6e4e0bf52196 ]--- Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Acked-by: Naveen Krishna Chatradhi <ch.naveen@samsung.com> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2014-12-17i2c: exynos5: add High Speed I2C controller driverNaveen Krishna Ch3-0/+794
Adds support for High Speed I2C driver found in Exynos5 and later SoCs from Samsung. Driver only supports Device Tree method. Signed-off-by: Naveen Krishna Chatradhi <ch.naveen@samsung.com> Signed-off-by: Taekgyun Ko <taeggyun.ko@samsung.com> Reviewed-by: Simon Glass <sjg@google.com> Signed-off-by: Yuvaraj Kumar C D <yuvaraj.cd@samsung.com> Signed-off-by: Andrew Bresticker <abrestic@google.com> [wsa: rebased to v3.12-rc4 (no of_i2c.h anymore)] Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2014-12-17drm/exynos: add support for apb mapped phys in hdmi driverRahul Sharma2-73/+109
Previous SoCs have hdmi phys which are accessible through dedicated i2c lines. Newer SoCs have Apb mapped hdmi phys. Hdmi driver is modified to support apb mapped phys. Signed-off-by: Rahul Sharma <Rahul.Sharma@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com>
2014-12-17clocksource: mct: extend mct to support 8 local interrupts for Exynos5420Chander Kashyap1-0/+4
Exynos5420 is octa-core SoC from Samsung. Hence extend exynos-mct clocksource driver to support 8 local interrupts. Also extend dts entries for 8 interrupts. Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2014-12-17clocksource: exynos_mct: use (request/free)_irq calls for local timer ↵Chander Kashyap1-26/+9
registration Replace the (setup/remove)_irq calls for local timer registration with (request/free)_irq calls. This generalizes the local timer registration API. Suggested by Mark Rutland. Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org> Acked-by: Mark Rutland <mark.rutland@arm.com> Reviewed-by: Tomasz Figa <t.figa@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2014-12-17serial: samsung: select EXYNOS specific driver data if ARCH_EXYNOS is definedChander Kashyap1-4/+1
All EXYNOS4/5 SoCs share a common driver data in the samsung serial driver. Hence, let the driver data inclusion be based on ARCH_EXYNOS instead of SOC specific definition. Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org> Reviewed-by: Tomasz Figa <t.figa@samsung.com> Reviewed by: Girish K S <ks.giri@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2014-12-17pinctrl: exynos: add exynos5420 SoC specific dataLeela Krishna Amudala3-0/+121
Add Samsung EXYNOS5420 SoC specific data to enable pinctrl support for all platforms based on EXYNOS5420. Signed-off-by: Leela Krishna Amudala <l.krishna@samsung.com> Reviewed-by: Doug Anderson <dianders@chromium.org> Acked-by: Tomasz Figa <t.figa@samsung.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Tested-by : Sunil Joshi <joshi@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2014-12-15mmc: dw_mmc: move the platform specific init callYuvaraj Kumar C D2-9/+10
Current platform specific private data initialization call dw_mci_exynos_priv_init() can be used to do platform specific initialization of SMU and others in future. So the drv_data->init call has moved to dw_mci_probe(). Change-Id: I02dbf3360a283d7a25e171e1f97832c01837d5d1 Signed-off-by: Yuvaraj Kumar C D <yuvaraj.cd@samsung.com> Tested-by: Alim Akhtar <alim.akhtar@samsung.com> Tested-by: Jaehoon Chung <jh80.chung@samsung.com> Acked-by: Seungwon Jeon <tgih.jun@samsung.com> Signed-off-by: Chris Ball <cjb@laptop.org>
2014-12-15mmc: dw_mmc: exynos: configure SMU in exynos5420Yuvaraj Kumar C D1-1/+36
Exynos5420 Mobile Storage Host controller has Security Management Unit (SMU) for channel 0 and channel 1 (mainly for eMMC). This time, SMU configuration is set for non-encryption mode. Change-Id: I405651fd5aee1c572d39e05400a048bf724be4ad Signed-off-by: Yuvaraj Kumar C D <yuvaraj.cd@samsung.com> Signed-off-by: Alim Akhtar <alim.akhtar@samsung.com> Tested-by: Jaehoon Chung <jh80.chung@samsung.com> Acked-by: Seungwon Jeon <tgih.jun@samsung.com> Signed-off-by: Chris Ball <cjb@laptop.org>
2014-12-15mmc: dw_mmc: exynos: move the exynos private initYuvaraj Kumar C D1-18/+16
Currently platform specific private data initialization is done by dw_mci_exynos_priv_init and dw_mci_exynos_parse_dt. As we already have separate platform specific device tree parser dw_mci_exynos_parse_dt, move the dw_mci_exynos_priv_init code to dw_mci_exynos_parse_dt. We can use the dw_mci_exynos_priv_init to do some actual platform specific initialization of SMU and etc. Change-Id: Iad20178598423b69d029e33ee1e3d77a76fbd888 Signed-off-by: Yuvaraj Kumar C D <yuvaraj.cd@samsung.com> Tested-by: Alim Akhtar <alim.akhtar@samsung.com> Tested-by: Jaehoon Chung <jh80.chung@samsung.com> Acked-by: Seungwon Jeon <tgih.jun@samsung.com> Signed-off-by: Chris Ball <cjb@laptop.org>
2014-12-15mmc: dw_mmc: exynos: Add a new compatible string for exynos5420Yuvaraj Kumar C D1-1/+8
The Exynos5420 has a DWMMC controller which is different from prior versions.This patch adds a new compatible string for Exynos5420. Change-Id: I9191ebc65d2e308a43980a81d4a2b0c48c771ca0 Signed-off-by: Abhilash Kesavan <a.kesavan@samsung.com> Reviewed-by: Alim Akhtar <alim.akhtar@samsung.com> Signed-off-by: Yuvaraj Kumar C D <yuvaraj.cd@samsung.com> Acked-by: Jaehoon Chung <jh80.chung@samsung.com> Signed-off-by: Chris Ball <cjb@laptop.org>
2014-12-15irqchip: exynos-combiner: remove hard-coded irq_base valueChander Kashyap1-12/+3
Replace irq_domain_add_simple with "irq_domain_add_linear" in order to use linear irq domain, and to remove hardcoded irq_base_value. Change-Id: I2b8235d77f6545ac24b41d3bce8f24c60d829a39 Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org> Reviewed-by: Tomasz Figa <t.figa@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2014-12-09sensorhub: remove unnecessary kfree during driver shutdownsubmit/tizen/20141215.004633accepted/tizen/wearable/20141217.085804accepted/tizen/tv/20141217.085627accepted/tizen/mobile/20141216.083708accepted/tizen/common/20141215.134117Seung-Woo Kim1-3/+1
The ssp_data pointer is allocated with devm_kzalloc, so freeing it is not necessary. Change-Id: Idd26ba71e9c343d61e7b5aa01b21a2f2c3ae9b00 Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
2014-12-05dma-buf/dmabuf-sync: disable dmabuf sync moduleInki Dae1-1/+1
This module has a resource free bug so this patch disables dmabuf sync module until the bug is fixed. Change-Id: Ic84c88e3d5dbead1c25bf4b238b8ef5f51045099 Signed-off-by: Inki Dae <inki.dae@samsung.com>
2014-12-05misc: modem_if: replace memcpy for string to strncpy to fix overflowSeung-Woo Kim1-1/+1
The memcpy with string source and size larger than string length causes data overflow. So this patch replaces memcpy to strncpy to fix data overflow. Change-Id: Ibc326bdf0a1235c67013576ab9d8f170e8711344 Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
2014-12-05regulator: core: Fix regualtor_ena_gpio_free not to access pin after freeingSeung-Woo Kim1-0/+2
After freeing pin from regulator_ena_gpio_free, loop can access the pin. So this patch fixes not to access pin after freeing. Change-Id: I690860751e45b1513fb9171bba1c0bb7e89c0446 Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
2014-12-04input: keyboard: mcs_touchkey: add sentinel into array of of_device_idSeung-Woo Kim1-0/+1
Without sentinel, of_match_node() to array causes out-of-bound memory access. So this patch adds sentinel into array. Change-Id: Icfe3d8c2fdb0faa006f413e7c080b6d713eab08c Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
2014-12-03sensorhub: Add size check before setting messageSeung-Woo Kim1-1/+1
User can send wrong message size, so before setting message value, the size should be checked to prevent buffer overflow. Change-Id: Ia3ebdbd45b357054b6fad05c7f251a0b770172db Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
2014-12-02input: touchscreen: mms128: fix allocation size for conf dataSeung-Woo Kim1-1/+2
The data in config_fw has header, data blocks and end block. The data count in the config_fw is the number of data blocks except end block. Without considering end block, this causes buffer overflow. So this patch fixes allocation size considering end block. Change-Id: I053e251a21ba8befb03a1db233e4e2d9dbf1b795 Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
2014-11-28dmxdev: don't use before checking file->private_dataMauro Carvalho Chehab1-2/+1
As reported by smatch: drivers/media/dvb-core/dmxdev.c:1091 dvb_demux_poll() warn: variable dereferenced before check 'dmxdevfilter' (see line 1088) This was introduced by changeset d102cac8097c. We need to test before using it. Change-Id: I4e51d508c466b915338bd0a88a7afb49f4dbeb4d Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com> Signed-off-by: Changbing Xiong <cb.xiong@samsung.com>
2014-11-28s5p-jpeg: Fix possible NULL pointer dereference in s_fmtJacek Anaszewski1-0/+8
Some formats are not supported in encoding or decoding mode for given type of buffer (e.g. V4L2_PIX_FMT_JPEG is supported on output buffer only while in decoding mode). Make S_FMT failing if not suitable format is found. Change-Id: I35c94e38b1b11e2c379f4b2e1f61eedab2bc0a9d Signed-off-by: Jacek Anaszewski <j.anaszewski@samsung.com>
2014-11-28mfd: sec-core: fix build breakMarek Szyprowski1-1/+1
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Change-Id: I5c074dce7e89cbe8ba93872f4edce97431e864cc
2014-11-28cpufreq: exynos: fix potential initialization error due to signed vs. ↵Marek Szyprowski1-1/+2
unsigned comparison Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Change-Id: Ia9ce7abb542b7dd82a9bc9b23e94728b57f95e59
2014-11-28mfd: sec-core: fix potential NULL ptr dereferenceMarek Szyprowski1-1/+1
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Change-Id: I26aec009f6b61c077c6de1a96cca7a5132851dbf
2014-11-27dma-buf/dmabuf-sync: fix referece droppingsubmit/tizen/20141127.130559accepted/tizen/mobile/20141201.013959accepted/tizen/common/20141127.143546Inki Dae1-4/+8
Cancel fence free worker if there is no any task or dma device. And do not drop a reference of dmabuf at fence free worker, which is over-dropping. Change-Id: Ib7378d4efc68a8f7ee7a161296f6a9c0e78f77a7 Signed-off-by: Inki Dae <inki.dae@samsung.com>
2014-11-27input: keyboard: mcs_touchkey: use strcpy for assign device nameBeomho Seo1-1/+4
This patch use strcpy() for assign input device name. Change-Id: I2d363de2b0fe88d771ed71a861f7880a73dc6dac Signed-off-by: Beomho Seo <beomho.seo@samsung.com>
2014-11-27exynos: fimc-is: Support for V4L2 controlsBeata Michalska9-72/+669
Add support for FIMC ISP and SCALERC v4l2 controls Change-Id: I360597cbaed60a24f3184df3c5617f868fd02749 Signed-off-by: Beata Michalska <b.michalska@samsung.com>
2014-11-27exynos: fimc-is: Internal buffer list cleanupBeata Michalska5-18/+113
As the driver maintaines separate buffer lists per each video device which are beyond control of v4l2/vb2 framework, those lists should be properly handled and cleared once the buffers are no longer available. The changes introduced allow controlling state of each queued buffer and removing it from internal buffer lists when needed. Signed-off-by: Beata Michalska <b.michalska@samsung.com> Change-Id: I4dea7df3910d6836edee1387c5a1147649043b81
2014-11-27exynos3: fimc-is: Add support for FIMC IS on Exynos3250Beata Michalska21-922/+3462
The changes introduced provide support for FIMC-IS subsystem avalilable on Exynos3250. They cover the differences in both: the hardware itself as well as the subtle discrepancies between the firmwares controlling the FIMC IS on both SoCs. Regarding the above mentioned firmware variations: the initial driver has been extended with a simplified interface handling those variations thus living the core driver independent of the actual firmware version. Missing code paths have been added to cover handling some of the most probable failures/errors. Signed-off-by: Beata Michalska <b.michalska@samsung.com> Change-Id: Ie07312013a6a0ee14b88803360f0832d0ad4038d
2014-11-27exynos5: fimc-is: Code cleanupBeata Michalska3-77/+148
- Code cleanup for Exynos5/3 media device driver - Proper locking for vb2 buffers for both FIMC ISP and FIMC SCC v4l2 subdevices - Improved handling VIDIOC_REQBUFS ioctl Signed-off-by: Beata Michalska <b.michalska@samsung.com> Change-Id: If7ee3f7861678169c2c0f0fc217d3507b3e3d4fc
2014-11-27exynos: fimc-lite: Capture frame end event notificationBeata Michalska1-17/+20
This patch adds notifying v4l2 subdevs upon capture frame end event. Signed-off-by: Beata Michalska <b.michalska@samsung.com> Change-Id: Id3e81b4692a6f2cfc91ffde7050a3ae6db719971
2014-11-27exynos: mipi-csis: Fix clock handling for exynos3250Beata Michalska1-13/+29
In case of Exynos3250 only gate clock is required thus all the remaining mipi-csis clocks are considered as optional. Signed-off-by: Beata Michalska <b.michalska@samsung.com> Change-Id: Ibadffe49739add39f156737cbb723b24a5dd4ff5
2014-11-27exynos: mipi-csis: Fix handling csis events/errorsBeata Michalska1-14/+18
Particular interrupt source mask should specify each and every possible event/error reflecting the s5pcsis_events table content. Change-Id: I3149364cf219d8ec2c13297a8890537585ae77ca Signed-off-by: Beata Michalska <b.michalska@samsung.com>
2014-11-27exynos5: fimc-is: Add driver data entry for S5K68B1 sensorSylwester Nawrocki2-4/+16
Change-Id: I7e1c466c6622b39c2999e2245c7815e6517dd157 Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
2014-11-27exynos5-is: Make sclk_bayer clock handling optionalSylwester Nawrocki1-11/+16
There is no sclk_bayer clock on exynos3250. Some flag at the variant data could be added later to handle properly error from clk calls. Change-Id: I249169e1a7c451db6805dee7d01dd95816f329e0 Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
2014-11-27exynos5-is: Allow initialization when fimc-is is a master nodeSylwester Nawrocki7-113/+222
Change platform sub-devices registration method so the driver can support exynos3250 DT binding, i.e. initialize when fimc-is is the complex root node, not "camera". This also merges exynos5-fimc-is and exynos-mdevice into single kernel module called exynos-iss.ko. Change-Id: Ie340fd7a3e1f7b5dba2c71963c920f324fab4e5a Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
2014-11-27[media] Add driver for exynos5 FIMC-IS subsystemArun Kumar K22-0/+7243
This driver is for the FIMC-IS IP available in Samsung Exynos5 SoC onwards. exynos5-fimc-is: Add common driver header files This patch adds all the common header files used by the fimc-is driver. It includes the commands for interfacing with the firmware and error codes from IS firmware, metadata and command parameter definitions. exynos5-fimc-is: Add register definition and context header This patch adds the register definition file for the fimc-is driver and also the header file containing the main context for the driver. exynos5-fimc-is: Add isp subdev fimc-is driver takes video data input from the ISP video node which is added in this patch. This node accepts Bayer input buffers which is given from the IS sensors. exynos5-fimc-is: Add scaler subdev FIMC-IS has two hardware scalers named as scaler-codec and scaler-preview. This patch adds the common code handling the video nodes and subdevs of both the scalers. exynos5-fimc-is: Add sensor interface Some sensors to be used with fimc-is are exclusively controlled by the fimc-is firmware. This minimal sensor driver provides the required info for the firmware to configure the sensors sitting on I2C bus. exynos5-fimc-is: Add the hardware pipeline control This patch adds the crucial hardware pipeline control for the fimc-is driver. All the subdev nodes will call this pipeline interfaces to reach the hardware. Responsibilities of this module involves configuring and maintaining the hardware pipeline involving multiple sub-ips like ISP, DRC, Scalers, ODC, 3DNR, FD etc. exynos5-fimc-is: Add the hardware interface module The hardware interface module finally sends the commands to the FIMC-IS firmware and runs the interrupt handler for getting the responses. Signed-off-by: Arun Kumar K <arun.kk@samsung.com> Signed-off-by: Kilyeon Im <kilyeon.im@samsung.com> Reviewed-by: Sylwester Nawrocki <s.nawrocki@samsung.com> exynos5-is: Add Kconfig and Makefile Adds Kconfig and Makefile for exynos5-is driver files. [b.michalska@samsung.com: Implementation adjusted to current version of V4L2 framework: - updated prototype for stop_streaming v4l2 capture ops - vb2_queue struct's field tiemstamp_type updated to timestamp_flags] Change-Id: I066a86151048b4b5871bd3732773b87219f04fd1 Signed-off-by: Shaik Ameer Basha <shaik.ameer@samsung.com> Signed-off-by: Arun Kumar K <arun.kk@samsung.com> Reviewed-by: Sylwester Nawrocki <s.nawrocki@samsung.com>