Johnlay Park [Fri, 6 Apr 2018 07:05:14 +0000 (16:05 +0900)]
[COMMON] sched/rt: enforcing the rt task serialization
to maximize the cache hot benifit.
Change-Id: Idf4854b442bcefe67f6ed7488d154a328d429c44
Signed-off-by: Johnlay Park <jonglae.park@samsung.com>
Johnlay Park [Thu, 5 Apr 2018 11:56:20 +0000 (20:56 +0900)]
Revert "[9820] sched: core: fix bug that rt could not be binded to little"
This reverts commit
5933bc155713c86efe99c096ca7ff7421ca53f46
Change-Id: Ib4d852432562747b74472f2dd2c32abd8ea5d4f3
Park Bumgyu [Fri, 6 Apr 2018 05:46:25 +0000 (14:46 +0900)]
sched: ems: remove ehmp.c
EHMP(Exynos HMP) was replaced by EMS(Exynos Mobile Scheduler).
Delete existing ehmp.c.
Change-Id: I437b4b5f0572525f4f692c4a8242c5525f3e2140
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
Park Bumgyu [Fri, 6 Apr 2018 06:02:28 +0000 (15:02 +0900)]
sched: ems: move active balance to ems
Move the active balance related code from ehmp.c to core.c of ems.
ehmp.c will be removed.
Change-Id: I6a01db308b3c889f01da642fa3b96df93dc6432f
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
Park Bumgyu [Fri, 6 Apr 2018 05:15:09 +0000 (14:15 +0900)]
sched: ems: integrate common API
Commonly used APIs are delcared redundantly in several files in EMS.
It is integrated into core.c.
Change-Id: Ic42d508d1083f9321c856452f50731c2a9fa9adf
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
Park Bumgyu [Fri, 6 Apr 2018 05:41:30 +0000 (14:41 +0900)]
sched: ems: seperate task util initiialization
Seperate code related to task util initialization to facilitate
code management.
Change-Id: I86244fe3169467b74baca6a34b968ef04c495586
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
Youngtae Lee [Wed, 28 Jun 2017 10:35:54 +0000 (03:35 -0700)]
[9820] sched: core: fix bug that rt could not be binded to little
Current rt little binding code is working
when target task is on runqueue. Remove this condition
to all rt tasks bind to little.
Change-Id: I2f1883e2e8dffef25920848f6ef87b38a231ff0c
Signed-off-by: Youngtae Lee <yt0729.lee@samsung.com>
Soohyun Kim [Wed, 28 Mar 2018 07:15:33 +0000 (16:15 +0900)]
[COMMON] sched/rt : fix unnecessary operation for PELT
Change-Id: I3579565f8025b151b303862a710374963197731e
Signed-off-by: Soohyun Kim <soohyuni.kim@samsung.com>
Park Bumgyu [Fri, 6 Apr 2018 04:46:39 +0000 (13:46 +0900)]
sched: ems: separate energy coefficient cpu selection
Separate code related to energy conefficient cpu selection to
facilitate code management.
Change-Id: I0a18490da3f178483108c6cb8c34b904cbaca3d6
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
Park Bumgyu [Thu, 5 Apr 2018 11:01:19 +0000 (20:01 +0900)]
sched: ems: build simplified energy table
The simplified energy table only considers the compute capacity and power
of the cpu. When the frequency domain is registered, an energy table is
created dynamically.
Change-Id: Ifbd466dbd6ba0e496f98f17e3dd3b2850ab3ceea
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
Park Bumgyu [Thu, 5 Apr 2018 06:33:08 +0000 (15:33 +0900)]
sched: ems: parsing energy data to build energy table
To build energy table, parse the mips and coefficient from device tree.
Change-Id: If7db3c4d67cb62a983cccd452ce2546feabe5e27
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
Park Bumgyu [Thu, 5 Apr 2018 05:36:40 +0000 (14:36 +0900)]
sched: ems: avoid to access empty energy table
Accessing the energy table without allocation cause a NULL pointer
exception. energy_table.nr_states have values after the energy table
created, so check the nr_states to avoid problem.
Change-Id: I90d6c9b8ff5ac0eb67b92ab0bb57b911d8f65091
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
Daeyeong Lee [Fri, 6 Apr 2018 06:47:37 +0000 (15:47 +0900)]
[COMMON] sched: ems: Modify trace log name of EMS feature
Change-Id: I8641050a38bccaa26bac3016e52c10a223e14353
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
Park Bumgyu [Tue, 27 Mar 2018 03:50:03 +0000 (12:50 +0900)]
sched: ems: support find energy efficient cpu
Based on the task utilization, it is a function to find the cpu with
the least energy efficiency considering cpu cpacity and power.
Change-Id: I28c333f8f6881ea4aaaf57361cc612975dc35c26
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
Park Bumgyu [Fri, 23 Mar 2018 07:23:43 +0000 (16:23 +0900)]
sched: ems: renewal prefer perf
Modify the structure of prefer perf to work with PCF
Change-Id: Ic26874ecd074645031ecac933999f5e488f4f2b1
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
Park Bumgyu [Fri, 23 Mar 2018 05:07:09 +0000 (14:07 +0900)]
sched: ems: renewal global boost
Modify the structure of global boost to work with PCF. Accordingly,
the range of value is changed from 0~100 to 0/1.
Change-Id: I2a5d35cfeb69a9b9ca9d5e1d043f49ee4d3d4ff9
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
Park Bumgyu [Fri, 23 Mar 2018 05:08:55 +0000 (14:08 +0900)]
sched: ems: support PCF(Performance CPU Finder)
PCF(Performance CPU Finder) provides the ability to find the highest
performance cpu at any given moment. Currently, it is composed of a
selection algorithm based on distributed processing.
Change-Id: Iaaaedd12fee9fe0829db9dd1f7cb72993581a51e
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
lakkyung.jung [Wed, 28 Mar 2018 04:13:21 +0000 (13:13 +0900)]
[COMMON] sched: ems/st_addon: Add core assignment policy for prefer_idle task.
Change-Id: I9179e123b6a04b5ead9605a61e0277c9c9949882
Signed-off-by: lakkyung.jung <lakkyung.jung@samsung.com>
Daeyeong Lee [Tue, 27 Mar 2018 09:46:50 +0000 (18:46 +0900)]
[COMMON] sched: ems: New function to check whether task make cpu overutilize
The lbt_bring_overutilize function checks whether the CPU will be overutilized
at all levels when a task is added to the CPU.
Change-Id: Idbeb0f06f65ab7a807d85f4e76fc1fb8931d12f7
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
Daeyeong Lee [Fri, 23 Mar 2018 07:28:34 +0000 (16:28 +0900)]
[COMMON] sched: ems: Move lbt/ontime node from ehmp to ems
Change-Id: I3422985e2cd8f2d1235f983934af5b401326a7b9
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
Daeyeong Lee [Thu, 22 Mar 2018 10:18:13 +0000 (19:18 +0900)]
[COMMON] sched: ems: Disable ontime feature if ontime node isn't in DT
Change-Id: If7440f36447b73c6e7b8d77bf048b249764bc681
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
Daeyeong Lee [Thu, 22 Mar 2018 12:13:30 +0000 (21:13 +0900)]
[COMMON] sched: ems: Use default ratio if lbt node isn't in DT
Change-Id: I50c6b0547788eaf329eb6cabb311288f4863b3ef
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
Daeyeong Lee [Fri, 23 Mar 2018 07:15:25 +0000 (16:15 +0900)]
[COMMON] sched: ems: Separate On-time feature into ontime.c
Change-Id: I8afdbca1a3c4a042784544fd062913c4f8bbedee
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
Daeyeong Lee [Tue, 13 Mar 2018 09:43:31 +0000 (18:43 +0900)]
[COMMON] sched: fair: ontime task must wake up from specified target_cpu
Change-Id: I49b6cbe6d77b1a4887d50dc0c65206cccaf51f71
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
Johnlay Park [Thu, 22 Mar 2018 14:53:43 +0000 (23:53 +0900)]
[COMMON] sched/rt: introduce FRT scheduler
Cpu selection logic change for fluid scheduling.
Fluid RT Scheduler consider task load for core selection
and it can victim higher priority rt task.
because Fluid RT scheduler make a decision through
weighted load by priority.
Change-Id: I40c3c93d4fcf985b0002796748037cacd04e813e
Signed-off-by: Johnlay Park <jonglae.park@samsung.com>
Daeyeong Lee [Fri, 23 Mar 2018 07:10:55 +0000 (16:10 +0900)]
[COMMON] sched: ems: Separate LBT feature into lbt.c
Change-Id: Id4b7b40f06418d4d1c46c3170999942ccb895f5b
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
Daeyeong Lee [Thu, 22 Mar 2018 04:44:14 +0000 (13:44 +0900)]
[COMMON] sched: ems: Modify to create ontime sysfs node dynamically
Change-Id: I15a1727ae54f45686e6d61f3e4159a841b39ba46
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
Daeyeong Lee [Wed, 21 Mar 2018 06:28:58 +0000 (15:28 +0900)]
[COMMON] sched: ems: Modify to create lbt sysfs node dynamically
Change-Id: I9553139a23fe807beb5ee4ff47d7f4b31813850d
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
Daeyeong Lee [Tue, 20 Mar 2018 09:51:21 +0000 (18:51 +0900)]
[COMMON] sched: ems: Create sysfs directory of ontime/lbt
Change-Id: I68162de1f59ddc5d29efce3350a90357023b9804
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
Park Bumgyu [Fri, 23 Mar 2018 02:13:19 +0000 (11:13 +0900)]
sched: ems: add wakeup balance
Wakeup balance is a scheme that determines which cpu to assign waking
up task or new task to. In fact, it corresponds to the main stream of
EMS. The current patch is skeleton code, and each function will be
reflected.
Change-Id: Ib176e03c94af2d45476bb8b9747b53167e8ff2a9
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
Park Bumgyu [Thu, 22 Mar 2018 05:43:33 +0000 (14:43 +0900)]
sched: change exynos scheduler name from EHMP to EMS
Rename Exynos scheduler. Existing EHMP(Exynos HMP) was a scheduler
considering only HMP chipset. EMS(Exynos Mobile Scheduler) will support
all chipsets regardless of cluster and core configuration.
Change-Id: I2802ddcd9e401a0d92f9c98656b5e591d429d6ce
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
lakkyung.jung [Mon, 29 Jan 2018 13:07:42 +0000 (22:07 +0900)]
sched: ehmp: fix build error when ehmp was disabled.
Change-Id: If7ec0ffe282781ab3bb0d5a845a98603aad66725
Signed-off-by: lakkyung.jung <lakkyung.jung@samsung.com>
Park Bumgyu [Wed, 21 Mar 2018 06:25:47 +0000 (15:25 +0900)]
sched: ems: build skeleton for EMS
Change-Id: I0e79d33aa1e5f64a9621773916d0546c1b0c8d20
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
Daeyeong Lee [Tue, 27 Mar 2018 08:25:24 +0000 (17:25 +0900)]
[COMMON] sched: ems: Fix bug of ontime_task_wakeup
Despite not finding target_cpu, there was a hole to include the task in ontime.
The code to defenc it is added.
Change-Id: Ibf6aec93eedd2d7f8c9f45e2e4acc26705733838
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
Daeyeong Lee [Tue, 13 Mar 2018 04:00:46 +0000 (13:00 +0900)]
[COMMON] sched: ehmp: Add trace log of ontime_task_wakeup
Change-Id: I71ae8e7e8dab77f9771808676c1a14fe79a4c6e7
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
Daeyeong Lee [Mon, 12 Mar 2018 13:56:35 +0000 (22:56 +0900)]
[COMMON] sched: ehmp: Modify ontime_task_wakeup to remove topology dependencies
Change-Id: Iccc9abce05adc6e0d15264eafa1bd6001c707481
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
Daeyeong Lee [Mon, 12 Mar 2018 12:52:26 +0000 (21:52 +0900)]
[COMMON] sched: ehmp: Modify cpu of ontime_entity should be mangaged
Change-Id: I6c2c23e5117d387f8deb9d7995a7377174a06e80
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
Daeyeong Lee [Fri, 9 Mar 2018 06:34:30 +0000 (15:34 +0900)]
[COMMON] sched: ehmp: Refactoring On-time feature to remove topology dependencies
Change-Id: I0112dd25891af4c4010444dca890b1fb38fdb6a7
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
Daeyeong Lee [Tue, 13 Mar 2018 10:13:41 +0000 (19:13 +0900)]
[COMMON] sched: ehmp: Add trace log of lbt_overutilized
Change-Id: I6b6e1ef69679de27b14eee7c8629e760a1fe8c98
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
Daeyeong Lee [Thu, 8 Mar 2018 11:42:13 +0000 (20:42 +0900)]
[COMMON] sched: fair: Support improved LBT feature
Change-Id: Ifc2b9e58a43e41128bde7a2c92e897684c25aecf
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
Daeyeong Lee [Tue, 13 Mar 2018 10:56:50 +0000 (19:56 +0900)]
[COMMON] sched: ehmp: Modify need_active_balance to use lbt_overutilized
Change-Id: I192607e7f51f2125241728cbbeb33f0c2c707c76
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
Daeyeong Lee [Mon, 5 Mar 2018 08:41:06 +0000 (17:41 +0900)]
[COMMON] sched: ehmp: Refactoring LBT feature to remove topology dependencies
Change-Id: I1d59cce214221bfe64a48c2ff34bb14ad6e4c34f
Signed-off-by: Daeyeong Lee <daeyeong.lee@samsung.com>
lakkyung.jung [Wed, 14 Mar 2018 04:46:14 +0000 (13:46 +0900)]
[COMMON] sched: fair/ehmp: Add to estimate core/cluster power down.
after moving task, previous cpu/cluster can be powered down.
so it should be consider it when idle power was calculated.
Change-Id: I13d954a1640940a7be93d0429248be8802fd615c
Signed-off-by: lakkyung.jung <lakkyung.jung@samsung.com>
lakkyung.jung [Tue, 13 Mar 2018 11:35:22 +0000 (20:35 +0900)]
[COMMON] sched: fair/ehmp: Consider cpu capacity when idlest group finds.
Change-Id: I2f168aced04ade3321adcd3408ce2da344d4ab3b
Signed-off-by: lakkyung.jung <lakkyung.jung@samsung.com>
lakkyung.jung [Mon, 26 Feb 2018 11:35:49 +0000 (20:35 +0900)]
sched: ehmp: Add to select initial util type for new task.
Change-Id: Idd792099fb636585f2d620ae7fd3f8405cec142f
Signed-off-by: lakkyung.jung <lakkyung.jung@samsung.com>
lakkyung.jung [Mon, 29 Jan 2018 13:40:38 +0000 (22:40 +0900)]
sched: ehmp/fair: refactor exynos_select_cpu.
Change-Id: I496b0cd4e3890285d9f73b9d5c9f11b6b5c9e888
Signed-off-by: lakkyung.jung <lakkyung.jung@samsung.com>
lakkyung.jung [Fri, 4 May 2018 11:16:53 +0000 (20:16 +0900)]
sched: fair/ems: Add schedtune_util_est
Change-Id: I0a0f1723356683829ce709ec750f4f013aa1c75b
Signed-off-by: lakkyung.jung <lakkyung.jung@samsung.com>
Park Bumgyu [Tue, 16 Jan 2018 10:01:05 +0000 (19:01 +0900)]
[COMMON] sched: ehmp: support EHMP(Exynos HMP)
Change-Id: Ie7ee8a84ed0fdc3a62d10a5b55488477edcdba7f
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
Sangkyu Kim [Tue, 2 Apr 2019 04:23:12 +0000 (13:23 +0900)]
[RAMEN9610-14121][COMMON] sched: cpufreq_schedutil: add irq_work_sync to wait completion
Change-Id: I3e60ee16bebeecc7e0731c87a3ca23058f20fa71
Signed-off-by: Sangkyu Kim <skwith.kim@samsung.com>
Youngtae Lee [Mon, 23 Apr 2018 04:06:33 +0000 (13:06 +0900)]
sched: schedutil: remove syncronize_rcu for fast hp
Change-Id: I3eebe5d8e12fc8fe5bc0810949c76883cb0564be
Signed-off-by: Youngtae Lee <yt0729.lee@samsung.com>
Park Bumgyu [Tue, 1 Aug 2017 10:36:30 +0000 (19:36 +0900)]
[COMMON] cpufreq: prevent to access NULL sg_policy
Change-Id: If6a532db0dc3a7fe7b3146fd48c03550d5e16fbd
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
Cosmin Tanislav [Tue, 16 Apr 2024 18:01:49 +0000 (21:01 +0300)]
Reapply "cpufreq: schedutil: Always process remote callback with slow switching"
This reverts commit
f7b03e2cd6f829a4fe1be4284ce5b9098eec4f74.
Cosmin Tanislav [Tue, 16 Apr 2024 18:00:37 +0000 (21:00 +0300)]
Revert "cpufreq: schedutil: move slow path from workqueue to SCHED_FIFO task"
This reverts commit
02a7b1ee3baa15a98b541d8cfd156bbe1a091c20.
Change-Id: Icd42a9920059daf44fdbefc0caff823f30ae2621
Cosmin Tanislav [Tue, 16 Apr 2024 17:59:51 +0000 (20:59 +0300)]
Revert "sched/cpufreq/schedutil: Fix error path mutex unlock"
This reverts commit
423f2c97a25392635216d349b85a4c2440de3a45.
Cosmin Tanislav [Tue, 16 Apr 2024 17:59:26 +0000 (20:59 +0300)]
Revert "cpufreq: schedutil: Rectify comment in sugov_irq_work() function"
This reverts commit
d06e622d3d9206e6a2cc45a0f9a3256da8773ff4.
Cosmin Tanislav [Tue, 16 Apr 2024 17:58:15 +0000 (20:58 +0300)]
Revert "cpufreq: schedutil: irq-work and mutex are only used in slow path"
This reverts commit
21ef57297b15a49b0c4dd4e7135c1a08e9a29a1c.
Cosmin Tanislav [Tue, 16 Apr 2024 17:58:10 +0000 (20:58 +0300)]
Revert "cpufreq: schedutil: Don't restrict kthread to related_cpus unnecessarily"
This reverts commit
e2cabe48c20efb174ce0c01190f8b9c5f3ea1d13.
Cosmin Tanislav [Tue, 16 Apr 2024 17:57:52 +0000 (20:57 +0300)]
Revert "[RAMEN9610-14121][COMMON] sched: cpufreq_schedutil: add irq_work_sync to wait completion"
This reverts commit
3841839571a0fe3ec956ab7d2c0e3c2b110f81cb.
Cosmin Tanislav [Tue, 16 Apr 2024 17:56:52 +0000 (20:56 +0300)]
Revert "cpufreq: schedutil: Always process remote callback with slow switching"
This reverts commit
c49cbc19b31e069cb344921c7286d7549767d10e.
Cosmin Tanislav [Tue, 16 Apr 2024 17:56:11 +0000 (20:56 +0300)]
Revert "[COMMON] cpufreq: prevent to access NULL sg_policy"
This reverts commit
4abca8e361237ff81ac9e81aa8304544ee090050.
Cosmin Tanislav [Tue, 16 Apr 2024 17:41:05 +0000 (20:41 +0300)]
Revert "cpu/hotplug: Convert hotplug locking to percpu rwsem"
This reverts commit
fc8dffd379ca5620664336eb895a426b42847558.
Change-Id: I08bcc9e3e0401b1db046ca2588922e24ca79c618
Cosmin Tanislav [Tue, 16 Apr 2024 17:39:23 +0000 (20:39 +0300)]
Revert "cpu/hotplug: Mute hotplug lockdep during init"
This reverts commit
2ae0dd162070fe7af11b468ce769e9c3b7a48f3b.
Cosmin Tanislav [Tue, 16 Apr 2024 17:37:37 +0000 (20:37 +0300)]
Revert "smp/hotplug: Differentiate the AP-work lockdep class between up and down"
This reverts commit
5f4b55e10645b7371322c800a5ec745cab487a6c.
Change-Id: Ia8ccd23a24d034ec382cb4ae4be8f1e05cbc48f8
Cosmin Tanislav [Tue, 16 Apr 2024 15:34:14 +0000 (18:34 +0300)]
fixup! [COMMON] usb: add USB driver for Exynos
Cosmin Tanislav [Tue, 16 Apr 2024 15:32:29 +0000 (18:32 +0300)]
fixup! [COMMON] usb: add USB driver for Exynos
Robin Murphy [Tue, 9 Jan 2018 15:34:07 +0000 (15:34 +0000)]
iommu/exynos: Don't unconditionally steal bus ops
[ Upstream commit
dc98b8480d8a68c2ce9aa28b9f0d714fd258bc0b ]
Removing the early device registration hook overlooked the fact that
it only ran conditionally on a compatible device being present in the
DT. With exynos_iommu_init() now running as an unconditional initcall,
problems arise on non-Exynos systems when other IOMMU drivers find
themselves unable to install their ops on the platform bus, or at worst
the Exynos ops get called with someone else's domain and all hell breaks
loose.
The global ops/cache setup could probably all now be triggered from the
first IOMMU probe, as with dma_dev assigment, but for the time being the
simplest fix is to resurrect the logic from commit
a7b67cd5d9af
("iommu/exynos: Play nice in multi-platform builds") to explicitly check
the DT for the presence of an Exynos IOMMU before trying anything.
Fixes:
928055a01b3f ("iommu/exynos: Remove custom platform device registration code")
Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Acked-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Martin KaFai Lau [Fri, 6 Oct 2017 04:52:12 +0000 (21:52 -0700)]
BACKPORT: bpf: Use char in prog and map name
Instead of u8, use char for prog and map name. It can avoid the
userspace tool getting compiler's signess warning. The
bpf_prog_aux, bpf_map, bpf_attr, bpf_prog_info and
bpf_map_info are changed.
Change-Id: I599a8f1eccb0d63aa8d680b771fff1580c69cf75
Signed-off-by: Martin KaFai Lau <kafai@fb.com>
Cc: Jakub Kicinski <jakub.kicinski@netronome.com>
Acked-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Alexei Starovoitov <ast@fb.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Martin KaFai Lau [Fri, 6 Oct 2017 04:52:11 +0000 (21:52 -0700)]
bpf: Change bpf_obj_name_cpy() to better ensure map's name is init by 0
During get_info_by_fd, the prog/map name is memcpy-ed. It depends
on the prog->aux->name and map->name to be zero initialized.
bpf_prog_aux is easy to guarantee that aux->name is zero init.
The name in bpf_map may be harder to be guaranteed in the future when
new map type is added.
Hence, this patch makes bpf_obj_name_cpy() to always zero init
the prog/map name.
Suggested-by: Daniel Borkmann <daniel@iogearbox.net>
Change-Id: Ib3bb6efbda0bd682e0cdad8617f587320d7dd397
Signed-off-by: Martin KaFai Lau <kafai@fb.com>
Acked-by: Daniel Borkmann <daniel@iogearbox.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Martin KaFai Lau [Wed, 27 Sep 2017 21:37:53 +0000 (14:37 -0700)]
BACKPORT: bpf: Add map_name to bpf_map_info
This patch allows userspace to specify a name for a map
during BPF_MAP_CREATE.
The map's name can later be exported to user space
via BPF_OBJ_GET_INFO_BY_FD.
Change-Id: I96b8d74b09c14f2413d421bba61cfa63d1730bc3
Signed-off-by: Martin KaFai Lau <kafai@fb.com>
Acked-by: Alexei Starovoitov <ast@fb.com>
Acked-by: Daniel Borkmann <daniel@iogearbox.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Martin KaFai Lau [Wed, 27 Sep 2017 21:37:52 +0000 (14:37 -0700)]
BACKPORT: bpf: Add name, load_time, uid and map_ids to bpf_prog_info
The patch adds name and load_time to struct bpf_prog_aux. They
are also exported to bpf_prog_info.
The bpf_prog's name is passed by userspace during BPF_PROG_LOAD.
The kernel only stores the first (BPF_PROG_NAME_LEN - 1) bytes
and the name stored in the kernel is always \0 terminated.
The kernel will reject name that contains characters other than
isalnum() and '_'. It will also reject name that is not null
terminated.
The existing 'user->uid' of the bpf_prog_aux is also exported to
the bpf_prog_info as created_by_uid.
The existing 'used_maps' of the bpf_prog_aux is exported to
the newly added members 'nr_map_ids' and 'map_ids' of
the bpf_prog_info. On the input, nr_map_ids tells how
big the userspace's map_ids buffer is. On the output,
nr_map_ids tells the exact user_map_cnt and it will only
copy up to the userspace's map_ids buffer is allowed.
Change-Id: I85270047bd427a4f00259541a08868df62168959
Signed-off-by: Martin KaFai Lau <kafai@fb.com>
Acked-by: Alexei Starovoitov <ast@fb.com>
Acked-by: Daniel Borkmann <daniel@iogearbox.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Nolen Johnson [Fri, 16 Feb 2024 20:58:47 +0000 (15:58 -0500)]
ARM64: defconfig: FCM required changes
* Solves the "There is an internal problem with your device.".
Change-Id: I06c77d1945a8995d2a6a0e173434129594db4c3d
Connor O'Brien [Fri, 7 Feb 2020 18:01:49 +0000 (10:01 -0800)]
UPSTREAM: security: selinux: allow per-file labeling for bpffs
Add support for genfscon per-file labeling of bpffs files. This allows
for separate permissions for different pinned bpf objects, which may
be completely unrelated to each other.
Signed-off-by: Connor O'Brien <connoro@google.com>
Signed-off-by: Steven Moreland <smoreland@google.com>
Acked-by: Stephen Smalley <sds@tycho.nsa.gov>
Signed-off-by: Paul Moore <paul@paul-moore.com>
(cherry picked from commit
4ca54d3d3022ce27170b50e4bdecc3a42f05dbdc)
[which is
v5.6-rc1-10-g4ca54d3d3022 and thus already included in 5.10]
Bug:
200440527
Change-Id: I8234b9047f29981b8140bd81bb2ff070b3b0b843
(cherry picked from commit
d52ac987ad2ae16ff313d7fb6185bc412cb221a4)
Hridya Valsaraju [Sun, 8 Dec 2019 20:43:44 +0000 (12:43 -0800)]
FROMLIST: security: selinux: allow per-file labelling for binderfs
This patch allows genfscon per-file labeling for binderfs.
This is required to have separate permissions to allow
access to binder, hwbinder and vndbinder devices which are
relocating to binderfs.
Acked-by: Jeff Vander Stoep <jeffv@google.com>
Acked-by: Mark Salyzyn <salyzyn@android.com>
Signed-off-by: Hridya Valsaraju <hridya@google.com>
Bug:
136497735
(cherry picked from commit
7a4b51947475a7f67e2bd06c4a4c768e2e64a975
git: //git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux.git
master)
Link: https://lore.kernel.org/patchwork/patch/1175776/
Change-Id: I105cc54b30ddd4120dc23a363bddc2f9d00e4dc4
Sebastiano Barezzi [Thu, 18 Aug 2022 13:01:45 +0000 (15:01 +0200)]
ARM: dts: msm: Move to second stage init
Change-Id: Ia7642d730b0a68e045f19c6a3fd00ce3c8844379
jabashque [Mon, 23 Oct 2023 06:21:09 +0000 (23:21 -0700)]
ARM64: configs: Enable CONFIG_PROC_CMDLINE_APPEND_ANDROID_FORCE_NORMAL_BOOT
Change-Id: I89f115c5757cdb7edb74bd45f881c5b8a7acd644
Sebastiano Barezzi [Sun, 22 Oct 2023 21:05:43 +0000 (14:05 -0700)]
ARM64: configs: Enable CONFIG_INITRAMFS_IGNORE_SKIP_FLAG
Change-Id: I22b5eb981c886d9280957f6bd1047fc76ac9916b
Yumi Yukimura [Mon, 23 Oct 2023 06:06:53 +0000 (23:06 -0700)]
fs: proc: Add PROC_CMDLINE_APPEND_ANDROID_FORCE_NORMAL_BOOT
For Android 9 launch A/B devices migrating to Android 10 style
system-as-root, `androidboot.force_normal_boot=1` must be passed in
cmdline when booting into normal or charger mode. However, it is not
always possible for one to modify the bootloader to adhere to these
changes. As a workaround, one can use the presence of the
`skip_initramfs` flag in cmdline to to decide whether to append the new
flag to cmdline on the kernel side.
Co-authored-by: jabashque <jabashque@gmail.com>
Change-Id: Ia00ea2c54e2a7d2275e552837039033adb98d0ff
Sebastiano Barezzi [Tue, 28 Jun 2022 21:10:29 +0000 (23:10 +0200)]
init: Add CONFIG_INITRAMFS_IGNORE_SKIP_FLAG
* Ignoring an ignore flag, yikes
* Also replace skip_initramf with want_initramf (omitting last letter for Magisk since it binary patches that out of kernel, I'm not even sure why we're supporting that mess)
Co-authored-by: Erfan Abdi <erfangplus@gmail.com>
Change-Id: Ifdf726f128bc66bf860bbb71024f94f56879710f
Robin Jarry [Mon, 26 Feb 2018 18:41:47 +0000 (19:41 +0100)]
kbuild: use HOSTLDFLAGS for single .c executables
When compiling executables from a single .c file, the linker is also
invoked. Pass the HOSTLDFLAGS like for other linker commands.
Signed-off-by: Robin Jarry <robin.jarry@6wind.com>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Change-Id: I8332132775e7cc220eb7d1e20911223bca65e1e2
Tim Zimmermann [Mon, 18 Apr 2022 14:33:58 +0000 (16:33 +0200)]
misc: samsung: scsc_bt: Always set transport unit size to 16
* Our firmware wants this to be 16 (PCM) instead of 0x00 (HCI)
* Removes the need for patching userspace
Change-Id: Ie88a682b5acc6ef73db5d35dbd336544ab0a1a2a
John Vincent [Thu, 5 Aug 2021 04:37:08 +0000 (12:37 +0800)]
drivers: soc: cal-if: Prevent optimization of structs on fvmap_copy_from_sram
Newer versions of Clang tend to apply heavier optimizations than GCC, especially if -mcpu is set. Because we are applying optimizations to the LITTLE core (see
b92e1e70898f515646142736df8d72c43e97e251) kernel panics during boot, citing inability to access memory regions on fvmap_init.
<6>[ 0.664609] [0: swapper/0: 1] fvmap_init:fvmap initialize
0000000000000000
<0>[ 0.664625] [0: swapper/0: 1] Unable to handle kernel paging request at virtual address
ffffff800b2f2402
<2>[ 0.664640] [0: swapper/0: 1] sec_debug_set_extra_info_fault = KERN / 0xffffff800b2f2402
<6>[ 0.664657] [0: swapper/0: 1] search_item_by_key: (FTYPE) extra_info is not ready
<2>[ 0.664666] [0: swapper/0: 1] set_item_val: fail to find FTYPE
<6>[ 0.664680] [0: swapper/0: 1] search_item_by_key: (FAULT) extra_info is not ready
<2>[ 0.664688] [0: swapper/0: 1] set_item_val: fail to find FAULT
<6>[ 0.664702] [0: swapper/0: 1] search_item_by_key: (PC) extra_info is not ready
<2>[ 0.664710] [0: swapper/0: 1] set_item_val: fail to find PC
<6>[ 0.664724] [0: swapper/0: 1] search_item_by_key: (LR) extra_info is not ready
<2>[ 0.664732] [0: swapper/0: 1] set_item_val: fail to find LR
<1>[ 0.664746] [0: swapper/0: 1] Mem abort info:
<1>[ 0.664760] [0: swapper/0: 1] Exception class = DABT (current EL), IL = 32 bits
<1>[ 0.664774] [0: swapper/0: 1] SET = 0, FnV = 0
<1>[ 0.664787] [0: swapper/0: 1] EA = 0, S1PTW = 0
<1>[ 0.664799] [0: swapper/0: 1] Data abort info:
<1>[ 0.664814] [0: swapper/0: 1] ISV = 0, ISS = 0x00000021
<1>[ 0.664828] [0: swapper/0: 1] CM = 0, WnR = 0
<1>[ 0.664842] [0: swapper/0: 1] swapper pgtable: 4k pages, 39-bit VAs, pgd =
ffffff800a739000
<1>[ 0.664856] [0: swapper/0: 1] [
ffffff800b2f2402] *pgd=
000000097cdfe003, *pud=
000000097cdfe003, *pmd=
00000009742a9003, *pte=
00e800000204b707
<0>[ 0.664884] [0: swapper/0: 1] Internal error: Oops:
96000021 [#1] PREEMPT SMP
<4>[ 0.664899] [0: swapper/0: 1] Modules linked in:
<0>[ 0.664916] [0: swapper/0: 1] Process swapper/0 (pid: 1, stack limit = 0xffffff80081a8000)
<0>[ 0.664936] [0: swapper/0: 1] debug-snapshot: core register saved(CPU:0)
<0>[ 0.664950] [0: swapper/0: 1] L2ECTLR_EL1:
0000000000000007
<0>[ 0.664959] [0: swapper/0: 1] L2ECTLR_EL1 valid_bit(30) is NOT set (0x0)
<0>[ 0.664978] [0: swapper/0: 1] CPUMERRSR:
0000000008000001, L2MERRSR:
0000000010200c00
<0>[ 0.664992] [0: swapper/0: 1] CPUMERRSR valid_bit(31) is NOT set (0x0)
<0>[ 0.665006] [0: swapper/0: 1] L2MERRSR valid_bit(31) is NOT set (0x0)
<0>[ 0.665020] [0: swapper/0: 1] debug-snapshot: context saved(CPU:0)
<6>[ 0.665088] [0: swapper/0: 1] debug-snapshot: item - log_kevents is disabled
<6>[ 0.665112] [0: swapper/0: 1] TIF_FOREIGN_FPSTATE: 0, FP/SIMD depth 0, cpu: 0
<4>[ 0.665130] [0: swapper/0: 1] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.14.113 - Fresh Core-user #1
<4>[ 0.665144] [0: swapper/0: 1] Hardware name: Samsung A50 LTN OPEN rev04 board based on Exynos9610 (DT)
<4>[ 0.665160] [0: swapper/0: 1] task:
ffffffc8f4ce8000 task.stack:
ffffff80081a8000
<4>[ 0.665180] [0: swapper/0: 1] PC is at fvmap_init+0xac/0x2c8
<4>[ 0.665195] [0: swapper/0: 1] LR is at fvmap_init+0x70/0x2c8
<4>[ 0.665211] [0: swapper/0: 1] pc : [<
ffffff80085e12b8>] lr : [<
ffffff80085e127c>] pstate:
20400145
<4>[ 0.665225] [0: swapper/0: 1] sp :
ffffff80081abb80
<4>[ 0.665238] [0: swapper/0: 1] x29:
ffffff80081abbb0 x28:
0000000000000000
<4>[ 0.665256] [0: swapper/0: 1] x27:
ffffff8009efc000 x26:
0000000000000000
<4>[ 0.665273] [0: swapper/0: 1] x25:
ffffff800b2e5970 x24:
ffffff8008fa7222
<4>[ 0.665291] [0: swapper/0: 1] x23:
ffffff800b2e5a60 x22:
ffffff8009efb000
<4>[ 0.665307] [0: swapper/0: 1] x21:
ffffffc8f3480000 x20:
ffffff800b2e0000
<4>[ 0.665324] [0: swapper/0: 1] x19:
ffffff800b2f2400 x18:
0000000000000000
<4>[ 0.665341] [0: swapper/0: 1] x17:
ffffff8009bff23c x16:
0000000000000000
<4>[ 0.665358] [0: swapper/0: 1] x15:
00000000000000c6 x14:
0000000000000054
<4>[ 0.665375] [0: swapper/0: 1] x13:
000000000000d7b8 x12:
0000000000000000
<4>[ 0.665392] [0: swapper/0: 1] x11:
0000000000000000 x10:
ffffffc8f3480000
<4>[ 0.665409] [0: swapper/0: 1] x9 :
ffffff800b2f2400 x8 :
0000000000000000
<4>[ 0.665426] [0: swapper/0: 1] x7 :
5b20205d39303634 x6 :
ffffffc0117d09b7
<4>[ 0.665443] [0: swapper/0: 1] x5 :
0000000000000001 x4 :
000000000000000c
<4>[ 0.665459] [0: swapper/0: 1] x3 :
0000000000000a30 x2 :
ffffffffffffffce
<4>[ 0.665476] [0: swapper/0: 1] x1 :
000000000b040000 x0 :
000000000000000a
Since we need these optimizations for performance reasons, the only way to resolve this is to solve the issue. Samsung already did something similar to cal-if before.
We only needed to make fvmap_header/header volatile and has been tested to work.
Signed-off-by: John Vincent <git@tensevntysevn.cf>
Change-Id: Ic419135d4a80cbe15f0fa71dc59cc6efa73d6141
Tim Zimmermann [Fri, 14 Jan 2022 19:05:14 +0000 (20:05 +0100)]
drivers: net: wireless: scsc: update slsi_lls_peer_info struct for Android S
* In https://android.googlesource.com/platform/hardware/libhardware_legacy/+/
359fa1d1ba2907436817728f4e9565ed6e8a9b73
there was a new field added to wifi_peer_info struct, our HAL expects these two
to match - with the new change num_rate wasn't properly aligned anymore
causing userspace to allocate a "random" amount of wifi_rate_stat structs
Change-Id: I791a5a26fbb5123d08a8280e3312946b7f89c45c
Tim Zimmermann [Sun, 5 Dec 2021 09:25:57 +0000 (10:25 +0100)]
net: wireless: scsc: do not write info files without wlbtd
* Not needed on AOSP
* Causes kernel panics (Accessing user space memory with fs=KERNEL_DS)
Change-Id: If57cf16246039bd32fc07d91d2f081cca00c42d0
Nolen Johnson [Wed, 13 Apr 2022 22:34:42 +0000 (18:34 -0400)]
drivers: misc: scsc: Fix build when CONFIG_SCSC_WLBTD is not set
* `MEMDUMP_FILE_FOR_RECOVERY` won't be declared otherwise.
Change-Id: I49040415e24a50e116a919ed876e7ddbfa500c1b
Tim Zimmermann [Sun, 5 Dec 2021 09:08:50 +0000 (10:08 +0100)]
ARM64: configs: exynos9610: Disable wlbtd
* This allows us to drop wlbtd userspace service
* Not needed on AOSP anyway
Change-Id: If1b0846371f550f75df28d67bb3f40fda6dee58b
Tim Zimmermann [Mon, 22 Nov 2021 20:57:58 +0000 (21:57 +0100)]
ARM64: configs: exynos9610: Enable CC_OPTIMIZE_FOR_PERFORMANCE
Change-Id: I15bacce94af25d32a58a7dc1e6d9db2f2bf9c4e1
Tim Zimmermann [Mon, 22 Nov 2021 20:52:07 +0000 (21:52 +0100)]
soc: samsung: remove acpm_get_inform
* When built with CC_OPTIMIZE_FOR_PERFORMANCE this causes kernel panics
* These values aren't actually getting set anywhere anyways so let's just remove it
Change-Id: If0332377a1814dce9fed39e39ed4044c8465cda3
Palmer Dabbelt [Tue, 7 Apr 2020 03:08:00 +0000 (20:08 -0700)]
mm: prevent a warning when casting void* -> enum
I recently build the RISC-V port with LLVM trunk, which has introduced a
new warning when casting from a pointer to an enum of a smaller size.
This patch simply casts to a long in the middle to stop the warning. I'd
be surprised this is the only one in the kernel, but it's the only one I
saw.
Signed-off-by: Palmer Dabbelt <palmerdabbelt@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
Link: http://lkml.kernel.org/r/20200227211741.83165-1-palmer@dabbelt.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Change-Id: I91f127e3111aad48cbdfd2e63ab90f88047ddfca
Stricted [Thu, 14 Apr 2022 15:57:15 +0000 (11:57 -0400)]
defconfig: exynos9610: Re-add dropped Wi-Fi AP options lost
in R rebase
* Not sure why Motorola removed these but there's 0 hope of
Wi-Fi AP working without them.
* Note: Motorola stock doesn't have these, oddly.
Change-Id: I545153e75b55bd94fe44f9f318746bed1a2cbb38
Stricted [Fri, 21 Jan 2022 17:35:35 +0000 (17:35 +0000)]
drivers: regulator: fix leading whitespace warning
Change-Id: I2d914aee0464a4edd531164908e5c0e611437658
Tim Zimmermann [Thu, 14 Jan 2021 19:44:19 +0000 (20:44 +0100)]
drivers: net: wireless: scsc: don't delete or deactivate AP
interface in slsi_del_station
* This function is meant for cleaning up going from STA to AP mode
* On latest 18.1 builds deleting/deactivating AP interface causes
hotspot not to work, hostapd starts up and system says hotspot
is on, but due to a kernel error (vif type isn't set to AP anymore)
SSID isn't actually broadcasted and clients can't find nor connect
to the hotspot
* So let's remove this as removing it doesn't seem to have any
negative consequences but fixes hotspot, also disable an
ugly warning caused by this which isn't actually a problem
Change-Id: I5a656fd38697b9be09ecdc5f344bc343458aeaaf
Stricted [Sat, 22 May 2021 18:31:15 +0000 (20:31 +0200)]
ARM64: configs: kane/troika: disable {ex,v}fat
* we have sdfat instead
Change-Id: I9e265238f32dace3cd3658c642769c12d5617250
Paul Keith [Wed, 28 Mar 2018 17:52:29 +0000 (19:52 +0200)]
fs: sdfat: Add MODULE_ALIAS_FS for supported filesystems
* This is the proper thing to do for filesystem drivers
Change-Id: I109b201d85e324cc0a72c3fcd09df4a3e1703042
Signed-off-by: Paul Keith <javelinanddart@gmail.com>
Paul Keith [Fri, 2 Mar 2018 04:10:27 +0000 (05:10 +0100)]
fs: sdfat: Add config option to register sdFAT for VFAT
Change-Id: I72ba7a14b56175535884390e8601960b5d8ed1cf
Signed-off-by: Paul Keith <javelinanddart@gmail.com>
Paul Keith [Fri, 2 Mar 2018 03:51:53 +0000 (04:51 +0100)]
fs: sdfat: Add config option to register sdFAT for exFAT
Change-Id: Id57abf0a4bd0b433fecc622eecb383cd4ea29d17
Signed-off-by: Paul Keith <javelinanddart@gmail.com>
Bruno Martins [Sun, 16 May 2021 14:15:40 +0000 (15:15 +0100)]
fs: Import sdFAT version 2.4.5
From Samsung package version T725XXU2DUD1.
Change-Id: I4e8c3317e03edc44d6ac4248231067da8c4f3873
Rob Herring [Tue, 27 Feb 2018 23:49:57 +0000 (17:49 -0600)]
kbuild: add dtc as dependency on .dtb files
If dtc is rebuilt, we should rebuild .dtb files with the new dtc.
Change-Id: I313ee55506628c0922161541adf293735cb4edae
Acked-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Rob Herring <robh@kernel.org>
Bruno Martins [Mon, 30 Nov 2020 12:30:21 +0000 (12:30 +0000)]
scripts: Silence all dtc warnings seen with Samsung DTS
It is insane to fix them all, so just ignore.
If needed, can be re-enabled by building with 'W=1'.
Change-Id: Ic56bc08b255342fc19f5872463552be13375cceb
Jesse Chan [Sat, 21 Apr 2018 07:08:51 +0000 (00:08 -0700)]
power: supply: s2mu00x: export {CURRENT/VOLTAGE}_MAX to sysfs
Change-Id: I54c775bb80c2151bdc69ea9fb53a48a34327bbef
Stricted [Fri, 21 Jan 2022 17:24:54 +0000 (17:24 +0000)]
kane/troika: disable CONFIG_SCSC_LOG_COLLECTION
* causes random kernel crashes
Change-Id: I5348c4dfba02b1fabb65e124b32f850b8138c197