Cho KyongHo [Mon, 8 May 2017 04:36:09 +0000 (13:36 +0900)]
[COMMON] g2d: add System MMU fault handler
System MMU fault handler is registers to show the status of H/W and
the driver when unexpected fault is occurred in System MMU for
debugging purpose..
Change-Id: Ibe58a3a8f1b7e90c1a41875be20a18708075c5ad
Signed-off-by: Cho KyongHo <pullip.cho@samsung.com>
Cho KyongHo [Thu, 4 May 2017 09:37:49 +0000 (18:37 +0900)]
[COMMON] g2d: Add command list completion
To push a command list to H/W, G2D driver should add some required
information to the command list including:
- initialization of H/W for the new job
- information about the layers involved with the job.
- information about secure layers.
The driver should also satisfies the requirment of H/W. It includes
alignment restriction of the number of commands in the command list.
If the number of commands are not multiple of 8, the driver appends
some redundant commands to satisfy the restriction.
Change-Id: Ia986f95de7df8e96907cac0cf7197f1fc3560db8
Signed-off-by: Cho KyongHo <pullip.cho@samsung.com>
Cho KyongHo [Mon, 1 May 2017 11:13:54 +0000 (20:13 +0900)]
[COMMON] g2d: add support for dma-buf fence
G2D driver needs to wait for the fences to be signaled to schedlue a
task if they are attached to layers of that task. Users may needs G2D
driver to deliver fences to know when the G2D H/W completes processing
on a job.
G2D driver impelements such buffer synchronization with dma-buf fence
and exports the fence to sync_file to give the fences for the job
completion, which are called release fences. The driver does not
generate a new fence for every single buffers that needs release
fences. Instead, it generates a single release fence and exports to
multiple sync_files as many as the user required. It reduces the use
of resources and simplifies the fence management in the driver.
Change-Id: I31f2c5156b29d7a1bb8096b4c34811cbc75c679a
Signed-off-by: Cho KyongHo <pullip.cho@samsung.com>
Cho KyongHo [Mon, 1 May 2017 07:16:44 +0000 (16:16 +0900)]
[COMMON] g2d: add cache maintenance
If G2D is a shareable device, CPU caches do not need to be manually
maintained by G2D driver. But there is one exception when shareable
G2D needs to read a cacheable buffer written by a non-shareabe device.
G2D driver should invalidate speculatively prefetched data possibly
loaded into CPU caches before reading the buffer shareably.
Change-Id: I6dbae852034f3cd1849977f15190cd4412c2bf08
Signed-off-by: Cho KyongHo <pullip.cho@samsung.com>
Cho KyongHo [Thu, 27 Apr 2017 08:42:29 +0000 (17:42 +0900)]
[COMMON] g2d: get userdata
This patch defines the interface between userspace and the driver. G2D
driver does not define a formal structure for the information about
jobs to process in H/W. Instead, it receives a set of commands to H/W.
The driver then just checks if the commands contains an invalid value
that may harm H/W. It does not check if the values in the commands are
correctly specified as the expectation of the user.
However, the driver allows the users to specifiy commands in a
restricted form. This restriction removes ambiguities about
specification of commans in userspace because it clears users the
information that needs to be specified in the command list. It also
relieves the driver from the heavy command validation workloads. The
driver does not need to validate the offset and the command of every
single command in the command list.
The driver defines the number and the order of commands. Even though
commands are not specified in the order as the expectation of the
driver, it pushes the commands to H/W if the commands are not harmful.
With the restriction, the driver does not allow users to specify some
sensitive commands including security management, H/W control, layer
management. The information related to the sensitive commands are
delivered to the driver in a well-defined form of data structure. The
driver then validates the information in the data structure and
generates commands for the information after the validation.
Change-Id: I4a792adb084eecdeb3f890a701178ddb1ca069af
Signed-off-by: Cho KyongHo <pullip.cho@samsung.com>
Cho KyongHo [Mon, 24 Apr 2017 02:05:23 +0000 (11:05 +0900)]
[COMMON] g2d: add support for suspend and shutdown
When the system is going to be suspeded to RAM, all the drivers should
complete their active tasks and freeze their working. G2D driver
registers pm notifiers to get informed about the time of suspend a bit
earlier than .suspend() callback function called by dpm. Likewise, it
makes the driver know the time of wake-up later than the invokation of
.resume() callback function. It is important for the driver because
RPM is detached before .suspend() is called and attached after
.resume().
Before suspend, G2D driver waits completion of all jobs running in H/W
and blocks all further jobs not to be pushed to H/W. The blocked jobs
are subsequently scheduled after wake-up.
The behavior G2D driver for suspend is also applied to shutdown except
the blocked jobs are never scheduled any more.
Change-Id: I2ed215219a2d02dfee507c731d4ed12ac4604eaa
Signed-off-by: hyesoo.yu <hyesoo.yu@samsung.com>
Signed-off-by: Cho KyongHo <pullip.cho@samsung.com>
Cho KyongHo [Sun, 23 Apr 2017 12:26:32 +0000 (21:26 +0900)]
[COMMON] g2d: cancel jobs running too much time
We might face with an unexpected accident that G2D does not complete a
pushed job in a definite time. We should be able to identify that jobs
and to discard them to make the H/W predictable.
We decided 500 milliseconds for the dead-line of the completion of a
job running in the H/W. If H/W does not complete a job in 500 msec.,
The driver kills the job running in H/W and check if it is really
killed. If it is not killed in the next 500 msec., the driver
initializes H/W which means that all the jobs running in H/W are
discarded.
Change-Id: I8119a476bb2e736380031f8277d04caf16baf2ba
Signed-off-by: hyesoo.yu <hyesoo.yu@samsung.com>
Signed-off-by: Cho KyongHo <pullip.cho@samsung.com>
Cho KyongHo [Sun, 23 Apr 2017 08:19:51 +0000 (17:19 +0900)]
[COMMON] g2d: add scheduling to HW
This patch implements pushing a task to H/W and interrupt handler.
Thanks to Job Manager of G2D, it is not required to find a pending
task in tasks_prepared list because a task ready to be scheduled to
H/W is pushed to H/W.
Change-Id: I6cf242009cea87d73d3d715e7312a22dde9062af
Signed-off-by: hyesoo.yu <hyesoo.yu@samsung.com>
Signed-off-by: Cho KyongHo <pullip.cho@samsung.com>
Cho KyongHo [Sun, 23 Apr 2017 07:34:36 +0000 (16:34 +0900)]
[COMMON] g2d: add request the job and schedule
This patch implements the life cycle of a task to G2D. A task has a
completion object to signal the user's request to let it know if its
requested task is completed.
All tasks are pushed to a workqueue that pushes tasks to H/W. It is
required for the tasks that have fences to wait because G2D driver
waits fences asynchronously Because the callback function called when
a fence is signaled is invoked under irq disabled. For the simplicity,
tasks without fences are also pushed to the workqueue because it does
not harm the responsibility to the users seriously.
Change-Id: I3c7ac1cc18212c3ea4b9a22d78a9236ee8491567
Signed-off-by: hyesoo.yu <hyesoo.yu@samsung.com>
Signed-off-by: Cho KyongHo <pullip.cho@samsung.com>
Cho KyongHo [Fri, 21 Apr 2017 14:28:04 +0000 (23:28 +0900)]
[COMMON] g2d: add task management
G2D driver does not configure SFRs of G2D from the image processing
information from userspace. It just verifies a set of SFR values from
userspace and forwards to H/W the SFR values.
The possible number of SFR values is 830, and H/W limits the number to
1024, we have decided to maintain the pools of the buffers to store
the SFR values from userspace because allocation of 8KB at run-time
may consume a lot of time.
We also decided to create 16 buffers to store the SFR values which is
called 'Command list' because G2D H/W accepts 16 compositing jobs in
maximum.
We call entries in the pool as 'task' and a task has the following
elements:
- JOB ID that is used by H/W to distinguish jobs
- Descriptions of 16 source layers and the target image
- Buffer descriptions of each layer
- Command list
The life time of a task:
A new task is registered to tasks_free list of g2d_device. If a
compositing job is requested by userspace, G2D driver pulls a task
from tasks_free list and configures the task for the requested
compositing. When the configuration is finished, the task is
registered to tasks_prepared list. Therefore all tasks registered to
tasks_prepared are ready to be pushed to H/W. If a task should be wait
for fences to be signaled, it is not registered to tasks_prepared list
until the fence is signaled. As a result, tasks are listed in
tasks_prepared in a very short time except the system is falling into
suspend to RAM. The tasks remained in tasks_prepared are pushed to the
H/W as soon as the system is woken up from supend to RAM.
When H/W completes composting of a pushed task, it is removed from
tasks_active and returned to tasks_free.
The implemetation of the life cycle of tasks is included in the
following patch series.
Change-Id: I38f11020fc27e48c05d05e39ed9dc9ae28f9eb58
Signed-off-by: hyesoo.yu <hyesoo.yu@samsung.com>
Signed-off-by: Cho KyongHo <pullip.cho@samsung.com>
hyesoo.yu [Wed, 5 Apr 2017 13:15:16 +0000 (22:15 +0900)]
[COMMON] g2d: add skeleton driver
FIMG2D driver is just probed with the following initializations:
- A character device node is created under /dev/g2d
- SFR base is remapped and the interrupt handler is registered
- Runtime PM is enabled
- H/W Version is read
- IOMMU is attached
Change-Id: I7af02ef7013bdc90ee8750e4da3d44e01517d1c9
Signed-off-by: hyesoo.yu <hyesoo.yu@samsung.com>
Signed-off-by: Cho KyongHo <pullip.cho@samsung.com>
Youngmin Nam [Thu, 24 May 2018 06:58:22 +0000 (15:58 +0900)]
[9610][ERD] arm64: dts: change console destination to ram
Change-Id: Ifc5d32e14a646dcc567d85305b47b533e87f4bf1
Signed-off-by: Youngmin Nam <youngmin.nam@samsung.com>
JaeHun Jung [Thu, 24 May 2018 06:00:59 +0000 (15:00 +0900)]
[COMMON] scsi: ufs: fix clang warning
This patch resolve below waring.
warning: implicit conversion from 'unsigned long' to 'int' changes
value from
18446744073709551615 to -1 [-Wconstant-conversion]
Change-Id: I88e9f844dfdbb310eb4bb1a5ac85d14a2eafe53c
Signed-off-by: JaeHun Jung <jh0801.jung@samsung.com>
Youngmin Nam [Thu, 24 May 2018 02:27:08 +0000 (11:27 +0900)]
[9610] soc: samsung: cal-if: add volatile keyword to prevent optimization by clang compiler
In the CLANG compiler, "pr_info(" mif grp : %d\n", asv_tbl->mif_asv_group);" makes panic as below.
[ 0.000000] [0: swapper/0: 0] Unable to handle kernel paging request at virtual address
ffffff8008015006
[ 0.000000] [0: swapper/0: 0] Mem abort info:
[ 0.000000] [0: swapper/0: 0] Exception class = DABT (current EL), IL = 32 bits
[ 0.000000] [0: swapper/0: 0] SET = 0, FnV = 0
[ 0.000000] [0: swapper/0: 0] EA = 0, S1PTW = 0
[ 0.000000] [0: swapper/0: 0] Data abort info:
[ 0.000000] [0: swapper/0: 0] ISV = 0, ISS = 0x00000021
[ 0.000000] [0: swapper/0: 0] CM = 0, WnR = 0
[ 0.000000] [0: swapper/0: 0] swapper pgtable: 4k pages, 39-bit VAs, pgd =
ffffff8009af1000
[ 0.000000] [0: swapper/0: 0] [
ffffff8008015006] *pgd=
00000008fd7fe003, *pud=
00000008fd7fe003, *pmd=
00000008fd7fd003, *pte=
00e8000010009707
[ 0.000000] [0: swapper/0: 0] Internal error: Oops:
96000021 [#1] PREEMPT SMP
[ 0.000000] [0: swapper/0: 0] Modules linked in:
[ 0.000000] [0: swapper/0: 0] debug-snapshot: item - log_kevents is disabled
[ 0.000000] [0: swapper/0: 0] CPU: 0 PID: 0 Comm: swapper/0 Not tainted
4.14.32-34884-g2fc291f958c6 #1
[ 0.000000] [0: swapper/0: 0] Hardware name: Samsung ERD9610 board based on EXYNOS9610 (DT)
[ 0.000000] [0: swapper/0: 0] task:
ffffff8008fd9380 task.stack:
ffffff8008fb0000
[ 0.000000] [0: swapper/0: 0] PC is at asv_table_init+0xcc/0x1b4
[ 0.000000] [0: swapper/0: 0] LR is at asv_table_init+0xc0/0x1b4
[ 0.000000] [0: swapper/0: 0] pc : [<
ffffff8008447f30>] lr : [<
ffffff8008447f24>] pstate:
604000c5
[ 0.000000] [0: swapper/0: 0] sp :
ffffff8008fb3e20
[ 0.000000] [0: swapper/0: 0] x29:
ffffff8008fb3e40 x28:
0000000080bd0018
[ 0.000000] [0: swapper/0: 0] x27:
0000000000000000 x26:
0000000000000001
[ 0.000000] [0: swapper/0: 0] x25:
ffffff8008fb3f20 x24:
dead000000000100
[ 0.000000] [0: swapper/0: 0] x23:
ffffff8008fb3f20 x22:
0000000000000000
[ 0.000000] [0: swapper/0: 0] x21:
ffffff8009a6d000 x20:
ffffff8009125000
[ 0.000000] [0: swapper/0: 0] x19:
00e8000000000707 x18:
000000000000186a
[ 0.000000] [0: swapper/0: 0] x17:
ffffff8100d020c8 x16:
0000000000000000
[ 0.000000] [0: swapper/0: 0] x15:
00000000fffffff5 x14:
ffffff8009a12000
[ 0.000000] [0: swapper/0: 0] x13:
ffffff8008fd9ca8 x12:
00000000ffffffbf
[ 0.000000] [0: swapper/0: 0] x11:
0000000000000000 x10:
0000000000000000
[ 0.000000] [0: swapper/0: 0] x9 :
b6a063fd53402b00 x8 :
ffffff8008015000
[ 0.000000] [0: swapper/0: 0] x7 :
0000000000000000 x6 :
ffffff80081222f8
[ 0.000000] [0: swapper/0: 0] x5 :
0000000000000000 x4 :
0000000000000080
[ 0.000000] [0: swapper/0: 0] x3 :
ffffff8008fb3a34 x2 :
0000000000000001
[ 0.000000] [0: swapper/0: 0] x1 :
0000000000000001 x0 :
ffffff8008aeccc2
To resolve this issue, we should add volatile keyword to struct variables.
Change-Id: I6e97594253ef04f7b76365fd685aea09446bbd9f
Signed-off-by: Youngmin Nam <youngmin.nam@samsung.com>
hgchu [Mon, 26 Mar 2018 02:27:05 +0000 (11:27 +0900)]
[COMMON] ufs: fix build error in clang compiler
Equality comparison with extraneous parentheses error fixed.
Change-Id: Iae6545f83d379080a7ebe5a414481bed6f8bd5ff
Signed-off-by: hgchu <hg.chu@samsung.com>
Hyunki Koo [Fri, 6 Apr 2018 04:33:30 +0000 (13:33 +0900)]
ANDROID: qtaguid: remove unnecessary checkes.
This removes some unnecessary checkes to get rid of
-Werror,-Wpointer-bool-conversion error
Change-Id: I8ce82d5c5761456055cc9c53d50ca9eee19d8660
signed-off-by: Hyunki Koo <hyunki00.koo@samsung.com>
Youngmin Nam [Wed, 23 May 2018 04:50:56 +0000 (13:50 +0900)]
[9610][ERD] arm64: configs: disable CONFIG_PHONET
This patch disables CONFIG_PHONET to resolve build warning
in case of clang build
Change-Id: I1f84231be5b80131ccb23afb57f7de2776017237
Signed-off-by: Youngmin Nam <youngmin.nam@samsung.com>
Keunyoung Park [Thu, 5 Apr 2018 02:12:15 +0000 (11:12 +0900)]
[COMMON] soc: samsung: Add EXYNOS_SDM to Kconfig
Change-Id: I15843f08b30b342e2b7d81951484449d0b78c7f6
Signed-off-by: Keunyoung Park <keun0.park@samsung.com>
Keunyoung Park [Thu, 5 Apr 2018 02:11:16 +0000 (11:11 +0900)]
[COMMON] soc: samsung: add codes for Security Dump Manager
Change-Id: I9863edba61b8f35c0407f809ab03abab9ea61d63
Signed-off-by: Keunyoung Park <keun0.park@samsung.com>
Keunyoung Park [Wed, 23 May 2018 05:33:11 +0000 (14:33 +0900)]
[9610] arm64: defconfig: add config for hwrng
Change-Id: Ifc49ae755ba425caa1462c0798305b930e566cbb
Signed-off-by: Keunyoung Park <keun0.park@samsung.com>
Keunyoung Park [Fri, 4 May 2018 02:51:28 +0000 (11:51 +0900)]
[COMMON] ExyRNG: modify the smc function to follow call by reference
Change-Id: I7434a62180f34b1f82d7e21a33f58bed83e33f64
Signed-off-by: Keunyoung Park <keun0.park@samsung.com>
Keunyoung Park [Mon, 29 Jan 2018 04:33:04 +0000 (13:33 +0900)]
[COMMON] hw_random: change exynos_smc to __exynos_smc.
it is modified to avoid corrupting x1, x2, x3.
Change-Id: I903ab54f00a6ec14f1d8212d19ac71dc1db54897
Signed-off-by: Keunyoung Park <keun0.park@samsung.com>
Keunyoung Park [Mon, 29 Jan 2018 04:24:09 +0000 (13:24 +0900)]
[COMMON] hw_random: make khwrngd freezable
Change-Id: I8bc0b1561dc8b3d36fec860b0b969129326c334d
Signed-off-by: Keunyoung Park <keun0.park@samsung.com>
Lee Seoyeong [Wed, 9 Aug 2017 05:40:58 +0000 (14:40 +0900)]
[COMMON] hw_random: add exyswd-rng's config in Kconfig and Makefile
Change-Id: I7302ad3228fefedee3d51023d633d82b203da9c0
Signed-off-by: Keunyoung Park <keun0.park@samsung.com>
Keunyoung Park [Mon, 29 Jan 2018 04:12:58 +0000 (13:12 +0900)]
[COMMON] hw_random: add exyswd-rng in kernel 4.14
Change-Id: I4f2c9726d8253e3820a8c62cd482137707df65cf
Signed-off-by: Keunyoung Park <keun0.park@samsung.com>
Taein, An [Tue, 22 May 2018 23:23:55 +0000 (08:23 +0900)]
[9610] hdcp: add initial hdcp2
Change-Id: I1af03165b61d864b38e7993db3158f413072ea90
Signed-off-by: Taein, An <taein.an@samsung.com>
Shinkyu Park [Thu, 17 May 2018 01:29:39 +0000 (10:29 +0900)]
[COMMON] scsi: srpmb: enable SMC call for WSM init
[Issue#]
[Description]
Platform Development Team
Shinkyu Park (shinkyu.park@samsung.com)
Change-Id: I3e3117c4ca12b5bf84b5fbb1105e79b1165e0309
Shinkyu Park [Thu, 17 May 2018 00:15:18 +0000 (09:15 +0900)]
[9610] arm64: dts: add RPMB attribute
[Issue#]
[Description]
Platform Development Team
Shinkyu Park (shinkyu.park@samsung.com)
Change-Id: I5908b73c5460188391afb640cbf186f36b5e99bb
Shinkyu Park [Thu, 17 May 2018 00:08:54 +0000 (09:08 +0900)]
[9610] arm64: erd9610_defconfig: Enable UFS_SRPMB
[Issue#]
[Description]
Platform Development Team
Shinkyu Park (shinkyu.park@samsung.com)
Change-Id: I376a0c21b053f24e8970450a3b6f857b38a6aa24
DongHyun Cha [Mon, 21 May 2018 13:16:04 +0000 (22:16 +0900)]
drivers: soc: samsung: Add EXYNOS_CONTENT_PATH_PROTECTION
Change-Id: Ieffb1ace1e772a553e982f3b756d85fdb30fe391
Signed-off-by: DongHyun Cha <dhyun.cha@samsung.com>
Boojin Kim [Wed, 16 May 2018 04:47:31 +0000 (13:47 +0900)]
[9610][ERD] arm64: configs: enable fmp
Change-Id: If0d971c87d0452c97b3b4f23afe2525ce6644ba4
Signed-off-by: Boojin Kim <boojin.kim@samsung.com>
Boojin Kim [Wed, 16 May 2018 04:47:14 +0000 (13:47 +0900)]
[9610][ERD] arm64: dts: fmp enable
Change-Id: I7d3727c8fe83692b119f31512974c35f6fa39e0b
Signed-off-by: Boojin Kim <boojin.kim@samsung.com>
Boojin Kim [Tue, 15 May 2018 15:12:22 +0000 (00:12 +0900)]
[COMMON] fmp: update diskcipher free_req
Change-Id: I412c28c5356f815eefa27487613249c33823970f
Signed-off-by: Boojin Kim <boojin.kim@samsung.com>
Boojin Kim [Tue, 15 May 2018 15:11:47 +0000 (00:11 +0900)]
[COMMON] ufs: add diskcipher debug
Change-Id: I0712835f8223596f16f370e2ea89fe00f28a4c6a
Signed-off-by: Boojin Kim <boojin.kim@samsung.com>
Boojin Kim [Tue, 15 May 2018 15:10:16 +0000 (00:10 +0900)]
[COMMON] bio: update diskcipher merge
Change-Id: I2477d73096105517e0c40cc21b3bfa83c7941dd4
Signed-off-by: Boojin Kim <boojin.kim@samsung.com>
Boojin Kim [Tue, 15 May 2018 15:11:01 +0000 (00:11 +0900)]
[COMMON] crypto: update diskcipher free and debug
Change-Id: I43447d93662c4c8978cab634441a146f7e45c13b
Signed-off-by: Boojin Kim <boojin.kim@samsung.com>
Boojin Kim [Tue, 15 May 2018 15:09:30 +0000 (00:09 +0900)]
[COMMON] fs: add diskcipher free_req and debug
Change-Id: Ib5cfb98ed1b0ac43eff6ec3d9cbe3507a191b7b5
Signed-off-by: Boojin Kim <boojin.kim@samsung.com>
Boojin Kim [Fri, 23 Mar 2018 07:59:15 +0000 (16:59 +0900)]
[COMMON] fs: support diskcipher
Change-Id: I19caef3696973a6aa3dbdad9cf53a6f72cdb0fce
Signed-off-by: Boojin Kim <boojin.kim@samsung.com>
Boojin Kim [Wed, 16 May 2018 02:49:42 +0000 (11:49 +0900)]
[COMMON] fmp: support integrity check and clang
fips: fix compile error with clag
add fips init status
fix build error for gcc compiler
fix build error on clang
support integrity check
Change-Id: I3fd3255b5e14b3166980b6a2789febcfd98a7f7f
Signed-off-by: Boojin Kim <boojin.kim@samsung.com>
Boojin Kim [Thu, 15 Mar 2018 15:04:31 +0000 (00:04 +0900)]
[COMMON] ufs: support the multi-host for fmp
Change-Id: I436f3bc3b420a4814c33f66bb0af7bc9bea66d58
Signed-off-by: Boojin Kim <boojin.kim@samsung.com>
Boojin Kim [Fri, 16 Mar 2018 00:26:50 +0000 (09:26 +0900)]
[COMMON] fmp: update multi-host for fmp
Change-Id: Ib2bd3264d07eb6dabb874a5062a16a3d7a2b7d10
Signed-off-by: Boojin Kim <boojin.kim@samsung.com>
Boojin Kim [Wed, 24 Jan 2018 14:07:49 +0000 (23:07 +0900)]
[COMMON] dm crypt: support diskcipher
dm crypt: support diskcipher
dm crypt: add 'fmp' ivmode for diskcipher
Change-Id: Ic03c62e02108dec2e00975bd6df1fca8b44792d8
Signed-off-by: Boojin Kim <boojin.kim@samsung.com>
Kim Mankyum [Fri, 18 May 2018 02:20:46 +0000 (11:20 +0900)]
[DO NOT RELEASE][9610] drivers: gud: add gud driver
Change-Id: I6e854a4957b5835b28ce8a76da47d349381db8bb
Signed-off-by: Kim Mankyum <mankyum.kim@samsung.com>
Kim Mankyum [Fri, 18 May 2018 01:55:31 +0000 (10:55 +0900)]
[9610] drivers: add Kconfig source path
Change-Id: I5802e77766671fb9377d8dbeb393cb110902582a
Signed-off-by: Kim Mankyum <mankyum.kim@samsung.com>
Kim Mankyum [Fri, 18 May 2018 01:42:26 +0000 (10:42 +0900)]
[9610] dts : add exynos-tee
Change-Id: I4efcbb35ed1fcf1777f4186e8f68e2414b5fb3af
Signed-off-by: Kim Mankyum <mankyum.kim@samsung.com>
Jang Hyunsung [Thu, 2 Nov 2017 02:07:19 +0000 (11:07 +0900)]
[COMMON] soc: samsung: add code which prints GPR values.
prints GPR value passed by El3 monitor.
Change-Id: I13ab808a3ad5b9aa7c0c29e946fb8192a5bbe155
Signed-off-by: Jang Hyunsung <hs79.jang@samsung.com>
Junho Choi [Wed, 16 May 2018 05:58:10 +0000 (14:58 +0900)]
[9610] arm64: erd9610_defconfig: Enable kernel code protection
Change-Id: Ieb35340761e88a40f2e0d066b15c3f69b3efc40f
Signed-off-by: Junho Choi <junhosj.choi@samsung.com>
Junho Choi [Fri, 16 Mar 2018 11:37:37 +0000 (20:37 +0900)]
[COMMON] soc: samsung: el3_mon: Use __pa_symbol for _text and _etext
If CONFIG_DEBUG_VIRTUAL=y,
virt_to_phys used for non-linear address:
ffffff8008080000 (0xffffff8008080000)
WARNING: CPU: 4 PID: 1 at arch/arm64/mm/physaddr.c:15 __virt_to_phys+0x28/0x60
...
[<
ffffff80080a32bc>] __virt_to_phys+0x28/0x60
[<
ffffff8008b61774>] exynos_protect_kernel_text+0x28/0x10c
virt_to_phys used for non-linear address:
ffffff8008830000 (_etext+0x0/0x10)
WARNING: CPU: 4 PID: 1 at arch/arm64/mm/physaddr.c:15 __virt_to_phys+0x28/0x60
...
[<
ffffff80080a32bc>] __virt_to_phys+0x28/0x60
[<
ffffff8008b6178c>] exynos_protect_kernel_text+0x40/0x10c
Change-Id: Idf0e69942e2117b31befd71ff212e906df7af370
Signed-off-by: Junho Choi <junhosj.choi@samsung.com>
Junho Choi [Thu, 18 Jan 2018 05:06:10 +0000 (14:06 +0900)]
[COMMON] soc: samsung: el3_mon: change the way to get VA of _text and _etext
The start and end address of kernel text section were got
from kallsyms_lockup_name which returns the address correspond
to symbol name exported by EXPORT_SYMBOL. So, the address can't
be got if the symbol is not exported.
This patch changes the way to get the start and end addresses of
kernel text section to reading them directly. It is possible
because they have been defined in linker script. The driver
can always get them even if the symbol is not exported.
Change-Id: Ibe3ef81ff5010db55af2db11f07cd1b82e1e6685
Signed-off-by: Junho Choi <junhosj.choi@samsung.com>
Junho Choi [Tue, 13 Mar 2018 01:36:44 +0000 (10:36 +0900)]
[COMMON] soc: samsung: Add kernel protection feature to Kconfig
Change-Id: If92f71b97bf3029c19a11d038a1f451e7ec1fa70
Signed-off-by: Junho Choi <junhosj.choi@samsung.com>
Junho Choi [Wed, 14 Mar 2018 08:08:56 +0000 (17:08 +0900)]
[COMMON] soc: samsung: seclog: Refactoring LDFW error handling
The previous handling error from LDFW has many if ~ else and
switch statement. It needs refactoring.
Change-Id: I86d36bb94d00a70c3b6cb33a5eebeddd23986174
Signed-off-by: Junho Choi <junhosj.choi@samsung.com>
Junho Choi [Wed, 14 Mar 2018 07:15:50 +0000 (16:15 +0900)]
[COMMON] soc: samsung: seclog: Change kmalloc to kmalloc_array
Change-Id: Iaf84105a5a5516619cd7af67842ea1a2ba4b0a92
Signed-off-by: Junho Choi <junhosj.choi@samsung.com>
Junho Choi [Wed, 14 Mar 2018 06:22:55 +0000 (15:22 +0900)]
[COMMON] soc: samsung: seclog: Change for loop with NR_CPUS to for_each_possible_cpu()
Kernel checkpatch recommends that using for_each_possible_cpu()
is better than NR_CPUS because NR_CPUS is often wrong.
Change-Id: I7f73d46add74f3b7335b22f4c1acf6303064ba94
Signed-off-by: Junho Choi <junhosj.choi@samsung.com>
Junho Choi [Mon, 12 Mar 2018 23:36:14 +0000 (08:36 +0900)]
[9610] arm64: dts: Define size macros regarding seclog in dt-bindings
The size macros need to be defined in device tree files.
Change-Id: Ibc50e7dfc5f2bac65cd623a814dff260f4151aa5
Signed-off-by: Junho Choi <junhosj.choi@samsung.com>
Junho Choi [Fri, 22 Sep 2017 03:38:36 +0000 (12:38 +0900)]
[9610] arm64: dts: Add secure log property
Change-Id: I6d7310bd09402ac89c846738030121b0a7bc5592
Signed-off-by: Junho Choi <junhosj.choi@samsung.com>
Junho Choi [Mon, 12 Mar 2018 08:52:39 +0000 (17:52 +0900)]
[COMMON] soc: samsung: seclog: Add Secure log driver
Change-Id: I08dcd4562893b9e4dc233db8cdd2556431c4d273
Signed-off-by: Junho Choi <junhosj.choi@samsung.com>
lakkyung.jung [Wed, 23 May 2018 14:08:10 +0000 (23:08 +0900)]
[9610] arm64: erd9610_defconfig: Enable CPU_FREQ_STAT.
Change-Id: I43c5bbedfe7caa72a92ee3f3f6fcf42db59ffc96
Signed-off-by: lakkyung.jung <lakkyung.jung@samsung.com>
lakkyung.jung [Wed, 23 May 2018 13:50:36 +0000 (22:50 +0900)]
[COMMON] soc: samsung: Fix the problem of passing wrong cluster id
Change-Id: I6f5201c5760d569f753a8f0d0c4b32132de370c9
Signed-off-by: lakkyung.jung <lakkyung.jung@samsung.com>
lakkyung.jung [Wed, 23 May 2018 13:17:19 +0000 (22:17 +0900)]
[COMMON] soc: samsung: Add featuring to CPUIDLE.
Change-Id: Ied3e9608b57f94ae9ed5aab8936482f03de7c303
Signed-off-by: lakkyung.jung <lakkyung.jung@samsung.com>
lakkyung.jung [Wed, 23 May 2018 13:14:22 +0000 (22:14 +0900)]
Revert "[HACK] soc: samsung: Fixed cluster id when hotplug in/out."
This reverts commit
85b083cc30a41b12e7b66fd1ef0e681be58931a4.
Change-Id: Ie06d4f0a6a7eb15c81c62c3d0dc34be979213581
Chungwoo Park [Wed, 23 May 2018 10:30:02 +0000 (19:30 +0900)]
[9610] arm64: erd9610_defconfig: Enable GPU THERMAL config.
Change-Id: I52cb108ef76d3b0fd5de2de269c4ca09a2080cd6
Signed-off-by: Chungwoo Park <cww.park@samsung.com>
Youngtae Lee [Wed, 28 Mar 2018 07:06:57 +0000 (16:06 +0900)]
[COMMON] tmu: applying new cpu hotplug driver
Change-Id: I487de186f492087c87d5b57db53c7619cd118cba
Signed-off-by: Youngtae Lee <yt0729.lee@samsung.com>
Jang JeongHoon [Wed, 23 May 2018 08:19:16 +0000 (17:19 +0900)]
[HACK] soc: samsung: Fixed cluster id when hotplug in/out.
Change-Id: Id54965dfe864946f89a5b27f82d88dc03fa9edd7
Signed-off-by: Jang JeongHoon <jnghn.jang@samsung.com>
Jang JeongHoon [Wed, 23 May 2018 08:18:09 +0000 (17:18 +0900)]
[9610] arm64: dtsi: Fixed sleep psci index.
Change-Id: Ice14745463853905fdbcad3a920043e9d67ce6da
Signed-off-by: Jang JeongHoon <jnghn.jang@samsung.com>
Jinku Kang [Wed, 23 May 2018 01:27:38 +0000 (10:27 +0900)]
[9610] defconfig: enable dvfs and rtpm of mali gpu
Change-Id: I7a149d6621455d87d7deaf66286a57c4a01c12f6
Signed-off-by: Jinku Kang <jinku79.kang@samsung.com>
Jinku Kang [Wed, 23 May 2018 01:25:56 +0000 (10:25 +0900)]
[9610] gpu: tHEx: r10p0: update definition for pm-qos cpu
Change-Id: Ib2c74c4f857c7b4db615928b66f274a850f38fbf
Signed-off-by: Jinku Kang <jinku79.kang@samsung.com>
Kim Taejeong [Wed, 23 May 2018 01:42:52 +0000 (10:42 +0900)]
[9610][MAESTRO] driver: muic: remove muic func in panic handler
Change-Id: Ibd63c80f59ed9e45bf9a671c77af41133616b20f
Signed-off-by: Kim Taejeong <tj.kim@samsung.com>
lakkyung.jung [Mon, 21 May 2018 11:47:57 +0000 (20:47 +0900)]
[COMMON] soc: samsung: Bring up power mode.
Change-Id: I665745e3b8c65c3dcca730463d91293f6835558f
Signed-off-by: lakkyung.jung <lakkyung.jung@samsung.com>
lakkyung.jung [Mon, 21 May 2018 10:55:10 +0000 (19:55 +0900)]
[COMMON] soc: cpupm: move location of notify call for sicd.
Change-Id: Ie37c5d079cb5bb84154df30774b5580a49c988b7
Signed-off-by: lakkyung.jung <lakkyung.jung@samsung.com>
lakkyung.jung [Mon, 21 May 2018 10:46:00 +0000 (19:46 +0900)]
[COMMON] soc: samsung: Change EINT_WAKEUP_MASK to 0x650
Change-Id: Ie4423fbbc95ed80a43082734226aa922d5b39cc6
Signed-off-by: lakkyung.jung <lakkyung.jung@samsung.com>
Soohyun Kim [Wed, 14 Mar 2018 03:01:49 +0000 (12:01 +0900)]
soc: exynos-powermode: add macro for syspwr mode searching
Change-Id: Iab5e97a8745fe7a26acdfb02eff0e2895408edc7
Signed-off-by: Soohyun Kim <soohyuni.kim@samsung.com>
lakkyung.jung [Mon, 21 May 2018 10:30:18 +0000 (19:30 +0900)]
[COMMON] soc: samsung: Change debug log to dbg_snapshot.
Change-Id: I0143f0dc4b2b843f2602955d873662daf63ef82e
Signed-off-by: lakkyung.jung <lakkyung.jung@samsung.com>
Soohyun Kim [Tue, 3 Apr 2018 06:05:02 +0000 (15:05 +0900)]
soc: cpupm: fix race condition when call at the same time.
Change-Id: If5fd174b48e79e4aae7180d1558b014d53cb2e22
Signed-off-by: Soohyun Kim <soohyuni.kim@samsung.com>
lakkyung.jung [Mon, 21 May 2018 10:21:47 +0000 (19:21 +0900)]
[COMMON] CPUPM: change header file name of power management
Change-Id: I4dc2c39d118e16cb81a768d6d3d79ad91e058f93
Signed-off-by: lakkyung.jung <lakkyung.jung@samsung.com>
lakkyung.jung [Mon, 21 May 2018 10:14:05 +0000 (19:14 +0900)]
[COMMON] soc: samsung: remove code related cpu power management.
Change-Id: Id8d63959300a429364e5ec2da8d8e4315685826b
Signed-off-by: lakkyung.jung <lakkyung.jung@samsung.com>
lakkyung.jung [Mon, 21 May 2018 10:13:35 +0000 (19:13 +0900)]
[9610] arm64: dts: add node for cpuidle.
Change-Id: Ibc29ca2e7dfc5e0502cc8f80500313b67c79172b
Signed-off-by: lakkyung.jung <lakkyung.jung@samsung.com>
Jang JeongHoon [Fri, 18 May 2018 02:31:39 +0000 (11:31 +0900)]
[COMMON] pinctrl: Added `exynos_eint_to_pin_num' function.
Change-Id: If62dc4e9092ee2723de406ea88432c3e49a929c9
Signed-off-by: Jang JeongHoon <jnghn.jang@samsung.com>
Jang JeongHoon [Fri, 18 May 2018 02:31:06 +0000 (11:31 +0900)]
[COMMON] usb: Fixed featuring regarding CPU_IDLE.
Change-Id: I466304be334e2fbbe7421cfaeda5da7499eed1d4
Signed-off-by: Jang JeongHoon <jnghn.jang@samsung.com>
Jang JeongHoon [Fri, 18 May 2018 02:30:22 +0000 (11:30 +0900)]
[COMMON] scsi: ufs: Fixed featuring regarding CPU_IDLE.
Change-Id: Ia24ab2960929b103c33e594104e212ce7b9521e4
Signed-off-by: Jang JeongHoon <jnghn.jang@samsung.com>
Jang JeongHoon [Fri, 18 May 2018 02:03:19 +0000 (11:03 +0900)]
[9610] arm64: erd9610_defconfig: Enabled CONFIG_CPU_IDLE.
Change-Id: Ib192330d0281995c6388b7147e17b3a63bc9e43c
Signed-off-by: Jang JeongHoon <jnghn.jang@samsung.com>
Jang JeongHoon [Fri, 18 May 2018 01:38:42 +0000 (10:38 +0900)]
Revert "[HACK] power: Held temp wakelock."
This reverts commit
d4f01c97ceecd2acc607e0890d348490cf403711.
Change-Id: I9df99fb86daff4e234313a550bd32d616d15014e
yi jaeuk [Mon, 21 May 2018 09:57:56 +0000 (18:57 +0900)]
[9610] arm64: dts: pm-domain: remove dbgdev-pd-vipx1
Change-Id: Ica61c6ad0966fad07e287d5113f00ab71de6a9d0
Signed-off-by: yi jaeuk <ju.yi@samsung.com>
yi jaeuk [Mon, 21 May 2018 09:56:57 +0000 (18:56 +0900)]
Revert "[HACK][9610] disable runtimePM in VIPX"
This reverts commit
4513eeac6bac70917f95281524a5ccd68418d47a.
Change-Id: I3f5bd17d50acf86fe07d5ef75efe08722cd58640
hwangjae lee [Mon, 21 May 2018 10:03:38 +0000 (19:03 +0900)]
[9610] fbdev: dpu: DPU bts code code clean
Change-Id: I0c525b1503239dab58000136e43c799410b7e6da
Signed-off-by: hwangjae lee <hj-yo.lee@samsung.com>
Taekki Kim [Mon, 21 May 2018 09:25:02 +0000 (18:25 +0900)]
[COMMON] soc: samsung: remove un-necessary header file
Change-Id: Ic1e4c236e93b166223565c88764fe9b60b10d02a
Signed-off-by: Taekki Kim <taekki.kim@samsung.com>
Chungwoo Park [Tue, 15 May 2018 08:33:10 +0000 (17:33 +0900)]
[9610] arm64: erd9610_defconfig: Enable CPU_THERMAL config.
Change-Id: I39340c1072d18340f633b4905dc61df0c73e9aa7
Signed-off-by: Chungwoo Park <cww.park@samsung.com>
lakkyung.jung [Mon, 14 May 2018 08:32:20 +0000 (17:32 +0900)]
arm64: erd9610_defconfig: Enable ACME for cpufreq.
Change-Id: I3775c460853ff6365385ac57f594cfd5fd6eb8b6
Signed-off-by: lakkyung.jung <lakkyung.jung@samsung.com>
lakkyung.jung [Mon, 14 May 2018 08:30:50 +0000 (17:30 +0900)]
[9610] arm64: erd9610_defconfig: Enable EMS.
- fluid RT
- freqvar-tuner
Change-Id: I0ae2caef74cdaa8fec035427cfcbef1ad6af0b8d
Signed-off-by: lakkyung.jung <lakkyung.jung@samsung.com>
lakkyung.jung [Fri, 11 May 2018 10:54:48 +0000 (19:54 +0900)]
[9610] arm64: erd9610_defconfig: Enable EAS/EHMP & CPUFREQ
Change-Id: Iccdc17b2ef0b66cf07e4ab48b5ffa3ea64d47b5b
Signed-off-by: lakkyung.jung <lakkyung.jung@samsung.com>
Chungwoo Park [Mon, 14 May 2018 10:53:57 +0000 (19:53 +0900)]
[9610] arm64: config: Add devfreq to erd9610 config.
Change-Id: I04d8f9bf520884f441398a2a084150dcce6dec31
Signed-off-by: Chungwoo Park <cww.park@samsung.com>
yi jaeuk [Thu, 10 May 2018 09:36:35 +0000 (18:36 +0900)]
[9610] arm64: configs: enable EXYNOS_PD
Change-Id: I6fc14f5ee931fc00a8348eaee32d816d06c23cf3
Signed-off-by: yi jaeuk <ju.yi@samsung.com>
Chungwoo Park [Mon, 14 May 2018 08:29:23 +0000 (17:29 +0900)]
[9610] arm64: config: Add dvfs_manager config.
Change-Id: I38cbdb22961ead564d6253b4b61b13bc28819636
Signed-off-by: Chungwoo Park <cww.park@samsung.com>
Chungwoo Park [Mon, 14 May 2018 08:18:44 +0000 (17:18 +0900)]
[9610] arm64: config: Enable thermal driver.
Change-Id: I84ffbed5ba6f180507fc867101828d97fb354d53
Signed-off-by: Chungwoo Park <cww.park@samsung.com>
Chungwoo Park [Wed, 23 May 2018 04:26:55 +0000 (13:26 +0900)]
[9610] arm64: Modify exynos9610 related dm header.
Change-Id: I7f4a7e5c1c7d8001f097b397f1af433d7ba4ee90
Signed-off-by: Chungwoo Park <cww.park@samsung.com>
Chungwoo Park [Wed, 23 May 2018 04:24:14 +0000 (13:24 +0900)]
[9610] arm64: Modify devfreq pm qos related id.
Change-Id: I1a2f23cf35cc1502a9089e8b8df3d41fb8af8874
Signed-off-by: Chungwoo Park <cww.park@samsung.com>
Chungwoo Park [Wed, 23 May 2018 06:32:02 +0000 (15:32 +0900)]
[9610] arm64: dtsi: Add devfreq audio power node to dt.
Change-Id: Ia076a88f015f9b19945f32b865aabff26640f077
Signed-off-by: Chungwoo Park <cww.park@samsung.com>
Chungwoo Park [Wed, 23 May 2018 01:07:40 +0000 (10:07 +0900)]
[COMMON] qos: Add chip config and remove qos.
Change-Id: I50e34b350cb7642c13a12ce6d56769b75ecb15e1
Signed-off-by: Chungwoo Park <cww.park@samsung.com>
Chungwoo Park [Wed, 23 May 2018 00:46:03 +0000 (09:46 +0900)]
[COMMON] devfreq: Update to devfreq core code.
This patch updated devfreq core related code.
Change-Id: I74c069783c8f87779107cddb35b2f984d359627e
Signed-off-by: Chungwoo Park <cww.park@samsung.com>
Chungwoo Park [Wed, 23 May 2018 05:56:21 +0000 (14:56 +0900)]
[9610] soc: samsung: Update dm related config.
Change-Id: Ia111d2df821e45b1936f9ed2dfe092a475713ed5
Signed-off-by: Chungwoo Park <cww.park@samsung.com>
Woosung Lee [Wed, 20 Aug 2014 05:53:14 +0000 (14:53 +0900)]
[COMMON] PM: Fixed debugging information for pm_qos in kernel 4.4.
During debugging or profiling, pm_qos list like below is useful information.
device_throughput
default value: 0
target value: 468000
requests:
ffffffc0012896f8: 0
ffffffc06f2f0458: 0
But only pm_qos_request declared for global name space could find what it is.
If pm_qos_request declared in local name space, its address doesn't appeared in
System.map file.
So add more information about pm_qos_request's position like below.
device_throughput
default value: 0
target value: 468000
requests:
ffffffc0012896f8(lpass_probe:1027): 0
ffffffc06f2f0458(fimg2d_pm_qos_add_bus:170): 0
Change-Id: Ib4d18bb7fb44fc6f5c4516382447ed2e60b1efd5
Signed-off-by: Woosung Lee <wstar.lee@samsung.com>