platform/kernel/linux-rpi.git
3 years agostaging: vc04_services: codec: Fix incorrect buffer cleanup 07/249307/1
Dave Stevenson [Thu, 13 Aug 2020 15:58:18 +0000 (16:58 +0100)]
staging: vc04_services: codec: Fix incorrect buffer cleanup

The allocated input and output buffers are initialised in
buf_init and should only be cleared up in buf_cleanup.
stop_streaming was (incorrectly) cleaning up the buffers to
avoid an issue in videobuf2 that had been fixed by the orphaned
buffer support.

Remove the erroneous cleanup.

Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
[sw0312.kim: cherry-pick rpi-5.4.y commit to fix video decoding seek issue]
Ref: https://github.com/raspberrypi/linux/pull/3790
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Change-Id: I38e3a257a941753b02e448d6d5dd1c8486b648f1

3 years agoARM: tizen_bcm2711_defconfig: Fix console loglevel for logo display 44/247244/2
Hoegeun Kwon [Mon, 9 Nov 2020 07:44:46 +0000 (16:44 +0900)]
ARM: tizen_bcm2711_defconfig: Fix console loglevel for logo display

Modifiy CONSOLE_LOGLEVEL_QUIET defconfig to 3 for logo display.

Change-Id: Idae234c40304fbe8fd5f02941e53505a6bd189fa
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
3 years agoarm64: tizen_bcm2711_defconfig: Fix console loglevel for logo display 25/247225/2
Hoegeun Kwon [Mon, 9 Nov 2020 07:03:59 +0000 (16:03 +0900)]
arm64: tizen_bcm2711_defconfig: Fix console loglevel for logo display

Modifiy CONSOLE_LOGLEVEL_QUIET defconfig to 3 for logo display.

Change-Id: I5112d85dedd1e116a75af0d07c09d77182ff4f5a
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
4 years agorpi4: boot: config: Enable hdmi_force_hotplug 07/246707/1 accepted/tizen/unified/20201105.124359 submit/tizen/20201104.114006
Hoegeun Kwon [Tue, 3 Nov 2020 08:09:20 +0000 (17:09 +0900)]
rpi4: boot: config: Enable hdmi_force_hotplug

There is a problem that the booting stops when booting without connecting
HDMI. To fix it we need to enable hdmi_force_hotplug.

Change-Id: I44e960a04f75c999ab69a75ad72d67311f8b70c1
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
4 years agodrm/vc4: kms: Don't disable the muxing of an active CRTC 06/246706/1
Maxime Ripard [Tue, 3 Nov 2020 08:09:17 +0000 (17:09 +0900)]
drm/vc4: kms: Don't disable the muxing of an active CRTC

The current HVS muxing code will consider the CRTCs in a given state to
setup their muxing in the HVS, and disable the other CRTCs muxes.

However, it's valid to only update a single CRTC with a state, and in this
situation we would mux out a CRTC that was enabled but left untouched by
the new state.

Fix this by setting a flag on the CRTC state when the muxing has been
changed, and only change the muxing configuration when that flag is there.

Fixes: 87ebcd42fb7b ("drm/vc4: crtc: Assign output to channel automatically")
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
[hoegeun.kwon: Needed to fix page flip issue of dual hdmi and for enable
force hotplug configure. ]
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Change-Id: I5c9fb79c9ad07caa8fe77ea724f35c955df6edcf

4 years agodrm/vc4: kms: Store the unassigned channel list in the state 05/246705/1
Maxime Ripard [Tue, 3 Nov 2020 08:09:14 +0000 (17:09 +0900)]
drm/vc4: kms: Store the unassigned channel list in the state

If a CRTC is enabled but not active, and that we're then doing a page
flip on another CRTC, drm_atomic_get_crtc_state will bring the first
CRTC state into the global state, and will make us wait for its vblank
as well, even though that might never occur.

Instead of creating the list of the free channels each time atomic_check
is called, and calling drm_atomic_get_crtc_state to retrieve the
allocated channels, let's create a private state object in the main
atomic state, and use it to store the available channels.

Fixes: 87ebcd42fb7b ("drm/vc4: crtc: Assign output to channel automatically")
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
[hoegeun.kwon: Needed to fix page flip issue of dual hdmi and for enable
force hotplug configure. fix to unsigned long unassigned_channels instead
of integer to fix build errors.]
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Change-Id: Ic8bf07502f614595070e21ecc7912e671a193b09

4 years agodrm/vc4: kms: Add functions to create the state objects 04/246704/1
Maxime Ripard [Tue, 3 Nov 2020 08:09:12 +0000 (17:09 +0900)]
drm/vc4: kms: Add functions to create the state objects

We're going to add a new private state, so let's move the previous state
function creation to some functions to make further additions easier.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
[hoegeun.kwon: Needed to fix page flip issue of dual hdmi and for enable
force hotplug configure.]
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Change-Id: Ice57c56dfbdfbb81f486cba7626512cfbb12b905

4 years agodrm/vc4: kms: Rename NUM_CHANNELS 03/246703/1
Maxime Ripard [Tue, 3 Nov 2020 08:09:01 +0000 (17:09 +0900)]
drm/vc4: kms: Rename NUM_CHANNELS

The NUM_CHANNELS define has a pretty generic name and was right before the
function using it. Let's move to something that makes the hardware-specific
nature more obvious, and to a more appropriate place.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
[hoegeun.kwon: Needed to fix page flip issue of dual hdmi and for enable
force hotplug configure.]
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Change-Id: Ib94c2b3ffbc7e5c95f2c3a965919e523c68f8a12

4 years agodrm/vc4: kms: Remove useless define 02/246702/1
Maxime Ripard [Tue, 3 Nov 2020 08:08:59 +0000 (17:08 +0900)]
drm/vc4: kms: Remove useless define

NUM_OUTPUTS isn't used anymore, let's remove it.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
[hoegeun.kwon: Needed to fix page flip issue of dual hdmi and for enable
force hotplug configure.]
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Change-Id: I20b47a2da045094a06cef9e9a924f46c4dd1d4a9

4 years agoRevert "drm/vc4: kms: Don't disable the muxing of an active CRTC" 01/246701/1
Hoegeun Kwon [Tue, 3 Nov 2020 08:08:57 +0000 (17:08 +0900)]
Revert "drm/vc4: kms: Don't disable the muxing of an active CRTC"

This reverts commit 5d2fec61a25bacc49ee8e84b3c19aee1522f7289.

Revert this patch for apply patch version 2.

Change-Id: Ib7ff9b242dc3f208cf58f7d8f0741321b725c657
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
4 years agoRevert "drm/vc4: kms: Fix VBLANK reporting on a disabled CRTC" 00/246700/1
Hoegeun Kwon [Tue, 3 Nov 2020 08:08:54 +0000 (17:08 +0900)]
Revert "drm/vc4: kms: Fix VBLANK reporting on a disabled CRTC"

This reverts commit e805316d5d44b1f1f080fd8ae8a34b69329d940c.

Revert this patch for apply patch version 2.

Change-Id: If9525aaa3835ab80b8ca83271dc584f68254018a
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
4 years agomm: LKSM: bug fix for KASAN out-of-bound access error on accessing a filter 44/246344/3 accepted/tizen/unified/20201102.124307 submit/tizen/20201030.062213
Sung-hun Kim [Wed, 28 Oct 2020 10:26:31 +0000 (19:26 +0900)]
mm: LKSM: bug fix for KASAN out-of-bound access error on accessing a filter

KASAN reports out-of-bound accesses (reported by Jaehoon Chung)
on slab which is performed for obtaining a next filtered
address to find a sharable page.

LKSM exploits bitmap-based filters to find sharable pages in
an efficient way. A buggy code is a kind of miscalculation for
boundary of the allocated bitmap. This patch takes care of it.

Change-Id: If45c5ce175db067523b60f11e69e12d2bc798659
Signed-off-by: Sung-hun Kim <sfoon.kim@samsung.com>
4 years agomm: LKSM: bug fix for kernel memory leak 43/246343/2
Sung-hun Kim [Tue, 27 Oct 2020 11:48:36 +0000 (20:48 +0900)]
mm: LKSM: bug fix for kernel memory leak

For efficiency, LKSM cleans exited processes in a batched manner when it
finishes a scanning iteration. When it finds exited process while it is in
the scanning iteration, it just pends the mm_slot of the exited process to
the internal list.

On the other hend, when KSM daemon cleans mm_slots of exited processes, it
should care regions of exited processes to remove unreferenced lksm_region
objects.

Previously, most regions are maintained properly but only regions in "head"
of the exited process list does not be cleaned due to the buggy implementation.
At last, uncleaned objects are remained as unreferenced garbages.

Follow message is detected by kmemleak (reported by Suengwoo Kim):
=========================================================================
unreferenced object 0xffffff80c7083600 (size 128):
  comm "ksm_crawld", pid 41, jiffies 4294918362 (age 95.632s)
  hex dump (first 32 bytes):
    00 37 08 c7 80 ff ff ff 60 82 19 bd 80 ff ff ff  .7......`.......
    00 35 08 c7 80 ff ff ff 00 00 00 00 00 00 00 00  .5..............
  backtrace:
    [<0000000048313958>] kmem_cache_alloc_trace+0x1e0/0x348
    [<00000000fd246822>] lksm_region_ref_append+0x48/0xf8
    [<00000000c5a818a0>] ksm_join+0x3a0/0x498
    [<00000000b2c3f36a>] lksm_prepare_full_scan+0xe8/0x390
    [<00000000013943b5>] lksm_crawl_thread+0x214/0xbf8
    [<00000000b4ce0593>] kthread+0x1b0/0x1b8
    [<000000002a3f7216>] ret_from_fork+0x10/0x18
unreferenced object 0xffffff80c7083700 (size 128):
  comm "ksm_crawld", pid 41, jiffies 4294918362 (age 95.632s)
  hex dump (first 32 bytes):
    00 39 08 c7 80 ff ff ff 00 36 08 c7 80 ff ff ff  .9.......6......
    00 35 08 c7 80 ff ff ff 00 00 00 00 00 00 00 00  .5..............
  backtrace:
    [<0000000048313958>] kmem_cache_alloc_trace+0x1e0/0x348
    [<00000000fd246822>] lksm_region_ref_append+0x48/0xf8
    [<00000000c5a818a0>] ksm_join+0x3a0/0x498
    [<00000000b2c3f36a>] lksm_prepare_full_scan+0xe8/0x390
    [<00000000013943b5>] lksm_crawl_thread+0x214/0xbf8
    [<00000000b4ce0593>] kthread+0x1b0/0x1b8
    [<000000002a3f7216>] ret_from_fork+0x10/0x18
...
=========================================================================

This patch takes care of such possible kernel memory leak problem.

Change-Id: Ifb4963773b8803da239a1d3108c5b2690d22d531
Signed-off-by: Sung-hun Kim <sfoon.kim@samsung.com>
4 years agobrcmfmac: Fix memory leak for unpaired brcmf_{alloc/free} 63/246263/1
Seung-Woo Kim [Tue, 27 Oct 2020 10:23:56 +0000 (19:23 +0900)]
brcmfmac: Fix memory leak for unpaired brcmf_{alloc/free}

There are missig brcmf_free() for brcmf_alloc(). Fix memory leak
by adding missed brcmf_free().

Change-Id: I050398a7b828b0fb2aadbe491f353b3d3c47bdd6
Reported-by: Jaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
4 years agodrm/vc4: drv: Add error handding for bind 86/246186/2 accepted/tizen/unified/20201028.123938 submit/tizen/20201027.005200
Hoegeun Kwon [Mon, 26 Oct 2020 11:47:31 +0000 (20:47 +0900)]
drm/vc4: drv: Add error handding for bind

There is a problem that if vc4_drm bind fails, a memory leak occurs on
the drm_property_create side. Add error handding for drm_mode_config.

Change-Id: If23c0dabf01b85368871981f0cba427982922615
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
4 years agostaging: mmal-vchiq: Fix memory leak for vchi_instance 65/246165/1
Seung-Woo Kim [Mon, 26 Oct 2020 07:37:19 +0000 (16:37 +0900)]
staging: mmal-vchiq: Fix memory leak for vchi_instance

The vchi_instance is allocated with vchiq_initialise() but never
handled properly. Fix memory leak for the vchi_instance.

This fixes below kmemleak report:
    [<000000002312557f>] kmem_cache_alloc_trace+0x1e0/0x348
    [<000000002ee5d470>] vchiq_initialise+0xd0/0x258
    [<000000009b51d8f4>] vchi_initialise+0x84/0xc8
    [<00000000a58f68c5>] vchiq_mmal_init+0xb0/0x2f0
    [<000000006c68d7bf>] bcm2835_mmal_probe+0x90/0x660
    ...

Change-Id: Ib10f194aa4058b3e39ec0a250fa36fd00daf9feb
Reported-by: Jaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
4 years agodrm/vc4: kms: Fix VBLANK reporting on a disabled CRTC 42/245642/1
Maxime Ripard [Mon, 12 Oct 2020 03:44:25 +0000 (12:44 +0900)]
drm/vc4: kms: Fix VBLANK reporting on a disabled CRTC

If a CRTC is enabled but not active, and that we're then doing a page flip
on another CRTC, drm_atomic_get_crtc_state will bring the first CRTC state
into the global state, and will make us wait for its vblank as well, even
though that might never occur.

Fix this by considering all the enabled CRTCs by either using their new
state in the global state, or using their current state if they aren't part
of the new state being checked, to remove their assigned channel from the
pool before started to assign channels to CRTCs enabled by the state.

Fixes: 87ebcd42fb7b ("drm/vc4: crtc: Assign output to channel automatically")
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
[hoegeun.kwon: Needed to fix page flip issue of dual hdmi.]
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Change-Id: Ic8b8083a652df142a17ec0d50f6c2572494ba3c0

4 years agodrm/vc4: kms: Don't disable the muxing of an active CRTC 41/245641/1
Maxime Ripard [Thu, 8 Oct 2020 11:25:18 +0000 (13:25 +0200)]
drm/vc4: kms: Don't disable the muxing of an active CRTC

The current HVS muxing code will consider the CRTCs in a given state to
setup their muxing in the HVS, and disable the other CRTCs muxes.

However, it's valid to only update a single CRTC with a state, and in this
situation we would mux out a CRTC that was enabled but left untouched by
the new state.

Fix this by considering all the CRTCs in the state and the ones with a
state and active.

Fixes: 87ebcd42fb7b ("drm/vc4: crtc: Assign output to channel automatically")
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
[hoegeun.kwon: Needed to fix page flip issue of dual hdmi.]
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Change-Id: Idb6e79214f52e470e9fcf5a0579873402c631eb2

4 years agodrm/vc4: kms: Fix to split vc4 and vc5 hvs pv muxing commit 40/245640/1
Hoegeun Kwon [Mon, 12 Oct 2020 12:10:58 +0000 (21:10 +0900)]
drm/vc4: kms: Fix to split vc4 and vc5 hvs pv muxing commit

In order to use dual HDMI normally, vc4 and vc5 should be separated.
Split vc4 hvs pv muxing commit and vc5 referring to patch[1].

[1] drm/vc4: crtc: Assign output to channel automatically
    https://cgit.freedesktop.org/drm/drm-misc/commit/?id=87ebcd42fb7b8d1d3269007a621e41ae96a0077e

Change-Id: I5427cfd885c4643f764f8f84bed0f017c5d2a562
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
4 years agodrm/vc4: kms: Document the muxing corner cases 39/245639/1
Maxime Ripard [Thu, 8 Oct 2020 11:25:17 +0000 (13:25 +0200)]
drm/vc4: kms: Document the muxing corner cases

We've had a number of muxing corner-cases with specific ways to reproduce
them, so let's document them to make sure they aren't lost and introduce
regressions later on.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
[hoegeun.kwon: Needed to fix page flip issue of dual hdmi.]
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Change-Id: Icc4f82cd0c22f7b0b7e3c33be37d2e9d287638e4

4 years agodrm/vc4: kms: Split the HVS muxing check in a separate function 38/245638/1
Maxime Ripard [Mon, 12 Oct 2020 07:55:43 +0000 (16:55 +0900)]
drm/vc4: kms: Split the HVS muxing check in a separate function

The code that assigns HVS channels during atomic_check is starting to grow
a bit big, let's move it into a separate function.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
[hoegeun.kwon: Needed to fix page flip issue of dual hdmi.]
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Change-Id: Icf636a846282981d21ad3e6652a3ec51f14993a4

4 years agodrm/vc4: crtc: Keep the previously assigned HVS FIFO 37/245637/1
Maxime Ripard [Mon, 12 Oct 2020 07:44:43 +0000 (16:44 +0900)]
drm/vc4: crtc: Keep the previously assigned HVS FIFO

The HVS FIFOs are currently assigned each time we have an atomic_check
for all the enabled CRTCs.

However, if we are running multiple outputs in parallel and we happen to
disable the first (by index) CRTC, we end up changing the assigned FIFO
of the second CRTC without disabling and reenabling the pixelvalve which
ends up in a stall and eventually a VBLANK timeout.

In order to fix this, we can create a special value for our assigned
channel to mark it as disabled, and if our CRTC already had an assigned
channel in its previous state, we keep on using it.

Fixes: 87ebcd42fb7b ("drm/vc4: crtc: Assign output to channel automatically")
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
[hoegeun.kwon: Needed to fix page flip issue of dual hdmi.]
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Change-Id: I70e0d6b563d5c7f22a1a7e1527a401ac42395b78

4 years agodrm/vc4: kms: Assign a FIFO to enabled CRTCs instead of active 36/245636/1
Maxime Ripard [Mon, 12 Oct 2020 04:26:40 +0000 (13:26 +0900)]
drm/vc4: kms: Assign a FIFO to enabled CRTCs instead of active

The HVS has three FIFOs that can be assigned to a number of PixelValves
through a mux.

However, changing that FIFO requires that we disable and then enable the
pixelvalve, so we want to assign FIFOs to all the enabled CRTCs, and not
just the active ones.

Fixes: 87ebcd42fb7b ("drm/vc4: crtc: Assign output to channel automatically")
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
[hoegeun.kwon: Needed to fix page flip issue of dual hdmi.]
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Change-Id: Id418d321e3cfc9b992bd1868e8084d9f8694a46e

4 years agobrcmfmac: change from brcmf_dbg to brcmf_info 18/245218/1 accepted/tizen/6.0/unified/20201030.104454 accepted/tizen/6.0/unified/hotfix/20201102.235212 accepted/tizen/unified/20201006.080059 submit/tizen/20201006.033113 submit/tizen_6.0/20201029.205501 submit/tizen_6.0_hotfix/20201102.192901 submit/tizen_6.0_hotfix/20201103.115101 tizen_6.0.m2_release
Jaehoon Chung [Mon, 5 Oct 2020 11:39:01 +0000 (20:39 +0900)]
brcmfmac: change from brcmf_dbg to brcmf_info

Change from brcmf_dbg to brcmf_info.
This patch is workaround to check debug message on Testhub.

Change-Id: I7fef8f64fc38e43b6544fab3e9474e7f1829cc60
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
4 years agodrm/vc4: hvs: Pull the state of all the CRTCs prior to PV muxing 24/244524/2 accepted/tizen/unified/20200922.053406 submit/tizen/20200922.014449
Maxime Ripard [Thu, 17 Sep 2020 12:16:23 +0000 (14:16 +0200)]
drm/vc4: hvs: Pull the state of all the CRTCs prior to PV muxing

The vc4 display engine has a first controller called the HVS that will
perform the composition of the planes. That HVS has 3 FIFOs and can
therefore compose planes for up to three outputs. The timings part is
generated through a component called the Pixel Valve, and the BCM2711 has 6
of them.

Thus, the HVS has some bits to control which FIFO gets output to which
Pixel Valve. The current code supports that muxing by looking at all the
CRTCs in a new DRM atomic state in atomic_check, and given the set of
constraints that we have, assigns FIFOs to CRTCs or reject the mode
entirely. The actual muxing will occur during atomic_commit.

However, that doesn't work if only a fraction of the CRTCs' state is
updated in that state, since it will ignore the CRTCs that are kept running
unmodified, and will thus unassign its associated FIFO, and later disable
it.

In order to make the code work as expected, let's pull the CRTC state of
all the enabled CRTC in our atomic_check so that we can operate on all the
running CRTCs, no matter whether they are affected by the new state or not.

Fixes: 87ebcd42fb7b ("drm/vc4: crtc: Assign output to channel automatically")
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Tested-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Tested-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
Reviewed-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
Reviewed-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200917121623.42023-1-maxime@cerno.tech
[hoegeun.kwon: Fix dual hdmi issue]
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Change-Id: I750e253c7415b09e546beb2608445d581c441efe

4 years agodrm/vc4: crtc: Add null pointer error handling 02/244402/1
Hoegeun Kwon [Fri, 18 Sep 2020 06:54:43 +0000 (15:54 +0900)]
drm/vc4: crtc: Add null pointer error handling

Crash occurs when vc4_encoder is null. Add null error handling

  Unable to handle kernel NULL pointer dereference at virtual address 0000000000000090
  Mem abort info:
    ESR = 0x96000005
    EC = 0x25: DABT (current EL), IL = 32 bits
    SET = 0, FnV = 0
    EA = 0, S1PTW = 0
  Data abort info:
    ISV = 0, ISS = 0x00000005
    CM = 0, WnR = 0
  user pgtable: 4k pages, 39-bit VAs, pgdp=00000000f2a96000
  [0000000000000090] pgd=0000000000000000, pud=0000000000000000
  Internal error: Oops: 96000005 [#1] PREEMPT SMP
  Modules linked in: brcmfmac joydev brcmutil rpivid_mem
  CPU: 0 PID: 32 Comm: kworker/0:1 Not tainted 5.4.50-v8+ #414
  Hardware name: Raspberry Pi 4 Model B (DT)
  Workqueue: events output_poll_execute
  pstate: 80000005 (Nzcv daif -PAN -UAO)
  pc : vc4_crtc_atomic_disable+0x150/0x2e8
  lr : vc4_crtc_atomic_disable+0x50/0x2e8
  ...
  Call trace:
   vc4_crtc_atomic_disable+0x150/0x2e8
   drm_atomic_helper_commit_modeset_disables+0x344/0x410
   vc4_atomic_complete_commit+0xd4/0x530
   vc4_atomic_commit+0xf4/0x190
   drm_atomic_commit+0x54/0x60
   ...

Change-Id: Ib3271bb3c8318079fe5815711f89a217e835adc6
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
4 years agoscripts: mkbootimg_rpi4.sh: use compress image 65/244165/1
Seung-Woo Kim [Tue, 15 Sep 2020 09:48:22 +0000 (18:48 +0900)]
scripts: mkbootimg_rpi4.sh: use compress image

Use compressed image for less size.

Change-Id: I9ec8b7e5e35bfa8ae6ac2832d52d4748e9a79668
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
4 years agodrm/vc4: hvs: Boost the core clock during modeset 75/244075/3
Hoegeun Kwon [Tue, 15 Sep 2020 00:32:49 +0000 (09:32 +0900)]
drm/vc4: hvs: Boost the core clock during modeset

In order to prevent timeouts and stalls in the pipeline, the core clock
needs to be maxed at 500MHz during a modeset on the BCM2711.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Tested-by: Chanwoo Choi <cw00.choi@samsung.com>
Tested-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Tested-by: Stefan Wahren <stefan.wahren@i2se.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Link: https://patchwork.freedesktop.org/patch/msgid/37ed9e0124c5cce005ddc8dafe821d8b0da036ff.1599120059.git-series.maxime@cerno.tech
[hoegeun.kwon: A screen cracking problem occurs in FHD(1920x1080). The
cause is that the clock should be kept at 500MHz, but it occurred when
the clock fell to 200MHz, so apply a patch.]
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Change-Id: Ie0d4880966c1644bfdf56bb49dbb82559978538c

4 years agodrm/vc4: hdmi: Fix to use clk_set_min_rate 74/244074/1
Hoegeun Kwon [Fri, 11 Sep 2020 04:39:40 +0000 (13:39 +0900)]
drm/vc4: hdmi: Fix to use clk_set_min_rate

There is a problem that rpi_firmware_transaction fails while setting
the clock rate. Add the missing code applied to the mainline.

Change-Id: I56bcb00037fc85bb01f8a876ccd26798b4bddb39
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Link: https://patchwork.freedesktop.org/patch/msgid/d757ddd6549da140f178563e5fd2bf1d129913fd.1599120059.git-series.maxime@cerno.tech
4 years agodrm/vc4: hdmi: Switch to blank pixels when disabled 89/243889/1
Maxime Ripard [Tue, 25 Aug 2020 09:44:04 +0000 (18:44 +0900)]
drm/vc4: hdmi: Switch to blank pixels when disabled

In order to avoid pixels getting stuck in an unflushable FIFO, we need when
we disable the HDMI controller to switch away from getting our pixels from
the pixelvalve and instead use blank pixels, and switch back to the
pixelvalve when we enable the HDMI controller.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Tested-by: Chanwoo Choi <cw00.choi@samsung.com>
Tested-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Tested-by: Stefan Wahren <stefan.wahren@i2se.com>
Reviewed-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
Link: https://patchwork.freedesktop.org/patch/msgid/fde3efb1ad79f4476a73d310cbba3ec07dc6dabe.1599120059.git-series.maxime@cerno.tech
[hoegeun.kwon: Needed to troubleshoot page flip timed out issue.]
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Change-Id: I497f96e6d9b535d9d173d486fe1829c30093d88f

4 years agodrm/vc4: hdmi: Do the VID_CTL configuration at once 88/243888/1
Maxime Ripard [Tue, 25 Aug 2020 09:39:06 +0000 (18:39 +0900)]
drm/vc4: hdmi: Do the VID_CTL configuration at once

The VID_CTL setup is done in several places in the driver even though it's
not really required. Let's simplify it a bit to do the configuration in one
go.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Tested-by: Chanwoo Choi <cw00.choi@samsung.com>
Tested-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Tested-by: Stefan Wahren <stefan.wahren@i2se.com>
Reviewed-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
Link: https://patchwork.freedesktop.org/patch/msgid/08e7ebb605a560fcc149b69b4af52753a7870b2f.1599120059.git-series.maxime@cerno.tech
[cw00.choi: Apply it to both vc4_hdmi_set_timings and vc5_hdmi_set_timings,
needed to troubleshoot page flip timed out issue.]
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Change-Id: I3b12049c9bfb69d5d21c7186b677e8e32d756959

4 years agodrm/vc4: hdmi: Implement finer-grained hooks 87/243887/1
Maxime Ripard [Tue, 25 Aug 2020 09:26:58 +0000 (18:26 +0900)]
drm/vc4: hdmi: Implement finer-grained hooks

In order to prevent some pixels getting stuck in an unflushable FIFO on
bcm2711, we need to enable the HVS, the pixelvalve (the CRTC) and the HDMI
controller (the encoder) in an intertwined way, and with tight delays.

However, the atomic callbacks don't really provide a way to work with
either constraints, so we need to roll our own callbacks so that we can
provide those guarantees.

Since those callbacks have been implemented and called in the CRTC code, we
can just implement them in the HDMI driver now.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Tested-by: Chanwoo Choi <cw00.choi@samsung.com>
Tested-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Tested-by: Stefan Wahren <stefan.wahren@i2se.com>
Reviewed-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
Link: https://patchwork.freedesktop.org/patch/msgid/2e9226d971117065f3b97e597f04f7fe2f0c134c.1599120059.git-series.maxime@cerno.tech
[hoegeun.kwon: Needed to troubleshoot page flip timed out issue.]
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Change-Id: Ice9a866f353d8e478e8f24c66b6e2e836e474817

4 years agodrm/vc4: hdmi: Always recenter the HDMI FIFO 86/243886/1
Maxime Ripard [Tue, 25 Aug 2020 09:21:50 +0000 (18:21 +0900)]
drm/vc4: hdmi: Always recenter the HDMI FIFO

In order to avoid a pixel getting stuck in an unflushable FIFO, we need to
recenter the FIFO every time we're doing a modeset and not only if we're
connected to an HDMI monitor.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Tested-by: Chanwoo Choi <cw00.choi@samsung.com>
Tested-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Tested-by: Stefan Wahren <stefan.wahren@i2se.com>
Reviewed-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
Link: https://patchwork.freedesktop.org/patch/msgid/b3faaf05ac6c4d3c364d28fa441571eb85903269.1599120059.git-series.maxime@cerno.tech
[hoegeun.kwon: Needed to troubleshoot page flip timed out issue.]
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Change-Id: Ife295f612fb32ef2a02e1494c3a4b532735c989e

4 years agodrm/vc4: hdmi: Remove register dumps in enable 85/243885/1
Maxime Ripard [Tue, 25 Aug 2020 09:18:19 +0000 (18:18 +0900)]
drm/vc4: hdmi: Remove register dumps in enable

The current code has some logic, disabled by default, to dump the register
setup in the HDMI controller.

However, since we're going to split those functions in multiple, shorter,
functions that only make sense where they are called in sequence, keeping
the register dump makes little sense.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Tested-by: Chanwoo Choi <cw00.choi@samsung.com>
Tested-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Tested-by: Stefan Wahren <stefan.wahren@i2se.com>
Reviewed-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
Link: https://patchwork.freedesktop.org/patch/msgid/c8c8d388f2d32fc3536336be36d003a862487eb7.1599120059.git-series.maxime@cerno.tech
[hoegeun.kwon: Remove hdmi reg dumps, needed to troubleshoot page flip
timed out issue.]
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Change-Id: I8048f58783639cf790c8bb691007099943733a71

4 years agodrm/vc4: hdmi: Use clk_set_min_rate instead 84/243884/1
Maxime Ripard [Tue, 25 Aug 2020 09:07:16 +0000 (18:07 +0900)]
drm/vc4: hdmi: Use clk_set_min_rate instead

The HSM clock needs to be running at 101% the pixel clock of the HDMI
controller, however it's shared between the two HDMI controllers, which
means that if the resolutions are different between the two HDMI
controllers, and the lowest resolution is on the second (in enable order)
controller, the first HDMI controller will end up with a smaller than
expected clock rate.

Since we don't really need an exact frequency there, we can simply change
the minimum rate we expect instead.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Tested-by: Chanwoo Choi <cw00.choi@samsung.com>
Tested-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Tested-by: Stefan Wahren <stefan.wahren@i2se.com>
Reviewed-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
Link: https://patchwork.freedesktop.org/patch/msgid/821992209cc0d7a83254bf26fe2bf507ef0994d2.1599120059.git-series.maxime@cerno.tech
[hoegeun.kwon: Needed to troubleshoot page flip timed out issue.]
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Change-Id: I5666bf89beb6bada919b279846e5c204fabd0ffc

4 years agodrm/vc4: hdmi: Adjust HSM clock rate depending on pixel rate 83/243883/1
Maxime Ripard [Tue, 25 Aug 2020 08:31:56 +0000 (17:31 +0900)]
drm/vc4: hdmi: Adjust HSM clock rate depending on pixel rate

The HSM clock needs to be setup at around 101% of the pixel rate. This
was done previously by setting the clock rate to 163.7MHz at probe time and
only check in mode_valid whether the mode pixel clock was under the pixel
clock +1% or not.

However, with 4k we need to change that frequency to a higher frequency
than 163.7MHz, and yet want to have the lowest clock as possible to have a
decent power saving.

Let's change that logic a bit by setting the clock rate of the HSM clock
to the pixel rate at encoder_enable time. This would work for the
BCM2711 that support 4k resolutions and has a clock that can provide it,
but we still have to take care of a 4k panel plugged on a BCM283x SoCs
that wouldn't be able to use those modes, so let's define the limit in
the variant.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Tested-by: Chanwoo Choi <cw00.choi@samsung.com>
Tested-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Tested-by: Stefan Wahren <stefan.wahren@i2se.com>
Reviewed-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
Link: https://patchwork.freedesktop.org/patch/msgid/7e692ddc231d33dd671e70ea04dd1dcf56c1ecb3.1599120059.git-series.maxime@cerno.tech
[hoegeun.kwon: Applied missing code, needed to troubleshoot page flip
timed out issue.]
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Change-Id: I43328575d59a0bbccac8d4153ac5ed54f029550b

4 years agodrm/vc4: hdmi: Add reset callback 82/243882/1
Maxime Ripard [Tue, 25 Aug 2020 06:53:28 +0000 (15:53 +0900)]
drm/vc4: hdmi: Add reset callback

The BCM2711 and BCM283x HDMI controllers use a slightly different reset
sequence, so let's add a callback to reset the controller.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Tested-by: Chanwoo Choi <cw00.choi@samsung.com>
Tested-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Tested-by: Stefan Wahren <stefan.wahren@i2se.com>
Reviewed-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
Link: https://patchwork.freedesktop.org/patch/msgid/a34bcb493da07eae58ed704f65e72ce0748e8952.1599120059.git-series.maxime@cerno.tech
[hoegeun.kwon: Apply the missing code, needed to troubleshoot page flip
timed out issue.]
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Change-Id: If0383cb9b5f8ba5d3f309bfeab3e3c74272d8723

4 years agodrm/vc4: encoder: Add finer-grained encoder callbacks 81/243881/1
Maxime Ripard [Mon, 24 Aug 2020 10:56:15 +0000 (19:56 +0900)]
drm/vc4: encoder: Add finer-grained encoder callbacks

In the BCM2711, the setup of the HVS, pixelvalve and HDMI controller
requires very precise ordering and timing that the regular atomic callbacks
don't provide. Let's add new callbacks on top of the regular ones to be
able to split the configuration as needed.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Tested-by: Chanwoo Choi <cw00.choi@samsung.com>
Tested-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Tested-by: Stefan Wahren <stefan.wahren@i2se.com>
Reviewed-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
Link: https://patchwork.freedesktop.org/patch/msgid/1dd78efe8f29add73c97d0148cfd4ec8e34aaf22.1599120059.git-series.maxime@cerno.tech
[hoegeun.kwon: For use encoder callback, needed to troubleshoot page
flip timed out issue.]
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Change-Id: I16a1a59ad753d7c4e211c24a3563a607faa03a5c

4 years agoARM64: tizen_bcm2711_defconfig: Enable VIDEO_CODEC_BCM2835 76/243776/1 accepted/tizen/unified/20200911.043201 submit/tizen/20200910.072016
Seung-Woo Kim [Thu, 10 Sep 2020 04:28:11 +0000 (13:28 +0900)]
ARM64: tizen_bcm2711_defconfig: Enable VIDEO_CODEC_BCM2835

To support v4l2 codec device, enable VIDEO_CODEC_BCM2835 and
to meet dependency, enable MEDIA_CONTROLLER.

Change-Id: Id473825163c409ceaab5d4b618cf8bddd6af0f68
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
4 years agoARM: configs: tizen_bcm2711_defconfig: Enable VIDEO_CODEC_BCM2835 75/243775/1
Seung-Woo Kim [Thu, 10 Sep 2020 04:25:20 +0000 (13:25 +0900)]
ARM: configs: tizen_bcm2711_defconfig: Enable VIDEO_CODEC_BCM2835

To support v4l2 codec device, enable VIDEO_CODEC_BCM2835.

Change-Id: I7f7147901b77b3ff01afc1a7c3c7f0ab9cc20701
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
4 years agoRevert "block: zram: Add support for dynamic compressor switch" 35/242135/1 accepted/tizen/unified/20200825.142845 submit/tizen/20200825.023546
Dongwoo Lee [Fri, 21 Aug 2020 11:53:46 +0000 (20:53 +0900)]
Revert "block: zram: Add support for dynamic compressor switch"

Since dynamic compress switch increases memory usage of meta data along
with the size of zram, in order to saving memory, this reverts commit
'2aab8469d74f ("block: zram Add support for dynamic compressor switch")'

Change-Id: Idd6e1f6f938ca2ebb24ba3e8c65a838bf8fc84d4
Signed-off-by: Dongwoo Lee <dwoo08.lee@samsung.com>
4 years agoARM64: tizen_bcm2711_defconfig: Enable RTL8192CU config as module 65/242065/2 accepted/tizen/unified/20200825.033245 submit/tizen/20200824.091314
Jaehoon Chung [Mon, 24 Aug 2020 02:34:08 +0000 (11:34 +0900)]
ARM64: tizen_bcm2711_defconfig: Enable RTL8192CU config as module

Enable RTL8192CU configuration as module.

Change-Id: I4597976b08b9e1e98d61f42da674c28c5e476f10
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
4 years agoARM: tizen_bcm2711_defconfig: Enable RTL8192CU config as module 64/242064/2
Jaehoon Chung [Mon, 24 Aug 2020 02:33:04 +0000 (11:33 +0900)]
ARM: tizen_bcm2711_defconfig: Enable RTL8192CU config as module

Enable RTL8192CU configuration as module.

Change-Id: Ibe38cc889d5e2973028b28615a2210f87056763f
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
4 years agomm: memcontrol: Add force_reclaim to reclaim tasks' memory in memcg 36/242036/1
Dongwoo Lee [Mon, 3 Aug 2020 05:44:43 +0000 (14:44 +0900)]
mm: memcontrol: Add force_reclaim to reclaim tasks' memory in memcg

These days, platforms tend to manage memory on low memory state
like andloid's lowmemory killer. These platforms might want to
reclaim memory from background tasks as well as kill victims
to guarantee free memory at use space level. This patch provides
an interface to reclaim a given memcg. After platform's low memory
handler moves tasks that the platform wants to reclaim to
a memcg and decides how many pages should be reclaimed, it can
reclaim the pages from the tasks by writing the number of pages
at memory.force_reclaim.

Signed-off-by: Hyunhee Kim <hyunhee.kim@xxxxxxxxxxx>
Signed-off-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx>
[dwoo08.lee: ported from mailing list https://www.spinics.net/lists/cgroups/msg07874.html]

Change-Id: I40b1322dfe2628ca306690a15958881b3026606f
Signed-off-by: Dongwoo Lee <dwoo08.lee@samsung.com>
4 years agoRevert "WORKAROUND: security: smack: Allow ptracing even processes in onlycap set" 16/241916/1 accepted/tizen/unified/20200824.030012 submit/tizen/20200820.145124
Seung-Woo Kim [Fri, 21 Aug 2020 01:08:34 +0000 (10:08 +0900)]
Revert "WORKAROUND: security: smack: Allow ptracing even processes in onlycap set"

This reverts commit 38b1ae4b960c310b02d7d6935b97d289f0326800.

Now crash-worker has System::Privileged privilege, so not anymore
ptrace related workaround is necessary. So revert the workaround.

Change-Id: I42b535e4152eb742df011a5a08324764b49f989a
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
4 years agoscripts: mkbootimg_rpi4.sh: Fix module image size to 32MB 27/241427/1
Hoegeun Kwon [Thu, 20 Aug 2020 05:24:51 +0000 (14:24 +0900)]
scripts: mkbootimg_rpi4.sh: Fix module image size to 32MB

The partition module size has been modified to 32MB.

Change-Id: I467fd7618d345a25d87af62985a1c2f8f47ad0eb
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
4 years agoARM: dts: bcm2711-rpi-4-b: Enable uart2 node 68/241068/1 accepted/tizen/unified/20200819.035952 submit/tizen/20200818.094753
Seung-Woo Kim [Fri, 14 Aug 2020 07:47:15 +0000 (16:47 +0900)]
ARM: dts: bcm2711-rpi-4-b: Enable uart2 node

Enable uart2 to support '/dev/ttyAMA1'. The node setting is from
arch/arm/boot/dts/overlays/uart2-overlay.dts, without cts, rts.
Tx pin is gpio 0, pin 27, and Rx pin is gpio 1, pin 28.

Ref: https://www.raspberrypi.org/forums/viewtopic.php?t=244827

Change-Id: Ib6c460f6c8e46f3ef7d2d40ab23b3524e438c6c9
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
4 years agorpi4: boot: config: disable eeprom i2c hat auto detect 67/241067/1
Seung-Woo Kim [Fri, 14 Aug 2020 07:24:24 +0000 (16:24 +0900)]
rpi4: boot: config: disable eeprom i2c hat auto detect

From raspberry pi gpio pins, ID_SC and ID_SD are reserved by
firmware to detect HAT with i2c, but in Tizen, auto-detection
and dynamical setting dt with overlay is not supported.
To use the pins for uart2, explictly disable eeprom i2c hat
auto detect.

Ref: https://www.raspberrypi.org/documentation/configuration/config-txt/boot.md

Change-Id: Id5cf016b09e7661317529e1174842915165955bc
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
4 years agoARM64: configs: tizen_bcm2711_defconfig: enable I2C_STUB as module 77/240977/1 accepted/tizen/unified/20200814.123119 submit/tizen/20200813.100152
Seung-Woo Kim [Thu, 13 Aug 2020 09:57:09 +0000 (18:57 +0900)]
ARM64: configs: tizen_bcm2711_defconfig: enable I2C_STUB as module

Tizen peripheral-io tct requires i2c_stub module to test i2c
functionality. Enable I2C_STUB as module.

Change-Id: I93ea159349dd5bcfea7ceabd04af239c7f2a1b96
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
4 years agomm: LKSM: remove unnecessary debug messages 59/240959/2
Sung-hun Kim [Thu, 13 Aug 2020 06:46:36 +0000 (15:46 +0900)]
mm: LKSM: remove unnecessary debug messages

In order to get scanning candidates, LKSM hooks fork and exit calls even though
LKSM does not run. Previous patches include debugging messages when LKSM hooks
exit calls, and it can flush old kernel logs. To handle this, this patch removes
unnecessary debugging messages.

Change-Id: If475a880ee931668b6bebf53322622ba2a042c89
Signed-off-by: Sung-hun Kim <sfoon.kim@samsung.com>
4 years agomm: Change fault_around_bytes default value from 65536 to 4096 28/239728/3 accepted/tizen/unified/20200812.143848 submit/tizen/20200812.081439
Chanwoo Choi [Wed, 29 Jul 2020 07:52:52 +0000 (16:52 +0900)]
mm: Change fault_around_bytes default value from 65536 to 4096

To apply the 4K value for falut_around_bytes at the early booting step,
change fault_around_bytes default value from 65536 to 4096.

Change-Id: Id97650a035b524d7132bca6164581c8e15096354
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
4 years agoARM64: configs: tizen_bcm2711_defconfig: enable CONFIG_LKSM_FILTER 99/239599/15
Sung-hun Kim [Thu, 16 Jul 2020 07:00:07 +0000 (16:00 +0900)]
ARM64: configs: tizen_bcm2711_defconfig: enable CONFIG_LKSM_FILTER

Change-Id: I54bbb1ee0a5e3923ebdb4b62038c3ba999e38dab
Signed-off-by: Sung-hun Kim <sfoon.kim@samsung.com>
4 years agomm: LKSM: new feature: use filter-based scanning to reduce scanning cost 98/239598/15
Sung-hun Kim [Thu, 16 Jul 2020 06:58:28 +0000 (15:58 +0900)]
mm: LKSM: new feature: use filter-based scanning to reduce scanning cost

LKSM_FILTER is a new feature which is intended to reduce the computation cost.
LKSM_FILTER exploits bitmap-based filters to skip scanning of unnecessary
pages. To this end, LKSM collects addresses of shared pages to make filters.

The rationale of LKSM_FILTER is that user-level programs share common runtime
framework and libraries. Because of that processes can have similar address
space layout. It means that if a page is merged with another page, the same
virtual address in different process can be merged with this merged page.
In this regard, KSM can use a single global filter to cover all sharable areas
in the system.

The challenge is caused by a secure construct of Linux kernel, namely ASLR.
ASLR enforces to have randomized address space for each process, and it
severely disrupts making a global filter.

To overcome this challenge, LKSM exploits two information: regions and offsets.
A region means the physically mapped area. Each process has its own VMAs but
they may mapped same files. A region means the original one.
An address space of a process is randomized in the unit of VMA. It means that
if pages are merged even in the different virtual addresses, there can be at
same offsets from individual VMAs.

LKSM leverages both regions and offsets to construct per-region filters.
By using per-region filters, LKSM could effectively reduce its scanning space
and also computation cost by up to 46% against previous version of LKSM at the
expense of somewhat sharing chances.

Change-Id: I6f010d991b514268a897ce8f7b88fb1442ef39b4
Signed-off-by: Sung-hun Kim <sfoon.kim@samsung.com>
4 years agoARM64: configs: tizen_bcm2711_defconfig: enable CONFIG_LKSM 97/239597/13
Sung-hun Kim [Thu, 16 Jul 2020 00:07:37 +0000 (09:07 +0900)]
ARM64: configs: tizen_bcm2711_defconfig: enable CONFIG_LKSM

Change-Id: Ifa373a977364866a3c472665b21b44cf2b29cffc
Signed-off-by: Sung-hun Kim <sfoon.kim@samsung.com>
4 years agomm: LKSM: lightweight memory deduplication for embedded devices 96/239596/12
Sung-hun Kim [Thu, 16 Jul 2020 00:05:12 +0000 (09:05 +0900)]
mm: LKSM: lightweight memory deduplication for embedded devices

Lightweight KSM (in short, LKSM) is a variant of KSM that is implemented in
a fully event-triggered manner. LKSM provides a memory deduplication facility
like vanilla KSM while it extremely reduces overhead.

Normally, LKSM is blocked and waits for incoming deduplication requests from
user-level process (e.g., resourced). When a user-level process submits
deduplication request via sysfs, LKSM performs requested-level of deduplication,
such as partial and full deduplications.
After that, LKSM is going to sleep again and waits for next request coming.

By doing so, LKSM mitigates side effects that impact on system performance,
for instance, occupying system resources such as CPU and incurring cache
pollutions.

Change-Id: I551feb45d8c59ccddea60ced96225780d50e1c43
Signed-off-by: Sung-hun Kim <sfoon.kim@samsung.com>
4 years agomm: LKSM: prepare to add LKSM code 95/239595/9
Sung-hun Kim [Tue, 14 Jul 2020 06:04:38 +0000 (15:04 +0900)]
mm: LKSM: prepare to add LKSM code

A new feature, namely lightweight KSM (LKSM), is based on KSM in Linux and
much of codes are copied from KSM to LKSM.

To distinguish original KSM codes and developed codes in LKSM, original KSM
file (mm/ksm.c) is copied to mm/lksm.c.

Change-Id: I4e2a149f0978d0b74e9ecc7eedbd7901eb54ad44
Signed-off-by: Sung-hun Kim <sfoon.kim@samsung.com>
4 years agoRevert "ARM: dts: bcm2711-rpi-4-b: Fix CMA size to 512M" 14/240714/1 accepted/tizen/unified/20200811.050507 submit/tizen/20200811.014146
Jaehoon Chung [Tue, 11 Aug 2020 01:31:25 +0000 (10:31 +0900)]
Revert "ARM: dts: bcm2711-rpi-4-b: Fix CMA size to 512M"

There is a problem of oom. CMA size is changed from 512M to 256M.
In future, it needs to fix.

This reverts commit f643c9fa8706284868003f2f376d51dd0383b4b3.

Change-Id: I5a855ba31dc19898a3721bb694700004a7a5504f
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
4 years agoWORKAROUND: security: smack: Allow ptracing even processes in onlycap set 64/240564/4 accepted/tizen/unified/20200810.123100 submit/tizen/20200810.050403
Karol Lewandowski [Fri, 7 Aug 2020 11:49:30 +0000 (13:49 +0200)]
WORKAROUND: security: smack: Allow ptracing even processes in onlycap set

Change-Id: I708d19703da0f1b83950454fda1362bec7369b5c
Signed-off-by: Karol Lewandowski <k.lewandowsk@samsung.com>
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
4 years agoRevert "brd: remove support for BLKFLSBUF" 83/239983/2 accepted/tizen/unified/20200806.062547 submit/tizen/20200806.024854
Seung-Woo Kim [Fri, 31 Jul 2020 06:19:08 +0000 (15:19 +0900)]
Revert "brd: remove support for BLKFLSBUF"

This reverts commit ff26956875c2f05e12ecec9938411a2c7dfc767d.

To free ramdisk memory, BLKFLSBUF support is required.

Change-Id: Ib363fdcb65a21914c8baa2099e4b1ce6242428e2
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
4 years agoRevert "brd: remove discard support" 82/239982/2
Seung-Woo Kim [Fri, 31 Jul 2020 06:18:06 +0000 (15:18 +0900)]
Revert "brd: remove discard support"

This reverts commit f09a06a193d942a12c1a33c153388b3962222006.

To support ramdisk flush, discard is required. So, revert the commit.
Note: struct queue_limit::discard_zeroes_data flag setting is
removed and queue_flag_set_unlocked() is replaced
blk_queue_flag_set().

Change-Id: Iead94d2263ce7ab688e57de587fa77f649285b10
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
4 years agoRevert "brd: remove unused brd_mutex" 81/239981/2
Seung-Woo Kim [Fri, 31 Jul 2020 06:38:14 +0000 (15:38 +0900)]
Revert "brd: remove unused brd_mutex"

This reverts commit 15f7b41f70ddcca3b555bd0fdc7c8da7466b517e.

To support brd flush to free ramdisk brd_mutex is required.

Change-Id: Ide75bcb73812c3c7e04bfe6ebaed0d6d511e01dd
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
4 years agoARM: dts: bcm2711-rpi-4-b: Fix CMA size to 512M 72/240072/2
Hoegeun Kwon [Mon, 3 Aug 2020 05:28:50 +0000 (14:28 +0900)]
ARM: dts: bcm2711-rpi-4-b: Fix CMA size to 512M

Increase cma size to 512 for use 4k GL on tizen platform.

When using RPI4 1GB model + 4k UHD, reclaim occurs a lot and it is slow.

Change-Id: I672b5be8df8d51a47e50eea04e445529568474ff
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
4 years agoRevert "brcmfmac: move configuration of probe request IEs" 81/240081/1 accepted/tizen/unified/20200803.122231 submit/tizen/20200803.071449
Jaehoon Chung [Mon, 3 Aug 2020 05:45:35 +0000 (14:45 +0900)]
Revert "brcmfmac: move configuration of probe request IEs"

This reverts commit bd99a3013bdc00f8fc7534c657b39616792b4467.

It doesn't find any p2p-device with wpa_supplicant on Tizen.
- After reverted this, it's working fine.

Change-Id: I5fa0924e888b91fef17ac3d174ee2a2e49d5e5a6
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
4 years agoARM64: configs: tizen_bcm2711_defconfig: Disable unused dwcotg 42/239642/2 accepted/tizen/unified/20200730.063301 submit/tizen/20200729.105144
Seung-Woo Kim [Tue, 28 Jul 2020 09:40:06 +0000 (18:40 +0900)]
ARM64: configs: tizen_bcm2711_defconfig: Disable unused dwcotg

In rpi4, usb dwc2 is used for usb peripheral port. Disable unused
dwcotg driver.

Change-Id: I3488508db5925f28d95dc2687814f061f2430622
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
4 years agoARM: configs: tizen_bcm2711_defconfig: Disable unused dwcotg 41/239641/1
Seung-Woo Kim [Tue, 28 Jul 2020 09:38:42 +0000 (18:38 +0900)]
ARM: configs: tizen_bcm2711_defconfig: Disable unused dwcotg

In rpi4, usb dwc2 is used for usb peripheral port. Disable unused
dwcotg driver.

Change-Id: I89196a59929c1e5dedcf31dd81acaef3c07f2043
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
4 years agodrm/vc4: hdmi: Add pixel bvb clock control 08/239608/3
Hoegeun Kwon [Mon, 27 Jul 2020 12:37:18 +0000 (21:37 +0900)]
drm/vc4: hdmi: Add pixel bvb clock control

There is a problem that the output does not work at a resolution
exceeding FHD. To solve this, we need to adjust the bvb clock at a
resolution exceeding FHD.

Change-Id: I488cbf5c9ec90e6429833edd94f8fe7e5e57bfdf
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
4 years agoARM: dts: bcm2711: Add bvb clock for hdmi-pixel 07/239607/1
Hoegeun Kwon [Mon, 27 Jul 2020 12:36:02 +0000 (21:36 +0900)]
ARM: dts: bcm2711: Add bvb clock for hdmi-pixel

It is necessary to control the hdmi pixel bvb clock. Add bvb clock.

Change-Id: I8d8eedd31eb6b3ceabc5ef98c2312c28664f9046
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
4 years agoclk: rpi: Add register to control pixel bvb clk 06/239606/1
Hoegeun Kwon [Mon, 27 Jul 2020 12:35:01 +0000 (21:35 +0900)]
clk: rpi: Add register to control pixel bvb clk

To use QHD or higher, we need to modify the pixel_bvb_clk value. So
add register to control this clock.

Change-Id: Ie6a37bba8b6872f8007ab20a370f268f3766711f
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
4 years agoASoC: bcm2835: Silence clk_get() error on -EPROBE_DEFER 75/239575/1 accepted/tizen/unified/20200729.165701 submit/tizen/20200728.021629
Seung-Woo Kim [Fri, 24 Jul 2020 04:11:08 +0000 (13:11 +0900)]
ASoC: bcm2835: Silence clk_get() error on -EPROBE_DEFER

Silence clk_get() error with dev_dbg() on -EPROBE_DEFER.

Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
[sw0312.kim: post on mainline, https://patchwork.kernel.org/patch/11687251/ and apply]

Change-Id: I770815bd80af8ee0fa856f14d5d075d9471208c7

4 years agospi: bcm2835: no dev_err() on clk_get() -EPROBE_DEFER 22/239322/2
Jim Quinlan [Mon, 16 Dec 2019 23:08:02 +0000 (18:08 -0500)]
spi: bcm2835: no dev_err() on clk_get() -EPROBE_DEFER

Use dev_dbg() on -EPROBE_DEFER and dev_err() on all
other errors.

Signed-off-by: Jim Quinlan <jquinlan@broadcom.com>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Reviewed-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Link: https://lore.kernel.org/r/20191216230802.45715-2-jquinlan@broadcom.com
Signed-off-by: Mark Brown <broonie@kernel.org>
[sw0312.kim: cherry-pick mainline commit f4dc4abdce4c to remove unnecessary message]
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Change-Id: I43fda55a507e6f1371ed1fe33756d6fe823cfd2a

4 years agoARM: dts: bcm2711-rpi-4-b: add non-removable property about sd-card 90/239290/3
Jaehoon Chung [Thu, 23 Jul 2020 10:09:13 +0000 (19:09 +0900)]
ARM: dts: bcm2711-rpi-4-b: add non-removable property about sd-card

Add non-removable property about sd-card.
Tizen doesn't consider about booting to other device.
It can be assumed that SD-card is non-removable storage.
When broken-cd is enabled, it's always polling to check SD-card.
- Remove broken-cd property.

Change-Id: I269e39f708362e03f219632eba592701907b71aa
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
4 years agodrm/sched: Fix passing zero to 'PTR_ERR' warning v2 46/239246/1
Andrey Grodzovsky [Tue, 29 Oct 2019 15:03:05 +0000 (11:03 -0400)]
drm/sched:  Fix passing zero to 'PTR_ERR' warning v2

Fix a static code checker warning.

v2: Drop PTR_ERR_OR_ZERO.

Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com>
Reviewed-by: Emily Deng <Emily.Deng@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
[hoegeun.kwon: backport mainline commit d7c5782acd35 drm/sched:  Fix passing zero to 'PTR_ERR' warning v2]
Change-Id: Idf3993133edb062275df2378ea69b2002667893e
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
4 years agoARM: configs: tizen_bcm2711_defconfig: Enable Crypto extension configs 68/239168/2 accepted/tizen/unified/20200723.161052 submit/tizen/20200723.024017 submit/tizen/20200723.053744 submit/tizen/20200723.073657
Jaehoon Chung [Wed, 22 Jul 2020 08:16:16 +0000 (17:16 +0900)]
ARM: configs: tizen_bcm2711_defconfig: Enable Crypto extension configs

Enable Crypto exntension configs.
- CONFIG_CRYPTO_SHA1_ARM_NEON
- CONFIG_CRYPTO_SHA2_ARM_CE

After enabled these configs, verity is used from "sha256-generic" to
"sha256-neon".

Change-Id: I0d8f6335e6ee678130ea1219f539148e99fc4ac6
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
4 years agoARM: configs: tizen_bcm2711_defconfig: Enable FUSE_FS 65/239165/1
Seung-Woo Kim [Wed, 22 Jul 2020 08:15:09 +0000 (17:15 +0900)]
ARM: configs: tizen_bcm2711_defconfig: Enable FUSE_FS

Tizen requires CONFIG_FUSE_FS for user space filesystem. Enable
the option.

Change-Id: I75e19bf429e0c551053f37a7c05d9907c9f957b6
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
4 years agoARM: dts: bcm2711-rpi-4-b: Add cts, rts pin setting for bt uart 96/238296/1 accepted/tizen/unified/20200710.114018 submit/tizen/20200710.091035
Seung-Woo Kim [Fri, 10 Jul 2020 09:02:01 +0000 (18:02 +0900)]
ARM: dts: bcm2711-rpi-4-b: Add cts, rts pin setting for bt uart

For high speed uart on bluetooth, it needs to add cts & rts pins.
Add cts, rts pin setting for bluetooth uart.

Change-Id: Ib12ceab8edd682107c19c07d891fab5d1440e9be
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
4 years agoBluetooth: hci_bcm: Drive RTS only for BCM43438
Stefan Wahren [Wed, 1 Jan 2020 14:01:34 +0000 (15:01 +0100)]
Bluetooth: hci_bcm: Drive RTS only for BCM43438

commit e601daed271e9eb1b923972a0a1af65f8c7bb77b upstream.

The commit 3347a80965b3 ("Bluetooth: hci_bcm: Fix RTS handling during
startup") is causing at least a regression for AP6256 on Orange Pi 3.
So do the RTS line handing during startup only on the necessary platform.

Fixes: 3347a80965b3 ("Bluetooth: hci_bcm: Fix RTS handling during startup")
Reported-by: Ondřej Jirman <megous@megous.com>
Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
4 years agoBluetooth: hci_bcm: Support pcm params in dts
Abhishek Pandit-Subedi [Tue, 26 Nov 2019 07:17:32 +0000 (08:17 +0100)]
Bluetooth: hci_bcm: Support pcm params in dts

commit eb762b94111b646b4f116ebfdbfcadbad14e12b3 upstream.

BCM chips may require configuration of PCM to operate correctly and
there is a vendor specific HCI command to do this. Add support in the
hci_bcm driver to parse this from devicetree and configure the chip.

Signed-off-by: Abhishek Pandit-Subedi <abhishekpandit@chromium.org>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
4 years agoBluetooth: btbcm: Support pcm configuration
Abhishek Pandit-Subedi [Tue, 26 Nov 2019 07:17:30 +0000 (08:17 +0100)]
Bluetooth: btbcm: Support pcm configuration

commit 528379902337102b0264fe5343eafb3d6c59fa45 upstream.

Add BCM vendor specific command to configure PCM parameters. The new
vendor opcode allows us to set the sco routing, the pcm interface rate,
and a few other pcm specific options (frame sync, sync mode, and clock
mode). See broadcom-bluetooth.txt in Documentation for more information
about valid values for those settings.

Here is an example trace where this opcode was used to configure
a BCM4354:

        < HCI Command: Vendor (0x3f|0x001c) plen 5
                01 02 00 01 01
        > HCI Event: Command Complete (0x0e) plen 4
        Vendor (0x3f|0x001c) ncmd 1
                Status: Success (0x00)

We can read back the values as well with ocf 0x001d to confirm the
values that were set:
        $ hcitool cmd 0x3f 0x001d
        < HCI Command: ogf 0x3f, ocf 0x001d, plen 0
        > HCI Event: 0x0e plen 9
        01 1D FC 00 01 02 00 01 01

Signed-off-by: Abhishek Pandit-Subedi <abhishekpandit@chromium.org>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
4 years agoBluetooth: hci_bcm: Disallow set_baudrate for BCM4354
Abhishek Pandit-Subedi [Tue, 26 Nov 2019 07:17:29 +0000 (08:17 +0100)]
Bluetooth: hci_bcm: Disallow set_baudrate for BCM4354

commit 5d6f391073d5c1c903ac12be72c66b96b2ae93f4 upstream.

Without updating the patchram, the BCM4354 does not support a higher
operating speed. The normal bcm_setup follows the correct order
(init_speed, patchram and then oper_speed) but the serdev driver will
set the operating speed before calling the hu->setup function. Thus,
for the BCM4354, don't set the operating speed before patchram.

Signed-off-by: Abhishek Pandit-Subedi <abhishekpandit@chromium.org>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
4 years agoBluetooth: btbcm: Add entry for BCM4335A0 UART bluetooth
Mohammad Rasim [Wed, 20 Nov 2019 11:02:35 +0000 (14:02 +0300)]
Bluetooth: btbcm: Add entry for BCM4335A0 UART bluetooth

commit 1199ab4c9e1d4cdfbabd70b4aadbc8e72c691f65 upstream.

This patch adds the device ID for the BCM4335A0 module
(part of the AMPAK AP6335 WIFI/Bluetooth combo)

hciconfig output:
```
hci1:   Type: Primary  Bus: UART
        BD Address: 43:35:B0:07:1F:AC  ACL MTU: 1021:8  SCO MTU: 64:1
        UP RUNNING
        RX bytes:5079 acl:0 sco:0 events:567 errors:0
        TX bytes:69065 acl:0 sco:0 commands:567 errors:0
        Features: 0xbf 0xfe 0xcf 0xff 0xdf 0xff 0x7b 0x87
        Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
        Link policy: RSWITCH SNIFF
        Link mode: SLAVE ACCEPT
        Name: 'alarm'
        Class: 0x000000
        Service Classes: Unspecified
        Device Class: Miscellaneous,
        HCI Version: 4.0 (0x6)  Revision: 0x161
        LMP Version: 4.0 (0x6)  Subversion: 0x4106
        Manufacturer: Broadcom Corporation (15)
```

Signed-off-by: Mohammad Rasim <mohammad.rasim96@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
4 years agoBluetooth: hci_bcm: Add compatible string for BCM43540
Abhishek Pandit-Subedi [Fri, 25 Oct 2019 21:54:26 +0000 (14:54 -0700)]
Bluetooth: hci_bcm: Add compatible string for BCM43540

commit d462af20dbfa1b9b1a831412f32d9d6757b82459 upstream.

The BCM43540 chip is a 802.11 a/b/g/n/ac + Bluetooth 4.1 combo module.
This patch adds a compatible string match to the serdev driver for the
Bluetooth part of the chip.

Signed-off-by: Abhishek Pandit-Subedi <abhishekpandit@chromium.org>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
4 years agoBluetooth: hci_bcm: Fix RTS handling during startup
Stefan Wahren [Sun, 6 Oct 2019 15:28:19 +0000 (17:28 +0200)]
Bluetooth: hci_bcm: Fix RTS handling during startup

commit 3347a80965b38f096b1d6f995c00c9c9e53d4b8b upstream.

The RPi 4 uses the hardware handshake lines for CYW43455, but the chip
doesn't react to HCI requests during DT probe. The reason is the inproper
handling of the RTS line during startup. According to the startup
signaling sequence in the CYW43455 datasheet, the hosts RTS line must
be driven after BT_REG_ON and BT_HOST_WAKE.

Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
4 years agoRevert "ARM: dts: bcm2711-rpi-4-b: Add cts pin setting for bluetooth uart"
Seung-Woo Kim [Fri, 10 Jul 2020 07:56:20 +0000 (16:56 +0900)]
Revert "ARM: dts: bcm2711-rpi-4-b: Add cts pin setting for bluetooth uart"

This reverts commit 9e33125d91fdaf56aef72183f2481441ebbc0a78.

Now, bcm2711-rpi-4-b.dts has two uart0 nodes, and pinctrl-0
is override from the second uart0 node. So this change is
meanlingless, and it needs to be set from the second node.
So, revert this and new change will be applied.

Change-Id: Ibaa537851cf66fdd1843cf635e309d795cdbd441
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
4 years agoconfigs: tizen_bcm2711: Enable memory cgroup swap controller 53/238253/2
Dongwoo Lee [Fri, 10 Jul 2020 03:53:26 +0000 (12:53 +0900)]
configs: tizen_bcm2711: Enable memory cgroup swap controller

To support resourced memory and swap module properly, this enables
CONFIG_MEMCG_SWAP.

Change-Id: I2a8836517b2aac66f03ebf9fba18e1de859c2371
Signed-off-by: Dongwoo Lee <dwoo08.lee@samsung.com>
4 years agoconfigs: tizen_bcm2711: Sync up missing defconfig 52/238252/2
Dongwoo Lee [Fri, 10 Jul 2020 02:23:19 +0000 (11:23 +0900)]
configs: tizen_bcm2711: Sync up missing defconfig

This applies missing defconfig of rpi4 vendor kernel, which is
derived from commit dcf49c0dd76d ("configs: Switch to upstream thermal
sensor for RPi 4 - BCM2711_THERMAL").

Change-Id: I750ec00b69c9a318eb754437896daa6ea246a5a1
Signed-off-by: Dongwoo Lee <dwoo08.lee@samsung.com>
4 years agoASoC: ac108: fix build warning about '-Wimplict-fallthrough' 21/238221/2
Jaehoon Chung [Thu, 9 Jul 2020 10:04:51 +0000 (19:04 +0900)]
ASoC: ac108: fix build warning about '-Wimplict-fallthrough'

Fix build warning about '-Wimplicit-fallthrough'.

In file included from ./include/linux/acpi.h:15,
                 from ./include/linux/i2c.h:13,
                 from sound/soc/codecs/ac108.c:21:
sound/soc/codecs/ac108.c: In function 'ac108_set_fmt':
./include/linux/device.h:1758:5: warning: this statement may fall through [-Wimplicit-fallthrough=]

Change-Id: I9f098eee46d2baa500ad2b7624cfff0ebbc81b40
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
4 years agopackaging: Change the kernel version of the spec file 75/237875/2 accepted/tizen/unified/20200709.164653 submit/tizen/20200708.060018 submit/tizen/20200709.003043
Hoegeun Kwon [Fri, 3 Jul 2020 05:27:18 +0000 (14:27 +0900)]
packaging: Change the kernel version of the spec file

Change the kernel version to 5.4.50

Change-Id: Id9272d7ce6366ee9e97fa9bc92109d510d0c089f
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
4 years agorpi4: boot: Update the firmwares for kernel v5.4.50 74/237874/2
Hoegeun Kwon [Fri, 3 Jul 2020 05:18:53 +0000 (14:18 +0900)]
rpi4: boot: Update the firmwares for kernel v5.4.50

Update the firmwares with the latest version from the vendor git repo.

The commit base is "66fc5eaac3d kernel: Bump to 5.4.50"

Change-Id: I7f4f70fefe1cc22a31539f19566c9bfed285bb52
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
4 years agoRevert "cgroup: Disable cgroup "memory" by default"
Dongwoo Lee [Wed, 1 Jul 2020 09:27:33 +0000 (18:27 +0900)]
Revert "cgroup: Disable cgroup "memory" by default"

The feature is used for saving memory which is consumed by memcg-related
structure (32bytes per 4K page), but now it is no longer merged on the
latest raspberry pi kernel. So instead of enabling memory cgroup by
adding command to cmdline.txt while preserving this feature, in order to
enable memory cgroup by default, this reverts commit '35bbb61da9e2
("cgroup: Disable cgroup "memory" by default")'

Change-Id: I1830129125fb44b36bfe64f97fddf329ea795c3c
Signed-off-by: Dongwoo Lee <dwoo08.lee@samsung.com>
4 years agoARM64: tizen_bcm2711_defconfig: Enable lz4 and zstd cryptos
Dongwoo Lee [Mon, 29 Jun 2020 09:21:05 +0000 (18:21 +0900)]
ARM64: tizen_bcm2711_defconfig: Enable lz4 and zstd cryptos

This enables lz4 and zstd crypto to enable compressor for zram

Change-Id: Id2ac2daa8e7e3e0b7526dedc53f175b83c4fb1eb
Signed-off-by: Dongwoo Lee <dwoo08.lee@samsung.com>
4 years agoARM: tizen_bcm2711_defconfig: Enable lz4 and zstd cryptos
Dongwoo Lee [Wed, 3 Jun 2020 02:07:09 +0000 (11:07 +0900)]
ARM: tizen_bcm2711_defconfig: Enable lz4 and zstd cryptos

This enables lz4 and zstd crypto to enable compressor for zram

Change-Id: I0a2f3af9e30693b6c0deebba5053b768bc1229fb
Signed-off-by: Dongwoo Lee <dwoo08.lee@samsung.com>
4 years agolib: zstd: Improve decode performance
Dongwoo Lee [Thu, 4 Jun 2020 04:54:44 +0000 (13:54 +0900)]
lib: zstd: Improve decode performance

To speed up decode performance, optimizations are brought from zstd
github repository and ported as kernel-style.

Since the low-level algorithm is preferred in linux due to
compression/decompression performance (default level 3), the
optimization for low-level is chosed as follows:

  [1] lib: zstd: Speed up single segment zstd_fast by 5%
      (https://github.com/facebook/zstd/pull/1562/commits/95624b77e477752b3c380c22be7bcf67f06c9934)
  [2] perf improvements for zstd decode
      (https://github.com/facebook/zstd/pull/1668/commits/29d1e81bbdfc21085529623e7bc5abcb3e1627ae)
  [3] updated double_fast complementary insertion
      (https://github.com/facebook/zstd/pull/1681/commits/d1327738c277643f09c972a407083ad73c8ecf7b)
  [4] Improvements in zstd decode performance
      (https://github.com/facebook/zstd/pull/1756/commits/b83059958246dfcb5b91af9c187fad8c706869a0)
  [5] Optimize decompression and fix wildcopy overread
      (https://github.com/facebook/zstd/pull/1804/commits/efd37a64eaff5a0a26ae2566fdb45dc4a0c91673)
  [6] Improve ZSTD_highbit32's codegen
      (https://github.com/facebook/zstd/commit/a07da7b0db682c170a330a8c21585be3d68275fa)
  [7] Optimize decompression speed for gcc and clang (#1892)
      (https://github.com/facebook/zstd/commit/718f00ff6fe42db7e6ba09a7f7992b3e85283f77)
  [8] Fix performance regression on aarch64 with clang
      (https://github.com/facebook/zstd/pull/1973/commits/cb2abc3dbe010113d9e00ca3b612bf61983145a2)

Change-Id: Ia2cf120879a415988dbbc2fce59a994915c8c77c
Signed-off-by: Dongwoo Lee <dwoo08.lee@samsung.com>
4 years agoblock: zram: Add support for dynamic compressor switch
Dongwoo Lee [Thu, 4 Jun 2020 04:54:35 +0000 (13:54 +0900)]
block: zram: Add support for dynamic compressor switch

Orginally, the compression algorithm cannot be changed until
resetting it if zram is once initialized by setting disksize. Since
this, however, zram can have multiple compressor and switch them
dynamically.

With this, zram uses the algorithm which is fast but has low
compression ratio at first, and can change to the one that is slightly
slower but having higher ratio when the target get bothered by low
memory.

Change-Id: I3fd817e299a76284b8b28e318a4822107e6a5f6d
Signed-off-by: Dongwoo Lee <dwoo08.lee@samsung.com>
4 years agodrm/vc4: add extcon hdmi connection uevent
Seung-Woo Kim [Tue, 30 Jun 2020 05:32:02 +0000 (14:32 +0900)]
drm/vc4: add extcon hdmi connection uevent

Add extcon hdmi connection and disconnection uevent when extcon
module is enabled.

The vc4_hdmi detection is done by polling way, so extcon uevent
for connection is a bit slow after changing real hdmi cable state.

Change-Id: I962f7a39b7a3344f9793e436ef28c36b123571a8
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
4 years agoARM64: configs: tizen_bcm2711: change BLK_DEV_RAM_SIZE to 32MB
Jaehoon Chung [Mon, 22 Jun 2020 07:03:28 +0000 (16:03 +0900)]
ARM64: configs: tizen_bcm2711: change BLK_DEV_RAM_SIZE to 32MB

Change BLK_DEV_RAM_SIZE from 12MB to 32MB.

Change-Id: Ifbdd9d5ac0ba36cb6ef65b96ac981b496573be6b
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
4 years agoARM: configs: tizen_bcm2711: change BLK_DEV_RAM_SIZE to 32MB
Jaehoon Chung [Mon, 22 Jun 2020 06:58:23 +0000 (15:58 +0900)]
ARM: configs: tizen_bcm2711: change BLK_DEV_RAM_SIZE to 32MB

Change BLK_DEV_RAM_SIZE from 12MB to 32MB.

Change-Id: I6004bc1f12cdcb3f8c4c3b86cc13c974b3880dba
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
4 years agousb: dwc_otg: Fix pointer-to-int-cast build warning
Hoegeun Kwon [Mon, 15 Jun 2020 08:30:12 +0000 (17:30 +0900)]
usb: dwc_otg: Fix pointer-to-int-cast build warning

Fix pointer to int cast build warning.
drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c:486:5: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
     (int)dwc_otg_hcd->fiq_state->mphi_regs.base);

Change-Id: Ic495d320dbf41aaeeb77ed303fce8cc4cc121c67
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
4 years agoscripts: mkbootimg_rpi4.sh: Fix how to check 64bit
Hoegeun Kwon [Mon, 15 Jun 2020 07:20:33 +0000 (16:20 +0900)]
scripts: mkbootimg_rpi4.sh: Fix how to check 64bit

The CONFIG_64BIT_TIME configuration is used by 32bit kernel, so it is
having problem identifying 64bit. So modify to "CONFIG_64BIT=y".

Change-Id: I0e8b3e34b3faf5f307ce9bc0fef266397ae697a7
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
4 years agotools: Add support build for arm64
Hoegeun Kwon [Wed, 10 Jun 2020 10:50:21 +0000 (19:50 +0900)]
tools: Add support build for arm64

Support kernel build for arm64

Change-Id: Id02cf2e57e4c8db134821a50aaaeed278d2407ae
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
4 years agoscripts: mkbootimg_rpi4.sh: Add support make boot image for arm64
Hoegeun Kwon [Wed, 10 Jun 2020 11:04:00 +0000 (20:04 +0900)]
scripts: mkbootimg_rpi4.sh: Add support make boot image for arm64

Support make boot image for arm64.

Change-Id: I2cb18a0a383fff21c2f158473a51339b1867338a
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>