platform/kernel/linux-amlogic.git
5 years agobinder: back port changes from kernel 4.19 [1/3]
Tao Zeng [Tue, 14 May 2019 08:35:57 +0000 (16:35 +0800)]
binder: back port changes from kernel 4.19 [1/3]

PD#SWPL-8572

Problems:
based on android platfrom, each process may allocate 1MB vmalloc
memory space for IPC. But most process don't use full memory
range of vmalloc space. It's a waste of memory space and may
cause driver can't work normal based on 32bit kernel

Soluton:
On kernel 4.19, google have fixed it, so we need back porting
following changes:

Squashed commit of the following:

commit b12a56e5342e15e99b0fb07c67dfce0891ba2f6b
Author: Todd Kjos <tkjos@google.com>
Date:   Tue Mar 19 09:53:01 2019 -0700

    FROMGIT: binder: fix BUG_ON found by selinux-testsuite

    The selinux-testsuite found an issue resulting in a BUG_ON()
    where a conditional relied on a size_t going negative when
    checking the validity of a buffer offset.

    (cherry picked from commit 5997da82145bb7c9a56d834894cb81f81f219344
     git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git
     char-misc-linus)
    Bug: 67668716
    Change-Id: Ib3b408717141deadddcb6b95ad98c0b97d9d98ea
    Fixes: 7a67a39320df ("binder: add function to copy binder object from buffer")
Reported-by: Paul Moore <paul@paul-moore.com>
Tested-by: Paul Moore <paul@paul-moore.com>
Signed-off-by: Todd Kjos <tkjos@google.com>
commit 5b28e504d93a5f1efc074dd7cdcadc07293bb783
Author: Todd Kjos <tkjos@android.com>
Date:   Thu Feb 14 15:22:57 2019 -0800

    UPSTREAM: binder: fix handling of misaligned binder object

    Fixes crash found by syzbot:
    kernel BUG at drivers/android/binder_alloc.c:LINE! (2)

    (cherry pick from commit 26528be6720bb40bc8844e97ee73a37e530e9c5e)
    Bug: 67668716
Reported-and-tested-by: syzbot+55de1eb4975dec156d8f@syzkaller.appspotmail.com
Signed-off-by: Todd Kjos <tkjos@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Change-Id: Ib8597dd05a158f78503d4affe6c5f46ded16a811

commit e110c3b44e437bad09f76c2b42f23dcad898f57d
Author: Todd Kjos <tkjos@android.com>
Date:   Wed Feb 13 11:48:53 2019 -0800

    UPSTREAM: binder: fix sparse issue in binder_alloc_selftest.c

    Fixes sparse issues reported by the kbuild test robot running
    on https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git
    char-misc-testing: bde4a19fc04f5 ("binder: use userspace pointer as base
    of buffer space")

    Error output (drivers/android/binder_alloc_selftest.c):
    sparse: warning: incorrect type in assignment (different address spaces)
    sparse:    expected void *page_addr
    sparse:    got void [noderef] <asn:1> *user_data
    sparse: error: subtraction of different types can't work

    Fixed by adding necessary "__user" tags.

    (cherry pick from commit 36f30937922ce75390c73f99e650e4f2eb56b0e6)
    Bug: 67668716
Reported-by: kbuild test robot <lkp@intel.com>
Signed-off-by: Todd Kjos <tkjos@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Change-Id: Ia0a16d163251381d4bc04f46a44dddbc18b10a85

commit 9f6fd7733286f1af04d153c9d3a050ca2615b3cc
Author: Todd Kjos <tkjos@android.com>
Date:   Fri Feb 8 10:35:20 2019 -0800

    BACKPORT: binder: use userspace pointer as base of buffer space

    Now that alloc->buffer points to the userspace vm_area
    rename buffer->data to buffer->user_data and rename
    local pointers that hold user addresses. Also use the
    "__user" tag to annotate all user pointers so sparse
    can flag cases where user pointer vaues  are copied to
    kernel pointers. Refactor code to use offsets instead
    of user pointers.

    (cherry pick from commit bde4a19fc04f5f46298c86b1acb7a4af1d5f138d)
    Bug: 67668716
    Change-Id: I9d04b844c5994d1f6214da795799e6b373bc9816
Signed-off-by: Todd Kjos <tkjos@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit 194d8606b011657ce30bf0c240a5adcad0691201
Author: Todd Kjos <tkjos@android.com>
Date:   Wed Dec 5 15:19:25 2018 -0800

    UPSTREAM: binder: fix kerneldoc header for struct binder_buffer

    Fix the incomplete kerneldoc header for struct binder_buffer.

    (cherry pick from commit 7a2670a5bc917e4e7c9be5274efc004f9bd1216a)
    Bug: 67668716
Signed-off-by: Todd Kjos <tkjos@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Change-Id: I6bb942e6a9466b02653349943524462f205af839

commit 55cb58623a60d48678d8eb74e1cabe7744ed62c2
Author: Todd Kjos <tkjos@android.com>
Date:   Fri Feb 8 10:35:19 2019 -0800

    BACKPORT: binder: remove user_buffer_offset

    Remove user_buffer_offset since there is no kernel
    buffer pointer anymore.

    (cherry pick from commit c41358a5f5217abd7c051e8d42397e5b80f3b3ed)
    Bug: 67668716
Signed-off-by: Todd Kjos <tkjos@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Change-Id: I399219867704dc5013453a7738193c742fc970ad

commit 3301f77efa9d99e742e5642243b891e014becf17
Author: Todd Kjos <tkjos@android.com>
Date:   Fri Feb 8 10:35:18 2019 -0800

    UPSTREAM: binder: remove kernel vm_area for buffer space

    Remove the kernel's vm_area and the code that maps
    buffer pages into it.

    (cherry pick from commit 880211667b203dd32724f3be224c44c0400aa0a6)
    Bug: 67668716
Signed-off-by: Todd Kjos <tkjos@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Change-Id: I2595bb8416c2bbfcf97ad3d7380ae94e29c209fb

commit 628c27a60665f15984364f6c0a1bda03473b3a78
Author: Todd Kjos <tkjos@android.com>
Date:   Fri Feb 8 10:35:17 2019 -0800

    UPSTREAM: binder: avoid kernel vm_area for buffer fixups

    Refactor the functions to validate and fixup struct
    binder_buffer pointer objects to avoid using vm_area
    pointers. Instead copy to/from kernel space using
    binder_alloc_copy_to_buffer() and
    binder_alloc_copy_from_buffer(). The following
    functions were refactored:

     refactor binder_validate_ptr()
     binder_validate_fixup()
     binder_fixup_parent()

    (cherry pick from commit db6b0b810bf945d1991917ffce0e93383101f2fa)
    Bug: 67668716
Signed-off-by: Todd Kjos <tkjos@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Change-Id: Ic222af9b6c56bf48fd0b65debe981d19a7809e77

commit ed39057090cc4a95c318bafcd97f418da56e3867
Author: Todd Kjos <tkjos@android.com>
Date:   Fri Feb 8 10:35:16 2019 -0800

    BACKPORT: binder: add function to copy binder object from buffer

    When creating or tearing down a transaction, the binder driver
    examines objects in the buffer and takes appropriate action.
    To do this without needing to dereference pointers into the
    buffer, the local copies of the objects are needed. This patch
    introduces a function to validate and copy binder objects
    from the buffer to a local structure.

    (cherry pick from commit 7a67a39320dfba4b36d3be5dae4581194e650316)
    Bug: 67668716
Signed-off-by: Todd Kjos <tkjos@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Change-Id: I42dfe238a2d20bdeff479068ca87a80e4577e64a

commit 01f8f48c56b53faf1c795112f451a032a0d00b75
Author: Todd Kjos <tkjos@android.com>
Date:   Fri Feb 8 10:35:15 2019 -0800

    BACKPORT: binder: add functions to copy to/from binder buffers

    Avoid vm_area when copying to or from binder buffers.
    Instead, new copy functions are added that copy from
    kernel space to binder buffer space. These use
    kmap_atomic() and kunmap_atomic() to create temporary
    mappings and then memcpy() is used to copy within
    that page.

    Also, kmap_atomic() / kunmap_atomic() use the appropriate
    cache flushing to support VIVT cache architectures.
    Allow binder to build if CPU_CACHE_VIVT is defined.

    Several uses of the new functions are added here. More
    to follow in subsequent patches.

    (cherry picked from commit 8ced0c6231ead26eca8cb416dcb7cc1c2cdd41d8)
    Bug: 67668716
    Change-Id: I6a93d2396d0a80c352a1d563fc7fb523a753e38c
Signed-off-by: Todd Kjos <tkjos@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit bfc28d4c046d2a1aea5db66508e7fbb65a31a4a9
Author: Todd Kjos <tkjos@android.com>
Date:   Fri Feb 8 10:35:14 2019 -0800

    UPSTREAM: binder: create userspace-to-binder-buffer copy function

    The binder driver uses a vm_area to map the per-process
    binder buffer space. For 32-bit android devices, this is
    now taking too much vmalloc space. This patch removes
    the use of vm_area when copying the transaction data
    from the sender to the buffer space. Instead of using
    copy_from_user() for multi-page copies, it now uses
    binder_alloc_copy_user_to_buffer() which uses kmap()
    and kunmap() to map each page, and uses copy_from_user()
    for copying to that page.

    (cherry picked from 1a7c3d9bb7a926e88d5f57643e75ad1abfc55013)
    Bug: 67668716
Signed-off-by: Todd Kjos <tkjos@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Change-Id: I59ff83455984fce4626476e30601ed8b99858a92

commit 89a1a65d35200d8ca94c865f061f11af41a8ced7
Author: Todd Kjos <tkjos@android.com>
Date:   Mon Jan 14 09:10:21 2019 -0800

    FROMGIT: binder: create node flag to request sender's security context

    To allow servers to verify client identity, allow a node
    flag to be set that causes the sender's security context
    to be delivered with the transaction. The BR_TRANSACTION
    command is extended in BR_TRANSACTION_SEC_CTX to
    contain a pointer to the security context string.

Signed-off-by: Todd Kjos <tkjos@google.com>
Reviewed-by: Joel Fernandes (Google) <joel@joelfernandes.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    (cherry picked from commit ec74136ded792deed80780a2f8baf3521eeb72f9
     https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
     master)
    Change-Id: I44496546e2d0dc0022f818a45cd52feb1c1a92cb
Signed-off-by: Todd Kjos <tkjos@google.com>
commit 4afd6d2498ecd54e4211c6e47d8956a686a52ee3
Author: Todd Kjos <tkjos@android.com>
Date:   Wed Dec 5 15:19:26 2018 -0800

    UPSTREAM: binder: filter out nodes when showing binder procs

    When dumping out binder transactions via a debug node,
    the output is too verbose if a process has many nodes.
    Change the output for transaction dumps to only display
    nodes with pending async transactions.

Signed-off-by: Todd Kjos <tkjos@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    (cherry picked from commit ecd589d8f5661dd3a9545079a29b678cd9e3ecf3)
    Bug: 112037142
    Change-Id: Iaa76ebdc844037ce1ee3bf2e590676790a959cef

commit 72e3c1d60a499bfa547d962a150082f47bfb16af
Author: Todd Kjos <tkjos@android.com>
Date:   Tue Nov 6 15:55:32 2018 -0800

    binder: fix race that allows malicious free of live buffer

    commit 7bada55ab50697861eee6bb7d60b41e68a961a9c upstream.

    Malicious code can attempt to free buffers using the BC_FREE_BUFFER
    ioctl to binder. There are protections against a user freeing a buffer
    while in use by the kernel, however there was a window where
    BC_FREE_BUFFER could be used to free a recently allocated buffer that
    was not completely initialized. This resulted in a use-after-free
    detected by KASAN with a malicious test program.

    This window is closed by setting the buffer's allow_user_free attribute
    to 0 when the buffer is allocated or when the user has previously freed
    it instead of waiting for the caller to set it. The problem was that
    when the struct buffer was recycled, allow_user_free was stale and set
    to 1 allowing a free to go through.

Signed-off-by: Todd Kjos <tkjos@google.com>
Acked-by: Arve Hjønnevåg <arve@android.com>
Cc: stable <stable@vger.kernel.org> # 4.14
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit c7940ee7e55f4caec80ab646b7f9d495ee2677c6
Author: Martijn Coenen <maco@android.com>
Date:   Sat Aug 25 13:50:56 2018 -0700

    UPSTREAM: binder: Add BINDER_GET_NODE_INFO_FOR_REF ioctl.

    This allows the context manager to retrieve information about nodes
    that it holds a reference to, such as the current number of
    references to those nodes.

    Such information can for example be used to determine whether the
    servicemanager is the only process holding a reference to a node.
    This information can then be passed on to the process holding the
    node, which can in turn decide whether it wants to shut down to
    reduce resource usage.

    Bug: 79983843
    Change-Id: I21e52ed1ca2137f7bfdc0300365fb1285b7e3d70
Signed-off-by: Martijn Coenen <maco@android.com>
commit afd02b5ead68a94eb6bf1bf5234271687d7eb461
Author: Minchan Kim <minchan@kernel.org>
Date:   Thu Aug 23 14:29:56 2018 +0900

    android: binder: fix the race mmap and alloc_new_buf_locked

    There is RaceFuzzer report like below because we have no lock to close
    below the race between binder_mmap and binder_alloc_new_buf_locked.
    To close the race, let's use memory barrier so that if someone see
    alloc->vma is not NULL, alloc->vma_vm_mm should be never NULL.

    (I didn't add stable mark intentionallybecause standard android
    userspace libraries that interact with binder (libbinder & libhwbinder)
    prevent the mmap/ioctl race. - from Todd)

    "
    Thread interleaving:
    CPU0 (binder_alloc_mmap_handler)              CPU1 (binder_alloc_new_buf_locked)
    =====                                         =====
    // drivers/android/binder_alloc.c
    // #L718 (v4.18-rc3)
    alloc->vma = vma;
                                                  // drivers/android/binder_alloc.c
                                                  // #L346 (v4.18-rc3)
                                                  if (alloc->vma == NULL) {
                                                      ...
                                                      // alloc->vma is not NULL at this point
                                                      return ERR_PTR(-ESRCH);
                                                  }
                                                  ...
                                                  // #L438
                                                  binder_update_page_range(alloc, 0,
                                                          (void *)PAGE_ALIGN((uintptr_t)buffer->data),
                                                          end_page_addr);

                                                  // In binder_update_page_range() #L218
                                                  // But still alloc->vma_vm_mm is NULL here
                                                  if (need_mm && mmget_not_zero(alloc->vma_vm_mm))
    alloc->vma_vm_mm = vma->vm_mm;

    Crash Log:
    ==================================================================
    BUG: KASAN: null-ptr-deref in __atomic_add_unless include/asm-generic/atomic-instrumented.h:89 [inline]
    BUG: KASAN: null-ptr-deref in atomic_add_unless include/linux/atomic.h:533 [inline]
    BUG: KASAN: null-ptr-deref in mmget_not_zero include/linux/sched/mm.h:75 [inline]
    BUG: KASAN: null-ptr-deref in binder_update_page_range+0xece/0x18e0 drivers/android/binder_alloc.c:218
    Write of size 4 at addr 0000000000000058 by task syz-executor0/11184

    CPU: 1 PID: 11184 Comm: syz-executor0 Not tainted 4.18.0-rc3 #1
    Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.8.2-0-g33fbe13 by qemu-project.org 04/01/2014
    Call Trace:
     __dump_stack lib/dump_stack.c:77 [inline]
     dump_stack+0x16e/0x22c lib/dump_stack.c:113
     kasan_report_error mm/kasan/report.c:352 [inline]
     kasan_report+0x163/0x380 mm/kasan/report.c:412
     check_memory_region_inline mm/kasan/kasan.c:260 [inline]
     check_memory_region+0x140/0x1a0 mm/kasan/kasan.c:267
     kasan_check_write+0x14/0x20 mm/kasan/kasan.c:278
     __atomic_add_unless include/asm-generic/atomic-instrumented.h:89 [inline]
     atomic_add_unless include/linux/atomic.h:533 [inline]
     mmget_not_zero include/linux/sched/mm.h:75 [inline]
     binder_update_page_range+0xece/0x18e0 drivers/android/binder_alloc.c:218
     binder_alloc_new_buf_locked drivers/android/binder_alloc.c:443 [inline]
     binder_alloc_new_buf+0x467/0xc30 drivers/android/binder_alloc.c:513
     binder_transaction+0x125b/0x4fb0 drivers/android/binder.c:2957
     binder_thread_write+0xc08/0x2770 drivers/android/binder.c:3528
     binder_ioctl_write_read.isra.39+0x24f/0x8e0 drivers/android/binder.c:4456
     binder_ioctl+0xa86/0xf34 drivers/android/binder.c:4596
     vfs_ioctl fs/ioctl.c:46 [inline]
     do_vfs_ioctl+0x154/0xd40 fs/ioctl.c:686
     ksys_ioctl+0x94/0xb0 fs/ioctl.c:701
     __do_sys_ioctl fs/ioctl.c:708 [inline]
     __se_sys_ioctl fs/ioctl.c:706 [inline]
     __x64_sys_ioctl+0x43/0x50 fs/ioctl.c:706
     do_syscall_64+0x167/0x4b0 arch/x86/entry/common.c:290
     entry_SYSCALL_64_after_hwframe+0x49/0xbe
    "

Signed-off-by: Todd Kjos <tkjos@google.com>
Signed-off-by: Minchan Kim <minchan@kernel.org>
Reviewed-by: Martijn Coenen <maco@android.com>
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit 3ed5fd0f095e9d6fe5f33f909165a8cd596e8b46
Author: Sherry Yang <sherryy@android.com>
Date:   Tue Aug 7 12:57:13 2018 -0700

    android: binder: Rate-limit debug and userspace triggered err msgs

    Use rate-limited debug messages where userspace can trigger
    excessive log spams.

Acked-by: Arve Hjønnevåg <arve@android.com>
Signed-off-by: Sherry Yang <sherryy@android.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit 8129fb3ee7af23a888383aa23647c9d576ecdfef
Author: Sherry Yang <sherryy@android.com>
Date:   Thu Jul 26 17:17:17 2018 -0700

    android: binder: Show extra_buffers_size in trace

    Add extra_buffers_size to the binder_transaction_alloc_buf tracepoint.

Acked-by: Arve Hjønnevåg <arve@android.com>
Signed-off-by: Sherry Yang <sherryy@android.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit 3b0bbcb65457ddec6fbee72bb26002e2bba16089
Author: Guenter Roeck <linux@roeck-us.net>
Date:   Mon Jul 23 14:41:38 2018 -0700

    android: binder: Include asm/cacheflush.h after linux/ include files

    If asm/cacheflush.h is included first, the following build warnings are
    seen with sparc32 builds.

    In file included from arch/sparc/include/asm/cacheflush.h:11:0,
            from drivers/android/binder.c:54:
    arch/sparc/include/asm/cacheflush_32.h:40:37: warning:
     'struct page' declared inside parameter list will not be visible
     outside of this definition or declaration

    Moving the asm/ include after linux/ includes solves the problem.

Suggested-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit e8a4948f49629c6ab122339f46908884d55ca7e9
Author: Guenter Roeck <linux@roeck-us.net>
Date:   Mon Jul 23 14:47:23 2018 -0700

    android: binder_alloc: Include asm/cacheflush.h after linux/ include files

    If asm/cacheflush.h is included first, the following build warnings are
    seen with sparc32 builds.

    In file included from ./arch/sparc/include/asm/cacheflush.h:11:0,
     from drivers/android/binder_alloc.c:20:
    ./arch/sparc/include/asm/cacheflush_32.h:40:37: warning:
     'struct page' declared inside parameter list

    Moving the asm/ include after linux/ includes fixes the problem.

Suggested-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit 8cae6730ef318700ab3a0db3ef43ee6a5e5856c8
Author: Geert Uytterhoeven <geert@linux-m68k.org>
Date:   Wed Jun 6 14:40:56 2018 +0200

    android: binder: Drop dependency on !M68K

    As of commit 7124330dabe5b3cb ("m68k/uaccess: Revive 64-bit
    get_user()"), the 64-bit Android binder interface builds fine on m68k.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
verify:
p212

Change-Id: I1bac2c5345bcac64a3890f1688c1ecc4a3654a79
Signed-off-by: Tao Zeng <tao.zeng@amlogic.com>
5 years agokasan: rebuild address layout after vmalloc increased [1/1]
Tao Zeng [Tue, 7 May 2019 02:51:42 +0000 (10:51 +0800)]
kasan: rebuild address layout after vmalloc increased [1/1]

PD#SWPL-8132

Problem:
In Jira TV-5143, final fix change have increased 128MB address space
for vmalloc. Because binder wasted too many vmalloc space but it's
hard to fix it in kernel side.
Due to incease of vmalloc address space, old design of address space
layout for KASAN32 is not suitable after this change. So we need to
change memory layout to fix this problem and let KASAN can running OK
again.

Solution:
1, rebuild address space layout for kasan
2, make kasan compatible with vmap stack config

Verify:
p212

Change-Id: I2ce8a840df0ce1fcda61ebeb14a64b1d609719ca
Signed-off-by: Tao Zeng <tao.zeng@amlogic.com>
5 years agokasan: fix wrong kasan report when resume [1/1]
Tao Zeng [Wed, 24 Apr 2019 08:10:03 +0000 (16:10 +0800)]
kasan: fix wrong kasan report when resume [1/1]

PD#SWPL-7676

Problem:
If we open kasan on 32bit kernel, after resume we usually will
get a stack-out-of-bounds KASAN error report. But infact that's
a fake report. Because On arm architecture, cpu suspend/resume
routine is done in function call path:
    cpu_suspend -> psci_cpu_suspend -> __invoke_psci_fn_smc
during this call path, some parts of stack will be marked as
shadow memory. But when cpu resume from smc call, it directly
return to point which saved in cpu_suspend and call resume
procedure. Which do not comeback as a reverse return path:
    __invoke_psci_fn_smc -> psci_cpu_suspend -> cpu_suspend
So some residual shadow memory may affect KASAN report when
cpu is calling resume hooks.

Solution:
We just need to clear all shadow in stack for this case.

Verify:
p212

Change-Id: Ic6c877212240d03902b11184e54ac363455e0094
Signed-off-by: Tao Zeng <tao.zeng@amlogic.com>
5 years agounifikey: fix kasan bug reported in name_store [1/1]
Jiamin Ma [Fri, 19 Apr 2019 00:15:47 +0000 (08:15 +0800)]
unifikey: fix kasan bug reported in name_store [1/1]

PD#SWPL-7326

Problem:
slab-out-of-bounds in strlen called by name_store

Solution:
Make sure the string passed to strlen is always '\0'
ended

Verify:
Locally

Change-Id: Ifd78a100c0e34ff9afb527ebe7b044ceb5c3505e
Signed-off-by: Jiamin Ma <jiamin.ma@amlogic.com>
5 years agosupsend: update gx_pm driver [1/1]
Hong Guo [Thu, 18 Apr 2019 08:42:01 +0000 (16:42 +0800)]
supsend: update gx_pm driver [1/1]

PD#SWPL-7226

Problem:
update gx_pm driver

Solution:
update gx_pm driver

Verify:
test pass on tl1_x309

Change-Id: If078b0744cb8ce46029d77512d5755f4d40c2014
Signed-off-by: Hong Guo <hong.guo@amlogic.com>
Signed-off-by: Luan Yuan <luan.yuan@amlogic.com>
5 years agokasan: bring up KASAN for 32bit os [2/2]
Tao Zeng [Tue, 16 Apr 2019 01:42:24 +0000 (09:42 +0800)]
kasan: bring up KASAN for 32bit os [2/2]

PD#SWPL-7085

Problem:
Currently kasan can't be used on 32bit kernel, it's difficult to debug
memory problems;

Solution:
Bring up KASAN on 32bit kernel

Verify:
p212

Change-Id: I4d80568f023315994e969c79b786eba856177c9c
Signed-off-by: Tao Zeng <tao.zeng@amlogic.com>
5 years agocec: cec version is not 1.4 when do cts [1/1]
Yong Qin [Fri, 1 Mar 2019 06:30:34 +0000 (14:30 +0800)]
cec: cec version is not 1.4 when do cts [1/1]

PD#SWPL-5045

Problem:
cts cec version is not right

Solution:
cec version 1.4

Verify:
android p

Change-Id: Iffb9712ce2f7724e9dd0abd9119588a9914159a4
Signed-off-by: Yong Qin <yong.qin@amlogic.com>
5 years agodv: reset the g_vpotch value according to current vinfo [1/1]
Brian Zhu [Mon, 20 May 2019 09:43:41 +0000 (17:43 +0800)]
dv: reset the g_vpotch value according to current vinfo [1/1]

PD#SWPL-8419

Problem:
Get the wrong g_vpotch value when platform bootup

Solution:
reset the g_vpotch value according to current vinfo

Verify:
verified by u212

Change-Id: Ied06ee71ac12c1daca8af71bbd98840ef0c2a731
Signed-off-by: Brian Zhu <brian.zhu@amlogic.com>
5 years agoamlvideo: pip channel not set omx_secret_mode [1/1]
jintao xu [Wed, 8 May 2019 05:56:17 +0000 (13:56 +0800)]
amlvideo: pip channel not set omx_secret_mode [1/1]

PD#OTT-2783

Problem:
when the second channel exit, the first channel will freeze

Solution:
pip not need set omx_secret_mode

Verify:
U212

Change-Id: I1f5f2624699ad29df06f67b288d16a15ab4edcf9
Signed-off-by: jintao xu <jintao.xu@amlogic.com>
5 years agodebug: add trace tag and more trace print [1/2]
Tao Guo [Fri, 29 Mar 2019 12:27:19 +0000 (20:27 +0800)]
debug: add trace tag and more trace print [1/2]

PD#SWPL-8124

Problem:
There are too many trace info when enabled
Lack some important trace info

Solution:
Add tag to enable/disable trace info for different modules
Add more trace info

Verify:
P212

Change-Id: I9916b97071dc6b3a5e133bb0ea55eb9a9532cec8
Signed-off-by: Tao Guo <tao.guo@amlogic.com>
5 years agomedia_module: add double cache in codec_mm_scatter [1/1]
Peng Yixin [Tue, 19 Mar 2019 12:11:58 +0000 (20:11 +0800)]
media_module: add double cache in codec_mm_scatter [1/1]

PD#SWPL-6677

Problem:
    Decocder allocation and free mmu memory spend a long time.

Solution:
    Add double cache to solve this problem.

Verify:
    Verified P212

Change-Id: I393ad47b921631a49f551b32e31fd776ff4dfeea
Signed-off-by: Peng Yixin <yixin.peng@amlogic.com>
5 years agoavsync: fix the avsync issue when pcrmaster [1/1]
Xiaoming Sui [Fri, 26 Apr 2019 10:42:46 +0000 (18:42 +0800)]
avsync: fix the avsync issue when pcrmaster [1/1]

PD#SWPL-7775

Problem:
dtv video freeze when the stream is replayed

Solution:
when replay at pcrmaster, check the vpts and systime,
if the vpts > systime and the diff > margin,
then adjust the sysclk to make playback smooth.

Verify:
X301

Change-Id: Id1474db030e06fff6ce425a54562cfa4e02ceaa9
Signed-off-by: Xiaoming Sui <xiaoming.sui@amlogic.com>
5 years agoaudio: config 2+2 loopback [1/1]
Shuai Li [Wed, 8 May 2019 09:37:37 +0000 (17:37 +0800)]
audio: config 2+2 loopback [1/1]

PD#SWPL-7741

Problem:
Default is 6+2.
But aec needs 2+2 setting.

Solution:
Change the dts setting.

Verify:
SM1 AC213.

Change-Id: I5b3585c017146bde5b265f315f8167e8232566fb
Signed-off-by: Shuai Li <shuai.li@amlogic.com>
5 years agoaudio: support 48k out & 16k loopback [1/1]
Shuai Li [Fri, 10 May 2019 05:51:43 +0000 (13:51 +0800)]
audio: support 48k out & 16k loopback [1/1]

PD#SWPL-7741

Problem:
Enable the loopback function.
Fix 48k output & 16k loopback abnormal.

Solution:
Fix the resample source.
DO not touch output clk at loopback driver.

Verify:
Sm1, AC213

Change-Id: I210083813e9e6ec834941da333f8ce076e9afbcf
Signed-off-by: Shuai Li <shuai.li@amlogic.com>
5 years agoaudio: fixed audio clk source sel error [1/1]
Zhe Wang [Thu, 16 May 2019 12:53:46 +0000 (20:53 +0800)]
audio: fixed audio clk source sel error [1/1]

PD#SWPL-8663

Problem:
there is no audio clk on SM1

Solution:
fixed clk source setting error

Verify:
AC200

Change-Id: Ief01d680c435cfc2f50f9b7da0a6e4d68db846d5
Signed-off-by: Zhe Wang <Zhe.Wang@amlogic.com>
5 years agodts: add arm isp device node [1/1]
keke.li [Tue, 19 Mar 2019 05:46:35 +0000 (13:46 +0800)]
dts: add arm isp device node [1/1]

PD#SWPL-70

Problem:
arm isp driver need to use dts

Solution:
add arm isp device node

Verify:
w400

Test: camera preview and capture OK

Change-Id: Idc603890f07afe25beba5deab3ab391825aee584
Signed-off-by: Keke Li <keke.li@amlogic.com>
5 years agothermal: modify ipa parameter for sm1 [1/1]
Huan Biao [Wed, 17 Apr 2019 06:57:58 +0000 (14:57 +0800)]
thermal: modify ipa parameter for sm1 [1/1]

PD#SWPL-7322

Problem:
sm1 ipa parameter not match soc power data

Solution:
update sm1 ipa dts parameter

Verify:
AC200

Change-Id: Ib636d5c4853d53cf6bafad9b5266e2b13dd7e85c
Signed-off-by: Huan Biao <huan.biao@amlogic.com>
5 years agohdmitx: add audio ATMOS parsing [1/1]
Zongdong Jiao [Fri, 11 Jan 2019 03:27:21 +0000 (11:27 +0800)]
hdmitx: add audio ATMOS parsing [1/1]

PD#SWPL-4085

Problem:
Need audio ATMOS information in RX EDID

Solution:
Add parsing audio ATMOS information

Verify:
GXL/P212

Change-Id: I882b817a4d7621833bb7e4b85231d7a42e426382
Signed-off-by: Zongdong Jiao <zongdong.jiao@amlogic.com>
5 years agohdmitx: adjust PHY parameter with 5.1 ohm resistor [2/2]
Zongdong Jiao [Fri, 8 Mar 2019 07:23:30 +0000 (15:23 +0800)]
hdmitx: adjust PHY parameter with 5.1 ohm resistor [2/2]

PD#SWPL-2927

Problem:
No enough eye diagram when adding TMDS 5.1 ohm resistor

Solution:
adjust PHY parameter with 5.1 ohm resistor

Verify:
G12/U212

Change-Id: Ib5518613c556f9b04eb0aa374193c7a6046a7ba9
Signed-off-by: Zongdong Jiao <zongdong.jiao@amlogic.com>
5 years agohdmitx: add dongle_mode case for low power [2/2]
Zongdong Jiao [Fri, 8 Mar 2019 10:57:49 +0000 (18:57 +0800)]
hdmitx: add dongle_mode case for low power [2/2]

PD#SWPL-5302

Problem:
For dongle products, it is connected to TV directly, and some
parameters are different from mbox.

Solution:
Add dongle mode for driver's usage

Verify:
U211/S905Y2

Change-Id: Ibe45b167800d3b830d78ca8e9d7b67efd64d8564
Signed-off-by: Zongdong Jiao <zongdong.jiao@amlogic.com>
5 years agoaudio: update audio driver to the latest. [1/1]
Shuai Li [Wed, 27 Mar 2019 08:37:00 +0000 (16:37 +0800)]
audio: update audio driver to the latest. [1/1]

0504a9a audio: add clk tuning_enable/start_enable control in dts [1/1]
32dd894 audio: add lock for resampler [1/1]
2ad1050 audio: set hdmi format-check threshold by input samplerate [2/2]
953435d audio: fix TDMOUT channel map error [1/1]
9eace31 audio: auge: add lower power mode for PDM & vad [1/1]
90b9c44 audio: auge: add loopback driver [1/1]
0d736dd audio: add 10ms sleep before pdn enable [1/1]
51d1794 audio: add 10ms delay before pdn enable [1/1]
998f60b audio: disable tl1 acodec dac dapm to depop [1/1]
7b0ef35 audio: enable hw resmaple pause thd [1/1]
fcb2613 audio: TM2 bringup: enable ADC for linein [1/1]
4f4dc5a audio: TM2: bringup AMP ti5805 on ab301 [1/1]
758b24b audio: fixed kernel panic when resample is disabled [1/1]
19e844f audio: TM2 audio basic function bringup [1/1]
27c68d0 audio: add codec trigger mute for depop [1/1]
d415bb5 audio: fixed the issue of PDM 16 channel capture. [1/1]
d6e5cf5 audio: always on DDR arb [1/1]
0663274 audio: add HW resample for HDMIRX [1/1]
22f4718 audio: add param check for resample [1/1]
audio: add HW resample for HDMIRX [1/1]

PD#SWPL-6118

Problem:
No resample will cause mismatch between
input and output if they are not at same
samplerate.

Solution:
Add resample for hdmirx case

Verify:
Local tested.

Change-Id: I298e401578bf49484d6b75fd736d2a74c38508e4
Signed-off-by: Shuai Li <shuai.li@amlogic.com>
Signed-off-by: Luan Yuan <luan.yuan@amlogic.com>
audio: always on DDR arb [1/1]

PD#TV-3452

Problem:
Toddr stuck after a long time playback.

Solution:
For debug usage.

Verify:
No need.

Change-Id: Ibf4446148f5e028040d7d6527c7695f23f964f7c
Signed-off-by: Shuai Li <shuai.li@amlogic.com>
Signed-off-by: Zhe Wang <Zhe.Wang@amlogic.com>
audio: fixed the issue of PDM 16 channel capture. [1/1]

PD#SWPL-5551

Problem:
cannot capture 8PDM + 8LOOPBACK.

Solution:
PDM cannot support 8PDM + 8LOOPBACK.

Verify:
s420/s400, verify pass

Change-Id: Iaf38bdcb218ebfc024666312162569cab93a76a9
Signed-off-by: Renjun Xu <renjun.xu@amlogic.com>
audio: add codec trigger mute for depop [1/1]

PD#SWPL-6944

Problem:
TV-3381
Speaker sometimes has clicking noise when playing DTV program.

Solution:
add codec trigger mute for depop

Verify:
Local verified.

Change-Id: Ib15a6b90bd3a6cdda2255afaf86daeab68ba07e2
Signed-off-by: Shuai Li <shuai.li@amlogic.com>
audio: TM2 audio basic function bringup [1/1]

PD#SWPL-6721

Problem:
TM2 bringup

Solution:
audio basic function bringup

Verify:
Verified on T962e2_ab311

Change-Id: Ic48ded3964ea87e40c4d683d71a50bbdc1975f91
Signed-off-by: Zhe Wang <Zhe.Wang@amlogic.com>
Signed-off-by: Luan Yuan <luan.yuan@amlogic.com>
audio: fixed kernel panic when resample is disabled [1/1]

PD#SWPL-7039

Problem:
Kernel Panic when resample A is disabled

Solution:
When resample is disabled,don't init resample

Verify:
Verified on T962e2_ab311

Change-Id: Id9552ffc6be40f133b828dbded4ad3f15d177ab0
Signed-off-by: Zhe Wang <Zhe.Wang@amlogic.com>
audio: TM2: bringup AMP ti5805 on ab301 [1/1]

PD#SWPL-7074

Problem:
speaker doesn't work

Solution:
bringup AMP ti5805 on ab301

Verify:
Verified on T962x3_ab301

Change-Id: Icb27691b4fd5a1e54070c4a6d3d3c68cdf3a60b7
Signed-off-by: Zhe Wang <Zhe.Wang@amlogic.com>
Signed-off-by: Luan Yuan <luan.yuan@amlogic.com>
audio: TM2 bringup: enable ADC for linein [1/1]

PD#SWPL-7027

Problem:
audio path AVin is on audio

Solution:
enable ADC for linein

Verify:
Verify on AB311

Change-Id: Iea1d694e0b605d62596635d85416d33f56dbbcb2
Signed-off-by: Zhe Wang <Zhe.Wang@amlogic.com>
Signed-off-by: Luan Yuan <luan.yuan@amlogic.com>
audio: enable hw resmaple pause thd [1/1]

PD#TV-4638

Problem:
Speaker output high frequency howling
after change from pattern 615 to pattern 1 on chroma22294.
The hw resampler keeps sending noise if it has no input.

Solution:
Enable the hw resample pause thd by default.

Verify:
TL1 X301.

Change-Id: Ib6f0924025e155eaa8ba0e3681b307f7ff56b449
Signed-off-by: Shuai Li <shuai.li@amlogic.com>
audio: disable tl1 acodec dac dapm to depop [1/1]

PD#TV-3933

Problem:
Tl1 acodec has pop sound when first sound appear.

Solution:
Disable the DAPM which disable/enable every time
start/stop the audio stream.

Verify:
Tl1 X301.

Change-Id: Iaaf7da125de513bd8297f6c6e41af0a42c9d25bd
Signed-off-by: Shuai Li <shuai.li@amlogic.com>
audio: add 10ms delay before pdn enable [1/1]

PD#SWPL-7680

Problem:
the pwn signal is self excitable

Solution:
1)add 10ms delay before pdn enable
2)set default clk for extern codec

Verify:
HW verify

Change-Id: I031b20851ee1eeb65215075fc8abe783ceddf42b
Signed-off-by: Zhe Wang <Zhe.Wang@amlogic.com>
audio: add 10ms sleep before pdn enable [1/1]

PD#SWPL-7680

Problem:
mdelay will pend the system

Solution:
change mdelay to usleep_range

Verify:
HW verify

Change-Id: I8452dc7b1056378dbc6b743fc43316eccbf525a5
Signed-off-by: Zhe Wang <Zhe.Wang@amlogic.com>
audio: auge: add loopback driver [1/1]

PD#SWPL-7240

Problem:
limit of current loopback
add loopback b for tl1
add tdmin_lb

Solution:
optimize loopback driver

Verify:
s400, u200, x301, ac200, ab301

Change-Id: I9dd4c7ad041231bb2c49513e354cfb4fb92131c4
Signed-off-by: Xing Wang <xing.wang@amlogic.com>
Signed-off-by: Luan Yuan <luan.yuan@amlogic.com>
audio: auge: add lower power mode for PDM & vad [1/1]

PD#SWPL-3825

Problem:
VAD & PDM works in 24m clks for lowpower mode when in deep suspend

Solution:
support VAD & PDM in 24m sysclk, 768k dclk

Verify:
x301

Change-Id: Ic363337ee9b0eba0f890ae62b9e0cb6bb54dcd6a
Signed-off-by: Xing Wang <xing.wang@amlogic.com>
Signed-off-by: Luan Yuan <luan.yuan@amlogic.com>
audio: fix TDMOUT channel map error [1/1]

PD#SWPL-6427

Problem:
ALSA tdmout buffer frequently underrun.
This will cause the tdmout channel map error.
And the other channels data go into the spk.

Solution:
1)Adjust the sequence of starting and stopping.
2)reserved frddrA for EQ/DRC module

Verify:
Test more that 1 hour and pass.
Need more stress test.

Change-Id: Ib9b6897f0b6c32652c611a8c2c367aa76b9f1e3f
Signed-off-by: Shuai Li <shuai.li@amlogic.com>
Signed-off-by: Zhe Wang <Zhe.Wang@amlogic.com>
Signed-off-by: Luan Yuan <luan.yuan@amlogic.com>
audio: set hdmi format-check threshold by input samplerate [2/2]

PD#SWPL-6340

Problem:
ddp audio input from hdmiin is not smooth

Solution:
set hdmiin format-check threshold by input sr

Verify:
Verified by x301.

Change-Id: Idb8ffa616c3880b1c34d61ca4e8c2917343a9ffc
Signed-off-by: Zhe Wang <Zhe.Wang@amlogic.com>
audio: add lock for resampler [1/1]

PD#SWPL-8134

Problem:
kernel NULL pointer for aml_resample_enable

Solution:
add lock for resampler

Verify:
Need stress test for x301

Change-Id: I1bbf5d7aeab681399c93f0cba9cc59195d3be0d6
Signed-off-by: Shuai Li <shuai.li@amlogic.com>
audio: add clk tuning_enable/start_enable control in dts [1/1]

PD#SWPL-8306

Problem:
speaker without audio on S400. sideeffect of SWPL-7680

Solution:
add control interface in dts to enable clk tuning
and start clk before codec init

Verify:
verify on S400

Change-Id: Ic9f4e7b13b7d4ced18852346cdc7cf5f48e510dc
Signed-off-by: Zhe Wang <Zhe.Wang@amlogic.com>
Signed-off-by: Luan Yuan <luan.yuan@amlogic.com>
audio: add param check for resample [1/1]

PD#SWPL-7798

Problem:
Crashed when audio resample setting params
are invalid.

Solution:
Add check method if the params is invalid.

Verify:
Tl1.

Change-Id: I1e0396be8d401c0a49ff0de9fd7f160f0c8133ca
Signed-off-by: Shuai Li <shuai.li@amlogic.com>
Signed-off-by: Luan Yuan <luan.yuan@amlogic.com>
5 years agodts: audio: update vad for sm1 [1/1]
Xing Wang [Tue, 9 Apr 2019 03:20:57 +0000 (11:20 +0800)]
dts: audio: update vad for sm1 [1/1]

PD#SWPL-5427

Problem:
lack vad function for sm1

Solution:
add vad function for sm1

Verify:
ac200

Change-Id: Ib4118b16405102a72f98ff65396e6f9d98f97bca
Signed-off-by: Xing Wang <xing.wang@amlogic.com>
5 years agobandwidth: fix wrong bandwidth usage on t950 [1/3]
wenbiao zhang [Fri, 18 Jan 2019 09:03:54 +0000 (17:03 +0800)]
bandwidth: fix wrong bandwidth usage on t950 [1/3]

PD#TV-470

Problem:
t950 ddr bandwidth usage is error

Solution:
t950/805x ddr is 16bit, correct the param to get right usage

Verify:
t950

Change-Id: Ice876f82e5c33e778b3ac9f593e0c163d57d7f3f
Signed-off-by: wenbiao zhang <wenbiao.zhang@amlogic.com>
5 years agodts: flanklin update dvb dts to adapte attach mode [1/3]
qiyao.zhou [Mon, 15 Apr 2019 09:25:03 +0000 (17:25 +0800)]
dts: flanklin update dvb dts to adapte attach mode [1/3]

PD#SWPL-8315

Problem:
flanklin dvb dts used 3.14 mode

Solution:
flanklin update dvb dts to adapte attach mode

Verify:
verify it on franklin.

Change-Id: I53a9ed2c6f28e75cbb327c2d1c122622b2e4b23e
Signed-off-by: Cheng Tong <cheng.tong@amlogic.com>
dts: flanklin bring up based on google-ref! [1/2]

PD#SWPL-7184

Problem:
flanklin bring up based on google-ref.

Solution:
Modify copy file for franklin.

Verify:
verify it on franklin.

Change-Id: Ibaba2dcb7a3e8715243f5a93d69a1bf96e8c49a7
Signed-off-by: qiyao.zhou <qiyao.zhou@amlogic.com>
dts: flanklin bring up based on google-ref! [1/1]

PD#SWPL-7184

Problem:
flanklin bring up based on google-ref.

Solution:
Modify copy file for franklin.

Verify:
verify it on franklin.

Change-Id: If55159835daf0a87439647586526f836a226504c
Signed-off-by: qiyao.zhou <qiyao.zhou@amlogic.com>
5 years agocommon: support tp CST226 for yeke [1/1]
Luan Yuan [Tue, 30 Apr 2019 11:05:19 +0000 (19:05 +0800)]
common: support tp CST226 for yeke [1/1]

PD#SWPL-8013

Problem:
support touchpanel CST226 for yeke.

Solution:
support touchpanel CST226 for yeke.

Verify:
verify by u202.

Change-Id: Id74df3e25761118db4c10706128df29eb6eb2894
Signed-off-by: Luan Yuan <luan.yuan@amlogic.com>
dts: add touch screen dts config for CST226 [1/1]

PD#SWPL-8013

Problem:
separate dts config from driver

Solution:
separate dts config from driver

Verify:
verify by u202

Change-Id: I4de45ec213b86d12cdd9296f80de62f4f2dc6713
Signed-off-by: GongWei Chen <gongwei.chen@amlogic.com>
Signed-off-by: Luan Yuan <luan.yuan@amlogic.com>
5 years agonpu: check chip whether contain npu module [1/2]
cancan.chang [Fri, 26 Apr 2019 11:59:59 +0000 (19:59 +0800)]
npu: check chip whether contain npu module [1/2]

PD#SWPL-7761

Problem:
S922X revb boot up fail

Solution:
add check function

Verify:
test pass at g12b revb

Change-Id: I17de7f9f82e09c68e27668288cb001e975785f5b
Signed-off-by: cancan chang <cancan.chang@amlogic.com>
5 years agoisp: check chip whether contain isp module [2/2]
Guosong Zhou [Fri, 26 Apr 2019 09:26:10 +0000 (05:26 -0400)]
isp: check chip whether contain isp module [2/2]

PD#SWPL-7761

Problem:
S922X revb boot up fail

Solution:
add check function

Verify:
test pass at g12b revb

Change-Id: I6a6842a3578f2a9bd4d6879a0f9632a28c099afb
Signed-off-by: Guosong Zhou <guosong.zhou@amlogic.com>
5 years agocommon: lcd: support yeke panel [1/1]
Luan Yuan [Wed, 8 May 2019 08:07:14 +0000 (16:07 +0800)]
common: lcd: support yeke panel [1/1]

PD#SWPL-8219

Problem:
not support lcd panel in ac202

Solution:
support lcd panel.

Verify:
verify by ac202.

Change-Id: Ib462a3536c21f0a55c0e0ff947f01c8f52ef3f13
Signed-off-by: Luan Yuan <luan.yuan@amlogic.com>
5 years agodts: add ac202 for s905d3 panel [1/3]
Luan Yuan [Wed, 8 May 2019 06:12:24 +0000 (14:12 +0800)]
dts: add ac202 for s905d3 panel [1/3]

PD#SWPL-8219

Problem:
not support S905D3 panel

Solution:
add ac202 for S905D3 panel

Verify:
verify by ac202

Change-Id: I32188a8bbf7c25c490bf4735c55e63a3a92ef149
Signed-off-by: Luan Yuan <luan.yuan@amlogic.com>
5 years agocommon: lcd: support yeke panel [2/5]
Luan Yuan [Tue, 30 Apr 2019 13:05:18 +0000 (21:05 +0800)]
common: lcd: support yeke panel [2/5]

PD#SWPL-8001

Problem:
support lcd panel.

Solution:
support lcd panel.

Verify:
verify by u202.

Change-Id: If0f665944c9a91a39c6fbd101e24878705284732
Signed-off-by: Luan Yuan <luan.yuan@amlogic.com>
5 years agofermitform: add u202 dts config for s905d2 panel. [3/3]
Luan Yuan [Tue, 30 Apr 2019 05:31:53 +0000 (13:31 +0800)]
fermitform: add u202 dts config for s905d2 panel. [3/3]

PD#SWPL-7973

Problem:
s905d2 panel need new projects config.

Solution:
copy dts config from u200

Verify:
no need verify

Change-Id: I37a884ae951b8c6ede7adb065239ce59dca25c3a
Signed-off-by: Luan Yuan <luan.yuan@amlogic.com>
u202: add dts-id for multi-dts in 32bit. [1/1]

PD#SWPL-7973

Problem:
upgrade failed, because can not found dts.

Solution:
change dts-id

Verify:
verify by u202

Change-Id: I9cfd85ebfda1bff60abc78bd09355f977f25f4bf
Signed-off-by: Luan Yuan <luan.yuan@amlogic.com>
5 years agodi: disable deghost refresh according to motion [1/1]
MingLiang Dong [Wed, 20 Feb 2019 07:15:44 +0000 (02:15 -0500)]
di: disable deghost refresh according to motion [1/1]

PD#SWPL-6423

Problem:
deghost refresh according to motion

Solution:
disable deghost refresh according to motion

Verify:
verify on TL1

Change-Id: Ic3647462e5f5686f6cc182c30797752ea72c013c
Signed-off-by: MingLiang Dong <mingliang.dong@amlogic.com>
5 years agodi: pd22 FW parameters need optimize [1/1]
zhiwei.yuan [Fri, 1 Mar 2019 06:47:01 +0000 (14:47 +0800)]
di: pd22 FW parameters need optimize [1/1]

PD#SWPL-5046

Problem:
PD22 para is incorrect

Solution:
correct the parameters

Verify:
verified by t962x2_x301

Change-Id: I0b26914694dd19f9b06cb37c50f7589a200ea0b1
Signed-off-by: zhiwei.yuan <zhiwei.yuan@amlogic.com>
5 years agoavsync: spdif: fix the avsync for ms12 [1/4]
Xiaoming Sui [Mon, 15 Apr 2019 12:38:47 +0000 (20:38 +0800)]
avsync: spdif: fix the avsync for ms12 [1/4]

PD#SWPL-5837

Problem:
dtv is out of avsync when dolby ms12 certificate

Solution:
when the audio is played, recalculate the apts to sync
pcrsrc when pcrmaster.

Verify:
X301

Change-Id: I199383aa1c0de1b4f0ec646d9d066910b3bb2b42
Signed-off-by: Xiaoming Sui <xiaoming.sui@amlogic.com>
avsync: tsync: fix the avsync for ms12 [3/4]

PD#SWPL-5837

Problem:
dtv is out of avsync when dolby ms12 certificate

Solution:
when the audio is played, recalculate the apts to sync
pcrsrc when pcrmaster.

Verify:
X301

Change-Id: Ia121e57ad69c5b0d211e14bf3a61f165457e54c7
Signed-off-by: Xiaoming Sui <xiaoming.sui@amlogic.com>
5 years agopts: fix mvc play is not smooth. [1/1]
shihong.zheng [Tue, 26 Mar 2019 10:40:27 +0000 (18:40 +0800)]
pts: fix mvc play is not smooth. [1/1]

PD#SWPL-6094

Problem:
some mvc stream is not smooth.

Solution:
optimize the condition for pts loockup fail code.

Verify:
x301

Change-Id: I50bb3f317e1245735f9ce0ffcc44376c91e871ed
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
5 years agotsync: reduce the log information [1/1]
Xiaoming Sui [Tue, 26 Mar 2019 14:06:04 +0000 (22:06 +0800)]
tsync: reduce the log information [1/1]

PD#SWPL-6152

Problem:
in some special cases, there are many sync
log information from serial port.

Solution:
remove this log and add pts realign.

Verify:
X301

Change-Id: I81d1753ef6d4e6c1e39d6c7f38eb3836e07be05d
Signed-off-by: Xiaoming Sui <xiaoming.sui@amlogic.com>
5 years agoavsync: tsync: enable the system up function [1/1]
live.li [Wed, 24 Apr 2019 08:12:26 +0000 (16:12 +0800)]
avsync: tsync: enable the system up function [1/1]

PD#TV-5140

Problem:
   when play some ts stream , the video will hold all the time

Solution:
   when the pcr is invalid ,use apts or vpts as system
   time and enable the system time up funciton

Verify:
x301

Change-Id: Iec01434ab305be1ea32e03549edd8521a8c4620d
Signed-off-by: live.li <live.li@amlogic.com>
5 years agopartition: change vendor size [1/2]
Liang Ji [Fri, 12 Apr 2019 11:05:39 +0000 (19:05 +0800)]
partition: change vendor size [1/2]

PD#SWPL-6586

Problem:
Android P trunk can not compile 64bit kernel
Android P vendor size is not enough,
64bit kernel and isp so  etc ,
the size exceeds 256M

Solution:
change vendor size from 256M into 320M

Verify:
galilei

Change-Id: Icc7b3d7c8d56f5c361acf9722bba6422b8dc3af2
Signed-off-by: Liang Ji <liang.ji@amlogic.com>
Signed-off-by: Luan Yuan <luan.yuan@amlogic.com>
5 years agomedia_module: mh264/h265/avs2 [1/2]
Rong Zhang [Mon, 1 Apr 2019 13:11:08 +0000 (21:11 +0800)]
media_module: mh264/h265/avs2 [1/2]

PD#SWPL-6607

Problem:
Not support QOS information for mh264.h265,avs2

Solution:
Support QOS information picking for mh264,h265,avs2
Support QOS information access interface by ioctl

Verify:
Verified franklin

Change-Id: I4e6f85392007bc78a274726aba510c39088018e3
Signed-off-by: Rong Zhang <rong.zhang@amlogic.com>
5 years agoamvideo: fix video block when pts discontinue [1/1]
peter wang [Fri, 12 Apr 2019 05:49:21 +0000 (13:49 +0800)]
amvideo: fix video block when pts discontinue [1/1]

PD#SWPL-5038

Problem:
image will block when pts discontinue

Solution:
do not show the frame when pts greater than pcr

Verify:
tested on Marconi

Change-Id: I57ea973b7fdcdc7cded2c5c9b681be29f0a31a4b
Signed-off-by: peter wang <peter.wang@amlogic.com>
5 years agoethernet: fix suspend resume crash [1/1]
Zhuo Wang [Mon, 22 Apr 2019 04:49:34 +0000 (12:49 +0800)]
ethernet: fix suspend resume crash [1/1]

PD#SWPL-7166

Problem:
suspend resume test failed

Solution:
cancel work queue first

Verify:
verify on u200 board

Change-Id: Ibd1a9587a32edf5583db564d2efe0ff0279d4d10
Signed-off-by: Zhuo Wang <zhuo.wang@amlogic.com>
 Conflicts:
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c

5 years agoethernet: reset ethernet when resume [1/1]
Zhuo Wang [Tue, 2 Apr 2019 05:43:59 +0000 (13:43 +0800)]
ethernet: reset ethernet when resume [1/1]

PD#SWPL-6608

Problem:
system will report tx error somethime after resume

Solution:
reset ethernet when resume

Verify:
verify on u200 board

Change-Id: I9863a8a50c08addd4e2d8c024f46a2e7568c28b4
Signed-off-by: Zhuo Wang <zhuo.wang@amlogic.com>
5 years agoethernet: set RX delay for exphy and leds [1/1]
Zhuo Wang [Fri, 1 Mar 2019 06:35:34 +0000 (14:35 +0800)]
ethernet: set RX delay for exphy and leds [1/1]

PD#SWPL-5295

Problem:
add RX delay for 8211f and add led setup interface

Solution:
tuning delay and leds

Verify:
verify on u200 board

Change-Id: I45e855894d570fdd976f90fd8f03151ad52a3683
Signed-off-by: Zhuo Wang <zhuo.wang@amlogic.com>
5 years agoRevert "ethernet: handle tx timeout"
Luan Yuan [Tue, 7 May 2019 06:56:56 +0000 (14:56 +0800)]
Revert "ethernet: handle tx timeout"

This reverts commit 6b195f8476e7ffaa9c1c946f5e7b6ea7b75d1b71.

5 years agocpufreq: cpufreq register notify for cluster0 [1/1]
Hong Guo [Wed, 24 Apr 2019 06:02:01 +0000 (14:02 +0800)]
cpufreq: cpufreq register notify for cluster0 [1/1]

PD#SWPL-7707

Problem:
cpufreq register notify for cluster0 

Solution:
cpufreq register notify for cluster0 

Verify:
test pass on g12b_w400

Change-Id: Ia57f320528082c9824dd96f17714d8e636519bb4
Signed-off-by: Hong Guo <hong.guo@amlogic.com>
5 years agocpufreq: dynamic adjustment dsu clk with tm2 cpu clk [1/3]
Hong Guo [Mon, 8 Apr 2019 01:49:29 +0000 (09:49 +0800)]
cpufreq: dynamic adjustment dsu clk with tm2 cpu clk [1/3]

PD#SWPL-6758

Problem:
dynamic adjustment dsu clk with tm2 cpu clk.

Solution:
dynamic adjustment dsu clk with tm2 cpu clk.

Verify:
t962e2_ab319, verify pass

Change-Id: I7eee5ed58b80e0f77603ca505abcd1caf3d131e7
Signed-off-by: Hong Guo <hong.guo@amlogic.com>
Signed-off-by: Luan Yuan <luan.yuan@amlogic.com>
5 years agocpufreq: free clk if failed to set 1G for fixpll when cpufreq init. [1/1]
Hong Guo [Tue, 26 Mar 2019 07:47:49 +0000 (15:47 +0800)]
cpufreq: free clk if failed to set 1G for fixpll when cpufreq init. [1/1]

PD#SWPL-6394

Problem:
free clk if failed to set 1G for fixpll.

Solution:
free clk if failed to set 1G for fixpll..

Verify:
test pass on A311D-W400

Change-Id: I1a7af6fe459c067e34ff8752453a1a04985edb88
Signed-off-by: Hong Guo <hong.guo@amlogic.com>
5 years ago19af5c5 dtv_demod: add AGC control for board t309 [1/1]
Hui Zhang [Fri, 1 Mar 2019 01:02:26 +0000 (09:02 +0800)]
19af5c5 dtv_demod: add AGC control for board t309 [1/1]
a9eb626 dtv_demod: Prevent NULL pointer crash caused by tuner attach failure [1/1]
d27b145 dtv_demod: TL1 dtmb suspend hangup issue [1/1]
27c05dd dtv_demod: tl1,dvbc, new method for fast channel searching [1/1]
fa80091 dtv_demod: txlx atsc-t loses lock when play video for a long time [1/1]
43db0c5 build: fix build err [1/1]
d4abd67 dtv_demod: TXLX ISDB-T can't search channel [1/1]
70f2c39 dtv_demod: TL1 dvbc search time more than 3 min [1/1]
16d4727 dtv_demod: TL1 dtmb cma allocate fail after dtmb->dvbc->dtmb by cmd [1/1]
b5aa9de media_module: h264/mpeg2/h265 [2/2]
3d6a5ed ppmgr: use light reg for video decoder local reset [1/1]
ppmgr: use light reg for video decoder local reset [1/1]

PD#SWPL-5014

Problem:
ppmgr provider error sometimes in long time run under poor signal

Solution:
use light reg for video decoder local reset

Verify:
X301

Change-Id: I1500c9ddfdce76b3e9cb2b24a35cdee765f82d5f
Signed-off-by: Hui Zhang <hui.zhang@amlogic.com>
media_module: h264/mpeg2/h265 [2/2]

PD#SWPL-3654

Problem:
provide aspect_ratio information by AMSTREAM_IOC_VDECSTAT

Solution:
add ration_control information in vdec_status function for
h264/mh264/vh265/mpeg12/mmpeg12, and normalized it for
aspect_ratio in AMSTREAM_IOC_VDECSTAT message.

Verify:
Verified U212

Change-Id: Icd9270eb8f2ce2f6f7455ec28780d26ac6c56348
Signed-off-by: Rong Zhang <rong.zhang@amlogic.com>
dtv_demod: TL1 dtmb cma allocate fail after dtmb->dvbc->dtmb by cmd [1/1]

PD#TV-1748

Problem:
[Hisense-T962X2-P-customer-DTV]:Failed to lock frequency in dtmb system

Solution:
leave the last mode before enter current mode to release the resources

Verify:
verified by t962x2_x301

Change-Id: Ibd7e1d4c67f5a5ad2191e0031fdd0b81812c8606
Signed-off-by: Zhiwei Yuan <zhiwei.yuan@amlogic.com>
dtv_demod: TL1 dvbc search time more than 3 min [1/1]

PD#SWPL-3555

Problem:
{DVB-C}Hisense needs less than 3 minutes for dvb-c search.(5/5,None)

Solution:
1.use demod internal state machine to optimize time
2.remove j.83b filter setting in dvbc mode for tl1 & txlx

Verify:
verified by t962x2_x301&t962x_r311

Change-Id: Ic922e3da727179e2e35a0fc80e52ac7242c54129
Signed-off-by: Zhiwei Yuan <zhiwei.yuan@amlogic.com>
dtv_demod: TXLX ISDB-T can't search channel [1/1]

PD#SWPL-3987

Problem:
[Einstein]use ISDB-T cannot search any channel

Solution:
release cma memory at leave_mode for ISDB-t&DVB-T

Verify:
verified by t962x_r311

Change-Id: I9b79687a4d5270932ab30afaa3e7d2817e900149
Signed-off-by: Zhiwei Yuan <zhiwei.yuan@amlogic.com>
build: fix build err [1/1]

PD#SWPL-4150

Problem:
When switch to the toolchain shipped with android P, multipile
"-Werror=maybe-uninitialized" error occurs, and the code fail
to be compiled

Solution:
Initialize variables if necessary

Verify:
Locally on Ampere

Change-Id: I280de648914565656831e211539bf41a7dee2b4a
Signed-off-by: Jiamin Ma <jiamin.ma@amlogic.com>
dtv_demod: txlx atsc-t loses lock when play video for a long time [1/1]

PD#SWPL-3418

Problem:
[Einstein]when AC off/on,enter live TV ,
TV display blank screen and no signal about 5S

Solution:
use post-eq to track(0x912=0x50)

Verify:
verified by t962x_r311

Change-Id: I924c55a8f1c92328e4371cb730e1b03bd720457f
Signed-off-by: Zhiwei Yuan <zhiwei.yuan@amlogic.com>
dtv_demod: tl1,dvbc, new method for fast channel searching [1/1]

PD#TV-2154

Problem:
[Hisense-T962X2-P-customer-DTV]:DVBC QAM is set to auto to search channels

Solution:
add new searching method
note:
use "demod_dvbc_speedup_en" to mark the new method
it's disabled as default, can be enabled if needed
we can make it always enabled after all testing are passed
enable: echo fast_search on > /sys/kernel/debug/demod/dvbc_channel_fast

Verify:
verified by t962x2_x301

Change-Id: Icaaab9f27eb058a062d7048c6ca9fa2e3bff008e
Signed-off-by: Zhiwei Yuan <zhiwei.yuan@amlogic.com>
dtv_demod: TL1 dtmb suspend hangup issue [1/1]

PD#SWPL-5202

Problem:
cma memory is not released when suspend

Solution:
provide suspend interface to release cma memory

Verify:
verified by t962x2_x301

Change-Id: I1d808a8a6119a2f385961c4c5bded5ab71c9c9d1
Signed-off-by: zhiwei.yuan <zhiwei.yuan@amlogic.com>
dtv_demod: Prevent NULL pointer crash caused by tuner attach failure [1/1]

PD#TV-1539

Problem:
Prevent NULL pointer crash caused by tuner attach failure.

Solution:
Prevent NULL pointer crash caused by tuner attach failure.

Verify:
verified by x301

Change-Id: I57cf32947775626467eb952dd2298ae9ec84601d
Signed-off-by: nengwen.chen <nengwen.chen@amlogic.com>
dtv_demod: add AGC control for board t309 [1/1]

PD#SWPL-5175

Problem:
r842 agc control need be controlled by demod

Solution:
add agc control function

Verify:
verified by t962x2_x301 t962x2_t309

Change-Id: If712e22276b97c457e2e2ed1c79bdf3673813dff
Signed-off-by: zhiwei.yuan <zhiwei.yuan@amlogic.com>
5 years agodi: fix moving character tow line [1/1]
Bencheng Jing [Thu, 2 May 2019 08:27:37 +0000 (16:27 +0800)]
di: fix moving character tow line [1/1]

PD#TV-4346

Problem:
di post buffer switch,motion read mif not switch

Solution:
fix the motion read mif

Verify:
verified by t962x2_x301

Change-Id: I6728e91bfff4241da1f5067398cc412545c7d96f
Signed-off-by: Bencheng Jing <bencheng.jing@amlogic.com>
5 years agodebug: add atrace support [1/1]
Tao Guo [Wed, 16 Jan 2019 09:11:54 +0000 (17:11 +0800)]
debug: add atrace support [1/1]

PD#SWPL-4956

Problem:
Need atrace to debug multimedia issue

Solution:
Add atrace functions

Verify:
P212

Change-Id: I0f07387dfa35a33c25e538a474a3a12bd88d5092
Signed-off-by: Tao Guo <tao.guo@amlogic.com>
Signed-off-by: Luan Yuan <luan.yuan@amlogic.com>
5 years agoRevert "emmc: Clear the value of txdelay in legacy mode on the resume process [1/1]"
Luan Yuan [Sun, 5 May 2019 05:29:51 +0000 (13:29 +0800)]
Revert "emmc: Clear the value of txdelay in legacy mode on the resume process [1/1]"

This reverts commit 2582a9689236c3db53da3b84d21ddb712eae7679.

5 years agoCPUFREQ: update cpufreq 1.512G to 1.5G for sm1. [1/1]
Hong Guo [Thu, 4 Apr 2019 05:17:22 +0000 (13:17 +0800)]
CPUFREQ: update cpufreq 1.512G to 1.5G for sm1. [1/1]

PD#SWPL-6205

Problem:
update cpufreq 1.512G to 1.5G for sm1.

Solution:
update cpufreq 1.512G to 1.5G for sm1.

Verify:
sm1_ac200, verify pass

Change-Id: Ic9c570b2c398e12efb84b4d707f24f773940bbe0
Signed-off-by: Hong Guo <hong.guo@amlogic.com>
5 years agousb: USB keyboard not recognized at low probability [1/1]
he.he [Mon, 22 Apr 2019 10:05:47 +0000 (18:05 +0800)]
usb: USB keyboard not recognized at low probability [1/1]

PD#TV-4365

Problem:
USB keyboard not recognized after reboot repeatedly.

Solution:
Reset the reset_FS_LS_Clock_Divider bit of the usb phy.

Verify:
tl1

Change-Id: I0f4bf35be04d3aff1094bf55641348ccaca072e4
Signed-off-by: he.he <he.he@amlogic.com>
5 years agovideo: reuse initial phase [1/1]
shuanglong.wang [Wed, 20 Mar 2019 08:25:57 +0000 (16:25 +0800)]
video: reuse initial phase [1/1]

PD#SWPL-5664

Problem:
for netflix 23.97fps non-tunnle playback 3:2 patten broken so many times

Solution:
reuse initial phase that Tim use in amazon

Verify:
verify by u212

Change-Id: I5d988e1c3a3dbf1bb728f55a921e8b8fb6990985
Signed-off-by: shuanglong.wang <shuanglong.wang@amlogic.com>
5 years agovideo: do not compensation when paused [1/1]
shuanglong.wang [Thu, 25 Apr 2019 07:37:38 +0000 (15:37 +0800)]
video: do not compensation when paused [1/1]

PD#SWPL-5664

Problem:
pcr not paused when netflix video non-tunnel mode pause

Solution:
do not compensation when diff between omxpts and pcr too large
Because when paused, continous compensation will lead diff
beween omxpts and pcr will alway inside pcr adjust threshold,
and pcr not set again, then pcr will increase

Verify:
verify by nts

Change-Id: Ib2acea35758d161d1e9db53dd6ff369ba7973351
Signed-off-by: shuanglong.wang <shuanglong.wang@amlogic.com>
5 years agovideo: compensation omxpts for pcr check [1/1]
shuanglong.wang [Fri, 12 Apr 2019 05:55:06 +0000 (13:55 +0800)]
video: compensation omxpts for pcr check [1/1]

PD#SWPL-5664

Problem:
pcr is probably adjust when test AL1 eyepatch test case

Solution:
the time is not accurate when check pcr and omx_pts differ, because
omx_pts is used the value that be set, but pcr is current. Here add
compensation for omx_pts

Verify:
verify by nts

Change-Id: I3e0f6f006fd79cf7cac4148fd18da72111a333c7
Signed-off-by: shuanglong.wang <shuanglong.wang@amlogic.com>
 Conflicts:
drivers/amlogic/media/video_sink/video.c

5 years agoschedtune: fix crash when there is cpu boot fail in hmp [1/1]
Jianxin Pan [Tue, 23 Apr 2019 11:37:41 +0000 (19:37 +0800)]
schedtune: fix crash when there is cpu boot fail in hmp [1/1]

PD#SWPL-7656

Problem:
crash when there is cpu boot fail in hmp

Solution:
fix crash when there is cpu boot fail in hmp

Verify:
W400

Change-Id: I0153975593adb0bfcbc3c3bd6543f0fb2e6bf2e0
Signed-off-by: Jianxin Pan <jianxin.pan@amlogic.com>
5 years agoemmc: Clear the value of txdelay in legacy mode on the resume process [1/1]
Long Yu [Mon, 15 Apr 2019 08:40:25 +0000 (16:40 +0800)]
emmc: Clear the value of txdelay in legacy mode on the resume process [1/1]

PD#SWPL-7181

Problem:
switch to high-speed from hs200 failed for resume process.

Solution:
set tx_delay as 0 for legacy mode.
clear cfg_cmd_setup

Verify:
verify by TL1

Change-Id: I5dbb1bbc391da864464bf137837a2b0f54ccda42
Signed-off-by: Long Yu <long.yu@amlogic.com>
Signed-off-by: Luan Yuan <luan.yuan@amlogic.com>
5 years agobandwidth: add min bandwidth read in usage_stat [1/1]
Tao Zeng [Tue, 30 Apr 2019 02:56:18 +0000 (10:56 +0800)]
bandwidth: add min bandwidth read in usage_stat [1/1]

PD#SWPL-7960

Problem:
There is no min ddr bandwidth data

Solution:
Add this value in sysfs

Verify:
p212

Change-Id: I9d90476d30c0ca7789046d8d205f0802de2b4acf
Signed-off-by: Tao Zeng <tao.zeng@amlogic.com>
5 years agoaudio: add param check for resample [1/1]
Shuai Li [Sun, 28 Apr 2019 13:15:49 +0000 (21:15 +0800)]
audio: add param check for resample [1/1]

PD#SWPL-7798

Problem:
Crashed when audio resample setting params
are invalid.

Solution:
Add check method if the params is invalid.

Verify:
Tl1.

Change-Id: I1e0396be8d401c0a49ff0de9fd7f160f0c8133ca
Signed-off-by: Shuai Li <shuai.li@amlogic.com>
5 years agoddr: bring up bandwidth support for sm1 [1/1]
Tao Zeng [Wed, 10 Apr 2019 03:59:24 +0000 (11:59 +0800)]
ddr: bring up bandwidth support for sm1 [1/1]

PD#SWPL-6865

Problem:
ddr bandwidth measure is not supported on sm1

Solution:
1. Add port description and support for it
2. Record max/average bandwidth support;
3. Support up to 60 continue bandwidth sample
4. Fix bit mismatch of dmc monitor for sm1/tl1.

Verify:
sm1

Change-Id: I0b42db8214099b9cd6d1c3f00174dc65eebfc030
Signed-off-by: Tao Zeng <tao.zeng@amlogic.com>
Signed-off-by: Luan Yuan <luan.yuan@amlogic.com>
5 years agoethernet: set tx_amp according chips [1/1]
Zhuo Wang [Thu, 25 Apr 2019 09:00:46 +0000 (17:00 +0800)]
ethernet: set tx_amp according chips [1/1]

PD#SWPL-7765

Problem:
g12b revb efuse not correct

Solution:
set tx_amp with chipid to work around

Verify:
verify on g12b skt board

Change-Id: Id1babce231d866293e4de52685834834a4b65227
Signed-off-by: Zhuo Wang <zhuo.wang@amlogic.com>
5 years agodts: add ppmgr for g12b [1/1]
Luan Yuan [Mon, 22 Apr 2019 02:54:15 +0000 (10:54 +0800)]
dts: add ppmgr for g12b [1/1]

PD#SWPL-6901

Problem:
lack of ppmgr in g12b

Solution:
add ppmgr

Verify:
verify by g12b

Change-Id: Id6d9894d2430cf286e42c90dc340dc10fd0f37c5
Signed-off-by: Luan Yuan <luan.yuan@amlogic.com>
5 years agoidle: sm1: enable sm1 idle function [1/1]
Yan Wang [Wed, 10 Apr 2019 09:34:48 +0000 (17:34 +0800)]
idle: sm1: enable sm1 idle function [1/1]

PD#SWPL-6255

Problem:
sm1 need enable idle for power.

Solution:
enable sm1 idle function.

Verify:
ac200

Change-Id: Ib106ac552660471f0275dc22374405939d521a62
Signed-off-by: Yan Wang <yan.wang@amlogic.com>
5 years agoarm64:defconfig: add mipi csi configurations
Nick Xie [Mon, 5 Aug 2019 06:02:24 +0000 (14:02 +0800)]
arm64:defconfig: add mipi csi configurations

Signed-off-by: Nick Xie <nick@khadas.com>
5 years agocamera: add mipi csi driver for sm1 [1/1]
Guosong Zhou [Mon, 15 Apr 2019 06:56:09 +0000 (02:56 -0400)]
camera: add mipi csi driver for sm1 [1/1]

PD#SWPL-5388

Problem:
sm1 board camera need add mipi csi module

Solution:
add mipi csi module

Verify:
verified on SM1 AC200

Change-Id: I819f2f74aa8da7d725cb59e5636e790185964f79
Signed-off-by: Guosong Zhou <guosong.zhou@amlogic.com>
5 years agowatchdog: fix watchdog get lefttime error [1/1]
Yingyuan Zhu [Wed, 10 Apr 2019 07:26:32 +0000 (15:26 +0800)]
watchdog: fix watchdog get lefttime error [1/1]

PD#SWPL-6937

Problem:
1.get lefttime error by 'cat sys/class/watchdog/watchdog0/timeleft' cmd.
2.if DTS is configured to feed watchdog by Android, the system will
restart automatically after wake up.

Solution:
1.modify the code to get time.
2.when the system wakes up, first judge whether the watchdog runs,
and then decide whether to start the watchdog.

Verify:
test pass on u200

Change-Id: If64888ffdd5651e8cfcace5ea0d0da31641bb397
Signed-off-by: Yingyuan Zhu <yingyuan.zhu@amlogic.com>
5 years agoarm64: defconfig: enable HDR Prime SL
Nick Xie [Mon, 5 Aug 2019 05:58:21 +0000 (13:58 +0800)]
arm64: defconfig: enable HDR Prime SL

Signed-off-by: Nick Xie <nick@khadas.com>
5 years agohdr_prime: add interface of HDR Prime SL driver [1/1]
Yi Zhou [Thu, 7 Mar 2019 08:12:38 +0000 (16:12 +0800)]
hdr_prime: add interface of HDR Prime SL driver [1/1]

PD#SWPL-5475

Problem:
need to add interface of HDR Prime SL driver

Solution:
add interface of HDR Prime SL driver

Verify:
U212

Change-Id: If0e62b74ccbaa4ede490e7a9896d9f5915480d6f
Signed-off-by: Yi Zhou <yi.zhou@amlogic.com>
5 years agoamvecm: match uboot sdr2hdr function [1/1]
MingLiang Dong [Fri, 12 Apr 2019 03:03:27 +0000 (23:03 -0400)]
amvecm: match uboot sdr2hdr function  [1/1]

PD#OTT-2524

Problem:
enable sdr2hdr function, uboot logo have color change

Solution:
match uboot sdr2hdr function

Verify:
verify on G12A

Change-Id: I160cd6141d09a385d299ca96a89eb1ebf09c86e8
Signed-off-by: MingLiang Dong <mingliang.dong@amlogic.com>
5 years agohdmitx: move work_internal_intr to delayed_work [1/1]
Zongdong Jiao [Mon, 22 Apr 2019 09:20:09 +0000 (17:20 +0800)]
hdmitx: move work_internal_intr to delayed_work [1/1]

PD#SWPL-6894

Problem:
Queue work 'work_internal_intr' cause the hdcp22 flicker

Solution:
Move work_internal_intr to delayed_work

Verify:
G12/U212

Change-Id: Ib05c82bb66c9ad7396790d5eb237ff486c56c980
Signed-off-by: Zongdong Jiao <zongdong.jiao@amlogic.com>
Signed-off-by: Luan Yuan <luan.yuan@amlogic.com>
5 years agoearlycon: support aml-uart as the name for earlycon [1/1]
Jiamin Ma [Mon, 22 Apr 2019 07:29:53 +0000 (15:29 +0800)]
earlycon: support aml-uart as the name for earlycon [1/1]

PD#SWPL-6969

Problem:
For some historical reason, aml-uart is configured as the earlycon
name in uboot, which is not recognized by 4.9 kernel

Solution:
support aml-uart as the name for earlycon

Verify:
Ampere

Change-Id: I01427f2d512c0bf1972dd545dc71570919c5bc07
Signed-off-by: Jiamin Ma <jiamin.ma@amlogic.com>
5 years agovpp: don't overwrite on_pending state when enable vd layer [1/1]
Brian Zhu [Tue, 16 Apr 2019 18:35:27 +0000 (02:35 +0800)]
vpp: don't overwrite on_pending state when enable vd layer [1/1]

PD#OTT-3244

Problem:
When vd layer state is on_pending, calling enable videolayer
function will overwrite the state. Then it will not enable video
layer really.

Solution:
Add the judgement to check if the state is on_pending.

Verify:
verified on W400

Change-Id: I0513a6610fdb108bec05858c7f6c7976be5e7edb
Signed-off-by: Brian Zhu <brian.zhu@amlogic.com>
5 years agoamvecm: add cm 12bit config for g12a/g12b/sm1
Luan Yuan [Thu, 18 Apr 2019 07:59:14 +0000 (15:59 +0800)]
amvecm: add cm 12bit config for g12a/g12b/sm1

Change-Id: I82a2c54a5b7d7dc8fe0b2e7cc6c1a0af926c8ca3
Signed-off-by: Luan Yuan <luan.yuan@amlogic.com>
5 years agoamvecm: fix CM/sat/bricon adjust not available [1/2]
Bencheng Jing [Wed, 3 Apr 2019 14:02:02 +0000 (22:02 +0800)]
amvecm: fix CM/sat/bricon adjust not available [1/2]

PD#SWPL-6892

Problem:
fix CM/sat/bricon adjust not available

Solution:
fix CM/sat/bricon adjust not available

Verify:
U212

Change-Id: Ia6a1aebda35550801d4c7e16807714b8349431a4
Signed-off-by: Bencheng Jing <bencheng.jing@amlogic.com>
5 years agoamvecm: ioctrl get hist ave error [1/1]
MingLiang Dong [Wed, 9 Jan 2019 09:22:26 +0000 (04:22 -0500)]
amvecm: ioctrl get hist ave error [1/1]

PD#TV-1950

Problem:
VPP_IN_H_V_SIZE register is removed on TL1

Solution:
use preblend size to config hist stts size

Verify:
verify on TL1

Change-Id: I0afc9fd45f69318b2ebd42424aee20e60400d809
Signed-off-by: MingLiang Dong <mingliang.dong@amlogic.com>
5 years agoamvecm: fix sm1 green screen when play videos [1/1]
Bencheng Jing [Wed, 17 Apr 2019 03:26:58 +0000 (11:26 +0800)]
amvecm: fix sm1 green screen when play videos [1/1]

PD#SWPL-7302

Problem:
sm1 green screen when play videos

Solution:
add chip support

Verify:
s905D3

Change-Id: I50c0a9f889d72b65157a973bfe1df8dce10db64a
Signed-off-by: Bencheng Jing <bencheng.jing@amlogic.com>
5 years agoamvecm: add sharpness0 cvbs table in driver [1/2]
Bencheng Jing [Mon, 18 Mar 2019 11:08:54 +0000 (19:08 +0800)]
amvecm: add sharpness0 cvbs table in driver [1/2]

PD#OTT-2339

Problem:
Testing CVBS Video Index Part FAIL

Solution:
add sharpness0 cvbs table in driver

Verify:
U212

Change-Id: I91047de0e852c77e70ad95aad3e6830fde7097f4
Signed-off-by: Bencheng Jing <bencheng.jing@amlogic.com>
5 years agofbcon: use soft cursor instead of hardware cursor
Nick Xie [Thu, 25 Jul 2019 12:52:10 +0000 (20:52 +0800)]
fbcon: use soft cursor instead of hardware cursor

Signed-off-by: Nick Xie <nick@khadas.com>
5 years agofixup build errors after merge upstream code
Nick Xie [Thu, 25 Jul 2019 10:18:46 +0000 (18:18 +0800)]
fixup build errors after merge upstream code

Signed-off-by: Nick Xie <nick@khadas.com>
5 years agoMerge tag 'v4.9.186' into khadas-vims-4.9.y-update
Nick Xie [Thu, 25 Jul 2019 10:08:29 +0000 (18:08 +0800)]
Merge tag 'v4.9.186' into khadas-vims-4.9.y-update

This is the 4.9.186 stable release

 Conflicts:
fs/crypto/policy.c

5 years agoMerge tag 'v4.9.185' into khadas-vims-4.9.y-update
Nick Xie [Thu, 25 Jul 2019 10:07:39 +0000 (18:07 +0800)]
Merge tag 'v4.9.185' into khadas-vims-4.9.y-update

This is the 4.9.185 stable release

 Conflicts:
Makefile
arch/arm64/kernel/vdso.c

5 years agoMerge tag 'v4.9.184' into khadas-vims-4.9.y-update
Nick Xie [Thu, 25 Jul 2019 10:04:22 +0000 (18:04 +0800)]
Merge tag 'v4.9.184' into khadas-vims-4.9.y-update

This is the 4.9.184 stable release

5 years agoMerge tag 'v4.9.183' into khadas-vims-4.9.y-update
Nick Xie [Thu, 25 Jul 2019 10:04:19 +0000 (18:04 +0800)]
Merge tag 'v4.9.183' into khadas-vims-4.9.y-update

This is the 4.9.183 stable release

5 years agoMerge tag 'v4.9.182' into khadas-vims-4.9.y-update
Nick Xie [Thu, 25 Jul 2019 10:04:16 +0000 (18:04 +0800)]
Merge tag 'v4.9.182' into khadas-vims-4.9.y-update

This is the 4.9.182 stable release

5 years agoMerge tag 'v4.9.181' into khadas-vims-4.9.y-update
Nick Xie [Thu, 25 Jul 2019 10:03:59 +0000 (18:03 +0800)]
Merge tag 'v4.9.181' into khadas-vims-4.9.y-update

This is the 4.9.181 stable release

 Conflicts:
drivers/android/binder.c
drivers/firmware/efi/libstub/arm-stub.c
drivers/firmware/efi/libstub/efi-stub-helper.c

5 years agoRevert "chardev: add additional check for minor range overlap"
Nick Xie [Thu, 25 Jul 2019 09:55:07 +0000 (17:55 +0800)]
Revert "chardev: add additional check for minor range overlap"

This reverts commit bb22efcb872b8108131a38399ae910dcb0304770.

5 years agoMerge tag 'v4.9.180' into khadas-vims-4.9.y-update
Nick Xie [Thu, 25 Jul 2019 09:03:43 +0000 (17:03 +0800)]
Merge tag 'v4.9.180' into khadas-vims-4.9.y-update

This is the 4.9.180 stable release

 Conflicts:
arch/arm64/mm/proc.S

5 years agofixup! sound: fixup sound card
Nick Xie [Wed, 24 Jul 2019 01:48:57 +0000 (09:48 +0800)]
fixup! sound: fixup sound card

5 years agodrivers/amlogic/mmc: don't use Amlogic partition layout if there is no device tree...
Nick Xie [Tue, 23 Jul 2019 08:20:56 +0000 (16:20 +0800)]
drivers/amlogic/mmc: don't use Amlogic partition layout if there is no device tree node

Signed-off-by: Nick Xie <nick@khadas.com>
5 years agoLinux 4.9.186 v4.9.186
Greg Kroah-Hartman [Sun, 21 Jul 2019 07:06:09 +0000 (09:06 +0200)]
Linux 4.9.186

5 years agos390/qdio: don't touch the dsci in tiqdio_add_input_queues()
Julian Wiedmann [Tue, 18 Jun 2019 11:12:20 +0000 (13:12 +0200)]
s390/qdio: don't touch the dsci in tiqdio_add_input_queues()

commit ac6639cd3db607d386616487902b4cc1850a7be5 upstream.

Current code sets the dsci to 0x00000080. Which doesn't make any sense,
as the indicator area is located in the _left-most_ byte.

Worse: if the dsci is the _shared_ indicator, this potentially clears
the indication of activity for a _different_ device.
tiqdio_thinint_handler() will then have no reason to call that device's
IRQ handler, and the device ends up stalling.

Fixes: d0c9d4a89fff ("[S390] qdio: set correct bit in dsci")
Cc: <stable@vger.kernel.org>
Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
5 years agos390/qdio: (re-)initialize tiqdio list entries
Julian Wiedmann [Tue, 18 Jun 2019 09:25:59 +0000 (11:25 +0200)]
s390/qdio: (re-)initialize tiqdio list entries

commit e54e4785cb5cb4896cf4285964aeef2125612fb2 upstream.

When tiqdio_remove_input_queues() removes a queue from the tiq_list as
part of qdio_shutdown(), it doesn't re-initialize the queue's list entry
and the prev/next pointers go stale.

If a subsequent qdio_establish() fails while sending the ESTABLISH cmd,
it calls qdio_shutdown() again in QDIO_IRQ_STATE_ERR state and
tiqdio_remove_input_queues() will attempt to remove the queue entry a
second time. This dereferences the stale pointers, and bad things ensue.
Fix this by re-initializing the list entry after removing it from the
list.

For good practice also initialize the list entry when the queue is first
allocated, and remove the quirky checks that papered over this omission.
Note that prior to
commit e521813468f7 ("s390/qdio: fix access to uninitialized qdio_q fields"),
these checks were bogus anyway.

setup_queues_misc() clears the whole queue struct, and thus needs to
re-init the prev/next pointers as well.

Fixes: 779e6e1c724d ("[S390] qdio: new qdio driver.")
Cc: <stable@vger.kernel.org>
Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
5 years agos390: fix stfle zero padding
Heiko Carstens [Mon, 17 Jun 2019 12:02:41 +0000 (14:02 +0200)]
s390: fix stfle zero padding

commit 4f18d869ffd056c7858f3d617c71345cf19be008 upstream.

The stfle inline assembly returns the number of double words written
(condition code 0) or the double words it would have written
(condition code 3), if the memory array it got as parameter would have
been large enough.

The current stfle implementation assumes that the array is always
large enough and clears those parts of the array that have not been
written to with a subsequent memset call.

If however the array is not large enough memset will get a negative
length parameter, which means that memset clears memory until it gets
an exception and the kernel crashes.

To fix this simply limit the maximum length. Move also the inline
assembly to an extra function to avoid clobbering of register 0, which
might happen because of the added min_t invocation together with code
instrumentation.

The bug was introduced with commit 14375bc4eb8d ("[S390] cleanup
facility list handling") but was rather harmless, since it would only
write to a rather large array. It became a potential problem with
commit 3ab121ab1866 ("[S390] kernel: Add z/VM LGR detection"). Since
then it writes to an array with only four double words, while some
machines already deliver three double words. As soon as machines have
a facility bit within the fifth double a crash on IPL would happen.

Fixes: 14375bc4eb8d ("[S390] cleanup facility list handling")
Cc: <stable@vger.kernel.org> # v2.6.37+
Reviewed-by: Vasily Gorbik <gor@linux.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
5 years agoARC: hide unused function unw_hdr_alloc
Arnd Bergmann [Wed, 3 Jul 2019 13:39:25 +0000 (15:39 +0200)]
ARC: hide unused function unw_hdr_alloc

commit fd5de2721ea7d16e2b16c4049ac49f229551b290 upstream.

As kernelci.org reports, this function is not used in
vdk_hs38_defconfig:

arch/arc/kernel/unwind.c:188:14: warning: 'unw_hdr_alloc' defined but not used [-Wunused-function]

Fixes: bc79c9a72165 ("ARC: dw2 unwind: Reinstante unwinding out of modules")
Link: https://kernelci.org/build/id/5d1cae3f59b514300340c132/logs/
Cc: stable@vger.kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
5 years agodm verity: use message limit for data block corruption message
Milan Broz [Thu, 20 Jun 2019 11:00:19 +0000 (13:00 +0200)]
dm verity: use message limit for data block corruption message

[ Upstream commit 2eba4e640b2c4161e31ae20090a53ee02a518657 ]

DM verity should also use DMERR_LIMIT to limit repeat data block
corruption messages.

Signed-off-by: Milan Broz <gmazyland@gmail.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
5 years agoARM: dts: imx6ul: fix PWM[1-4] interrupts
Sébastien Szymanski [Tue, 18 Jun 2019 15:58:34 +0000 (17:58 +0200)]
ARM: dts: imx6ul: fix PWM[1-4] interrupts

[ Upstream commit 3cf10132ac8d536565f2c02f60a3aeb315863a52 ]

According to the i.MX6UL/L RM, table 3.1 "ARM Cortex A7 domain interrupt
summary", the interrupts for the PWM[1-4] go from 83 to 86.

Fixes: b9901fe84f02 ("ARM: dts: imx6ul: add pwm[1-4] nodes")
Signed-off-by: Sébastien Szymanski <sebastien.szymanski@armadeus.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
5 years agosis900: fix TX completion
Sergej Benilov [Thu, 20 Jun 2019 09:02:18 +0000 (11:02 +0200)]
sis900: fix TX completion

[ Upstream commit 8ac8a01092b2added0749ef937037bf1912e13e3 ]

Since commit 605ad7f184b60cfaacbc038aa6c55ee68dee3c89 "tcp: refine TSO autosizing",
outbound throughput is dramatically reduced for some connections, as sis900
is doing TX completion within idle states only.

Make TX completion happen after every transmitted packet.

Test:
netperf

before patch:
> netperf -H remote -l -2000000 -- -s 1000000
MIGRATED TCP STREAM TEST from 0.0.0.0 () port 0 AF_INET to 95.223.112.76 () port 0 AF_INET : demo
Recv   Send    Send
Socket Socket  Message  Elapsed
Size   Size    Size     Time     Throughput
bytes  bytes   bytes    secs.    10^6bits/sec

 87380 327680 327680    253.44      0.06

after patch:
> netperf -H remote -l -10000000 -- -s 1000000
MIGRATED TCP STREAM TEST from 0.0.0.0 () port 0 AF_INET to 95.223.112.76 () port 0 AF_INET : demo
Recv   Send    Send
Socket Socket  Message  Elapsed
Size   Size    Size     Time     Throughput
bytes  bytes   bytes    secs.    10^6bits/sec

 87380 327680 327680    5.38       14.89

Thx to Dave Miller and Eric Dumazet for helpful hints

Signed-off-by: Sergej Benilov <sergej.benilov@googlemail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
5 years agoppp: mppe: Add softdep to arc4
Takashi Iwai [Wed, 19 Jun 2019 13:34:07 +0000 (15:34 +0200)]
ppp: mppe: Add softdep to arc4

[ Upstream commit aad1dcc4f011ea409850e040363dff1e59aa4175 ]

The arc4 crypto is mandatory at ppp_mppe probe time, so let's put a
softdep line, so that the corresponding module gets prepared
gracefully.  Without this, a simple inclusion to initrd via dracut
failed due to the missing dependency, for example.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
5 years agobe2net: fix link failure after ethtool offline test
Petr Oros [Wed, 19 Jun 2019 12:29:42 +0000 (14:29 +0200)]
be2net: fix link failure after ethtool offline test

[ Upstream commit 2e5db6eb3c23e5dc8171eb8f6af7a97ef9fcf3a9 ]

Certain cards in conjunction with certain switches need a little more
time for link setup that results in ethtool link test failure after
offline test. Patch adds a loop that waits for a link setup finish.

Changes in v2:
- added fixes header

Fixes: 4276e47e2d1c ("be2net: Add link test to list of ethtool self tests.")
Signed-off-by: Petr Oros <poros@redhat.com>
Reviewed-by: Ivan Vecera <ivecera@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>