platform/kernel/linux-exynos.git
8 years agoARM: tizen_trats2_defconfig: Disable MALI_DVFS 85/83485/1
Joonyoung Shim [Thu, 11 Aug 2016 05:02:00 +0000 (14:02 +0900)]
ARM: tizen_trats2_defconfig: Disable MALI_DVFS

MALI_DVFS is internal DVFS feature of mali400. Now we use specific
DVFS(USING_GPU_UTILIZATION) and USING_GPU_UTILIZATION conflicts with
MALI_DVFS, so disable MALI_DVFS config.

Change-Id: I7edd335a1f23e09ee38ecb43e9c380f695dac78b
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
8 years agoARM: tizen_rinato_defconfig: Disable MALI_DVFS 84/83484/1
Joonyoung Shim [Thu, 11 Aug 2016 05:01:38 +0000 (14:01 +0900)]
ARM: tizen_rinato_defconfig: Disable MALI_DVFS

MALI_DVFS is internal DVFS feature of mali400. Now we use specific
DVFS(USING_GPU_UTILIZATION) and USING_GPU_UTILIZATION conflicts with
MALI_DVFS, so disable MALI_DVFS config.

Change-Id: Iebef1cddfecfa968d2b19b8b0af7ba5ae017c841
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
8 years agoARM: tizen_odroid_defconfig: Disable MALI_DVFS 83/83483/1
Joonyoung Shim [Thu, 11 Aug 2016 04:54:10 +0000 (13:54 +0900)]
ARM: tizen_odroid_defconfig: Disable MALI_DVFS

MALI_DVFS is internal DVFS feature of mali400. Now we use specific
DVFS(USING_GPU_UTILIZATION) and USING_GPU_UTILIZATION conflicts with
MALI_DVFS, so disable MALI_DVFS config.

Change-Id: I00d0b9737a4caed5a357a2e196e0c37392eb1d80
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
8 years agoRevert "drm/exynos/decon5433: wait for two vblanks before framebuffer removal"
Andrzej Hajda [Tue, 9 Aug 2016 09:07:47 +0000 (11:07 +0200)]
Revert "drm/exynos/decon5433: wait for two vblanks before framebuffer removal"

Since previous patch fixes strange DECON behavior we do not
need to wait for two vblanks before freeing buffers.

This reverts commit 661aaf94623c1de5d96503aaefdfae4b9105cb1a.

Change-Id: I3cbd68f9af5748f74c5a878de34b6b531aa26075
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agodrm/exynos/decon5433: update shadow registers iff there are active windows
Andrzej Hajda [Tue, 9 Aug 2016 08:44:25 +0000 (10:44 +0200)]
drm/exynos/decon5433: update shadow registers iff there are active windows

Improper usage of DECON_UPDATE register leads to subtle errors.
If it set in decon_commit when there are no active windows it results
in slow registry updates - all subsequent shadow registry updates takes more
than full vblank. On the other side if it is not set when there are
active windows it results in garbage on the screen after suspend/resume of
FB console.

The patch hopefully fixes it.

Change-Id: I3cbd68f9af5748f74c5a878de34b6b531aa26074
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agokdbus: allowing sending replies even if NO_EXPECT_REPLY is set accepted/tizen/common/20160810.161706 accepted/tizen/ivi/20160810.082329 accepted/tizen/mobile/20160810.082223 accepted/tizen/tv/20160810.082251 accepted/tizen/wearable/20160810.082314 submit/tizen/20160810.050017
Lukasz Skalski [Wed, 20 Jul 2016 16:21:25 +0000 (18:21 +0200)]
kdbus: allowing sending replies even if NO_EXPECT_REPLY is set

Change-Id: I34427f381957dd8d366e9e4d837d5a2a34a39cc1

8 years agokdbus: allow unix domain socket fd passing
Konrad Lipinski [Fri, 15 Jul 2016 11:15:05 +0000 (13:15 +0200)]
kdbus: allow unix domain socket fd passing

Change-Id: Ifafec44da924ec8ed677629606c92a45e7171636

8 years agoincreate KDBUS_CONN_MAX_REQUESTS_PENDING to 1024 from 128
INSUN PYO [Wed, 29 Jun 2016 05:04:09 +0000 (14:04 +0900)]
increate KDBUS_CONN_MAX_REQUESTS_PENDING to 1024 from 128

Signed-off-by: INSUN PYO <insun.pyo@samsung.com>
Change-Id: I82e1d634c88f2e86a29e7f5d50ce5226943c2e54

8 years agoRemove kdbus Linux Security Module hooks
Karol Lewandowski [Thu, 23 Jun 2016 13:02:50 +0000 (15:02 +0200)]
Remove kdbus Linux Security Module hooks

This commit removes support for kdbus-LSM hooks as policy decisions
are handled solely by userspace (libdbuspolicy library).  This commit
reverts following:

 - 802de9506 ("lsm: smack: smack callbacks for kdbus security hooks")

 - f13b7e7bd ("kdbus: use LSM hooks in kdbus code")

 - 067afa709 ("lsm: smack: Make ipc/kdbus includes visible so smack callbacks could see them")

 - 442f047fd ("lsm: make security_file_receive available for external modules")

 - 3b556db4b ("lsm: kdbus security hooks")

Change-Id: Iae90cdb9577a9e706288b28d70bd57574398276e
Signed-off-by: Karol Lewandowski <k.lewandowsk@samsung.com>
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
8 years agoEnable dummy_hcd and FunctionFS in odroidxu3 config.
Krzysztof Opasiak [Mon, 6 Jun 2016 20:03:50 +0000 (22:03 +0200)]
Enable dummy_hcd and FunctionFS in odroidxu3 config.

This is required to run usb host API test suit.

Change-Id: I99058db93922e1279f090d76bbacf6c8fe7985b8
Signed-off-by: Krzysztof Opasiak <k.opasiak@samsung.com>
8 years agoFix slp-gadget dependency and auto selection.
Krzysztof Opasiak [Tue, 2 Aug 2016 14:26:52 +0000 (16:26 +0200)]
Fix slp-gadget dependency and auto selection.

Change-Id: Ia305bdb93921e1279f590d76bbacf6c8fe7985b3
Signed-off-by: Krzysztof Opasiak <k.opasiak@samsung.com>
8 years agousb: gadget: Allow to build both USB functions and legacy gadgets
Krzysztof Opasiak [Mon, 6 Jun 2016 19:40:33 +0000 (21:40 +0200)]
usb: gadget: Allow to build both USB functions and legacy gadgets

Currently it is possible to build in some subset of usb functions
*OR* some gadget module. This is limited only by Kconfig not
any functionality.

This patch removes this limitation. With this patch it is possible
to set up all build combinations:
1) Multiple gadgets build in
2) Part of functions build in, part of functions as a modules
3) Some gadgets build in and some part of functions build in/modules
etc.

As this patch makes Kconfig quite complicated let me clarify how it works:

USB_F_<func name> - used in makefile for compilation
USB_CONFIGFS_F_<func name> - Chosen by user in function menu
USB_G_<gadget name>_REQ_F_<func name> - set up by gadget to mark
      that this particular gadget requires this func to work
USB_F_<func name>_SELECTOR - helper config which is used to determine
    if function should be build in or compiled as a module

The rules are quite simple:
1) If any of USB_CONFIGFS_F_<func name>, USB_G_*_REQ_F_<func name> equals
y, then USB_F_<func name> is set to y and function is build in
2) If none of USB_CONFIGFS_F_<func name>, USB_G_*_REQ_F_<func name> equals
y, but any of them equals m then USB_F_<func name> is set to m and function
is compiled as a module

Signed-off-by: Krzysztof Opasiak <k.opasiak@samsung.com>
[Backported from commit under review @linux-usb mailing list]
Change-Id: Ic8c2ad723a43536ca4c621ed590e01ba8f0fbf5b
Signed-off-by: Krzysztof Opasiak <k.opasiak@samsung.com>
8 years agokmsg: allow binary characters
Michal Bloch [Tue, 19 Jul 2016 15:58:54 +0000 (17:58 +0200)]
kmsg: allow binary characters

* do not touch unprintable characters. This is so that logs can have formatting
  such as newlines, tabulation, or colours.
* the textual part is now delimited by \0. This is because \n which used to be
  the delimiter is now available for logs.
* NOTE: requires corresponding changes in dlogutil.

Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Change-Id: Ib7a83241e7a72b2ba527f52801a8bae0698d18f4

8 years agoSmack: Assign smack_known_web label for kernel thread's socket in the sk_alloc_securi...
jooseong lee [Wed, 20 Jul 2016 01:07:11 +0000 (10:07 +0900)]
Smack: Assign smack_known_web label for kernel thread's socket in the sk_alloc_security hook

Creating struct sock by sk_alloc function in various kernel subsystems
like bluetooth dosen't call smack_socket_post_create(). In such case,
received sock label is the floor('_') label and makes access deny.

Refers to:
http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=7412301b76bd53ee53b860f611fc3b5b1c2245b5

Change-Id: I614c5f0e6d59be5ca6b49f0581edfef79fc334cf
Signed-off-by: jooseong lee <jooseong.lee@samsung.com>
8 years agoarm: tizen_odroid_defconfig: enable Android logger driver
Inki Dae [Mon, 4 Jul 2016 08:32:31 +0000 (17:32 +0900)]
arm: tizen_odroid_defconfig: enable Android logger driver

This patch enables Android logger driver.
Tizen common platform will use Android logger driver
and dlog will be used as its backend.

Change-Id: Id94c5d8f57bfd9d66c8ace470ff82b58699e20a4
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
8 years agousb: gadget: Add MTP functions to legacy composite
Dongwoo Lee [Fri, 5 Aug 2016 07:02:46 +0000 (16:02 +0900)]
usb: gadget: Add MTP functions to legacy composite

MTP functions are added to legacy SLP composite gadget.

Change-Id: If2b7e8466ed7f8e5ccb5a6a1f4a7c6a11ee32e4e
Signed-off-by: Dongwoo Lee <dwoo08.lee@samsung.com>
8 years agodrm/panel/s6e3ha2: add basic HMT support
Andrzej Hajda [Fri, 8 Jul 2016 13:47:30 +0000 (15:47 +0200)]
drm/panel/s6e3ha2: add basic HMT support

The patch adds basic Head Mounted Theater(HMT) support without
brightness setting. Sequences for tm2e does not always work, needs to be
re-examined.

Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
[jy0922.shim: fix for tm2e and add one hardcoded brightness setting]
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Change-Id: I8327b365146e87b1139006fd92b1abb01522d400

8 years agodrm/panel/s6e3ha2: add locking to brightness update
Andrzej Hajda [Fri, 8 Jul 2016 11:31:45 +0000 (13:31 +0200)]
drm/panel/s6e3ha2: add locking to brightness update

Brightness update can be called asynchronously, so access to device should
be synchronized. To do this callback should be split into backlight callback
and device specific part, which can be called from other places.

Change-Id: Ib0c9d81ccaffe63b650dcd948c3ca1e770d03763
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agodrm/panel/s6e3ha2: simplify s6e3ha2_update_gamma
Andrzej Hajda [Fri, 8 Jul 2016 11:11:58 +0000 (13:11 +0200)]
drm/panel/s6e3ha2: simplify s6e3ha2_update_gamma

s6e3ha2_update_gamma should update existing helpers to transfer data.

Change-Id: I0d087c93ea854c27c0e9eb151ae01d0190c11497
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agodrm/panel/s6e3ha2: simplify panel unprepare
Andrzej Hajda [Fri, 8 Jul 2016 11:01:01 +0000 (13:01 +0200)]
drm/panel/s6e3ha2: simplify panel unprepare

Special helper should be used instead of directly checking ctx->error.

Change-Id: If472a2771691df95244bd5f2c41fa98b7013fee5
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agodrm/panel/s6e3ha2: fix s6e3ha2_clear_error
Andrzej Hajda [Fri, 8 Jul 2016 10:54:00 +0000 (12:54 +0200)]
drm/panel/s6e3ha2: fix s6e3ha2_clear_error

The purpose of s6e3ha2_clear_error is to clear ctx->error and return
cleaned value to caller.

Change-Id: I5cb0cd93acc91463ad72d0eab45a302dd26a72e5
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agopackaging: exclude build for non proper obs project
Seung-Woo Kim [Thu, 4 Aug 2016 01:41:22 +0000 (10:41 +0900)]
packaging: exclude build for non proper obs project

For tm2, it is only required to build for mobile aarch64 and for
odroid, it is only reuiqred to build for arm projects except for
wearable or mobile tm1 projects. So this patch adds build exclude
for each packaging.

Change-Id: Iba02f6ceb54a3a813e68095cfff6b6c06e4839fb
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
8 years agospi: exynos5433-isp: Fix doubled clock disable on suspend
Joonyoung Shim [Thu, 4 Aug 2016 08:04:42 +0000 (17:04 +0900)]
spi: exynos5433-isp: Fix doubled clock disable on suspend

This patch came from the commit 9d7fd21acb20 ("spi/s3c64xx: Fix doubled
clock disable on suspend") and the commit 4fcd9b9e06d4 ("spi: s3c64xx:
simplify suspend / resume handlers").

Fix doubled clock disable and unprepare during PM suspend which triggered
the warnings:

[   24.258574] WARNING: CPU: 0 PID: 326 at drivers/clk/clk.c:1010 clk_core_disable+0x90/0x14c()
[   24.258580] Modules linked in:
[   24.258589] CPU: 0 PID: 326 Comm: deviced Not tainted 4.1.0-01299-g70114f2-dirty #26
[   24.258592] Hardware name: Samsung TM2 board (DT)
[   24.258595] Call trace:
[   24.258605] [<ffffffc000089f34>] dump_backtrace+0x0/0x124
[   24.258610] [<ffffffc00008a068>] show_stack+0x10/0x1c
[   24.258618] [<ffffffc000a36ed0>] dump_stack+0x78/0xbc
[   24.258624] [<ffffffc00009acc8>] warn_slowpath_common+0x9c/0xd4
[   24.258628] [<ffffffc00009adc0>] warn_slowpath_null+0x14/0x20
[   24.258632] [<ffffffc000748e80>] clk_core_disable+0x8c/0x14c
[   24.258636] [<ffffffc0007493ec>] clk_disable+0x28/0x40
[   24.258644] [<ffffffc000529164>] s3c64xx_spi_suspend+0x3c/0x70
[   24.258652] [<ffffffc0004d7938>] platform_pm_suspend+0x20/0x50
[   24.258659] [<ffffffc0004e1b10>] dpm_run_callback+0x4c/0x190
[   24.258664] [<ffffffc0004e2b34>] __device_suspend+0xf4/0x380
[   24.258669] [<ffffffc0004e4738>] dpm_suspend+0x128/0x35c
[   24.258674] [<ffffffc0004e4e74>] dpm_suspend_start+0x68/0x78
[   24.258681] [<ffffffc0000e269c>] suspend_devices_and_enter+0xb8/0x838
[   24.258685] [<ffffffc0000e319c>] pm_suspend+0x380/0x5d8
[   24.258690] [<ffffffc0000e16d4>] state_store+0x7c/0xf4
[   24.258697] [<ffffffc000376a74>] kobj_attr_store+0x10/0x24
[   24.258705] [<ffffffc0002164d4>] sysfs_kf_write+0x3c/0x50
[   24.258710] [<ffffffc00021596c>] kernfs_fop_write+0xbc/0x180
[   24.258718] [<ffffffc0001aa2e8>] __vfs_write+0x28/0x10c
[   24.258722] [<ffffffc0001aac00>] vfs_write+0x8c/0x16c
[   24.258726] [<ffffffc0001ab518>] SyS_write+0x40/0xa0

The clocks may be already disabled before suspending. Check PM runtime
suspend status and disable clocks only if device is not suspended.
During resume do not enable the clocks if device is runtime suspended.

Change-Id: I194a5d458744086998b82602146648d34ff7050a
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
8 years agoARM: dts: trats2: add "reboot-inform" property for supporting reboot mode
Jaehoon Chung [Tue, 2 Aug 2016 01:23:37 +0000 (10:23 +0900)]
ARM: dts: trats2: add "reboot-inform" property for supporting reboot mode

Add the reboot-inform property for supporting reboot mode.
Trats2 is INFORM3 register, other boards are using INFORM2 regsiter.
In trats2's case, when we released the tizen-2.X with linux-3.10 kernel,
it had used the INFORM3 register. That's why trats2 only use the INFORM3
register.

Change-Id: Ief314f50c47601ad646789790b36731e64e0b688
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
8 years agoARM: dts: odroid: add "reboot-inform" property for supporting reboot mode
Jaehoon Chung [Mon, 1 Aug 2016 10:45:54 +0000 (19:45 +0900)]
ARM: dts: odroid: add "reboot-inform" property for supporting reboot mode

Add the reboot-inform property for supporting reboot mode.
Odroid families use the INFORM2 register as reboot special mode.

Change-Id: I906c32e6d26fcf08748f4916c277fb3995a1117f
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
8 years agoARM: exynos: pmu: support the reboot download mode
Jaehoon Chung [Mon, 1 Aug 2016 10:38:41 +0000 (19:38 +0900)]
ARM: exynos: pmu: support the reboot download mode

Support the reboot download mode functionality.
It can get from device-treee which INFORM register will be used.
If want to use this functionality, it also needs to implement something
on bootloader side.

Change-Id: Iae42f32d69b84ccdcb39fcfc8bc71f9cc8c42302
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
8 years agodrm/exynos/decon5433: wait for two vblanks before framebuffer removal
Andrzej Hajda [Tue, 2 Aug 2016 17:10:37 +0000 (19:10 +0200)]
drm/exynos/decon5433: wait for two vblanks before framebuffer removal

After window disable DECON can access its DMA buffer in current and next
scanout. To avoid possible page fault driver should ensure that two scanouts
passed before freeing framebuffer.

Change-Id: I5508f6686ff51d555eb1497b7a6d21b990fd6003
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agophy: exynos-mipi-video: simplify check for coupled phy status
Marek Szyprowski [Wed, 20 Jul 2016 10:50:47 +0000 (12:50 +0200)]
phy: exynos-mipi-video: simplify check for coupled phy status

There is no need to access regmap of coupled phy to check its state - such
information is already in the phy device itself, so use it directly. This
let us to avoid possible access to registers of the device in the disabled
power domain if the coupled phy is already disabled.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: If375eab85e6ec680e856a9eeafdf24823e8adb6e

8 years agophy: phy-exynos-mipi-video: fix incorrect check for coupled phy state
Marek Szyprowski [Tue, 26 Jul 2016 11:08:08 +0000 (13:08 +0200)]
phy: phy-exynos-mipi-video: fix incorrect check for coupled phy state

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I6c7fc15e1284fc70b3e581e8203f8dd43de63bb3

8 years agospi: s3c64xx-spi-isp: properly set initial runtime pm status
Marek Szyprowski [Fri, 22 Jul 2016 09:23:15 +0000 (11:23 +0200)]
spi: s3c64xx-spi-isp: properly set initial runtime pm status

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I619fc999265e3770a5295a3a9a1ef3fd46a9c94c

8 years agomedia: s5p-mfc: use clock gating only on mfc v5 hardware
Marek Szyprowski [Mon, 1 Aug 2016 11:55:21 +0000 (13:55 +0200)]
media: s5p-mfc: use clock gating only on mfc v5 hardware

Software clock gating causes unpredicted behavior of newer MFC hardware,
so use it only when working with v5 module.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I5a636b9c46b5e387da4d1c4f6dbb4adb583085e3

8 years agomedia: s5p-mfc: use printk_ratelimited for reporting ioctl errors
Marek Szyprowski [Thu, 28 Jul 2016 10:01:54 +0000 (12:01 +0200)]
media: s5p-mfc: use printk_ratelimited for reporting ioctl errors

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: Ieff41f18447d59924b2cad3b27e50dbb8e36539d

8 years agomedia: s5p-mfc: don't keep clocks prepared all the time
Marek Szyprowski [Thu, 30 Jun 2016 08:29:46 +0000 (10:29 +0200)]
media: s5p-mfc: don't keep clocks prepared all the time

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I2b3a109eb9ac28e282083adf444baaef75431376

8 years agomedia: s5p-mfc: fix close sequence
Marek Szyprowski [Fri, 1 Jul 2016 07:04:31 +0000 (09:04 +0200)]
media: s5p-mfc: fix close sequence

Turn power off after disabling clocks.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: Ibd5df109f2664edea7a42fc797945bd31c11f1d2

8 years agodrm/exynos: dsi: fix pm_runtime_get() result check in dsi power on path
Marek Szyprowski [Wed, 27 Jul 2016 05:56:13 +0000 (07:56 +0200)]
drm/exynos: dsi: fix pm_runtime_get() result check in dsi power on path

pm_runtime_get_sync() might return -EACCES if it is called during system
global suspend/resume procedure. In such case the correctly increases
device usage count. Its return value should be ignored in such case.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: Ic4167e2618a037716846f42f91951808dfb42b80

8 years agoARM64: dts: exynos5433: fix clock for MSCL/JPEG devfreq control
Marek Szyprowski [Fri, 1 Jul 2016 10:49:37 +0000 (12:49 +0200)]
ARM64: dts: exynos5433: fix clock for MSCL/JPEG devfreq control

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: Ic1669e9657da1c601774b3bf366cc6036a77147c

8 years agoarm: dts: exynos542x: disable orphaned G2D SYSMMU controllers
Marek Szyprowski [Thu, 21 Jul 2016 13:14:56 +0000 (15:14 +0200)]
arm: dts: exynos542x: disable orphaned G2D SYSMMU controllers

Disable G2D SYSMMU controllers until support for G2D is really implemented
and G2D SYSMMU register access freeze issue is resolved.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I38542642d255313307d9ac6a836ffece4a402b2b

8 years agodrm/exynos/decon5433: just return if decon is disable in decon_commit()
Joonyoung Shim [Tue, 2 Aug 2016 05:40:24 +0000 (14:40 +0900)]
drm/exynos/decon5433: just return if decon is disable in decon_commit()

The decon_commit() can be called before decon is enabled if atomic
patches are applied at exynos drm, then it will cause kernel panic.
Already decon drm driver of mainline is considering this case.

Change-Id: I3f3b02ec71e7e928042561f1d35196fe5dfce643
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
8 years agokernel/panic.c: turn off locks debug before releasing console lock
Vitaly Kuznetsov [Fri, 20 Nov 2015 23:57:24 +0000 (15:57 -0800)]
kernel/panic.c: turn off locks debug before releasing console lock

Commit 08d78658f393 ("panic: release stale console lock to always get the
logbuf printed out") introduced an unwanted bad unlock balance report when
panic() is called directly and not from OOPS (e.g.  from out_of_memory()).
The difference is that in case of OOPS we disable locks debug in
oops_enter() and on direct panic call nobody does that.

Fixes: 08d78658f393 ("panic: release stale console lock to always get the logbuf printed out")
Reported-by: kernel test robot <ying.huang@linux.intel.com>
Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Cc: HATAYAMA Daisuke <d.hatayama@jp.fujitsu.com>
Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Cc: Jiri Kosina <jkosina@suse.cz>
Cc: Baoquan He <bhe@redhat.com>
Cc: Prarit Bhargava <prarit@redhat.com>
Cc: Xie XiuQi <xiexiuqi@huawei.com>
Cc: Seth Jennings <sjenning@redhat.com>
Cc: "K. Y. Srinivasan" <kys@microsoft.com>
Cc: Jan Kara <jack@suse.cz>
Cc: Petr Mladek <pmladek@suse.cz>
Cc: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
[jy0922.shim: apply from mainline for console lockup debugging of drm]
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Change-Id: Ia6a7ce2ee74a846363501db8fc5cdbec96216b33

8 years agopanic: release stale console lock to always get the logbuf printed out
Vitaly Kuznetsov [Sat, 7 Nov 2015 00:32:58 +0000 (16:32 -0800)]
panic: release stale console lock to always get the logbuf printed out

In some cases we may end up killing the CPU holding the console lock
while still having valuable data in logbuf. E.g. I'm observing the
following:

- A crash is happening on one CPU and console_unlock() is being called on
  some other.

- console_unlock() tries to print out the buffer before releasing the lock
  and on slow console it takes time.

- in the meanwhile crashing CPU does lots of printk()-s with valuable data
  (which go to the logbuf) and sends IPIs to all other CPUs.

- console_unlock() finishes printing previous chunk and enables interrupts
  before trying to print out the rest, the CPU catches the IPI and never
  releases console lock.

This is not the only possible case: in VT/fb subsystems we have many other
console_lock()/console_unlock() users.  Non-masked interrupts (or
receiving NMI in case of extreme slowness) will have the same result.
Getting the whole console buffer printed out on crash should be top
priority.

[akpm@linux-foundation.org: tweak comment text]
Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Cc: HATAYAMA Daisuke <d.hatayama@jp.fujitsu.com>
Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Cc: Jiri Kosina <jkosina@suse.cz>
Cc: Baoquan He <bhe@redhat.com>
Cc: Prarit Bhargava <prarit@redhat.com>
Cc: Xie XiuQi <xiexiuqi@huawei.com>
Cc: Seth Jennings <sjenning@redhat.com>
Cc: "K. Y. Srinivasan" <kys@microsoft.com>
Cc: Jan Kara <jack@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
[jy0922.shim: apply from mainline for console lockup debugging of drm]
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Change-Id: Ifc2b6cb5d15166145933eac3f5ca446f4a5ac90f

8 years agoregulator: max77686: fix gpio_enabled shift wrapping bug
Joe Perches [Mon, 18 May 2015 17:01:03 +0000 (10:01 -0700)]
regulator: max77686: fix gpio_enabled shift wrapping bug

commit c53403a37cf083ce85da720f18918f73580d0064 upstream.

The code should handle more than 32 bits here because "id"
can be a value up to MAX77686_REGULATORS (currently 34).

Convert the gpio_enabled type to DECLARE_BITMAP and use
test_bit/set_bit.

Fixes: 3307e9025d29 ("regulator: max77686: Add GPIO control")
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Joe Perches <joe@perches.com>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
[Backport from stable v4.1.y tree to remove UBSAN warning]
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Change-Id: I415ce1309e1b8e5272cd5c703f5a7e22890479bf

8 years agocpuidle: Do not access cpuidle_devices when !CONFIG_CPU_IDLE
Catalin Marinas [Wed, 1 Jun 2016 17:52:16 +0000 (18:52 +0100)]
cpuidle: Do not access cpuidle_devices when !CONFIG_CPU_IDLE

The cpuidle_devices per-CPU variable is only defined when CPU_IDLE is
enabled. Commit c8cc7d4de7a4 ("sched/idle: Reorganize the idle loop")
removed the #ifdef CONFIG_CPU_IDLE around cpuidle_idle_call() with the
compiler optimising away __this_cpu_read(cpuidle_devices). However, with
CONFIG_UBSAN && !CONFIG_CPU_IDLE, this optimisation no longer happens
and the kernel fails to link since cpuidle_devices is not defined.

This patch introduces an accessor function for the current CPU cpuidle
device (returning NULL when !CONFIG_CPU_IDLE) and uses it in
cpuidle_idle_call().

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Cc: 4.5+ <stable@vger.kernel.org> # 4.5+
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
[Backport from mainline to fix build error for CONFIG_UBSAN && ! CONFIG_CPU_IDLE]
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Change-Id: I447cd7f1076903bc036eb0e832d9cabba91099b7

8 years agoARM: defconfig: rinato: replace mali400 driver to r5p2 from r4p0
Joonyoung Shim [Thu, 28 Jul 2016 02:35:06 +0000 (11:35 +0900)]
ARM: defconfig: rinato: replace mali400 driver to r5p2 from r4p0

This patch replaces mali400 driver from r4p0 to r5p2 for rinato
to align with other boards with mali400.

Change-Id: I3f9cb30ccef2390d1df91e7bb2d9d17b4ce29d6e
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
8 years agoARM: dts: exynos3250: fix g3d nodes
Joonyoung Shim [Thu, 28 Jul 2016 02:00:39 +0000 (11:00 +0900)]
ARM: dts: exynos3250: fix g3d nodes

This fixes order of reg resources. First has to be resource that has
lowest address because mali400 r5p2 version requires it.

This also adds interrupt-names for g3d nodes. The interrupt-names needs
at mali400 r5p2 version.

Change-Id: I84a31ff3691ffea084b5f3f0abbcf998ea0a8371
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
8 years agodrm/exynos: fix build warnings
Joonyoung Shim [Thu, 28 Jul 2016 02:32:10 +0000 (11:32 +0900)]
drm/exynos: fix build warnings

The commit fe6367c905b6 ("drm/exynos/mixer: enable HDMI-PHY before
configuring MIXER") causes many build warnings like below:

In file included from drivers/gpu/drm/exynos/exynos_drm_drv.c:23:0:
drivers/gpu/drm/exynos/exynos_drm_drv.h:320:13: warning: 'exynos_hdmiphy_enable' defined but not used [-Wunused-function]
 static void exynos_hdmiphy_enable(struct exynos_drm_crtc *crtc) {}
             ^
...

Make to inline function exynos_hdmiphy_enable to avoid build warnings.

Change-Id: Ic3e66cafb8283198143a0534d5b59727c66636be
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
8 years agoARM: defconfig: rinato: sync defconfig file for rinato to v4.1 tree
Jaehoon Chung [Wed, 27 Jul 2016 01:13:53 +0000 (10:13 +0900)]
ARM: defconfig: rinato: sync defconfig file for rinato to v4.1 tree

This patch updates the defconfig file for rinato to sync with v4.1
tree.

Change-Id: Ib1abd29eb6f1a1c23df44d273de1d1d963370143
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
8 years agoARM: defconfig: trats2: replace mali400 driver to r5p2 from r4p0
Seung-Woo Kim [Wed, 27 Jul 2016 10:33:59 +0000 (19:33 +0900)]
ARM: defconfig: trats2: replace mali400 driver to r5p2 from r4p0

This patch replaces mali400 driver from r4p0 to r5p2 for trats2
to align with other boards with mali400.

Change-Id: I52d4d85a75d1a399dda3439d5ac6c189b863a48f
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
8 years agoARM: defconfig: trats2: disable CONFIG_MMC_CLKGATE
Jaehoon Chung [Wed, 27 Jul 2016 01:12:09 +0000 (10:12 +0900)]
ARM: defconfig: trats2: disable CONFIG_MMC_CLKGATE

This patch disables CONFIG_MMC_CLKGATE to remove spamming mmc log
message about setting  mmc clock.

Change-Id: I1f3071f3e9da6c5d213e48fcb731595ff7b29679
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
8 years agoARM: defconfig: trats2: sync defconfig file for v4.1 tree
Jaehoon Chung [Wed, 27 Jul 2016 01:12:09 +0000 (10:12 +0900)]
ARM: defconfig: trats2: sync defconfig file for v4.1 tree

This patch updates the defconfig file for trats2 to sync with v4.1
tree.

Change-Id: Ib9682a36e721a881256ce52caa94a916a91d8403
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
8 years agoARM: mali400: r4p0_rel0: fix build errors
Joonyoung Shim [Thu, 28 Jul 2016 00:58:10 +0000 (09:58 +0900)]
ARM: mali400: r4p0_rel0: fix build errors

Now occurs below build errors with -Werror=date-time. Remove code using
__DATE__ and __TIME__ to fix build errors.

drivers/gpu/arm/mali400/r4p0_rel0/linux/mali_kernel_linux.c: In function 'mali_module_init':
drivers/gpu/arm/mali400/r4p0_rel0/linux/mali_kernel_linux.c:338:71: error: macro "__DATE__" might prevent reproducible builds [-Werror=date-time]
  MALI_DEBUG_PRINT(2, ("Compiled: %s, time: %s.\n", __DATE__, __TIME__));
                                                                       ^
drivers/gpu/arm/mali400/r4p0_rel0/linux/mali_kernel_linux.c:338:1: error: macro "__TIME__" might prevent reproducible builds [-Werror=date-time]
  MALI_DEBUG_PRINT(2, ("Compiled: %s, time: %s.\n", __DATE__, __TIME__));

Change-Id: I3cb0d55619afdffee618b2ae84c9b5c600aae196
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
8 years agoASoC: ymu831: remove IRQF_DISABLED
Seung-Woo Kim [Wed, 27 Jul 2016 08:38:10 +0000 (17:38 +0900)]
ASoC: ymu831: remove IRQF_DISABLED

After mainline commit "d8bf368 genirq: Remove the deprecated
'IRQF_DISABLED' request_irq() flag entirely", IRQF_DISABLED is
removed. The flags is deprecated in early kernel, so it can
be replaced with 0x0 like other drivers.

This patch fixes following build error:
   sound/soc/codecs/ymu831/ymu831.c: In function 'init_irq':
   sound/soc/codecs/ymu831/ymu831.c:8525:54: error: 'IRQF_DISABLED' undeclared (first use in this    function)
     err = request_irq(mc_asoc->pdata->irq, irq_handler, IRQF_DISABLED,
                                                         ^

Change-Id: Id06d964fbe2a62f8c9c642d13479782b9663e7cc
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
8 years agoASoC: ymu831: replace snd_soc_jack_new() to snd_soc_card_jack_new()
Seung-Woo Kim [Wed, 27 Jul 2016 08:16:22 +0000 (17:16 +0900)]
ASoC: ymu831: replace snd_soc_jack_new() to snd_soc_card_jack_new()

After mainline commit "77c7176 ASoC: Remove snd_soc_jack_new()",
snd_soc_jack_new() should be replaced with snd_soc_card_jack_new().

This patch fixes following build error:
   sound/soc/codecs/ymu831/ymu831.c:8525:54: note: each undeclared identifier is reported only once for each function it appears in
   sound/soc/codecs/ymu831/ymu831.c: In function 'mc_asoc_probe':
   sound/soc/codecs/ymu831/ymu831.c:8787:2: error: implicit declaration of function 'snd_soc_jack_new' [-Werror=implicit-function-declaration]
     snd_soc_jack_new(codec, "Headset",
     ^

Change-Id: Ic043abca5a0dc55eacaf60830b760b95d06551cf
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
8 years agodrm/exynos: modify primary plane index of decon of exynos5433
Joonyoung Shim [Tue, 8 Mar 2016 07:29:43 +0000 (16:29 +0900)]
drm/exynos: modify primary plane index of decon of exynos5433

Make primary plane index to 1 instead of 0 because plane for video
playing should be below primary plane.

Change-Id: I4bb0c472cb65173cd07ea64582c88e00d1d444bf
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
8 years agodrm/exynos: unregister unused plane of exynos5433 decon-tv
Joonyoung Shim [Tue, 26 Jul 2016 02:04:47 +0000 (11:04 +0900)]
drm/exynos: unregister unused plane of exynos5433 decon-tv

The window 0 of exynos5433 decon-tv is unused in driver so it doesn't
need to register as plane. We can do this as consider first_win value of
driver data.

Change-Id: I5f68cb2055c78743ca24247f5e47a1532fb7b532
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
8 years agodrm/exynos: enable zpos property on primary plane
Joonyoung Shim [Thu, 10 Mar 2016 05:47:47 +0000 (14:47 +0900)]
drm/exynos: enable zpos property on primary plane

Now zpos property is immutable, so it's no problem to permit zpos
property on primary plane.

Change-Id: I1996a826e93c969adadb681e91e813f091b606b9
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
8 years agodrm/exynos: Properly report supported formats for each device
Marek Szyprowski [Sun, 30 Aug 2015 15:53:57 +0000 (00:53 +0900)]
drm/exynos: Properly report supported formats for each device

Exynos DRM reported that all planes for all supported sub-devices supports
only three pixel formats: XRGB24, ARGB24 and NV12. This patch lets each
Exynos DRM sub-drivers to provide the list of supported pixel formats
and registers this list to DRM core.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
[jy0922.shim: backported from original mainline commit]
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Change-Id: I7f486b9f2d776a8fdd8cb0c758100eba8de31ef6

8 years agodrm/exynos/hdmi: apply configuration in case of power cycling
Andrzej Hajda [Tue, 26 Jul 2016 09:03:26 +0000 (11:03 +0200)]
drm/exynos/hdmi: apply configuration in case of power cycling

When power is turned off and on, modesetting is not performed,
but HDMI registers should be set.
The patch fixes issues with black screen on Odroid (X)U3 during
console blank/unblank.

Change-Id: I95d9098969793d38986237234b95e11a7027052f
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agodrm/exynos/mixer: enable HDMI-PHY before configuring MIXER
Andrzej Hajda [Tue, 26 Jul 2016 08:45:55 +0000 (10:45 +0200)]
drm/exynos/mixer: enable HDMI-PHY before configuring MIXER

Mixer similarly to DECON-TV requires enabled clock generated
by HDMI-PHY to proper work.
The patch fixes hang on Odroid (X)U3 during console blank/unblank.

Change-Id: I9fa14fe02e54d2981fa06b43654f9616cd7074a8
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agopackaging: add baselibs.conf
Chan Lee [Thu, 9 Jun 2016 08:05:07 +0000 (17:05 +0900)]
packaging: add baselibs.conf

this config file is for creating bi-arch rpms of armv7l

Change-Id: Ifc9d1e31fbfa8376b0d6bffd8d1700e06d0a1c17
Signed-off-by: Chan Lee <chan45.lee@samsung.com>
8 years agoARM64: tizen_tm2_defconfig: disable rtc-s3c config
Joonyoung Shim [Fri, 22 Jul 2016 06:57:55 +0000 (15:57 +0900)]
ARM64: tizen_tm2_defconfig: disable rtc-s3c config

Currently there is booting issue of tizen 3.0 mobile 32bit platform with
PID1 getting stuck printing "systemd[1]: Time has been changed"
continuously. [1][2]

This problem is related with rtc-s3c and now rtc-s3c is reporting time
values over 2038 years like below:

[    5.124065] s3c-rtc 10590000.rtc: setting system clock to 2140-10-02 10:52:03 UTC (5388461523)

Android MM N910S kernel uses only pmic rtc, not rtc-s3c so i think it's
better to disable rtc-s3c.

[1] https://github.com/systemd/systemd/issues/1143
[2] https://patchwork.ozlabs.org/patch/585661

Change-Id: Idc580c2494aa309607dd835ca39411236f3366e6
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
8 years agoclk: exynos542x: add IGNORE_UNUSED flag to aclk432_scaler clock
Marek Szyprowski [Mon, 18 Jul 2016 11:53:52 +0000 (13:53 +0200)]
clk: exynos542x: add IGNORE_UNUSED flag to aclk432_scaler clock

This keeping this clock enabled is needed for proper GSCL power domain
on/off sequence, so add this flag to avoid core disabling it on boot.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I8b2e39c3a76fd194104eb21066d33b2f0a5a8289

8 years agodts: tm2/tm2e: remove te-gpios property from panel node
Andrzej Hajda [Mon, 4 Jul 2016 06:13:49 +0000 (08:13 +0200)]
dts: tm2/tm2e: remove te-gpios property from panel node

Since DECON uses HW-TRIGGER it does not need TE interrupt. Exynos-DSI driver
will not register this interrupt if the property is not present.

Change-Id: I15097fed7cdcdabf8f825c3b170eb625966fcacc
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agodrm/exynos/dsi: make te-gpios optional
Andrzej Hajda [Fri, 1 Jul 2016 13:57:41 +0000 (15:57 +0200)]
drm/exynos/dsi: make te-gpios optional

In case of HW-TRIGGER te-gpios interrupt is not necessary. With this
patch we can get rid of 60 interrupt callbacks per second.

Change-Id: Ifbe6b55eefe41e5de63e0be58c7c34054d8e73be
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agodrm/exynos/decon5433: merge interrupt handlers
Andrzej Hajda [Wed, 6 Jul 2016 06:13:12 +0000 (08:13 +0200)]
drm/exynos/decon5433: merge interrupt handlers

Both interrupt handlers do almost the same things, merging will simplify
the code.

Change-Id: I53fc1fbc0fa4ca00fdb5aa266b959427bd7f1f2a
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agodrm/exynos/decon5433: handle vblank in vblank interrupt
Andrzej Hajda [Wed, 29 Jun 2016 08:00:02 +0000 (10:00 +0200)]
drm/exynos/decon5433: handle vblank in vblank interrupt

vblank should be signaled to userspace as soon as possible after sending
frame. INTFRMDONEPEND irq looks to be the best moment.
Handling it in TE interrupt looks wrong - TE triggers reading framebuffers
so it is the worst moment, it could result in delayed frame update.
Other benefit of moving vblank handiling to vblank interrupt is possibility
to eliminate TE irq handler in case of HWTRIGGER.

Change-Id: I1f9b1830c3328a935d05fc9d859c9baf4df33533
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agobuild: remove dtb files for ARM64 exynos
Joonyoung Shim [Thu, 7 Jul 2016 01:07:52 +0000 (10:07 +0900)]
build: remove dtb files for ARM64 exynos

Remove existing dtb files before building because old dtb files can be
included in kernel image.

Change-Id: I28847ad01cbf38e458e093c1c912eecc1f066560
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
8 years agoARM: tizen_odroid_defconfig: enable sync config
Joonyoung Shim [Thu, 7 Jul 2016 05:20:18 +0000 (14:20 +0900)]
ARM: tizen_odroid_defconfig: enable sync config

The android sync config is enabled by request of window part because of
vulkan support.

Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
8 years agoARM64: tizen_tm2_defconfig: enable sync config
Joonyoung Shim [Wed, 29 Jun 2016 02:38:33 +0000 (11:38 +0900)]
ARM64: tizen_tm2_defconfig: enable sync config

The android sync config is enabled by request of window part because of
vulkan support.

Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
8 years agoARM: tizen_odroid_defconfig: enable mali400 r5p2_rel0
Joonyoung Shim [Tue, 24 May 2016 02:03:21 +0000 (11:03 +0900)]
ARM: tizen_odroid_defconfig: enable mali400 r5p2_rel0

Enable mali400 r5p2_rel0 instead of r4p0_rel0.

Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
8 years agoARM: tizen_odroid_defconfig: enable mali midgard r12p0_04rel0
Joonyoung Shim [Mon, 23 May 2016 08:38:54 +0000 (17:38 +0900)]
ARM: tizen_odroid_defconfig: enable mali midgard r12p0_04rel0

We will use mali midgard r12p0_04rel0 instead of r5p0_06rel0.

Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
8 years agoARM64: tizen_tm2_defconfig: enable mali midgard r12p0_04rel0
Joonyoung Shim [Mon, 23 May 2016 09:02:15 +0000 (18:02 +0900)]
ARM64: tizen_tm2_defconfig: enable mali midgard r12p0_04rel0

We will use mali midgard r12p0_04rel0 instead of r5p0_06rel0.

Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
8 years agoARM: mali400: r5p2_rel0: use get_unused_fd_flags(O_CLOEXEC) instead of get_unused_fd()
Joonyoung Shim [Thu, 7 Jul 2016 05:02:21 +0000 (14:02 +0900)]
ARM: mali400: r5p2_rel0: use get_unused_fd_flags(O_CLOEXEC) instead of get_unused_fd()

get_unused_fd() was changed to get_unused_fd_flags() by the commit
1a7bd2265fc5 ("make get_unused_fd_flags() a function"), so it causes
build error,

drivers/gpu/arm/mali400/r5p2_rel0/linux/mali_sync.c: In function 'mali_sync_fence_fd_alloc':
drivers/gpu/arm/mali400/r5p2_rel0/linux/mali_sync.c:235:2: error: implicit declaration of function 'get_unused_fd' [-Werror=implicit-function-declaration]
  fd = get_unused_fd();
  ^

This patch was refered from the commit 45acea57335e ("android/sw_sync:
use get_unused_fd_flags(O_CLOEXEC) instead of get_unused_fd()")

Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
8 years agoARM: mali400: r5p2_rel0: replace CONFIG_PM_RUNTIME to CONFIG_PM
Seung-Woo Kim [Mon, 23 May 2016 08:23:22 +0000 (17:23 +0900)]
ARM: mali400: r5p2_rel0: replace CONFIG_PM_RUNTIME to CONFIG_PM

After commit 464ed18ebdb6 ("PM: Eliminate CONFIG_PM_RUNTIME") which
is applied kernel version 3.19, PM_RUNTIME is eliminated. So this
patch replaces CONFIG_PM_RUNTIME to CONFIG_PM for kernel version
larger than 3.19.

Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
[jy0922.shim: apply to mali400 r5p2_rel0 with some modification]
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
8 years agoARM: mali400: r5p2_rel0: fix build error
Joonyoung Shim [Mon, 23 May 2016 06:35:41 +0000 (15:35 +0900)]
ARM: mali400: r5p2_rel0: fix build error

Include pm_runtime.h to fix below build error when CONFIG_PM_RUNTIME is
disabled.

drivers/gpu/arm/mali400/r5p2_rel0/linux/mali_kernel_linux.c: In function ‘mali_driver_suspend_scheduler’:
drivers/gpu/arm/mali400/r5p2_rel0/linux/mali_kernel_linux.c:595:2: error: implicit declaration of function ‘pm_runtime_active’ [-Werror=implicit-function-declaration]
  if (pm_runtime_active(dev))
  ^

Change-Id: Ic613dd9785a9d563e50361328944bd23d33fd70c
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
8 years agoARM: mali400: fix building out of tree
Joonyoung Shim [Tue, 24 May 2016 09:21:06 +0000 (18:21 +0900)]
ARM: mali400: fix building out of tree

s/$(src)/$(srctree)\/$(src)/

$(srctree) has absolute path of kernel root directory, so with this
commit, building problem by relative path will be gone from outside of
kernel tree.

Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
8 years agoARM: mali400: r5p2_rel0: add GLES mem profiler feature
YoungJun Cho [Tue, 21 Jul 2015 04:19:27 +0000 (13:19 +0900)]
ARM: mali400: r5p2_rel0: add GLES mem profiler feature

This patch adds GLES mem profiler feature.

You could use it by "cat /sys/kernel/debug/mali/gles_mem/<PID>".
Without user-DDK's MALI_IOC_MEM_PROFILE_GLES_MEM, it only show layout.

With this ioctl, you could check current GLES relevant memory status
in opened session and also check memory leakage in trash subdirectory.

The mechanism of detecting memory leakage is checking information when
the session is closed. So the user misses to free (GLES)memory during
session, it(the PID) could be found in trash.

Caution! When app is killed and the session is forcely shut down, then
it(the PID) could be found in trash but we can not guarantee there is a
real memory leakage. That is because like this case, it is impossible
to call MALI_IOC_MEM_PROFILE_GLES_MEM to remove allocated memory.

Change-Id: I78a08f7b53594dc20f8cc6f4c892250fdc9e8208
Signed-off-by: YoungJun Cho <yj44.cho@samsung.com>
[jy0922.shim: applied to r5p2_rel0 from r5p0_rel0]
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
8 years agoARM: mali400: r5p2_rel0: delete proprietary word in Kbuild
YoungJun Cho [Thu, 2 Jul 2015 10:44:49 +0000 (19:44 +0900)]
ARM: mali400: r5p2_rel0: delete proprietary word in Kbuild

This is to guid for non-gpl case, not related with license,
but Tango detects it because it simply compares string.

Change-Id: Iad42e139fd5d040b3242f1e7358720ef24343570
Signed-off-by: YoungJun Cho <yj44.cho@samsung.com>
[jy0922.shim: applied to r5p2_rel0 from r5p0_rel0]
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
8 years agoARM: mali400: r5p2_rel0: fix of_match_table
Joonyoung Shim [Mon, 23 May 2016 10:20:09 +0000 (19:20 +0900)]
ARM: mali400: r5p2_rel0: fix of_match_table

The exynos platform of this kernel has exynos specific of_match_table,
so use mali_of_matches of exynos instead of base_dt_ids of mali.

Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
8 years agoARM: mali400: r5p2_rel0: fix for exynos
Joonyoung Shim [Mon, 23 May 2016 07:51:52 +0000 (16:51 +0900)]
ARM: mali400: r5p2_rel0: fix for exynos

The exynos platform codes have to be modified a bit to apply
r5p2_rel0. If not, will occurs build errors.

  CC      drivers/gpu/arm/mali400/r5p2_rel0/linux/mali_kernel_linux.o
drivers/gpu/arm/mali400/r5p2_rel0/linux/mali_kernel_linux.c:190:13: error: conflicting types for ‘mali_platform_power_mode_change’
 extern void mali_platform_power_mode_change(int power_mode);
...
drivers/gpu/arm/mali400/r5p2_rel0/platform/exynos/exynos.c:246:2: error: unknown field ‘utilization_interval’ specified in initializer
  .utilization_interval = 100, /* 100ms in Tizen */
  ^
...
drivers/built-in.o: In function `mali_remove':
/home/pub/git/spin/linux-exynos/drivers/gpu/arm/mali400/r5p2_rel0/linux/mali_kernel_linux.c:561: undefined reference to `mali_platform_device_deinit'
drivers/built-in.o: In function `mali_probe':
/home/pub/git/spin/linux-exynos/drivers/gpu/arm/mali400/r5p2_rel0/linux/mali_kernel_linux.c:515: undefined reference to `mali_platform_device_init'
drivers/built-in.o: In function `mali_hw_core_register_read':
/home/pub/git/spin/linux-exynos/drivers/gpu/arm/mali400/r5p2_rel0/common/mali_hw_core.h:52: undefined reference to `mali_is_on'
drivers/built-in.o: In function `mali_hw_core_register_write':
/home/pub/git/spin/linux-exynos/drivers/gpu/arm/mali400/r5p2_rel0/common/mali_hw_core.h:98: undefined reference to `mali_is_on'
drivers/built-in.o: In function `mali_hw_core_register_read':
/home/pub/git/spin/linux-exynos/drivers/gpu/arm/mali400/r5p2_rel0/common/mali_hw_core.h:52: undefined reference to `mali_is_on'
/home/pub/git/spin/linux-exynos/drivers/gpu/arm/mali400/r5p2_rel0/common/mali_hw_core.h:52: undefined reference to `mali_is_on'
drivers/built-in.o: In function `mali_hw_core_register_write':
/home/pub/git/spin/linux-exynos/drivers/gpu/arm/mali400/r5p2_rel0/common/mali_hw_core.h:98: undefined reference to `mali_is_on'
drivers/built-in.o:/home/pub/git/spin/linux-exynos/drivers/gpu/arm/mali400/r5p2_rel0/common/mali_hw_core.h:52: more undefined references to `mali_is_on' follow

Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
8 years agoARM: mali400: r5p2_rel0: add exynos platform codes
Joonyoung Shim [Mon, 23 May 2016 06:09:33 +0000 (15:09 +0900)]
ARM: mali400: r5p2_rel0: add exynos platform codes

This comes from r4p0_rel0.

Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
8 years agoARM: mali400: r5p2_rel0: sync codes for TM1 from r5p0_rel0
Joonyoung Shim [Tue, 10 May 2016 07:18:10 +0000 (16:18 +0900)]
ARM: mali400: r5p2_rel0: sync codes for TM1 from r5p0_rel0

Spectrum added some codes on r5p0_rel0 public, so do it on r5p2_rel0.
But except some codes related with below defines

SPRD_MEM_OPT_PAGE_TABLE_SHRINK
MALI_IOC_MEM_INIT
MALI_IOC_MEM_TERM

because we cannot add them by changed codes from r5p2_rel0.

Change-Id: I1423e7ce5181d4f1a08f3fbd01f9d426290eff29
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
8 years agoARM: mali400: r5p2_rel0: fix Makefile & Kconfig
Joonyoung Shim [Tue, 10 May 2016 05:59:10 +0000 (14:59 +0900)]
ARM: mali400: r5p2_rel0: fix Makefile & Kconfig

For building of r5p2_rel0.

Change-Id: I23c3144d886b9cbfe6061650ab16d180eb74e94c
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
8 years agoARM: mali400: r5p2_rel0: add public codes from ARM
Joonyoung Shim [Tue, 10 May 2016 05:57:26 +0000 (14:57 +0900)]
ARM: mali400: r5p2_rel0: add public codes from ARM

This comes from DX910-SW-99002-r5p2-00rel0.tgz of ARM web site.

Change-Id: I8d556f4abba5497679068eec6540a1d7716f6ebb
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
8 years agoARM: mali400: r4p0_rel0: fix to rearrange resources
Joonyoung Shim [Tue, 24 May 2016 04:44:09 +0000 (13:44 +0900)]
ARM: mali400: r4p0_rel0: fix to rearrange resources

Above commit ("ARM: dts: exynos4x12: fix g3d nodes") changes order of
reg resources, so need to fix codes to rearrange resources.

Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
8 years agoARM: dts: exynos4x12: fix g3d nodes
Joonyoung Shim [Tue, 24 May 2016 02:57:22 +0000 (11:57 +0900)]
ARM: dts: exynos4x12: fix g3d nodes

This fixes order of reg resources. First has to be resource that has
lowest address because mali400 r5p2 version requires it.

This also adds interrupt-names for g3d nodes. The interrupt-names needs
at mali400 r5p2 version.

Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
8 years agoARM: dts: exynos5422-odroidxu3-common: Add mali regulator supply
Joonyoung Shim [Mon, 23 May 2016 05:39:48 +0000 (14:39 +0900)]
ARM: dts: exynos5422-odroidxu3-common: Add mali regulator supply

mali-supply is used for devfreq voltage supply control.

Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
8 years agoARM64: dts: exynos5433: Add power_nodel node for mali midgard
Sylwester Nawrocki [Fri, 18 Mar 2016 15:21:29 +0000 (16:21 +0100)]
ARM64: dts: exynos5433: Add power_nodel node for mali midgard

Property values taken from example for Mali-T602 from
Documentation/devicetree/bindings/arm/mali-midgard.txt.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
8 years agoARM64: dts: exynos5433-tm2e: Add mali regulator supply
Joonyoung Shim [Fri, 20 May 2016 06:04:40 +0000 (15:04 +0900)]
ARM64: dts: exynos5433-tm2e: Add mali regulator supply

mali-supply is used for devfreq voltage supply control.

Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
8 years agoARM64: dts: exynos5433-tm2: Add mali regulator supply
Sylwester Nawrocki [Wed, 16 Mar 2016 18:16:43 +0000 (19:16 +0100)]
ARM64: dts: exynos5433-tm2: Add mali regulator supply

mali-supply is used for devfreq voltage supply control.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
[jy0922.shim: apply to dts of tm2]
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
8 years agoDocumentation: Add devicetree bindings documentation for Mali Midgard
Sylwester Nawrocki [Fri, 18 Mar 2016 15:23:45 +0000 (16:23 +0100)]
Documentation: Add devicetree bindings documentation for Mali Midgard

Extracted from TX011-BU-00001-r10p0-00rel0.tgz downloaded from
malideveloper.arm.com.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
8 years agogpu: arm: midgard: r12p0_04rel0: add exynos5422 platform files
Joonyoung Shim [Mon, 23 May 2016 05:37:02 +0000 (14:37 +0900)]
gpu: arm: midgard: r12p0_04rel0: add exynos5422 platform files

This is based on exynos5433 platform files.

Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
8 years agogpu: arm: midgard: r12p0_04rel0: Fix incorrect IS_ERR_OR_NULL() usage
Sylwester Nawrocki [Thu, 17 Mar 2016 16:00:41 +0000 (17:00 +0100)]
gpu: arm: midgard: r12p0_04rel0: Fix incorrect IS_ERR_OR_NULL() usage

The corresponding function return ERR_PTR() values which
should be tested with IS_ERR(), not IS_ERR_OR_NULL() macro.
Especially it is not correct to do:

 if(IS_ERR_OR_NULL(value))
error = PTR_ERR(value);

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
[jy0922.shim: apply to midgard r12p0_04rel0 except r5p0_06rel0 part]
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
8 years agogpu: arm: midgard: r12p0_04rel0: Add custom simple_ondemand devfreq governor data
Sylwester Nawrocki [Wed, 16 Mar 2016 18:20:58 +0000 (19:20 +0100)]
gpu: arm: midgard: r12p0_04rel0: Add custom simple_ondemand devfreq governor data

Need custom upthreshold and downdifferential for mali devfreq.

Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
[jy0922.shim: apply to midgard r12p0_04rel0]

8 years agogpu: arm: midgard: r12p0_04rel0: Restore frequency/voltage values on error paths...
Sylwester Nawrocki [Wed, 16 Mar 2016 18:20:16 +0000 (19:20 +0100)]
gpu: arm: midgard: r12p0_04rel0: Restore frequency/voltage values on error paths in kbase_devfreq_target()

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
[jy0922.shim: apply to midgard r12p0_04rel0]
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
8 years agogpu: arm: midgard: r12p0_04rel0: add regulator enable/disable calls
Sylwester Nawrocki [Thu, 17 Mar 2016 11:02:01 +0000 (12:02 +0100)]
gpu: arm: midgard: r12p0_04rel0: add regulator enable/disable calls

Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
[jy0922.shim: apply to midgard r12p0_04rel0 with some modification]

8 years agogpu: arm: midgard: r12p0_04rel0: Workaround for missing last_status field
Sylwester Nawrocki [Wed, 16 Mar 2016 16:58:55 +0000 (17:58 +0100)]
gpu: arm: midgard: r12p0_04rel0: Workaround for missing last_status field

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
[jy0922.shim: apply to midgard r12p0_04rel0]
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
8 years agogpu: arm: midgard: r12p0_04rel0: Fix 'struct devfreq_cooling_ops' related compilation...
Sylwester Nawrocki [Tue, 15 Mar 2016 15:18:56 +0000 (16:18 +0100)]
gpu: arm: midgard: r12p0_04rel0: Fix 'struct devfreq_cooling_ops' related compilation break

There is no 'struct devfreq_cooling_ops' in current kernel tree
and 'struct devfreq_cooling_power' seems to be an equivalent of it.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
[jy0922.shim: apply to midgard r12p0_04rel0]
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
8 years agogpu: arm: midgard: r12p0_04rel0: Fix build warning about devfreq cooling device
Chanwoo Choi [Tue, 14 Jul 2015 09:53:42 +0000 (18:53 +0900)]
gpu: arm: midgard: r12p0_04rel0: Fix build warning about devfreq cooling device

This patch fixes the build warning according to new devfreq_cooling device
driver and make the frequency table as descending order.

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
[jy0922.shim: apply to midgard r12p0_04rel0]
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
8 years agogpu: arm: midgard: r12p0_04rel0: change temperature var type to int in model_static_p...
Sylwester Nawrocki [Wed, 16 Mar 2016 16:36:13 +0000 (17:36 +0100)]
gpu: arm: midgard: r12p0_04rel0: change temperature var type to int in model_static_power()

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
[jy0922.shim: apply to midgard r12p0_04rel0]
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
8 years agogpu: arm: midgard: r12p0_04rel0: add exynos5433 platform files
Joonyoung Shim [Thu, 19 May 2016 09:44:30 +0000 (18:44 +0900)]
gpu: arm: midgard: r12p0_04rel0: add exynos5433 platform files

We should check more clock and regulator for DVFS.

Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
[jy0922.shim: apply to midgard r12p0_04rel0 with removing some codes]