1. 16 Jan, 2018 2 commits
    • Petr Mladek's avatar
      printk: Hide console waiter logic into helpers · c162d5b4
      Petr Mladek authored
      The commit ("printk: Add console owner and waiter logic to load balance
      console writes") made vprintk_emit() and console_unlock() even more
      complicated.
      
      This patch extracts the new code into 3 helper functions. They should
      help to keep it rather self-contained. It will be easier to use and
      maintain.
      
      This patch just shuffles the existing code. It does not change
      the functionality.
      
      Link: http://lkml.kernel.org/r/20180112160837.GD24497@linux.suse
      
      
      Cc: akpm@linux-foundation.org
      Cc: linux-mm@kvack.org
      Cc: Cong Wang <xiyou.wangcong@gmail.com>
      Cc: Dave Hansen <dave.hansen@intel.com>
      Cc: Johannes Weiner <hannes@cmpxchg.org>
      Cc: Mel Gorman <mgorman@suse.de>
      Cc: Michal Hocko <mhocko@kernel.org>
      Cc: Vlastimil Babka <vbabka@suse.cz>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Jan Kara <jack@suse.cz>
      Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
      Cc: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
      Cc: rostedt@home.goodmis.org
      Cc: Byungchul Park <byungchul.park@lge.com>
      Cc: Tejun Heo <tj@kernel.org>
      Cc: Pavel Machek <pavel@ucw.cz>
      Cc: linux-kernel@vger.kernel.org
      Reviewed-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
      Acked-by: default avatarSergey Senozhatsky <sergey.senozhatsky@gmail.com>
      Signed-off-by: default avatarPetr Mladek <pmladek@suse.com>
      c162d5b4
    • Steven Rostedt (VMware)'s avatar
      printk: Add console owner and waiter logic to load balance console writes · dbdda842
      Steven Rostedt (VMware) authored
      This patch implements what I discussed in Kernel Summit. I added
      lockdep annotation (hopefully correctly), and it hasn't had any splats
      (since I fixed some bugs in the first iterations). It did catch
      problems when I had the owner covering too much. But now that the owner
      is only set when actively calling the consoles, lockdep has stayed
      quiet.
      
      Here's the design again:
      
      I added a "console_owner" which is set to a task that is actively
      writing to the consoles. It is *not* the same as the owner of the
      console_lock. It is only set when doing the calls to the console
      functions. It is protected by a console_owner_lock which is a raw spin
      lock.
      
      There is a console_waiter. This is set when there is an active console
      owner that is not current, and waiter is not set. This too is protected
      by console_owner_lock.
      
      In printk() when it tries to write to the consoles, we have:
      
      	if (console_trylock())
      		console_unlock();
      
      Now I added an else, which will check if there is an active owner, and
      no current waiter. If that is the case, then console_waiter is set, and
      the task goes into a spin until it is no longer set.
      
      When the active console owner finishes writing the current message to
      the consoles, it grabs the console_owner_lock and sees if there is a
      waiter, and clears console_owner.
      
      If there is a waiter, then it breaks out of the loop, clears the waiter
      flag (because that will release the waiter from its spin), and exits.
      Note, it does *not* release the console semaphore. Because it is a
      semaphore, there is no owner. Another task may release it. This means
      that the waiter is guaranteed to be the new console owner! Which it
      becomes.
      
      Then the waiter calls console_unlock() and continues to write to the
      consoles.
      
      If another task comes along and does a printk() it too can become the
      new waiter, and we wash rinse and repeat!
      
      By Petr Mladek about possible new deadlocks:
      
      The thing is that we move console_sem only to printk() call
      that normally calls console_unlock() as well. It means that
      the transferred owner should not bring new type of dependencies.
      As Steven said somewhere: "If there is a deadlock, it was
      there even before."
      
      We could look at it from this side. The possible deadlock would
      look like:
      
      CPU0                            CPU1
      
      console_unlock()
      
        console_owner = current;
      
      				spin_lockA()
      				  printk()
      				    spin = true;
      				    while (...)
      
          call_console_drivers()
            spin_lockA()
      
      This would be a deadlock. CPU0 would wait for the lock A.
      While CPU1 would own the lockA and would wait for CPU0
      to finish calling the console drivers and pass the console_sem
      owner.
      
      But if the above is true than the following scenario was
      already possible before:
      
      CPU0
      
      spin_lockA()
        printk()
          console_unlock()
            call_console_drivers()
      	spin_lockA()
      
      By other words, this deadlock was there even before. Such
      deadlocks are prevented by using printk_deferred() in
      the sections guarded by the lock A.
      
      By Steven Rostedt:
      
      To demonstrate the issue, this module has been shown to lock up a
      system with 4 CPUs and a slow console (like a serial console). It is
      also able to lock up a 8 CPU system with only a fast (VGA) console, by
      passing in "loops=100". The changes in this commit prevent this module
      from locking up the system.
      
       #include <linux/module.h>
       #include <linux/delay.h>
       #include <linux/sched.h>
       #include <linux/mutex.h>
       #include <linux/workqueue.h>
       #include <linux/hrtimer.h>
      
       static bool stop_testing;
       static unsigned int loops = 1;
      
       static void preempt_printk_workfn(struct work_struct *work)
       {
       	int i;
      
       	while (!READ_ONCE(stop_testing)) {
       		for (i = 0; i < loops && !READ_ONCE(stop_testing); i++) {
       			preempt_disable();
       			pr_emerg("%5d%-75s\n", smp_processor_id(),
       				 " XXX NOPREEMPT");
       			preempt_enable();
       		}
       		msleep(1);
       	}
       }
      
       static struct work_struct __percpu *works;
      
       static void finish(void)
       {
       	int cpu;
      
       	WRITE_ONCE(stop_testing, true);
       	for_each_online_cpu(cpu)
       		flush_work(per_cpu_ptr(works, cpu));
       	free_percpu(works);
       }
      
       static int __init test_init(void)
       {
       	int cpu;
      
       	works = alloc_percpu(struct work_struct);
       	if (!works)
       		return -ENOMEM;
      
       	/*
       	 * This is just a test module. This will break if you
       	 * do any CPU hot plugging between loading and
       	 * unloading the module.
       	 */
      
       	for_each_online_cpu(cpu) {
       		struct work_struct *work = per_cpu_ptr(works, cpu);
      
       		INIT_WORK(work, &preempt_printk_workfn);
       		schedule_work_on(cpu, work);
       	}
      
       	return 0;
       }
      
       static void __exit test_exit(void)
       {
       	finish();
       }
      
       module_param(loops, uint, 0);
       module_init(test_init);
       module_exit(test_exit);
       MODULE_LICENSE("GPL");
      
      Link: http://lkml.kernel.org/r/20180110132418.7080-2-pmladek@suse.com
      
      
      Cc: akpm@linux-foundation.org
      Cc: linux-mm@kvack.org
      Cc: Cong Wang <xiyou.wangcong@gmail.com>
      Cc: Dave Hansen <dave.hansen@intel.com>
      Cc: Johannes Weiner <hannes@cmpxchg.org>
      Cc: Mel Gorman <mgorman@suse.de>
      Cc: Michal Hocko <mhocko@kernel.org>
      Cc: Vlastimil Babka <vbabka@suse.cz>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Jan Kara <jack@suse.cz>
      Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
      Cc: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
      Cc: Byungchul Park <byungchul.park@lge.com>
      Cc: Tejun Heo <tj@kernel.org>
      Cc: Pavel Machek <pavel@ucw.cz>
      Cc: linux-kernel@vger.kernel.org
      Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
      [pmladek@suse.com: Commit message about possible deadlocks]
      Acked-by: default avatarSergey Senozhatsky <sergey.senozhatsky@gmail.com>
      Signed-off-by: default avatarPetr Mladek <pmladek@suse.com>
      dbdda842
  2. 21 Nov, 2017 4 commits
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/pmladek/printk · 11ca75d2
      Linus Torvalds authored
      Pull printk updates from Petr Mladek:
      
       - print the warning about dropped messages on consoles on a separate
         line.   It makes it more legible.
      
       - one typo fix and small code clean up.
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/pmladek/printk:
        added new line symbol after warning about dropped messages
        printk: fix typo in printk_safe.c
        printk: simplify no_printk()
      11ca75d2
    • Linus Torvalds's avatar
      Merge tag 'fbdev-v4.15' of git://github.com/bzolnier/linux · e1d1ea54
      Linus Torvalds authored
      Pull fbdev updates from Bartlomiej Zolnierkiewicz:
       "There is nothing really major here (though removal of the dead igafb
        driver stands out in diffstat).
      
        Summary:
      
         - convert timers to use timer_setup() (Kees Cook, Thierry Reding)
      
         - fix panels support on iMX boards in mxsfb driver (Stefan Agner)
      
         - fix timeout on EDID read in udlfb driver (Ladislav Michl)
      
         - add missing modes to fix out of bounds access in controlfb driver
           (Geert Uytterhoeven)
      
         - update initialisation paths in sa1100fb driver to be more robust
           (Russell King)
      
         - fix error handling path of ->probe method in au1200fb driver
           (Christophe JAILLET)
      
         - fix handling of cases when either panel or crt is defined in
           sm501fb driver (Sudip Mukherjee, Colin Ian King)
      
         - add ability to the Goldfish FB driver to be recognized by OS via DT
           (Aleksandar Markovic)
      
         - structures constifications (Bhumika Goyal)
      
         - misc fixes (Allen Pais, Gustav...
      e1d1ea54
    • Linus Torvalds's avatar
      Merge tag 'devicetree-fixes-for-4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · c633e898
      Linus Torvalds authored
      Pull DeviceTree fixes from Rob Herring:
      
       - Remove mc13892 as a trivial device
      
       - Improve of_find_node_by_name() documentation
      
       - Fix unit test dtc warnings
      
       - Clean-ups of USB binding documentation
      
       - Fix potential NULL deref in of_pci_map_rid
      
      * tag 'devicetree-fixes-for-4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
        dt-bindings: trivial-devices: Remove fsl,mc13892
        of: Document exactly what of_find_node_by_name() puts
        of: unittest: disable interrupts_property warning
        of: unittest: let dtc generate __local_fixups__
        dt-bindings: usb: document hub and host-controller properties
        dt-bindings: usb: clean up compatible property
        dt-bindings: usb: fix reg-property port-number range
        dt-bindings: usb: fix example hub node name
        of/pci: Fix theoretical NULL dereference
      c633e898
    • Linus Torvalds's avatar
      Merge tag 'jfs-4.15-2' of git://github.com/kleikamp/linux-shaggy · bf8973fc
      Linus Torvalds authored
      Pull jfs fixlet from Dave Kleikamp:
       "Update jfs git tree in MAINTAINERS"
      
      * tag 'jfs-4.15-2' of git://github.com/kleikamp/linux-shaggy:
        MAINTAINERS: fix jfs tree location
      bf8973fc
  3. 20 Nov, 2017 4 commits
    • Jonathan Neuschäfer's avatar
      dt-bindings: trivial-devices: Remove fsl,mc13892 · def4db33
      Jonathan Neuschäfer authored
      
      
      This device's bindings are not trivial: Additional properties are
      documented in in Documentation/devicetree/bindings/mfd/mc13xxx.txt.
      Signed-off-by: default avatarJonathan Neuschäfer <j.neuschaefer@gmx.net>
      Reviewed-by: default avatarFabio Estevam <fabio.estevam@nxp.com>
      Signed-off-by: default avatarRob Herring <robh@kernel.org>
      def4db33
    • Stephen Boyd's avatar
      of: Document exactly what of_find_node_by_name() puts · 02a876b5
      Stephen Boyd authored
      
      
      It isn't clear if this function of_node_put()s the 'from'
      argument, or the node it searches. Clearly indicate which
      variable is touched. Fold in some more fixes from Randy too
      because we're in the area.
      
      Cc: Randy Dunlap <rdunlap@infradead.org>
      Signed-off-by: default avatarStephen Boyd <sboyd@codeaurora.org>
      Acked-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Signed-off-by: default avatarRob Herring <robh@kernel.org>
      02a876b5
    • Tom Saeger's avatar
      MAINTAINERS: fix jfs tree location · 86313903
      Tom Saeger authored
      
      
      JFS tree has been moved to github.
      Signed-off-by: default avatarTom Saeger <tom.saeger@oracle.com>
      Signed-off-by: default avatarDave Kleikamp <dave.kleikamp@oracle.com>
      86313903
    • Linus Torvalds's avatar
      Merge tag 'ntb-4.15' of git://github.com/jonmason/ntb · c8a0739b
      Linus Torvalds authored
      Pull ntb updates from Jon Mason:
       "Support for the switchtec ntb and related changes. Also, a couple of
        bug fixes"
      
      [ The timing isn't great. I had asked people to send me pull requests
        before my family vacation, and this code has not even been in
        linux-next as far as I can tell. But Logan Gunthorpe pleaded for its
        inclusion because the Switchtec driver has apparently been around for
        a while, just never in linux-next - Linus ]
      
      * tag 'ntb-4.15' of git://github.com/jonmason/ntb:
        ntb: intel: remove b2b memory window workaround for Skylake NTB
        NTB: make idt_89hpes_cfg const
        NTB: switchtec_ntb: Update switchtec documentation with notes for NTB
        NTB: switchtec_ntb: Add memory window support
        NTB: switchtec_ntb: Implement scratchpad registers
        NTB: switchtec_ntb: Implement doorbell registers
        NTB: switchtec_ntb: Add link management
        NTB: switchtec_ntb: Add skeleton NTB driver
        NTB: switchtec_ntb: Initialize hardware for doorbells and messages
        NTB: switchtec_ntb: Initialize hardware for memory windows
        NTB: switchtec_ntb: Introduce initial NTB driver
        NTB: Add check and comment for link up to mw_count() and mw_get_align()
        NTB: Ensure ntb_mw_get_align() is only called when the link is up
        NTB: switchtec: Add link event notifier callback
        NTB: switchtec: Add NTB hardware register definitions
        NTB: switchtec: Export class symbol for use in upper layer driver
        NTB: switchtec: Move structure definitions into a common header
        ntb: update maintainer list for Intel NTB driver
      c8a0739b
  4. 19 Nov, 2017 20 commits
  5. 18 Nov, 2017 10 commits
    • Linus Torvalds's avatar
      clean up x86 platform driver default values · 0192f175
      Linus Torvalds authored
      
      
      The updates this merge window added several bogus default enablement for
      new features.  We don't do that.  If people want new behavior, they ask
      for it.
      
      One 'default n' was also removed as pointless.  That's great, but there
      were eight other ones in the same file that were left alone.
      
      Fix it up.
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      0192f175
    • Linus Torvalds's avatar
      Merge tag 'nfsd-4.15' of git://linux-nfs.org/~bfields/linux · 4dd3c2e5
      Linus Torvalds authored
      Pull nfsd updates from Bruce Fields:
       "Lots of good bugfixes, including:
      
         -  fix a number of races in the NFSv4+ state code
      
         -  fix some shutdown crashes in multiple-network-namespace cases
      
         -  relax our 4.1 session limits; if you've an artificially low limit
            to the number of 4.1 clients that can mount simultaneously, try
            upgrading"
      
      * tag 'nfsd-4.15' of git://linux-nfs.org/~bfields/linux: (22 commits)
        SUNRPC: Improve ordering of transport processing
        nfsd: deal with revoked delegations appropriately
        svcrdma: Enqueue after setting XPT_CLOSE in completion handlers
        nfsd: use nfs->ns.inum as net ID
        rpc: remove some BUG()s
        svcrdma: Preserve CB send buffer across retransmits
        nfds: avoid gettimeofday for nfssvc_boot time
        fs, nfsd: convert nfs4_file.fi_ref from atomic_t to refcount_t
        fs, nfsd: convert nfs4_cntl_odstate.co_odcount from atomic_t to refcount_t
        fs, nfsd: convert nfs4_stid.sc_count from atomic_t to refcount_t
        lockd: double unregister of inetaddr notifiers
        nfsd4: catch some false session retries
        nfsd4: fix cached replies to solo SEQUENCE compounds
        sunrcp: make function _svc_create_xprt static
        SUNRPC: Fix tracepoint storage issues with svc_recv and svc_rqst_status
        nfsd: use ARRAY_SIZE
        nfsd: give out fewer session slots as limit approaches
        nfsd: increase DRC cache limit
        nfsd: remove unnecessary nofilehandle checks
        nfs_common: convert int to bool
        ...
      4dd3c2e5
    • Linus Torvalds's avatar
      Merge tag 'platform-drivers-x86-v4.15-1' of git://git.infradead.org/linux-platform-drivers-x86 · 07c455ee
      Linus Torvalds authored
      Pull x86 platform driver updates from Andy Shevchenko:
       "Here is the collected material against Platform Drivers x86 subsystem.
        It's rather bit busy cycle for PDx86, mostly due to Dell SMBIOS driver
        activity
      
        For this cycle we have quite an update for the Dell SMBIOS driver
        including WMI work to provide an interface for SMBIOS tokens via sysfs
        and WMI support for 2017+ Dell laptop models. SMM dispatcher code is
        split into a separate driver followed by a new WMI dispatcher. The
        latter provides a character device interface to user space.
      
        The git history also contains a merge of immutable branch from Wolfram
        Sang in order to apply a dependent fix to the Intel CherryTrail
        Battery Management driver.
      
        Other Intel drivers got a lot of cleanups. The Turbo Boost Max 3.0
        support is added for Intel Skylake.
      
        Peaq WMI hotkeys driver gets its own maintainer and white list of
        supported models.
      
        Silead DMI is expanded to support few additional platforms.
      
        Tablet mode via GMMS ACPI method is added to support some ThinkPad
        tablets.
      
        new driver:
         - Add driver to force WMI Thunderbolt controller power status
      
        asus-wmi:
         -  Add lightbar led support
      
        dell-laptop:
         -  Allocate buffer before rfkill use
      
        dell-smbios:
         -  fix string overflow
         -  Add filtering support
         -  Introduce dispatcher for SMM calls
         -  Add a sysfs interface for SMBIOS tokens
         -  only run if proper oem string is detected
         -  Prefix class/select with cmd_
         -  Add pr_fmt definition to driver
      
        dell-smbios-smm:
         -  test for WSMT
      
        dell-smbios-wmi:
         -  release mutex lock on WMI call failure
         -  introduce userspace interface
         -  Add new WMI dispatcher driver
      
        dell-smo8800:
         -  remove redundant assignments to byte_data
      
        dell-wmi:
         -  don't check length returned
         -  clean up wmi descriptor check
         -  increase severity of some failures
         -  Do not match on descriptor GUID modalias
         -  Label driver as handling notifications
      
        dell-*wmi*:
         -  Relay failed initial probe to dependent drivers
      
        dell-wmi-descriptor:
         -  check if memory was allocated
         -  split WMI descriptor into it's own driver
      
        fujitsu-laptop:
         -  Fix radio LED detection
         -  Don't oops when FUJ02E3 is not presnt
      
        hp_accel:
         -  Add quirk for HP ProBook 440 G4
      
        hp-wmi:
         -  Fix tablet mode detection for convertibles
      
        ideapad-laptop:
         -  Add Lenovo Yoga 920-13IKB to no_hw_rfkill dmi list
      
        intel_cht_int33fe:
         -  Update fusb302 type string, add properties
         -  make a couple of local functions static
         -  Work around BIOS bug on some devices
      
        intel-hid:
         -  Power button suspend on Dell Latitude 7275
      
        intel_ips:
         -  Convert timers to use timer_setup()
         -  Remove FSF address from GPL notice
         -  Remove unneeded fields and label
         -  Keep pointer to struct device
         -  Use PCI_VDEVICE() macro
         -  Switch to new PCI IRQ allocation API
         -  Simplify error handling via devres API
      
        intel_pmc_ipc:
         -  Revert Use MFD framework to create dependent devices
         -  Use MFD framework to create dependent devices
         -  Use spin_lock to protect GCR updates
         -  Use devm_* calls in driver probe function
      
        intel_punit_ipc:
         -  Fix resource ioremap warning
      
        intel_telemetry:
         -  Remove useless default in Kconfig
         -  Add needed inclusion
         -  cleanup redundant headers
         -  Fix typos
         -  Fix load failure info
      
        intel_telemetry_debugfs:
         -  Use standard ARRAY_SIZE() macro
      
        intel_turbo_max_3:
         -  Add Skylake platform
      
        intel-wmi-thunderbolt:
         -  Silence error cases
      
        mlx-platform:
         -  make a couple of structures static
      
        peaq_wmi:
         -  Fix missing terminating entry for peaq_dmi_table
      
        peaq-wmi:
         -  Remove unnecessary checks from peaq_wmi_exit
         -  Add DMI check before binding to the WMI interface
         -  Revert Blacklist Lenovo ideapad 700-15ISK
         -  Blacklist Lenovo ideapad 700-15ISK
      
        silead_dmi:
         -  Add silead, home-button property to some tablets
         -  Add entry for the Digma e200 tablet
         -  Fix GP-electronic T701 entry
         -  Add entry for the Chuwi Hi8 Pro tablet
      
        sony-laptop:
         -  Drop variable assignment in sony_nc_setup_rfkill()
         -  Fix error handling in sony_nc_setup_rfkill()
      
        thinkpad_acpi:
         -  Implement tablet mode using GMMS method
      
        tools/wmi:
         -  add a sample for dell smbios communication over WMI
      
        wmi:
         -  release mutex on module acquistion failure
         -  create userspace interface for drivers
         -  Don't allow drivers to get each other's GUIDs
         -  Add new method wmidev_evaluate_method
         -  Destroy on cleanup rather than unregister
         -  Cleanup exit routine in reverse order of init
         -  Sort include list"
      
      * tag 'platform-drivers-x86-v4.15-1' of git://git.infradead.org/linux-platform-drivers-x86: (74 commits)
        platform/x86: silead_dmi: Add silead, home-button property to some tablets
        platform/x86: dell-laptop: Allocate buffer before rfkill use
        platform/x86: dell-*wmi*: Relay failed initial probe to dependent drivers
        platform/x86: dell-wmi-descriptor: check if memory was allocated
        platform/x86: Revert intel_pmc_ipc: Use MFD framework to create dependent devices
        platform/x86: dell-smbios-wmi: release mutex lock on WMI call failure
        platform/x86: wmi: release mutex on module acquistion failure
        platform/x86: dell-smbios: fix string overflow
        platform/x86: intel_pmc_ipc: Use MFD framework to create dependent devices
        platform/x86: intel_punit_ipc: Fix resource ioremap warning
        platform/x86: dell-smo8800: remove redundant assignments to byte_data
        platform/x86: hp-wmi: Fix tablet mode detection for convertibles
        platform/x86: intel_ips: Convert timers to use timer_setup()
        platform/x86: sony-laptop: Drop variable assignment in sony_nc_setup_rfkill()
        platform/x86: sony-laptop: Fix error handling in sony_nc_setup_rfkill()
        tools/wmi: add a sample for dell smbios communication over WMI
        platform/x86: dell-smbios-wmi: introduce userspace interface
        platform/x86: wmi: create userspace interface for drivers
        platform/x86: dell-smbios: Add filtering support
        platform/x86: dell-smbios-smm: test for WSMT
        ...
      07c455ee
    • Hans de Goede's avatar
      platform/x86: silead_dmi: Add silead, home-button property to some tablets · aaa40965
      Hans de Goede authored
      
      
      Add "silead,home-button" property to entries for tablets which have
      a capacitive home button (typically a windows logo on the front).
      
      This new property is checked for by the new capacitive home button
      support in the silead touchscreen driver.
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      aaa40965
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc · 1deab8ce
      Linus Torvalds authored
      Pull sparc updates from David Miller:
      
       1) Add missing cmpxchg64() for 32-bit sparc.
      
       2) Timer conversions from Allen Pais and Kees Cook.
      
       3) vDSO support, from Nagarathnam Muthusamy.
      
       4) Fix sparc64 huge page table walks based upon bug report by Al Viro,
          from Nitin Gupta.
      
       5) Optimized fls() for T4 and above, from Vijay Kumar.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
        sparc64: Fix page table walk for PUD hugepages
        sparc64: Convert timers to user timer_setup()
        sparc64: convert mdesc_handle.refcnt from atomic_t to refcount_t
        sparc/led: Convert timers to use timer_setup()
        sparc64: Use sparc optimized fls and __fls for T4 and above
        sparc64: SPARC optimized __fls function
        sparc64: SPARC optimized fls function
        sparc64: Define SPARC default __fls function
        sparc64: Define SPARC default fls function
        vDSO for sparc
        sparc32: Add cmpxchg64().
        sbus: char: Move D7S_MINOR to include/linux/miscdevice.h
        sparc: time: Remove unneeded linux/miscdevice.h include
        sparc64: mmu_context: Add missing include files
      1deab8ce
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 81700247
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) Revert regression inducing change to the IPSEC template resolver,
          from Steffen Klassert.
      
       2) Peeloffs can cause the wrong sk to be waken up in SCTP, fix from Xin
          Long.
      
       3) Min packet MTU size is wrong in cpsw driver, from Grygorii Strashko.
      
       4) Fix build failure in netfilter ctnetlink, from Arnd Bergmann.
      
       5) ISDN hisax driver checks pnp_irq() for errors incorrectly, from
          Arvind Yadav.
      
       6) Fix fealnx driver build failure on MIPS, from Huacai Chen.
      
       7) Fix into leak in SCTP, the scope_id of socket addresses is not
          always filled in. From Eric W. Biederman.
      
       8) MTU inheritance between physical function and representor fix in nfp
          driver, from Dirk van der Merwe.
      
       9) Fix memory leak in rsi driver, from Colin Ian King.
      
      10) Fix expiration and generation ID handling of cached ipv4 redirect
          routes, from Xin Long.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (40 commits)
        net: usb: hso.c: remove unneeded DRIVER_LICENSE #define
        ibmvnic: fix dma_mapping_error call
        ipvlan: NULL pointer dereference panic in ipvlan_port_destroy
        route: also update fnhe_genid when updating a route cache
        route: update fnhe_expires for redirect when the fnhe exists
        sctp: set frag_point in sctp_setsockopt_maxseg correctly
        rsi: fix memory leak on buf and usb_reg_buf
        net/netlabel: Add list_next_rcu() in rcu_dereference().
        nfp: remove false positive offloads in flower vxlan
        nfp: register flower reprs for egress dev offload
        nfp: inherit the max_mtu from the PF netdev
        nfp: fix vlan receive MAC statistics typo
        nfp: fix flower offload metadata flag usage
        virto_net: remove empty file 'virtio_net.'
        net/sctp: Always set scope_id in sctp_inet6_skb_msgname
        fealnx: Fix building error on MIPS
        isdn: hisax: Fix pnp_irq's error checking for setup_teles3
        isdn: hisax: Fix pnp_irq's error checking for setup_sedlbauer_isapnp
        isdn: hisax: Fix pnp_irq's error checking for setup_niccy
        isdn: hisax: Fix pnp_irq's error checking for setup_ix1micro
        ...
      81700247
    • Linus Torvalds's avatar
      Merge tag 'hwlock-v4.15' of git://github.com/andersson/remoteproc · 27eabfaa
      Linus Torvalds authored
      Pull hwspinlock update from Bjorn Andersson:
       "This changes the HWSPINLOCK core Kconfig option to bool, to aid when
        other core code depends on it"
      
      * tag 'hwlock-v4.15' of git://github.com/andersson/remoteproc:
        hwspinlock: Change hwspinlock to a bool
      27eabfaa
    • Linus Torvalds's avatar
      Merge tag 'rproc-v4.15' of git://github.com/andersson/remoteproc · 4f88bd23
      Linus Torvalds authored
      Pull remoteproc updates from Bjorn Andersson:
       "This adds an interface for configuring Qualcomm's "secure SMMU" and
        adds support for booting the modem Hexagon on MSM8996.
      
        Two new debugfs entries are added in the remoteproc core to introspect
        the list of memory carveouts and the loaded resource table"
      
      * tag 'rproc-v4.15' of git://github.com/andersson/remoteproc:
        remoteproc: qcom: Fix error handling paths in order to avoid memory leaks
        remoteproc: qcom: Drop pr_err in q6v5_xfer_mem_ownership()
        remoteproc: debug: add carveouts list dump feature
        remoteproc: debug: add resource table dump feature
        remoteproc: qcom: Add support for mss remoteproc on msm8996
        remoteproc: qcom: Make secure world call for mem ownership switch
        remoteproc: qcom: refactor mss fw image loading sequence
        firmware: scm: Add new SCM call API for switching memory ownership
      4f88bd23
    • Linus Torvalds's avatar
      Merge tag 'rpmsg-v4.15' of git://github.com/andersson/remoteproc · bedf5719
      Linus Torvalds authored
      Pull rpmsg updates from Bjorn Andersson:
      
       - turn RPMSG_VIRTIO into a user selectable config
      
       - fix few bugs in GLINK
      
       - provide the support for specifying initial buffer sizes for GLINK
         channels.
      
      * tag 'rpmsg-v4.15' of git://github.com/andersson/remoteproc:
        rpmsg: glink: The mbox client knows_txdone
        rpmsg: glink: Add missing MODULE_LICENSE
        rpmsg: glink: Use best fit intent during tx
        rpmsg: glink: Add support to preallocate intents
        dt-bindings: soc: qcom: Support GLINK intents
        rpmsg: glink: Initialize the "intent_req_comp" completion variable
        rpmsg: Allow RPMSG_VIRTIO to be enabled via menuconfig or defconfig
      bedf5719
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-linus-v4.15-take2' of... · d9ef1ccf
      Linus Torvalds authored
      Merge tag 'hwmon-for-linus-v4.15-take2' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
      
      Pull more hwmon updates/fixes from Guenter Roeck:
      
       - minor bug fix in k10temp driver
      
       - take advantage of added NULL check in i2c_unregister_device()
      
      * tag 'hwmon-for-linus-v4.15-take2' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        hwmon: (w83793) Remove duplicate NULL check
        hwmon: (w83792d) Remove duplicate NULL check
        hwmon: (w83791d) Remove duplicate NULL check
        hwmon: (w83781d) Remove duplicate NULL check
        hwmon: (k10temp) Correct model name for Ryzen 1600X
      d9ef1ccf