1. 26 May, 2017 4 commits
    • Murali Karicheri's avatar
      ARM: dts: keystone-k2l: fix broken Ethernet due to disabled OSR · 791229f1
      Murali Karicheri authored
      Ethernet networking on K2L has been broken since v4.11-rc1. This was
      caused by commit 32a34441 ("ARM: keystone: dts: fix netcp clocks
      and add names"). This commit inadvertently moves on-chip static RAM
      clock to the end of list of clocks provided for netcp. Since keystone
      PM domain support does not have a list of recognized con_ids, only the
      first clock in the list comes under runtime PM management. This means
      the OSR (On-chip Static RAM) clock remains disabled and that broke
      networking on K2L.
      
      The OSR is used by QMSS on K2L as an external linking RAM. However this
      is a standalone RAM that can be used for non-QMSS usage (as well as from
      DSP side). So add a SRAM device node for the same and add the OSR clock
      to the node.
      
      Remove the now redundant OSR clock node from netcp.
      
      To manage all clocks defined for netCP's use by runtime PM needs keystone
      generic power domain (genpd) driver support which is under works.
      Meanwhile, this patch restores K2L networking and is correct irrespective
      of any future genpd work since OSR is an independent module and not part
      of NetCP anyway.
      Signed-off-by: default avatarMurali Karicheri <m-karicheri2@ti.com>
      Acked-by: default avatarTero Kristo <t-kristo@ti.com>
      [nsekhar@ti.com: commit message updates, port to latest mainline]
      Signed-off-by: default avatarSekhar Nori <nsekhar@ti.com>
      Cc: stable@vger.kernel.org # for 4.11
      Acked-by: default avatarSantosh Shilimkar <ssantosh@kernel.org>
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      791229f1
    • Olof Johansson's avatar
      Merge tag 'samsung-fixes-4.12' of... · 5612ac83
      Olof Johansson authored
      Merge tag 'samsung-fixes-4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into fixes
      
      Update of maintainers entry for Samsung SoC.
      
      * tag 'samsung-fixes-4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
        MAINTAINERS: Remove Javier Martinez Canillas as reviewer for Exynos
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      5612ac83
    • Olof Johansson's avatar
      Merge tag 'arm-soc/for-4.12/devicetree-fixes-2' of http://github.com/Broadcom/stblinux into fixes · 962ef410
      Olof Johansson authored
      This pull request contains Broadcom ARM-based SoCs Device Tree fixes for 4.12,
      please pull the following:
      
      - Phil provides a fix for the BCM283x (Raspberry Pi) by flagging the first
        4KiB of physical memory as a reserved region in order to let the secondary
        cores successfully spin until they are brought online
      
      * tag 'arm-soc/for-4.12/devicetree-fixes-2' of http://github.com/Broadcom/stblinux:
        ARM: dts: bcm283x: Reserve first page for firmware
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      962ef410
    • Heiko Stuebner's avatar
      arm64: defconfig: enable some core options for 64bit Rockchip socs · 5711ea1b
      Heiko Stuebner authored
      Enable some very core config options used on 64bit Rockchip socs.
      
      As built-in driver enable the Rockchip spi driver as well as the
      cros-ec-spi and cros-ec keyboard driver, as this may be helpful
      in case an initrd does not work as expected and drops the user
      into a shell. Another built-in is the fan53555 regulator driver,
      as it and its register-compatible cousins Silergy syr827 and syr828
      are often used on Rockchip socs as cpu-supply next to regular pmic.
      
      The rest can be enabled as modules and contains the pcie host
      controller and its phy, the sucessive approximation adc (saradc)
      that gets often used for additional buttons on Rockchip boards
      as well as the adc-keys Keyboard driver for these keys.
      
      The cros-ec-pwm also can be a module, as it is normally only used to
      drive display backlights as well as the Rockchip thermal controller
      that allows to read the cpu and gpu temperatures and affect frequency
      scaling if necessary.
      Signed-off-by: default avatarHeiko Stuebner <heiko@sntech.de>
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      5711ea1b
  2. 25 May, 2017 1 commit
  3. 19 May, 2017 13 commits
  4. 17 May, 2017 3 commits
  5. 16 May, 2017 5 commits
  6. 15 May, 2017 4 commits
    • Phil Elwell's avatar
      ARM: dts: bcm283x: Reserve first page for firmware · b0804ed0
      Phil Elwell authored
      The Raspberry Pi startup stub files for multi-core BCM283X processors
      make the secondary CPUs spin until the corresponding mailbox is
      written. These stubs are loaded at physical address 0x00000xxx (as seen
      by the ARMs), but this page will be reused by the kernel unless it is
      explicitly reserved, causing the waiting cores to execute random code.
      
      Use the /memreserve/ Device Tree directive to mark the first page as
      off-limits to the kernel.
      
      See: https://github.com/raspberrypi/linux/issues/1989Signed-off-by: default avatarPhil Elwell <phil@raspberrypi.org>
      Signed-off-by: default avatarEric Anholt <eric@anholt.net>
      Reviewed-by: default avatarEric Anholt <eric@anholt.net>
      b0804ed0
    • Arnd Bergmann's avatar
      soc: imx: add PM dependency for IMX7_PM_DOMAINS · e23c7f7d
      Arnd Bergmann authored
      The new pm domain driver causes a build failure when CONFIG_PM
      is not set:
      
      warning: (IMX7_PM_DOMAINS) selects PM_GENERIC_DOMAINS which has unmet direct dependencies (PM)
      drivers/base/power/domain_governor.c: In function 'default_suspend_ok':
      drivers/base/power/domain_governor.c:75:17: error: 'struct dev_pm_info' has no member named 'ignore_children'
      
      This adds a dependency to ensure that we don't attempt to build the
      driver without CONFIG_PM.
      
      Fixes: 03aa1262 ("soc: imx: Add GPCv2 power gating driver")
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Reviewed-by: default avatarFabio Estevam <fabio.estevam@nxp.com>
      Signed-off-by: default avatarShawn Guo <shawnguo@kernel.org>
      e23c7f7d
    • Leonard Crestez's avatar
      ARM: dts: imx6sx-sdb: Remove OPP override · d8581c7c
      Leonard Crestez authored
      The board file for imx6sx-sdb overrides cpufreq operating points to use
      higher voltages. This is done because the board has a shared rail for
      VDD_ARM_IN and VDD_SOC_IN and when using LDO bypass the shared voltage
      needs to be a value suitable for both ARM and SOC.
      
      This only applies to LDO bypass mode, a feature not present in upstream.
      When LDOs are enabled the effect is to use higher voltages than necessary
      for no good reason.
      
      Setting these higher voltages can make some boards fail to boot with ugly
      semi-random crashes reminiscent of memory corruption. These failures only
      happen on board rev. C, rev. B is reported to still work.
      Signed-off-by: default avatarLeonard Crestez <leonard.crestez@nxp.com>
      Fixes: 54183bd7 ("ARM: imx6sx-sdb: add revb board and make it default")
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarShawn Guo <shawnguo@kernel.org>
      d8581c7c
    • Fabio Estevam's avatar
      ARM: dts: imx53-qsrb: Pulldown PMIC IRQ pin · 2fe4bff3
      Fabio Estevam authored
      Currently the following errors are seen:
      
      [   14.015056] mc13xxx 0-0008: Failed to read IRQ status: -6
      [   27.321093] mc13xxx 0-0008: Failed to read IRQ status: -6
      [   27.411681] mc13xxx 0-0008: Failed to read IRQ status: -6
      [   27.456281] mc13xxx 0-0008: Failed to read IRQ status: -6
      [   30.527106] mc13xxx 0-0008: Failed to read IRQ status: -6
      [   36.596900] mc13xxx 0-0008: Failed to read IRQ status: -6
      
      Also when reading the interrupts via 'cat /proc/interrupts' the
      PMIC GPIO interrupt counter does not stop increasing.
      
      The reason for the storm of interrupts is that the PUS field of
      register IOMUXC_SW_PAD_CTL_PAD_CSI0_DAT5 is currently configured as:
      10 : 100k pullup
      
      and the PMIC interrupt is being registered as IRQ_TYPE_LEVEL_HIGH type,
      which is the correct type as per the MC34708 datasheet.
      
      Use the default power on value for the IOMUX, which sets PUS field as:
      00: 360k pull down
      
      This prevents the spurious PMIC interrupts from happening.
      
      Commit e1ffceb0 ("ARM: imx53: qsrb: fix PMIC interrupt level")
      correctly described the irq type as IRQ_TYPE_LEVEL_HIGH, but
      missed to update the IOMUX of the PMIC GPIO as pull down.
      
      Fixes: e1ffceb0 ("ARM: imx53: qsrb: fix PMIC interrupt level")
      Signed-off-by: default avatarFabio Estevam <fabio.estevam@nxp.com>
      Signed-off-by: default avatarShawn Guo <shawnguo@kernel.org>
      2fe4bff3
  7. 14 May, 2017 2 commits
  8. 13 May, 2017 5 commits
    • Linus Torvalds's avatar
      Linux 4.12-rc1 · 2ea659a9
      Linus Torvalds authored
      2ea659a9
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · cd636458
      Linus Torvalds authored
      Pull some more input subsystem updates from Dmitry Torokhov:
       "An updated xpad driver with a few more recognized device IDs, and a
        new psxpad-spi driver, allowing connecting Playstation 1 and 2 joypads
        via SPI bus"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
        Input: cros_ec_keyb - remove extraneous 'const'
        Input: add support for PlayStation 1/2 joypads connected via SPI
        Input: xpad - add USB IDs for Mad Catz Brawlstick and Razer Sabertooth
        Input: xpad - sync supported devices with xboxdrv
        Input: xpad - sort supported devices by USB ID
      cd636458
    • Linus Torvalds's avatar
      Merge tag 'upstream-4.12-rc1' of git://git.infradead.org/linux-ubifs · b53c4d5e
      Linus Torvalds authored
      Pull UBI/UBIFS updates from Richard Weinberger:
      
       - new config option CONFIG_UBIFS_FS_SECURITY
      
       - minor improvements
      
       - random fixes
      
      * tag 'upstream-4.12-rc1' of git://git.infradead.org/linux-ubifs:
        ubi: Add debugfs file for tracking PEB state
        ubifs: Fix a typo in comment of ioctl2ubifs & ubifs2ioctl
        ubifs: Remove unnecessary assignment
        ubifs: Fix cut and paste error on sb type comparisons
        ubi: fastmap: Fix slab corruption
        ubifs: Add CONFIG_UBIFS_FS_SECURITY to disable/enable security labels
        ubi: Make mtd parameter readable
        ubi: Fix section mismatch
      b53c4d5e
    • Linus Torvalds's avatar
      Merge branch 'for-linus-4.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml · ec059019
      Linus Torvalds authored
      Pull UML fixes from Richard Weinberger:
       "No new stuff, just fixes"
      
      * 'for-linus-4.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml:
        um: Add missing NR_CPUS include
        um: Fix to call read_initrd after init_bootmem
        um: Include kbuild.h instead of duplicating its macros
        um: Fix PTRACE_POKEUSER on x86_64
        um: Set number of CPUs
        um: Fix _print_addr()
      ec059019
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew) · 1251704a
      Linus Torvalds authored
      Merge misc fixes from Andrew Morton:
       "15 fixes"
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>:
        mm, docs: update memory.stat description with workingset* entries
        mm: vmscan: scan until it finds eligible pages
        mm, thp: copying user pages must schedule on collapse
        dax: fix PMD data corruption when fault races with write
        dax: fix data corruption when fault races with write
        ext4: return to starting transaction in ext4_dax_huge_fault()
        mm: fix data corruption due to stale mmap reads
        dax: prevent invalidation of mapped DAX entries
        Tigran has moved
        mm, vmalloc: fix vmalloc users tracking properly
        mm/khugepaged: add missed tracepoint for collapse_huge_page_swapin
        gcov: support GCC 7.1
        mm, vmstat: Remove spurious WARN() during zoneinfo print
        time: delete current_fs_time()
        hwpoison, memcg: forcibly uncharge LRU pages
      1251704a
  9. 12 May, 2017 3 commits
    • Roman Gushchin's avatar
      mm, docs: update memory.stat description with workingset* entries · b340959e
      Roman Gushchin authored
      Commit 4b4cea91691d ("mm: vmscan: fix IO/refault regression in cache
      workingset transition") introduced three new entries in memory stat
      file:
      
       - workingset_refault
       - workingset_activate
       - workingset_nodereclaim
      
      This commit adds a corresponding description to the cgroup v2 docs.
      
      Link: http://lkml.kernel.org/r/1494530293-31236-1-git-send-email-guro@fb.comSigned-off-by: default avatarRoman Gushchin <guro@fb.com>
      Cc: Johannes Weiner <hannes@cmpxchg.org>
      Cc: Michal Hocko <mhocko@kernel.org>
      Cc: Vladimir Davydov <vdavydov.dev@gmail.com>
      Cc: Tejun Heo <tj@kernel.org>
      Cc: Li Zefan <lizefan@huawei.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b340959e
    • Minchan Kim's avatar
      mm: vmscan: scan until it finds eligible pages · 791b48b6
      Minchan Kim authored
      Although there are a ton of free swap and anonymous LRU page in elgible
      zones, OOM happened.
      
        balloon invoked oom-killer: gfp_mask=0x17080c0(GFP_KERNEL_ACCOUNT|__GFP_ZERO|__GFP_NOTRACK), nodemask=(null),  order=0, oom_score_adj=0
        CPU: 7 PID: 1138 Comm: balloon Not tainted 4.11.0-rc6-mm1-zram-00289-ge228d67e9677-dirty #17
        Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Ubuntu-1.8.2-1ubuntu1 04/01/2014
        Call Trace:
         oom_kill_process+0x21d/0x3f0
         out_of_memory+0xd8/0x390
         __alloc_pages_slowpath+0xbc1/0xc50
         __alloc_pages_nodemask+0x1a5/0x1c0
         pte_alloc_one+0x20/0x50
         __pte_alloc+0x1e/0x110
         __handle_mm_fault+0x919/0x960
         handle_mm_fault+0x77/0x120
         __do_page_fault+0x27a/0x550
         trace_do_page_fault+0x43/0x150
         do_async_page_fault+0x2c/0x90
         async_page_fault+0x28/0x30
        Mem-Info:
        active_anon:424716 inactive_anon:65314 isolated_anon:0
         active_file:52 inactive_file:46 isolated_file:0
         unevictable:0 dirty:27 writeback:0 unstable:0
         slab_reclaimable:3967 slab_unreclaimable:4125
         mapped:133 shmem:43 pagetables:1674 bounce:0
         free:4637 free_pcp:225 free_cma:0
        Node 0 active_anon:1698864kB inactive_anon:261256kB active_file:208kB inactive_file:184kB unevictable:0kB isolated(anon):0kB isolated(file):0kB mapped:532kB dirty:108kB writeback:0kB shmem:172kB writeback_tmp:0kB unstable:0kB all_unreclaimable? no
        DMA free:7316kB min:32kB low:44kB high:56kB active_anon:8064kB inactive_anon:0kB active_file:0kB inactive_file:0kB unevictable:0kB writepending:0kB present:15992kB managed:15908kB mlocked:0kB slab_reclaimable:464kB slab_unreclaimable:40kB kernel_stack:0kB pagetables:24kB bounce:0kB free_pcp:0kB local_pcp:0kB free_cma:0kB
        lowmem_reserve[]: 0 992 992 1952
        DMA32 free:9088kB min:2048kB low:3064kB high:4080kB active_anon:952176kB inactive_anon:0kB active_file:36kB inactive_file:0kB unevictable:0kB writepending:88kB present:1032192kB managed:1019388kB mlocked:0kB slab_reclaimable:13532kB slab_unreclaimable:16460kB kernel_stack:3552kB pagetables:6672kB bounce:0kB free_pcp:56kB local_pcp:24kB free_cma:0kB
        lowmem_reserve[]: 0 0 0 959
        Movable free:3644kB min:1980kB low:2960kB high:3940kB active_anon:738560kB inactive_anon:261340kB active_file:188kB inactive_file:640kB unevictable:0kB writepending:20kB present:1048444kB managed:1010816kB mlocked:0kB slab_reclaimable:0kB slab_unreclaimable:0kB kernel_stack:0kB pagetables:0kB bounce:0kB free_pcp:832kB local_pcp:60kB free_cma:0kB
        lowmem_reserve[]: 0 0 0 0
        DMA: 1*4kB (E) 0*8kB 18*16kB (E) 10*32kB (E) 10*64kB (E) 9*128kB (ME) 8*256kB (E) 2*512kB (E) 2*1024kB (E) 0*2048kB 0*4096kB = 7524kB
        DMA32: 417*4kB (UMEH) 181*8kB (UMEH) 68*16kB (UMEH) 48*32kB (UMEH) 14*64kB (MH) 3*128kB (M) 1*256kB (H) 1*512kB (M) 2*1024kB (M) 0*2048kB 0*4096kB = 9836kB
        Movable: 1*4kB (M) 1*8kB (M) 1*16kB (M) 1*32kB (M) 0*64kB 1*128kB (M) 2*256kB (M) 4*512kB (M) 1*1024kB (M) 0*2048kB 0*4096kB = 3772kB
        378 total pagecache pages
        17 pages in swap cache
        Swap cache stats: add 17325, delete 17302, find 0/27
        Free swap  = 978940kB
        Total swap = 1048572kB
        524157 pages RAM
        0 pages HighMem/MovableOnly
        12629 pages reserved
        0 pages cma reserved
        0 pages hwpoisoned
        [ pid ]   uid  tgid total_vm      rss nr_ptes nr_pmds swapents oom_score_adj name
        [  433]     0   433     4904        5      14       3       82             0 upstart-udev-br
        [  438]     0   438    12371        5      27       3      191         -1000 systemd-udevd
      
      With investigation, skipping page of isolate_lru_pages makes reclaim
      void because it returns zero nr_taken easily so LRU shrinking is
      effectively nothing and just increases priority aggressively.  Finally,
      OOM happens.
      
      The problem is that get_scan_count determines nr_to_scan with eligible
      zones so although priority drops to zero, it couldn't reclaim any pages
      if the LRU contains mostly ineligible pages.
      
      get_scan_count:
      
              size = lruvec_lru_size(lruvec, lru, sc->reclaim_idx);
      	size = size >> sc->priority;
      
      Assumes sc->priority is 0 and LRU list is as follows.
      
      	N-N-N-N-H-H-H-H-H-H-H-H-H-H-H-H-H-H-H-H
      
      (Ie, small eligible pages are in the head of LRU but others are
       almost ineligible pages)
      
      In that case, size becomes 4 so VM want to scan 4 pages but 4 pages from
      tail of the LRU are not eligible pages.  If get_scan_count counts
      skipped pages, it doesn't reclaim any pages remained after scanning 4
      pages so it ends up OOM happening.
      
      This patch makes isolate_lru_pages try to scan pages until it encounters
      eligible zones's pages.
      
      [akpm@linux-foundation.org: clean up mind-bending `for' statement.  Tweak comment text]
      Fixes: 3db65812 ("Revert "mm, vmscan: account for skipped pages as a partial scan"")
      Link: http://lkml.kernel.org/r/1494457232-27401-1-git-send-email-minchan@kernel.orgSigned-off-by: default avatarMinchan Kim <minchan@kernel.org>
      Acked-by: default avatarMichal Hocko <mhocko@suse.com>
      Acked-by: default avatarJohannes Weiner <hannes@cmpxchg.org>
      Cc: Mel Gorman <mgorman@techsingularity.net>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      791b48b6
    • David Rientjes's avatar
      mm, thp: copying user pages must schedule on collapse · 338a16ba
      David Rientjes authored
      We have encountered need_resched warnings in __collapse_huge_page_copy()
      while doing {clear,copy}_user_highpage() over HPAGE_PMD_NR source pages.
      
      mm->mmap_sem is held for write, but the iteration is well bounded.
      
      Reschedule as needed.
      
      Link: http://lkml.kernel.org/r/alpine.DEB.2.10.1705101426380.109808@chino.kir.corp.google.comSigned-off-by: default avatarDavid Rientjes <rientjes@google.com>
      Acked-by: default avatarVlastimil Babka <vbabka@suse.cz>
      Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
      Cc: Johannes Weiner <hannes@cmpxchg.org>
      Cc: Mel Gorman <mgorman@techsingularity.net>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      338a16ba