summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2016-12-14LOCAL/arm64: defconfig: replace legacy sec_nfc to s3fwrn5 driverSeung-Woo Kim1-6/+9
This patch replaces legacy sec_nfc driver to s3fwrn5 nfc driver. Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
2016-12-14arm64: dts: exynos5433-tm2: add s3fwrn5 nodeRobert Baldyga1-0/+12
Add s3fwrn5 node for TM2 board to enable NFC feature. Signed-off-by: Robert Baldyga <r.baldyga@samsung.com>
2016-12-14nfc: s3fwrn5: Add driver for Samsung S3FWRN5 NFC ChipRobert Baldyga13-0/+1565
Add driver for Samsung S3FWRN5 NFC controller. S3FWRN5 is using NCI protocol and I2C communication interface. Signed-off-by: Robert Baldyga <r.baldyga@samsung.com>
2016-12-14NFC: nci: export nci_core_reset and nci_core_initRobert Baldyga2-0/+16
Some drivers needs to have ability to reinit NCI core, for example after updating firmware in setup() of post_setup() callback. This patch makes nci_core_reset() and nci_core_init() functions public, to make it possible. Signed-off-by: Robert Baldyga <r.baldyga@samsung.com>
2016-12-14NFC: nci: Add post_setup handlerRobert Baldyga2-0/+5
Some drivers require non-standard configuration after NCI_CORE_INIT request, because they need to know ndev->manufact_specific_info or ndev->manufact_id. This patch adds post_setup handler allowing to do such custom configuration. Signed-off-by: Robert Baldyga <r.baldyga@samsung.com>
2016-12-14NFC: nci: Handle proprietary response and notificationsSamuel Ortiz4-0/+86
Allow for drivers to explicitly define handlers for each proprietary notifications and responses they expect to support. Reviewed-by: Christophe Ricard <christophe-h.ricard@st.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2016-12-14NFC: nci: Add nci_prop_cmd allowing to send proprietary nci cmdChristophe Ricard2-0/+28
Handle allowing to send proprietary nci commands anywhere in the nci state machine. Signed-off-by: Christophe Ricard <christophe-h.ricard@st.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2016-12-14LOCAL / arm64: defconfig: disable smack permissive modeSeung-Woo Kim1-1/+1
Tizen platform is finished for smack bringup, so this patch disables smack permissive mode. Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
2016-12-14s5p-mfc: use MFC_BUF_FLAG_EOS to identify last buffers in decoder capture queueAndrzej Hajda2-8/+14
MFC driver never delivered EOS event to apps feeding constantly its capture buffer with fresh buffers. The patch fixes it by marking last buffers returned by MFC with MFC_BUF_FLAG_EOS flag and firing EOS event on de-queuing such buffers. Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
2016-12-14v4l2-compat-ioctl32: fix alignment for ARM64Andrzej Hajda1-4/+5
Alignment/padding rules on AMD64 and ARM64 differs. To allow properly match compatible ioctls on ARM64 kernels without breaking AMD64 some fields should be aligned using compat_s64 type and in one case struct should be unpacked. Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
2016-12-14misc: tizen_global_lock: apply uaccessSeung-Woo Kim1-20/+38
This patch applies uaccess for user pointer to fix user memory access. Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
2016-12-14fimc-is: 6d1: add sentinel element to id tableSeung-Woo Kim1-0/+1
This patch adds sentinel element to id table to fix following out of bounds access: ================================================================== BUG: KASan: out of bounds access in i2c_device_match+0xcc/0xf0 at addr ffffffc00120ee80 Read of size 1 by task swapper/0/1 page:ffffffbdc0848380 count:1 mapcount:0 mapping: (null) index:0x0 flags: 0x400(reserved) page dumped because: kasan: bad access detected Address belongs to variable sensor_6d1_idt+0x20/0x40 CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.1.0-00839-gb91c2a6-dirty #3 Hardware name: Samsung TM2 board (DT) Call trace: [<ffffffc00008bc58>] dump_backtrace+0x0/0x1d8 [<ffffffc00008be40>] show_stack+0x10/0x20 [<ffffffc000eee3a4>] dump_stack+0x80/0xd4 [<ffffffc00021e4f0>] kasan_report_error+0x3e0/0x408 [<ffffffc00021e9ec>] kasan_report+0x44/0x50 [<ffffffc00021d8f0>] __asan_load1+0x78/0x80 [<ffffffc000916b78>] i2c_device_match+0xc8/0xf0 [<ffffffc0006d9d54>] __driver_attach+0x3c/0xd0 [<ffffffc0006d6fac>] bus_for_each_dev+0xd4/0x138 [<ffffffc0006d932c>] driver_attach+0x2c/0x40 [<ffffffc0006d8dfc>] bus_add_driver+0x214/0x2e8 [<ffffffc0006dab40>] driver_register+0xb0/0x1c0 [<ffffffc000917fc0>] i2c_register_driver+0x48/0xc8 [<ffffffc001795344>] sensor_6d1_load+0x18/0x24 [<ffffffc000082ae4>] do_one_initcall+0xec/0x240 [<ffffffc001755e50>] kernel_init_freeable+0x288/0x330 [<ffffffc000eeab1c>] kernel_init+0xc/0xf0 Memory state around the buggy address: ffffffc00120ed80: 00 00 00 00 00 00 00 00 00 00 00 00 00 04 fa fa ffffffc00120ee00: fa fa fa fa 00 00 06 fa fa fa fa fa 00 00 00 00 >ffffffc00120ee80: fa fa fa fa 00 00 00 00 00 00 00 00 00 00 00 00 ^ ffffffc00120ef00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ffffffc00120ef80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ================================================================== Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
2016-12-14fimc-is: fix wrong index access for dt child nodesSeung-Woo Kim1-2/+2
This patch fixes wrong index access for dt child nodes. This fixes following use after free: ================================================================== BUG: KASan: use after free in fimc_is_parse_children_dt+0x6c/0xe8 at addr ffffffc08d27ffa8 Write of size 8 by task swapper/0/1 page:ffffffbdc2b49fc0 count:0 mapcount:0 mapping: (null) index:0x0 flags: 0x0() page dumped because: kasan: bad access detected CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.1.0-00839-gb91c2a6-dirty #3 Hardware name: Samsung TM2 board (DT) Call trace: [<ffffffc00008bc58>] dump_backtrace+0x0/0x1d8 [<ffffffc00008be40>] show_stack+0x10/0x20 [<ffffffc000eee3a4>] dump_stack+0x80/0xd4 [<ffffffc00021e510>] kasan_report_error+0x400/0x408 [<ffffffc00021e9ec>] kasan_report+0x44/0x50 [<ffffffc00021d38c>] __asan_store8+0x94/0xb0 [<ffffffc000991900>] fimc_is_parse_children_dt+0x68/0xe8 [<ffffffc000959368>] fimc_is_probe+0xc0/0xed8 [<ffffffc0006dc724>] platform_drv_probe+0x64/0xf8 [<ffffffc0006d9ae8>] driver_probe_device+0x1f0/0x3a8 [<ffffffc0006d9de0>] __driver_attach+0xc8/0xd0 [<ffffffc0006d6fac>] bus_for_each_dev+0xd4/0x138 [<ffffffc0006d932c>] driver_attach+0x2c/0x40 [<ffffffc0006d8dfc>] bus_add_driver+0x214/0x2e8 [<ffffffc0006dab40>] driver_register+0xb0/0x1c0 [<ffffffc0006dc618>] __platform_driver_register+0xa8/0xb8 [<ffffffc0017952c0>] fimc_is_driver_init+0x18/0x24 [<ffffffc000082ae4>] do_one_initcall+0xec/0x240 [<ffffffc001755e50>] kernel_init_freeable+0x288/0x330 [<ffffffc000eeab1c>] kernel_init+0xc/0xf0 Memory state around the buggy address: ffffffc08d27fe80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ffffffc08d27ff00: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff >ffffffc08d27ff80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ^ ffffffc08d280000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ffffffc08d280080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ================================================================== Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
2016-12-14phy: phy-exynos-mipi-video: Add sentinel element in match arraySeung-Woo Kim1-0/+1
This patch adds sentinel element in match array to fix following out of bounds access: ================================================================== BUG: KASan: out of bounds access in __of_match_node+0x38/0xb8 at addr ffffffc001024010 Read of size 1 by task swapper/0/1 page:ffffffbdc0840900 count:1 mapcount:0 mapping: (null) index:0x0 flags: 0x400(reserved) page dumped because: kasan: bad access detected Address belongs to variable exynos_mipi_video_phy_of_match+0x190/0x3c0 CPU: 5 PID: 1 Comm: swapper/0 Not tainted 4.1.0-00839-gb91c2a6-dirty #3 Hardware name: Samsung TM2 board (DT) Call trace: [<ffffffc00008bc58>] dump_backtrace+0x0/0x1d8 [<ffffffc00008be40>] show_stack+0x10/0x20 [<ffffffc000eee3a4>] dump_stack+0x80/0xd4 [<ffffffc00021e4f0>] kasan_report_error+0x3e0/0x408 [<ffffffc00021e9ec>] kasan_report+0x44/0x50 [<ffffffc00021d8f0>] __asan_load1+0x78/0x80 [<ffffffc000a5aaa4>] __of_match_node+0x34/0xb8 [<ffffffc000a5ab5c>] of_match_node+0x34/0x60 [<ffffffc000a5d2cc>] of_match_device+0x2c/0x50 [<ffffffc0006dcd58>] platform_match+0x68/0x130 [<ffffffc0006d9d54>] __driver_attach+0x3c/0xd0 [<ffffffc0006d6fac>] bus_for_each_dev+0xd4/0x138 [<ffffffc0006d932c>] driver_attach+0x2c/0x40 [<ffffffc0006d8dfc>] bus_add_driver+0x214/0x2e8 [<ffffffc0006dab40>] driver_register+0xb0/0x1c0 [<ffffffc0006dc618>] __platform_driver_register+0xa8/0xb8 [<ffffffc0017855f4>] exynos_mipi_video_phy_driver_init+0x14/0x20 [<ffffffc000082ae4>] do_one_initcall+0xec/0x240 [<ffffffc001755e50>] kernel_init_freeable+0x288/0x330 [<ffffffc000eeab1c>] kernel_init+0xc/0xf0 Memory state around the buggy address: ffffffc001023f00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ffffffc001023f80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >ffffffc001024000: 00 00 fa fa fa fa fa fa 00 00 00 fa fa fa fa fa ^ ffffffc001024080: 00 00 00 fa fa fa fa fa 00 00 00 01 fa fa fa fa ffffffc001024100: 00 00 06 fa fa fa fa fa 00 00 03 fa fa fa fa fa ================================================================== Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
2016-12-14extcon: max77843: add guard element in arraySeung-Woo Kim1-0/+1
This patch adds guard element in cable array to check last element. This fixes following out of bounds access: ================================================================== BUG: KASan: out of bounds access in extcon_dev_register+0xc0/0x978 at addr ffffffc001bcc440 Read of size 8 by task swapper/0/1 page:ffffffbdc086f300 count:1 mapcount:0 mapping: (null) index:0x0 flags: 0x400(reserved) page dumped because: kasan: bad access detected Address belongs to variable max77843_extcon_cable+0x60/0xf00 CPU: 5 PID: 1 Comm: swapper/0 Not tainted 4.1.0-00839-gb91c2a6-dirty #3 Hardware name: Samsung TM2 board (DT) Call trace: [<ffffffc00008bc58>] dump_backtrace+0x0/0x1d8 [<ffffffc00008be40>] show_stack+0x10/0x20 [<ffffffc000eee3a4>] dump_stack+0x80/0xd4 [<ffffffc00021e4f0>] kasan_report_error+0x3e0/0x408 [<ffffffc00021e9ec>] kasan_report+0x44/0x50 [<ffffffc00021d2dc>] __asan_load8+0x94/0xb0 [<ffffffc000a78904>] extcon_dev_register+0xbc/0x978 [<ffffffc000a791f8>] devm_extcon_dev_register+0x38/0x90 [<ffffffc000a7cab8>] max77843_muic_probe+0x1e0/0x5f0 [<ffffffc0006dc724>] platform_drv_probe+0x64/0xf8 [<ffffffc0006d9ae8>] driver_probe_device+0x1f0/0x3a8 [<ffffffc0006d9de0>] __driver_attach+0xc8/0xd0 [<ffffffc0006d6fac>] bus_for_each_dev+0xd4/0x138 [<ffffffc0006d932c>] driver_attach+0x2c/0x40 [<ffffffc0006d8dfc>] bus_add_driver+0x214/0x2e8 [<ffffffc0006dab40>] driver_register+0xb0/0x1c0 [<ffffffc0006dc618>] __platform_driver_register+0xa8/0xb8 [<ffffffc00179f6c0>] max77843_muic_init+0x14/0x20 [<ffffffc000082ae4>] do_one_initcall+0xec/0x240 [<ffffffc001755e50>] kernel_init_freeable+0x288/0x330 [<ffffffc000eeab1c>] kernel_init+0xc/0xf0 Memory state around the buggy address: ffffffc001bcc300: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ffffffc001bcc380: 00 00 00 00 00 00 00 00 fa fa fa fa 00 00 00 00 >ffffffc001bcc400: 00 00 00 00 00 00 00 00 fa fa fa fa 00 00 00 00 ^ ffffffc001bcc480: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ffffffc001bcc500: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ================================================================== Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
2016-12-14LOCAL / ARM: defconfig: Enable Mali400 R4P0 on Trats2Krzysztof Kozlowski1-1/+11
Enable Mali400 R4P0 drivers to utilize GPU. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2016-12-14LOCAL / ARM: dts: Add GPU/G3D node to exynos4412-trats2Krzysztof Kozlowski1-0/+5
Enable usage of Mali400 on Trats2 board. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2016-12-14LOCAL / ARM: defconfig: Enable Tizen Global Lock for Mali on Odroid-U3Krzysztof Kozlowski1-1/+1
Tizen Global Lock is needed for Mali400 R4P0 on Odroid-U3. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2016-12-14LOCAL / ARM: defconfig: Enable Mali400 R4P0 on Odroid-U3Krzysztof Kozlowski1-1/+11
Enable Mali400 to utilize GPU. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2016-12-14drm/exynos: Staticize local function in exynos_drm_gem.cKrzysztof Kozlowski1-1/+1
The exynos_drm_gem_mmap_buffer() is not used outside so make it static. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2016-12-14LOCAL / ARM: defconfig: Enable SMACK permissive mode as workaround on Trats2Krzysztof Kozlowski1-0/+1
Fix display/Xorg on Trats2 by using a workaround (SMACK permissive mode). Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2016-12-14LOCAL / ARM: defconfig: Fix display on Trats2Krzysztof Kozlowski1-1/+1
Enable config necessary for display/Xorg on Trats2: TIZEN_GLOBAL_LOCK Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2016-12-14drm/exynos: Remove unused vma field of exynos_drm_gem_objKrzysztof Kozlowski1-2/+0
The field 'vma' of 'exynos_drm_gem_obj' structure was introduced in 2a3098ff6c21 ("drm/exynos: add userptr feature for g2d module") but is not referenced anywhere. One instance of 'exynos_drm_gem_obj' may be mapped to multiple user-space VMAs so 'vma' field does not look useful anyway. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com>
2016-12-14drm/exynos: iommu: improve a check for non-iommu dma_opsMarek Szyprowski1-2/+2
DRM Exynos driver is relying on dma-mapping internal structures when used with IOMMU enabled. This patch partially hides dma-mapping internal things by using proper get_dma_ops/set_dma_ops calls. Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com> [k.kozlowski: Backport to 4.1] Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2016-12-14drm/exynos: initialize VIDCON0 when fimd is disabledJoonyoung Shim1-0/+2
When the fimd is disabled by fimd_disable(), enabled overlay layers also are disabled. If clocks for fimd are enabled by fimd_enable() on this case, it can lead IOMMU page fault. The reason is that VIDCON0_ENVID and VIDCON0_ENVID_F bits of VIDCON0 register are set still even though fimd is disabled, so it may continue display output of prior when clocks for fimd are enabled again. Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com> [k.kozlowski: Backport to 4.1, rebasing required] Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2016-12-14LOCAL / ARM: defconfig: Fix boot hang on Trats2 around DRMKrzysztof Kozlowski1-3/+1
Disabling framebuffer console fixes boot hang on Trats2 board after: [ 1.136523] [drm] Initialized drm 1.1.0 20060810 [ 1.143789] exynos-drm exynos-drm: bound 11c00000.fimd (ops fimd_component_ops) [ 1.149944] exynos-drm exynos-drm: bound 11c80000.dsi (ops exynos_dsi_component_ops) [ 1.157366] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013). [ 1.163954] [drm] No driver support for vblank timestamp query. [ 1.169893] [drm] Initialized exynos 1.0.0 20110530 on minor 0 Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2016-12-14LOCAL / ARM: defconfig: Enable MAX77693 charger and haptic on Trats2Krzysztof Kozlowski1-3/+30
Enable the Maxim 77693 charger and input/haptic drivers in Trats2 defconfig. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2016-12-14Revert "LOCAL / drm/exynos: fimd: Remove unused 'ret' variable"Krzysztof Kozlowski1-0/+1
This reverts commit aacf1c3ffc5a1a1ba1d51e258b4af722d68c6407 to fix build error (tizen_trats2_defconfig): ../drivers/gpu/drm/exynos/exynos_drm_fimd.c: In function ‘fimd_bind’: ../drivers/gpu/drm/exynos/exynos_drm_fimd.c:1037:3: error: ‘ret’ undeclared (first use in this function) ../drivers/gpu/drm/exynos/exynos_drm_fimd.c:1037:3: note: each undeclared identifier is reported only once for each function it appears in make[5]: *** [drivers/gpu/drm/exynos/exynos_drm_fimd.o] Error 1
2016-12-14v4l2-compat-ioctl32: fix struct v4l2_event32 alignmentAndrzej Hajda1-1/+1
Union v4l2_event::u is aligned to 8 bytes on arm32. On arm64 v4l2_event32::u is aligned to 4 bytes. As a result structures v4l2_event and v4l2_event32 have different sizes and VIDOC_DQEVENT ioctl does not work from arm32 apps running on arm64 kernel. The patch fixes it. Signed-off-by: Andrzej Hajda <a.hajda@samsung.com> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
2016-12-14drm/exynos: ipp: introduce last_buf_idHyungwon Hwang2-0/+10
There is no reason to tie the buf idx from userspace and the real HW DMA channel. So to separate them, the buf idx from userspace must be stored to return the idx when the processing is done. This patch introduces last_buf_id to store the current processing buf id for that purpose. Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com> Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
2016-12-14media: s5p-mfc: fix mfc context buffer sizeIngi Kim1-1/+1
When video file was decoded by H/W MFCv8. It occured IOMMU page fault because of accessing abnormal memory of mfc ctx buf So this patch supports buffer size of mfc context more. Relevant page fault error is below. [ 3524.617147] PAGE FAULT occurred at 0x10108000 by 11200000.sysmmu(Page table base: 0x6d86c000) [ 3524.624192] Lv1 entry: 0x6c27d001 [ 3524.627567] Lv2 entry: 0x0 [ 3524.630482] ------------[ cut here ]------------ [ 3524.635020] kernel BUG at drivers/iommu/exynos-iommu.c:358! [ 3524.640567] Internal error: Oops - BUG: 0 [#1] PREEMPT SMP ARM [ 3524.646373] Modules linked in: [ 3524.649410] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.0.0-00001-g0ff9b87-dirty #18 [ 3524.657117] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree) [ 3524.663184] task: c0e4aff0 ti: c0e3c000 task.ti: c0e3c000 [ 3524.668566] PC is at exynos_sysmmu_irq+0x1b8/0x2c4 [ 3524.673330] LR is at vprintk_emit+0x2b8/0x58c [ 3524.677657] pc : [<c037cc78>] lr : [<c00704a4>] psr: 600d0193 [ 3524.677657] sp : c0e3dd90 ip : 00000000 fp : c0e3ddcc [ 3524.689092] r10: ee29a110 r9 : 00000000 r8 : ee29a128 [ 3524.694292] r7 : ed812810 r6 : 10108000 r5 : ed86c000 r4 : 00000000 [ 3524.700791] r3 : c0ec9bd8 r2 : 00000000 r1 : 00000000 r0 : ed82ff00 [ 3524.707292] Flags: nZCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment kernel [ 3524.714656] Control: 10c5387d Table: 6b08c06a DAC: 00000015 [ 3524.720375] Process swapper/0 (pid: 0, stack limit = 0xc0e3c210) [ 3524.726354] Stack: (0xc0e3dd90 to 0xc0e3e000) [ 3524.730689] dd80: c0e3dd9c c0069d68 ee58c338 6d86c000 [ 3524.738836] dda0: ee58c338 ee298c40 ee2915a0 0000003b c0e64ef4 c0e3c000 00000000 00000000 [ 3524.746981] ddc0: c0e3de14 c0e3ddd0 c0071ef4 c037cacc ffffffff a00d0193 c0e3ddf4 ee291540 [ 3524.755126] dde0: c0ec793c c0ec7928 7fffffff ee291540 ee2915a0 ee298c40 c0e64ef4 ee004660 [ 3524.763272] de00: ee010800 c0e3df00 c0e3de34 c0e3de18 c0072138 c0071e9c 00020000 ee291540 [ 3524.771418] de20: ee2915a0 00000016 c0e3de4c c0e3de38 c0075130 c00720f8 0000003b ee028300 [ 3524.779563] de40: c0e3de64 c0e3de50 c0071450 c0075068 00000100 00000012 c0e3de8c c0e3de68 [ 3524.787708] de60: c030d240 c0071420 c030d19c 00000016 00000000 00000016 00000000 00000001 [ 3524.795854] de80: c0e3dea4 c0e3de90 c0071450 c030d1a8 00000092 c0e37a1c c0e3ded4 c0e3dea8 [ 3524.804000] dea0: c0071790 c0071420 c0e3df00 f000200c 00000016 c0e440a8 c0e3df00 f0002000 [ 3524.812145] dec0: c095bc8c 00000001 c0e3defc c0e3ded8 c0008730 c0071710 c0010d88 c0010d8c [ 3524.820290] dee0: 600d0013 ffffffff c0e3df34 c0ec7eb4 c0e3df54 c0e3df00 c0014780 c00086fc [ 3524.828436] df00: 00000001 00000000 00000000 c0020780 c0e3c000 c0e43530 00000000 00000000 [ 3524.836581] df20: c0ec7eb4 c095bc8c 00000001 c0e3df54 c0e3df58 c0e3df48 c0010d88 c0010d8c [ 3524.844727] df40: 600d0013 ffffffff c0e3df94 c0e3df58 c0062690 c0010d50 c0ec75f0 00000001 [ 3524.852872] df60: c0e3df84 c0e4353c c0e39580 c0e43e84 c0e3c000 00000002 c0e3df58 c0e38b88 [ 3524.861018] df80: c0952b9c ffffffff c0e3dfac c0e3df98 c094d1b8 c00622d4 c0e3c000 c0e43e10 [ 3524.869163] dfa0: c0e3dff4 c0e3dfb0 c0d86d30 c094d130 ffffffff ffffffff c0d866f0 00000000 [ 3524.877309] dfc0: 00000000 c0df06d8 00000000 c0ee3f14 c0e434c0 c0df06d4 c0e4c20c 4000406a [ 3524.885454] dfe0: 410fc073 00000000 00000000 c0e3dff8 40008074 c0d86970 00000000 00000000 [ 3524.893610] [<c037cc78>] (exynos_sysmmu_irq) from [<c0071ef4>] (handle_irq_event_percpu+0x64/0x25c) [ 3524.902615] [<c0071ef4>] (handle_irq_event_percpu) from [<c0072138>] (handle_irq_event+0x4c/0x6c) [ 3524.911454] [<c0072138>] (handle_irq_event) from [<c0075130>] (handle_level_irq+0xd4/0x14c) [ 3524.919773] [<c0075130>] (handle_level_irq) from [<c0071450>] (generic_handle_irq+0x3c/0x4c) [ 3524.928180] [<c0071450>] (generic_handle_irq) from [<c030d240>] (combiner_handle_cascade_irq+0xa4/0x110) [ 3524.937624] [<c030d240>] (combiner_handle_cascade_irq) from [<c0071450>] (generic_handle_irq+0x3c/0x4c) [ 3524.946981] [<c0071450>] (generic_handle_irq) from [<c0071790>] (__handle_domain_irq+0x8c/0xfc) [ 3524.955646] [<c0071790>] (__handle_domain_irq) from [<c0008730>] (gic_handle_irq+0x40/0x78) [ 3524.963966] [<c0008730>] (gic_handle_irq) from [<c0014780>] (__irq_svc+0x40/0x74) [ 3524.971412] Exception stack(0xc0e3df00 to 0xc0e3df48) [ 3524.976441] df00: 00000001 00000000 00000000 c0020780 c0e3c000 c0e43530 00000000 00000000 [ 3524.984586] df20: c0ec7eb4 c095bc8c 00000001 c0e3df54 c0e3df58 c0e3df48 c0010d88 c0010d8c [ 3524.992729] df40: 600d0013 ffffffff [ 3524.996205] [<c0014780>] (__irq_svc) from [<c0010d8c>] (arch_cpu_idle+0x48/0x4c) [ 3525.003567] [<c0010d8c>] (arch_cpu_idle) from [<c0062690>] (cpu_startup_entry+0x3c8/0x4a4) [ 3525.011805] [<c0062690>] (cpu_startup_entry) from [<c094d1b8>] (rest_init+0x94/0x98) [ 3525.019516] [<c094d1b8>] (rest_init) from [<c0d86d30>] (start_kernel+0x3cc/0x3d8) [ 3525.026963] Code: e34c30ec e5932004 e3520000 ca000018 (e7f001f2) [ 3525.033028] ---[ end trace 71ed544f653b4d46 ]--- Signed-off-by: Ingi Kim <ingi2.kim@samsung.com> Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
2016-12-14media: s5p-mfc: skip incomeplete frameDonghwa Lee2-2/+8
Currently, when incomplete frame is recieved in the middle of decoding, driver have treated it to error, so src/dst queue and clock are cleaned. Although it is obviously error case, it is need to maintain video decoding in case of necessity. This patch supports skip incomplete frame to next. Signed-off-by: Donghwa Lee <dh09.lee@samsung.com> Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
2016-12-14ARM: dts: exynos5433-tm2: add missing pinctrl states for fimc_is_ch1_i2cMarek Szyprowski2-3/+9
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
2016-12-14s5p-mfc: end-of-stream handling for newer encodersAndrzej Hajda3-26/+44
MFC encoder supports end-of-stream handling for encoder in version 5 of hardware. This patch adds it also for newer version. It was successfully tested on MFC-v8. Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
2016-12-14local/pci: pcie-designware: call pci_bus_add_devices()Jaehoon Chung1-0/+1
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
2016-12-14LOCAL/ARM64: defconfig: enable support for fimc-isSylwester Nawrocki1-1/+13
This patch enables fimc-is and its sub drivers. Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
2016-12-14fimc-is: fixup for v4.1 rebaseMarek Szyprowski2-3/+4
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
2016-12-14fimc-is: get rid of struct v4l2_subdev_core_ops::init usageSylwester Nawrocki5-11/+15
init is too limited to be used in this driver, it is deprecated and usage of this callback should be removed anyway. There is no device nodes for subdevs so ioctl is no exposed to user space. Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
2016-12-14fimc-is: Fix/add vidioc_querycap for several video nodesSylwester Nawrocki7-49/+56
This allows us to get rid of a warning from v4l2-core. Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
2016-12-14fimc-is: fail device open when called from udevMarek Szyprowski1-0/+4
This workaround avoids driver state change on system boot when udev checks all video nodes. Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
2016-12-14fimc-is: Workaround to ensure proper video open sequenceSylwester Nawrocki10-0/+61
This a workaround to prevent system crash when video nodes are opened in random sequence during system booting. Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> fimc-is: hack video node open to require companion to be opened Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
2016-12-14fimc-is: Add memory barriers in place of vb2_ion_sync_for_device() callsSylwester Nawrocki1-0/+6
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
2016-12-14fimc-is: do not skip enabling enabled regulatorsMarek Szyprowski1-14/+0
Regulators have proper on/off refcount, so use it instead of strange is_enabled() based logic. Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
2016-12-14fimc-is: temporary hack to ensure proper structure sizeMarek Szyprowski2-2/+2
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
2016-12-14fimc-is: temporary workaround for more strict vb2 buffer state trackingMarek Szyprowski1-0/+5
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
2016-12-14fimc-is: Correct error logs in fimc-is-groupmgr.cSylwester Nawrocki1-2/+2
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
2016-12-14fimc-is: Fix printk format in wq_func_general() functionSylwester Nawrocki1-2/+2
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
2016-12-14fimc-is: Remove unneeded variable declarationsSylwester Nawrocki1-8/+0
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
2016-12-14fimc-is: Use proper type for FIMC-LITE register region pointerSylwester Nawrocki3-131/+129
Aside of dropping the pointless TO_WORD_OFFSET() macro this let's us avoid errors on a 64-bit system where size of unsigned long is 8 bytes, as opposed to 4 bytes on 32-bit machines. Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
2016-12-14fimc-is: Fix data type errors in debug printksSylwester Nawrocki1-6/+6
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>