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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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
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>
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>
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>
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>
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
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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]
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>
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]
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>
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>
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>
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>
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]
Joonyoung Shim [Thu, 19 May 2016 08:16:03 +0000 (17:16 +0900)]
gpu: arm: midgard: remove choice in Kconfig of r12p0_04rel0
The choice of each mali version causes Kconfig errors like below,
$ make ARCH=arm64 menuconfig
scripts/kconfig/mconf Kconfig
drivers/gpu/arm/midgard/r12p0_04rel0/Kconfig:126:warning: choice value used outside its choice group
drivers/gpu/arm/midgard/r12p0_04rel0/Kconfig:129:warning: choice value used outside its choice group
drivers/gpu/arm/midgard/r12p0_04rel0/Kconfig:132:warning: choice value used outside its choice group
drivers/gpu/arm/midgard/r12p0_04rel0/Kconfig:135:warning: choice value used outside its choice group
drivers/gpu/arm/midgard/r12p0_04rel0/Kconfig:137:warning: choice value used outside its choice group
Also remove configs for unused platform.
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Joonyoung Shim [Thu, 7 Jul 2016 00:19:58 +0000 (09:19 +0900)]
gpu: arm: midgard: support Kconfig for r12p0_04rel0
So, we can select mali midgard r12p0_04rel0 from Kconfig of midgard.
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Joonyoung Shim [Wed, 6 Jul 2016 08:33:48 +0000 (17:33 +0900)]
gpu: arm: midgard: add r12p0_04rel0 sources
This is mali midgard r12p0_04rel0 version from ARM.
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Joonyoung Shim [Thu, 19 May 2016 08:16:21 +0000 (17:16 +0900)]
gpu: arm: midgard: remove choice in Kconfig of r5p0_06rel0
The choice of each mali version causes Kconfig errors like below,
$ make ARCH=arm64 menuconfig
scripts/kconfig/mconf Kconfig
drivers/gpu/arm/midgard/r12p0_02dev0/Kconfig:126:warning: choice value used outside its choice group
drivers/gpu/arm/midgard/r12p0_02dev0/Kconfig:129:warning: choice value used outside its choice group
drivers/gpu/arm/midgard/r12p0_02dev0/Kconfig:132:warning: choice value used outside its choice group
drivers/gpu/arm/midgard/r12p0_02dev0/Kconfig:135:warning: choice value used outside its choice group
drivers/gpu/arm/midgard/r12p0_02dev0/Kconfig:137:warning: choice value used outside its choice group
Also remove configs for unused platform.
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Joonyoung Shim [Thu, 19 May 2016 02:32:40 +0000 (11:32 +0900)]
gpu: arm: midgard: fix Kconfig for multiple driver
This will make Kconfig of midgard can select mali midgard version to
use.
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Joonyoung Shim [Thu, 7 Jul 2016 06:30:33 +0000 (15:30 +0900)]
arm64: tizen_tm2_defconfig: fix mali directory path for gator
The mali midgard path was changed to drivers/gpu/arm/midgard/r5p0_06rel0
from drivers/gpu/arm/midgard, so should fix mali path for gator in
defconfig.
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Joonyoung Shim [Thu, 19 May 2016 02:16:21 +0000 (11:16 +0900)]
gpu: arm: midgard: move to r5p0_06rel0
This is initial work to support multiple midgard driver in midgard
directory.
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Dan Carpenter [Wed, 4 Nov 2015 13:36:20 +0000 (16:36 +0300)]
devfreq_cooling: return on allocation failure
If the allocation fails then we can't continue.
Fixes:
a76caf55e5b3 ('thermal: Add devfreq cooling')
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
[jy0922.shim: apply mainline patch]
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Javi Merino [Mon, 2 Nov 2015 19:03:04 +0000 (19:03 +0000)]
thermal: devfreq_cooling: Make power a u64
The prototype of do_div() is:
uint32_t do_div(uint64_t *n, uint32_t base);
Make power u64 to avoid the following warning:
drivers/thermal/devfreq_cooling.c: In function 'get_dynamic_power':
drivers/thermal/devfreq_cooling.c:267:2: warning: comparison of distinct pointer types lacks a cast [enabled by default]
drivers/thermal/devfreq_cooling.c:267:2: warning: right shift count >= width of type [enabled by default]
drivers/thermal/devfreq_cooling.c:267:2: warning: passing argument 1 of '__div64_32' from incompatible pointer type [enabled by default]
include/asm-generic/div64.h:35:17: note: expected 'uint64_t *' but argument is of type 'long unsigned int *'
Reported-by: kbuild test robot <fengguang.wu@intel.com>
Cc: Eduardo Valentin <edubezval@gmail.com>
Cc: Zhang Rui <rui.zhang@intel.com>
Signed-off-by: Javi Merino <javi.merino@arm.com>
Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
[jy0922.shim: apply mainline patch]
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Javi Merino [Mon, 2 Nov 2015 19:03:03 +0000 (19:03 +0000)]
thermal: devfreq_cooling: use a thermal_cooling_device for register and unregister
Be consistent with what other cooling devices do and return a struct
thermal_cooling_device * on register. Also, for the unregister, accept
a struct thermal_cooling_device * as parameter.
Cc: Zhang Rui <rui.zhang@intel.com>
Cc: Eduardo Valentin <edubezval@gmail.com>
Signed-off-by: Javi Merino <javi.merino@arm.com>
Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
[jy0922.shim: apply mainline patch]
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Javi Merino [Thu, 10 Sep 2015 17:09:31 +0000 (18:09 +0100)]
devfreq_cooling: add trace information
Tracing is useful for debugging and performance tuning. Add similar
traces to what's present in the cpu cooling device.
Cc: Zhang Rui <rui.zhang@intel.com>
Cc: Eduardo Valentin <edubezval@gmail.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Ingo Molnar <mingo@redhat.com>
Signed-off-by: Javi Merino <javi.merino@arm.com>
Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
[jy0922.shim: apply from mainline with fixup of fuzz]
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Ørjan Eide [Thu, 10 Sep 2015 17:09:30 +0000 (18:09 +0100)]
thermal: Add devfreq cooling
Add a generic thermal cooling device for devfreq, that is similar to
cpu_cooling.
The device must use devfreq. In order to use the power extension of the
cooling device, it must have registered its OPPs using the OPP library.
Cc: Zhang Rui <rui.zhang@intel.com>
Cc: Eduardo Valentin <edubezval@gmail.com>
Signed-off-by: Javi Merino <javi.merino@arm.com>
Signed-off-by: Ørjan Eide <orjan.eide@arm.com>
Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
[jy0922.shim: apply from mainline with fixup of fuzz]
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Joonyoung Shim [Thu, 19 May 2016 10:04:11 +0000 (19:04 +0900)]
thermal: remove devfreq cooling
Remove local old driver to apply original mainline driver for devfreq
cooling.
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
MyungJoo Ham [Tue, 18 Aug 2015 04:45:49 +0000 (13:45 +0900)]
PM / devfreq: comments for get_dev_status usage updated
With the introduction of devfreq_update_stats(), governors
are not recommended to use get_dev_status() directly.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
[jy0922.shim: apply mainline patch]
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Javi Merino [Fri, 14 Aug 2015 17:56:56 +0000 (18:56 +0100)]
PM / devfreq: cache the last call to get_dev_status()
The return value of get_dev_status() can be reused. Cache it so that
other parts of the kernel can reuse it instead of having to call the
same function again.
Cc: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Javi Merino <javi.merino@arm.com>
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
[jy0922.shim: apply mainline patch]
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Javi Merino [Thu, 26 Feb 2015 19:00:28 +0000 (19:00 +0000)]
thermal: extend the cooling device API to include power information
Add three optional callbacks to the cooling device interface to allow
them to express power. In addition to the callbacks, add helpers to
identify cooling devices that implement the power cooling device API.
Cc: Zhang Rui <rui.zhang@intel.com>
Cc: Eduardo Valentin <edubezval@gmail.com>
Signed-off-by: Javi Merino <javi.merino@arm.com>
Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
[jy0922.shim: apply mainline patch]
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Sylwester Nawrocki [Tue, 15 Mar 2016 11:56:37 +0000 (12:56 +0100)]
Revert "PM: devfreq: Add the prototype of update_devfreq() to export"
This temporarily reverts commit
d70aa318b6a80780e3134d8a07303fa72b95576b,
which will be re-applied after applying soem mainline commits.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Sylwester Nawrocki [Mon, 14 Mar 2016 17:16:19 +0000 (18:16 +0100)]
gpu: mali: Drop TRACE_SYSTEM_STRING macro definition from mali_linux_trace.h
This fixes compilation warning:
In file included from include/trace/define_trace.h:90:0,
from drivers/gpu/arm/midgard/mali_linux_trace.h:211,
from drivers/gpu/arm/midgard/mali_kbase_core_linux.c:4199:
include/trace/ftrace.h:28:0: warning: "TRACE_SYSTEM_STRING" redefined
#define TRACE_SYSTEM_STRING __app(TRACE_SYSTEM_VAR,__trace_system_name)
^
In file included from include/trace/define_trace.h:83:0,
from drivers/gpu/arm/midgard/mali_linux_trace.h:211,
from drivers/gpu/arm/midgard/mali_kbase_core_linux.c:4199:
drivers/gpu/arm/midgard/./mali_linux_trace.h:28:0: note: this is the location of the previous definition
#define TRACE_SYSTEM_STRING __stringify(TRACE_SYSTEM)
^
In file included from include/trace/ftrace.h:134:0,
from include/trace/define_trace.h:90,
from drivers/gpu/arm/midgard/mali_linux_trace.h:211,
from drivers/gpu/arm/midgard/mali_kbase_core_linux.c:4199:
drivers/gpu/arm/midgard/./mali_linux_trace.h:28:0: warning: "TRACE_SYSTEM_STRING" redefined
#define TRACE_SYSTEM_STRING __stringify(TRACE_SYSTEM)
^
In file included from include/trace/define_trace.h:90:0,
from drivers/gpu/arm/midgard/mali_linux_trace.h:211,
from drivers/gpu/arm/midgard/mali_kbase_core_linux.c:4199:
include/trace/ftrace.h:28:0: note: this is the location of the previous definition
#define TRACE_SYSTEM_STRING __app(TRACE_SYSTEM_VAR,__trace_system_name)
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Jihoon Jung [Fri, 29 Apr 2016 06:06:10 +0000 (15:06 +0900)]
arm64: tizen_tm2_defconfig: enable the sec-nfc legacy driver
This patch enables the sec-nfc legacy driver instead of s3fwrn5 for
neard interface. The legacy driver is used from nfc-manager which is
used as replacement of neard from Tizen.
Change-Id: I7a688738b69ca14723c8333cfca28c30ba2b9c84
Signed-off-by: Jihoon Jung <jh8801.jung@samsung.com>
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Jihoon Jung [Fri, 29 Apr 2016 01:56:28 +0000 (10:56 +0900)]
nfc: change driver from neard interface to legacy sec-nfc
This enable the legacy nfc driver instead of neard interface.
It is required for nfc-manager and lsi nfc plugin implementation.
Change-Id: Ia77f105262e5c4899806e6310be6ae9cbc013ec9
Signed-off-by: Jihoon Jung <jh8801.jung@samsung.com>
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Seung-Woo Kim [Tue, 5 Jul 2016 05:07:08 +0000 (14:07 +0900)]
arm: configs: merge odroid related defconfigs
There are two separated defconfig files for odroid including
tizen_odroidu3_defconfig and odroidxu3_defconfig. With just one
defconfig, it is possible to support both boards. So this patch
merges both odroid defconfigs into one tizen_odroid_defconfig
and also replaces defconfig from packaging spec file.
Change-Id: I5232ab6e5adfb98ea312e2fcfb9d149860c8764d
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Andrzej Hajda [Fri, 1 Jul 2016 13:48:04 +0000 (15:48 +0200)]
drm/exynos/dsi: mask frame-done interrupt
DSI driver is not really interested in this interrupt. It causes only
unnecessary code execution of interrupt handler and could possibly
cause FIFO overflow - as it triggers DSI interrupt handler to process
next DSI transfer. With this patch we will get rid of about 30 IRQ
handler calls per second.
Change-Id: I51b6a205cf235fab824888364980d358950b8c85
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Andrzej Hajda [Wed, 22 Jun 2016 12:12:29 +0000 (14:12 +0200)]
drm/exynos/decon5433: mask HW trigger during frame send
Not masked TE during frame transmission results in shifted image in case of TV.
The patch fixes it.
Change-Id: I2d31a90371807b1f0ff2937f44ee0c51dbdf3638
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Andrzej Hajda [Thu, 12 May 2016 13:04:01 +0000 (15:04 +0200)]
drm/exynos/decon5433: enable trigger for decon-tv
Decon-tv requires working trigger. Additionally whole trigger logic
was moved to one function.
Change-Id: I0d2aabc3ec3212024499868805ecfe15bdfa7023
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Andrzej Hajda [Mon, 27 Jun 2016 09:18:26 +0000 (11:18 +0200)]
Revert "drm/exynos: decon: use deferred Trigger mode change"
Since HWTRIGGER can be enabled early this patch is not needed anymore.
Reverted patch complicates code and makes debugging more difficult -
DECON works in two different modes before and after suspend.
Since we have full control over all pipe components and we do full
configuration we can switch between HW/SW trigger without waiting
for platform suspend/resume.
This reverts commit
7a0e6fa3d120793a16b6bb16951ef2c436505080.
Change-Id: Ibe401305b9e80b70d9fcc8339cf2a9c40167879d
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Andrzej Hajda [Tue, 21 Jun 2016 10:13:00 +0000 (12:13 +0200)]
drm/exynos/mic: workaround for disabling mic during modesetting
Exynos-DRM framework does not power cycle encoder during modesetting, but
DRM core does it for bridges, as a result MIC device is the only
power-cycled device in the chain DECON->MIC->DSI, it causes black screen.
It is a limitation/feature of DRM core.
The patch adds ugly workaround to skip power-cycling MIC during modesetting.
Alternative is to power-cycle all components during modesetting, it would
require adjustements in ExynosDRM framework and rework of some callbacks
in DSI driver.
Change-Id: I94fdb002f119a298b35f01a4abd41d65f7d7478b
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Marek Szyprowski [Wed, 29 Jun 2016 08:00:41 +0000 (10:00 +0200)]
soc: exynos: fix support for domains without clocks defined
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: Ia2c717a4fac9c073162a165793d897757e12a9ae
Andrzej Hajda [Wed, 22 Jun 2016 12:34:24 +0000 (14:34 +0200)]
drm/exynos/decon5433: do not disable video on commit
There is no point in disabling video. In some cases it
results in blank screen.
Change-Id: Ifd242ea0ffbe0f30dbec8bb515bbc97dbfd332f6
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Marek Szyprowski [Tue, 28 Jun 2016 09:20:11 +0000 (11:20 +0200)]
ARM64: dts: exynos5433: add MIC to power domain
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: Idc7cf14c4802eb3c463debd3913c613f8926741a
Marek Szyprowski [Tue, 28 Jun 2016 09:21:20 +0000 (11:21 +0200)]
drm/exynos: mic: add simple runtime pm support
Add simple runtime pm to let driver to control power domain. No runtime pm
callbacks are defined, because state of the driver is already handled by
the DRM core.
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
[Add error routine for component_add like decon driver from probe]
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Change-Id: I339fb38f1f5f44e8a58f0ac745e355d2a89aa037
Marek Szyprowski [Thu, 23 Jun 2016 12:23:40 +0000 (14:23 +0200)]
drm/exynos: dsi: add simple runtime pm support
Add simple runtime pm to let driver to control power domain. No runtime pm
callbacks are defined, because state of the driver is already handled by
the DRM core.
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
[Add error routine for component_add like decon driver from probe]
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Change-Id: I77cdcf9b669c2bee45c14ba8d86f7fd1bbf8ba9c
Marek Szyprowski [Thu, 30 Jun 2016 13:58:55 +0000 (15:58 +0200)]
drm/exynos: decon: add simple runtime pm support
Add simple runtime pm to let driver to control power domain. No runtime pm
callbacks are defined, because state of the driver is already handled by
the DRM core.
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: Ib2c6b6ef6e6577ef9a7259d1ae80202ab0e0a7c7
Inki Dae [Mon, 4 Jul 2016 08:28:46 +0000 (17:28 +0900)]
staging: logger: fix build error due to removed ki_nbytes
This patch fixes build error. Logger driver was removed
from mainline kernel and after that there was some changes and
one of them is that ki_nbytes member was removed from kiocb structure.
66ee59a fs: remove ki_nbytes
This patch makes count member of iov_iter structure to be used instead.
Change-Id: I070587d650596eb7ed93df7d99398f9e401a6579
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Andrzej Hajda [Mon, 27 Jun 2016 08:52:16 +0000 (10:52 +0200)]
drm/exynos/decon5433: Fix standalone update code
Documentation is not clear about the subject, but it seems that shadowed
registers should be updated only if STANDALONE_UPDATE_F bit is clear.
After completing update of shadowed registers driver should enable this bit.
Without this logic one can observe flickering, black screens or white noise.
Change-Id: Ia1e54423cd321bf7c8ac9e8cf90d1dc8c8d64daf
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Nicolai Stange [Fri, 25 Mar 2016 21:22:14 +0000 (14:22 -0700)]
mm/filemap: generic_file_read_iter(): check for zero reads unconditionally
If
- generic_file_read_iter() gets called with a zero read length,
- the read offset is at a page boundary,
- IOCB_DIRECT is not set
- and the page in question hasn't made it into the page cache yet,
then do_generic_file_read() will trigger a readahead with a req_size hint
of zero.
Since roundup_pow_of_two(0) is undefined, UBSAN reports
UBSAN: Undefined behaviour in include/linux/log2.h:63:13
shift exponent 64 is too large for 64-bit type 'long unsigned int'
CPU: 3 PID: 1017 Comm: sa1 Tainted: G L 4.5.0-next-
20160318+ #14
[...]
Call Trace:
[...]
[<
ffffffff813ef61a>] ondemand_readahead+0x3aa/0x3d0
[<
ffffffff813ef61a>] ? ondemand_readahead+0x3aa/0x3d0
[<
ffffffff813c73bd>] ? find_get_entry+0x2d/0x210
[<
ffffffff813ef9c3>] page_cache_sync_readahead+0x63/0xa0
[<
ffffffff813cc04d>] do_generic_file_read+0x80d/0xf90
[<
ffffffff813cc955>] generic_file_read_iter+0x185/0x420
[...]
[<
ffffffff81510b06>] __vfs_read+0x256/0x3d0
[...]
when get_init_ra_size() gets called from ondemand_readahead().
The net effect is that the initial readahead size is arch dependent for
requested read lengths of zero: for example, since
1UL << (sizeof(unsigned long) * 8)
evaluates to 1 on x86 while its result is 0 on ARMv7, the initial readahead
size becomes 4 on the former and 0 on the latter.
What's more, whether or not the file access timestamp is updated for zero
length reads is decided differently for the two cases of IOCB_DIRECT
being set or cleared: in the first case, generic_file_read_iter()
explicitly skips updating that timestamp while in the latter case, it is
always updated through the call to do_generic_file_read().
According to POSIX, zero length reads "do not modify the last data access
timestamp" and thus, the IOCB_DIRECT behaviour is POSIXly correct.
Let generic_file_read_iter() unconditionally check the requested read
length at its entry and return immediately with success if it is zero.
Signed-off-by: Nicolai Stange <nicstange@gmail.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Reviewed-by: Jan Kara <jack@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
[Backport from mainline to remove UBSAN warning during login]
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Change-Id: I4f23b085363201c79d63601a69f287f26e55fafb
Oleg Nesterov [Mon, 23 May 2016 23:24:02 +0000 (16:24 -0700)]
signal: move the "sig < SIGRTMIN" check into siginmask(sig)
All the users of siginmask() must ensure that sig < SIGRTMIN. sig_fatal()
doesn't and this is wrong:
UBSAN: Undefined behaviour in kernel/signal.c:911:6
shift exponent 32 is too large for 32-bit type 'long unsigned int'
the patch doesn't add the neccesary check to sig_fatal(), it moves the
check into siginmask() and updates other callers.
Link: http://lkml.kernel.org/r/20160517195052.GA15187@redhat.com
Reported-by: Meelis Roos <mroos@linux.ee>
Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
[Backport from mainline to remove UBSAN warning in sending signal]
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Change-Id: Icb12de70772b563ba112f5f6e490731e4db119d1
Alan Stern [Thu, 19 May 2016 20:29:50 +0000 (16:29 -0400)]
USB: EHCI: avoid undefined pointer arithmetic and placate UBSAN
Several people have reported that UBSAN doesn't like the pointer
arithmetic in ehci_hub_control():
u32 __iomem *status_reg = &ehci->regs->port_status[
(wIndex & 0xff) - 1];
u32 __iomem *hostpc_reg = &ehci->regs->hostpc[(wIndex & 0xff) - 1];
If wIndex is 0 (and it often is), these calculations underflow and
UBSAN complains.
According to the C standard, pointer computations leading to locations
outside the bounds of an array object (other than 1 position past the
end) are undefined. In this case, the compiler would be justified in
concluding the wIndex can never be 0 and then optimizing away the
tests for !wIndex that occur later in the subroutine. (Although,
since ehci->regs->port_status and ehci->regs->hostpc are both 0-length
arrays and are thus GCC extensions to the C standard, it's not clear
what the compiler is really allowed to do.)
At any rate, we can avoid all these difficulties, at the cost of
making the code slightly longer, by not decrementing the index when it
is equal to 0. The runtime effect is minimal, and anyway
ehci_hub_control() is not on a hot path.
Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Reported-by: Valdis Kletnieks <Valdis.Kletnieks@vt.edu>
Reported-by: Meelis Roos <mroos@linux.ee>
Reported-by: Martin_MOKREJÅ <mmokrejs@gmail.com>
Reported-by: "Navin P.S" <navinp1912@gmail.com>
CC: Andrey Ryabinin <ryabinin.a.a@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
[Backport from mainline to remove UBSAN warning on usb-ehci]
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Change-Id: Iead9feb0ae5b53d48baa7603f1808fc898b31127
Seung-Woo Kim [Tue, 21 Jun 2016 05:26:00 +0000 (14:26 +0900)]
arm: ubsan: select ARCH_HAS_UBSAN_SANITIZE_ALL
To enable UBSAN on arm, this patch enables ARCH_HAS_UBSAN_SANITIZE_ALL
from arm confiuration. Basic kernel booting is tested on arm kernel
enabled CONFIG_UBSAN_SANITIZE_ALL from Exynos5422 based Odroid-XU3
board.
Change-Id: I9480a9af713b88eff2a90df11f78e1feb97eac30
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Anson Huang [Mon, 7 Dec 2015 09:09:19 +0000 (10:09 +0100)]
ARM: 8471/1: need to save/restore arm register(r11) when it is corrupted
In cpu_v7_do_suspend routine, r11 is used while it is NOT
saved/restored, different compiler may have different usage
of ARM general registers, so it may cause issues during
calling cpu_v7_do_suspend.
We meet kernel fault occurs when using GCC 4.8.3, r11 contains
valid value before calling into cpu_v7_do_suspend, but when returned
from this routine, r11 is corrupted and lead to kernel fault.
Doing save/restore for those corrupted registers is a must in
assemble code.
Signed-off-by: Anson Huang <Anson.Huang@freescale.com>
Reviewed-by: Nicolas Pitre <nico@linaro.org>
Cc: <stable@vger.kernel.org> # v3.3+
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
[Backport from mainline to fix boot hangup on arm with UBSAN]
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Change-Id: I2c0bb7b8e9d4a0489a4e9e08c65ed7b39fea9ee8
Seung-Woo Kim [Thu, 9 Jun 2016 07:57:15 +0000 (16:57 +0900)]
pinctrl: samsung: fix wakeup irq for extended eint
For extended eint bank, it should use maks1 for bit from 32 to 63
as its ext offset. So this patch fixes wakeup irq setting for
extended eit of exynos5433 with adding eint mask1 setting.
Without considering extended eint, setting wakeup on ext eint pin
causes wrong offset for eint mask, so UBSAN warning is repored
like following:
UBSAN: Undefined behaviour in drivers/pinctrl/samsung/pinctrl-exynos.c:376:26
shift exponent 8217 is too large for 64-bit type 'long unsigned int'
Call trace:
[<
ffffffc00008f440>] dump_backtrace+0x0/0x218
[<
ffffffc00008f668>] show_stack+0x10/0x20
[<
ffffffc00159f3b8>] dump_stack+0x80/0xfc
[<
ffffffc00159f558>] ubsan_epilogue+0x10/0x6c
[<
ffffffc00159fe38>] __ubsan_handle_shift_out_of_bounds+0x188/0x1bc
[<
ffffffc000785514>] exynos_wkup_irq_set_wake+0x104/0x138
[<
ffffffc0001647b0>] set_irq_wake_real+0x70/0xc0
[<
ffffffc000164a70>] irq_set_irq_wake+0x158/0x1b0
[...]
Change-Id: I6d55182609c982de702936ddb0045639df0e5ef0
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Andi Shyti [Fri, 24 Jun 2016 06:51:21 +0000 (15:51 +0900)]
arm64: tm2_defconfig: do not compile unnecessary drivers
Patch
c89511d3180fe37cdee67f9bcd2876fefa26a057 was including in
not specifying the compilation status of some drivers in the RC
system.
In order to not compile them specify their entries with the "is
not set" flag in the config file.
Change-Id: I09ff34c020bc7fd039bfaf7d5ba177205f7256fa
Signed-off-by: Andi Shyti <andi.shyti@samsung.com>
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Suggested-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Andi Shyti [Tue, 14 Jun 2016 01:20:58 +0000 (10:20 +0900)]
arm64: dts: exynos5433: tm2/tm2e: add ir-spi device node
The tm2 and tm2e boards both have an irled connected to the
SPI MOSI line for remote controlling. Therefore, enable it in
their related device tree node.
Add the fixed regulator which powers the LED, as well.
Change-Id: Ie47bebae3efaebbd2d18b3e5f5d6fbec68486b1d
Signed-off-by: Andi Shyti <andi.shyti@samsung.com>
Andi Shyti [Tue, 14 Jun 2016 05:57:01 +0000 (14:57 +0900)]
arm64: tm2_defconfig: add support for the ir-spi driver
Enable the CONFIG_IR_SPI flag for the TM2 default
configuration.
Change-Id: Ic2f08b7b5480d7de4bb8442323e100742642405a
Signed-off-by: Andi Shyti <andi.shyti@samsung.com>