06 Aug, 2016

13 commits

  • …erry.reding/linux-pwm

    Pull pwm updates from Thierry Reding:
    "This set of changes improve some aspects of the atomic API as well as
    make use of this new API in the regulator framework to allow properly
    dealing with critical regulators controlled by a PWM.

    Aside from that there's a bunch of updates and cleanups for existing
    drivers, as well as the addition of new drivers for the Broadcom
    iProc, STMPE and ChromeOS EC controllers"

    * tag 'pwm/for-4.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm: (44 commits)
    regulator: pwm: Document pwm-dutycycle-unit and pwm-dutycycle-range
    regulator: pwm: Support extra continuous mode cases
    pwm: Add ChromeOS EC PWM driver
    dt-bindings: pwm: Add binding for ChromeOS EC PWM
    mfd: cros_ec: Add EC_PWM function definitions
    mfd: cros_ec: Add cros_ec_cmd_xfer_status() helper
    pwm: atmel: Use of_device_get_match_data()
    pwm: atmel: Fix checkpatch warnings
    pwm: atmel: Fix disabling of PWM channels
    dt-bindings: pwm: Add R-Car H3 device tree bindings
    pwm: rcar: Use ARCH_RENESAS
    pwm: tegra: Add support for Tegra186
    dt-bindings: pwm: tegra: Add compatible string for Tegra186
    pwm: tegra: Avoid overflow when calculating duty cycle
    pwm: tegra: Allow 100 % duty cycle
    pwm: tegra: Add support for reset control
    pwm: tegra: Rename mmio_base to regs
    pwm: tegra: Remove useless padding
    pwm: tegra: Drop NUM_PWM macro
    pwm: lpc32xx: Set PWM_PIN_LEVEL bit to default value
    ...

    Linus Torvalds
     
  • Pull NTB updates from Jon Mason:
    "NTB bug fixes for the ntb_tool and ntb_perf, and improvements to the
    ntb_perf and ntb_pingpong for increased debugability.

    Also, modification to the ntb_transport layer to increase/decrease
    the number of transport entries depending on the ring size"

    * tag 'ntb-4.8' of git://github.com/jonmason/ntb:
    NTB: ntb_hw_intel: use local variable pdev
    NTB: ntb_hw_intel: show BAR size in debugfs info
    ntb_test: Add a selftest script for the NTB subsystem
    ntb_perf: clear link_is_up flag when the link goes down.
    ntb_pingpong: Add a debugfs file to get the ping count
    ntb_tool: Add link status and files to debugfs
    ntb_tool: Postpone memory window initialization for the user
    ntb_perf: Wait for link before running test
    ntb_perf: Return results by reading the run file
    ntb_perf: Improve thread handling to increase robustness
    ntb_perf: Schedule based on time not on performance
    ntb_transport: Check the number of spads the hardware supports
    ntb_tool: Add memory window debug support
    ntb_perf: Allow limiting the size of the memory windows
    NTB: allocate number transport entries depending on size of ring size
    ntb_tool: BUG: Ensure the buffer size is large enough to return all spads
    ntb_tool: Fix infinite loop bug when writing spad/peer_spad file

    Linus Torvalds
     
  • Pull pstore fixes from Kees Cook:
    "Fixes for pstore ramoops driver to catch bad kfree() and to use better
    DT bindings"

    * tag 'pstore-v4.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
    ramoops: use persistent_ram_free() instead of kfree() for freeing prz
    ramoops: use DT reserved-memory bindings

    Linus Torvalds
     
  • Pull SCSI fixes from James Bottomley:
    "This is seven basic fixes (plus one MAINTAINER update) which came in
    close to the merge window"

    * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
    ipr: Fix error return code in ipr_probe_ioa()
    fcoe: add missing destroy_workqueue() on error in fcoe_init()
    lpfc: Fix possible NULL pointer dereference
    fcoe: Use default VLAN for FIP VLAN discovery
    ipr: Wait to do async scan until scsi host is initialized
    MAINTAINERS: Update cxlflash maintainers
    cxlflash: Verify problem state area is mapped before notifying shutdown
    lpfc: fix oops in lpfc_sli4_scmd_to_wqidx_distr() from lpfc_send_taskmgmt()

    Linus Torvalds
     
  • Pull device mapper fixes from Mike Snitzer:

    - a stable dm-flakey fix to error read IO during the 'down_interval'

    - a DM core suspend fix to establish the SUSPENDED flag before dropping
    the SUSPENDING flag

    - a blk-mq request-based DM (dm-mq) dm_stop_queue() fix to properly
    stop the blk-mq hw_queues (and cancel pending requeue work); also
    set/clear QUEUE_FLAG_STOPPED when stopping/starting the dm-mq
    request_queue.

    - a DM multipath fix to harden locking of in-core state flags in the
    face of concurrent access while handling path failures under heavy
    IO.

    - a few small DM raid fixes to edge cases caught with further testing.

    * tag 'dm-4.8-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
    dm raid: fix use of wrong status char during resynchronization
    dm raid: constructor fails on non-zero incompat_features
    dm raid: fix processing of max_recovery_rate constructor flag
    dm: set DMF_SUSPENDED* _before_ clearing DMF_NOFLUSH_SUSPENDING
    dm rq: fix the starting and stopping of blk-mq queues
    dm mpath: add locking to multipath_resume and must_push_back
    dm flakey: error READ bios during the down_interval

    Linus Torvalds
     
  • Pull block fixes from Jens Axboe:
    "Here's the second round of block updates for this merge window.

    It's a mix of fixes for changes that went in previously in this round,
    and fixes in general. This pull request contains:

    - Fixes for loop from Christoph

    - A bdi vs gendisk lifetime fix from Dan, worth two cookies.

    - A blk-mq timeout fix, when on frozen queues. From Gabriel.

    - Writeback fix from Jan, ensuring that __writeback_single_inode()
    does the right thing.

    - Fix for bio->bi_rw usage in f2fs from me.

    - Error path deadlock fix in blk-mq sysfs registration from me.

    - Floppy O_ACCMODE fix from Jiri.

    - Fix to the new bio op methods from Mike.

    One more followup will be coming here, ensuring that we don't
    propagate the block types outside of block. That, and a rename of
    bio->bi_rw is coming right after -rc1 is cut.

    - Various little fixes"

    * 'for-linus' of git://git.kernel.dk/linux-block:
    mm/block: convert rw_page users to bio op use
    loop: make do_req_filebacked more robust
    loop: don't try to use AIO for discards
    blk-mq: fix deadlock in blk_mq_register_disk() error path
    Include: blkdev: Removed duplicate 'struct request;' declaration.
    Fixup direct bi_rw modifiers
    block: fix bdi vs gendisk lifetime mismatch
    blk-mq: Allow timeouts to run while queue is freezing
    nbd: fix race in ioctl
    block: fix use-after-free in seq file
    f2fs: drop bio->bi_rw manual assignment
    block: add missing group association in bio-cloning functions
    blkcg: kill unused field nr_undestroyed_grps
    writeback: Write dirty times for WB_SYNC_ALL writeback
    floppy: fix open(O_ACCMODE) for ioctl-only open

    Linus Torvalds
     
  • Pull PNP fix from Rafael Wysocki:
    "This fixes build errors due to a missing header file inclusion in
    drivers/pnp/pnpbios/core.c (Randy Dunlap)"

    * tag 'pnp-extra-4.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    PNP: pnpbios: add header file to fix build errors

    Linus Torvalds
     
  • Pull more ACPI updates from Rafael Wysocki:
    "Two more fixes in ACPI drivers, one in the ACPI EC driver
    (stable-candidate) and one in the ACPI button driver.

    Specifics:

    - An ACPI EC driver fix from the 4.3 cycle may cause the ACPICA's
    method reentrancy limit to be exceeded for a _Qxx method due to a
    large number of concurrent EC operations, so prevent that from
    happening by moving the EC handling into a separate workqueue with
    a limit on the number of concurrently executed work items (Lv
    Zheng)

    - Fix the cleanup code in the ACPI button driver that forgets to
    clear two variables on exit which causes an error to occur on the
    next attmpt to load the driver (Benjamin Tissoires)"

    * tag 'acpi-extra-4.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    ACPI / EC: Work around method reentrancy limit in ACPICA for _Qxx
    ACPI / button: remove pointer to old lid_sysfs on unbind

    Linus Torvalds
     
  • Pull more power management updates from Rafael Wysocki:
    "A few more fixes and cleanups in the x86-64 low-level hibernation
    code, PM core, cpufreq (Kconfig and intel_pstate), and the operating
    points framework.

    Specifics:

    - Prevent the low-level assembly hibernate code on x86-64 from
    referring to __PAGE_OFFSET directly as a symbol which doesn't work
    when the kernel identity mapping base is randomized, in which case
    __PAGE_OFFSET is a variable (Rafael Wysocki).

    - Avoid selecting CPU_FREQ_STAT by default as the statistics are not
    required for proper cpufreq operation (Borislav Petkov).

    - Add Skylake-X and Broadwell-X IDs to the intel_pstate's list of
    processors where out-of-band (OBB) control of P-states is possible
    and if that is in use, intel_pstate should not attempt to manage
    P-states (Srinivas Pandruvada).

    - Drop some unnecessary checks from the wakeup IRQ handling code in
    the PM core (Markus Elfring).

    - Reduce the number operating performance point (OPP) lookups in one
    of the OPP framework's helper functions (Jisheng Zhang)"

    * tag 'pm-extra-4.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    x86/power/64: Do not refer to __PAGE_OFFSET from assembly code
    cpufreq: Do not default-yes CPU_FREQ_STAT
    cpufreq: intel_pstate: Add more out-of-band IDs
    PM / OPP: optimize dev_pm_opp_set_rate() performance a bit
    PM-wakeup: Delete unnecessary checks before three function calls

    Linus Torvalds
     
  • Pull more input updates from Dmitry Torokhov:
    "Two new drivers for touchscreen controllers:

    - Silead touchscreen controllers
    - SiS 9200 family touchscreen controllers

    and a few driver fixes"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
    Input: silead - remove some dead code
    Input: sis-i2c - select CONFIG_CRC_ITU_T
    Input: add driver for SiS 9200 family I2C touchscreen controllers
    Input: ili210x - fix permissions on "calibrate" attribute
    Input: elan_i2c - properly wake up touchpad on ASUS laptops
    Input: add driver for Silead touchscreens
    Input: elantech - fix debug dump of the current packet
    Input: rotary_encoder - support binary encoding of states
    Input: xpad - power off wireless 360 controllers on suspend
    Input: i8042 - break load dependency between atkbd/psmouse and i8042
    Input: synaptics-rmi4 - do not check for NULL when calling of_node_put()
    Input: cros_ec_keyb - cleanup use of dev

    Linus Torvalds
     
  • Pull more USB updates from Greg KH:
    "Here are a few more straggler patches for USB for 4.8-rc1.

    Most of these are for the usb-serial driver tree. All of those have
    been in linux-next for a long time, but missed my previous pull
    request to you.

    The remaining change is to fix up a staging tree build error, due to
    some USB gadget driver changes that went in. I put it in this tree as
    it was for a USB driver and people are reporting the build error on
    your tree.

    All of these have been in linux-next for this week, and longer for the
    usb-serial changes"

    * tag 'usb-4.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
    staging: emxx_udc: allow modular build
    USB: serial: use variable for status
    USB: serial: option: add support for Telit LE910 PID 0x1206
    USB: serial: cp210x: use kmemdup
    USB: serial: ti_usb_3410_5052: use functions rather than macros
    USB: serial: ti_usb_3410_5052: remove ti_usb_3410_5052.h
    USB: serial: ti_usb_3410_5052: use __packed
    USB: serial: ti_usb_3410_5052: remove useless comments

    Linus Torvalds
     
  • persistent_ram_zone(=prz) structures are allocated by persistent_ram_new(),
    which includes vmap() or ioremap(). But they are currently freed by
    kfree(). This uses persistent_ram_free() for correct this asymmetry usage.

    Signed-off-by: Hiraku Toyooka
    Signed-off-by: Nobuhiro Iwamatsu
    Cc: Mark Salyzyn
    Cc: Seiji Aguchi
    Signed-off-by: Kees Cook

    Hiraku Toyooka
     
  • Instead of a ramoops-specific node, use a child node of /reserved-memory.
    This requires that of_platform_device_create() be explicitly called
    for the node, though, since "/reserved-memory" does not have its own
    "compatible" property.

    Suggested-by: Rob Herring
    Signed-off-by: Kees Cook
    Acked-by: Rob Herring

    Kees Cook
     

05 Aug, 2016

27 commits

  • Clean up duplicated expression by replacing it with the equivalent local
    variable pdev.

    Signed-off-by: Allen Hubbe
    Acked-by: Dave Jiang
    Signed-off-by: Jon Mason

    Allen Hubbe
     
  • It will be useful to know the hardware configured BAR size to diagnose
    issues with NTB memory windows.

    Signed-off-by: Allen Hubbe
    Acked-by: Dave Jiang
    Signed-off-by: Jon Mason

    Allen Hubbe
     
  • This script automates testing doorbells, scratchpads and memory windows
    for an NTB device. It can be run locally, with the NTB looped
    back to the same host or use SSH to remotely control the second host.

    In the single host case, the script just needs to be passed two
    arguments: a PCI ID for each side of the link. In the two host case
    the -r option must be used to specify the remote hostname (which must
    be SSH accessible and should probably have ssh-keys exchanged).

    A sample run looks like this:

    $ sudo ./ntb_test.sh 0000:03:00.1 0000:83:00.1 -p 29
    Starting ntb_tool tests...
    Running link tests on: 0000:03:00.1 / 0000:83:00.1
    Passed
    Running link tests on: 0000:83:00.1 / 0000:03:00.1
    Passed
    Running db tests on: 0000:03:00.1 / 0000:83:00.1
    Passed
    Running db tests on: 0000:83:00.1 / 0000:03:00.1
    Passed
    Running spad tests on: 0000:03:00.1 / 0000:83:00.1
    Passed
    Running spad tests on: 0000:83:00.1 / 0000:03:00.1
    Passed
    Running mw0 tests on: 0000:03:00.1 / 0000:83:00.1
    Passed
    Running mw0 tests on: 0000:83:00.1 / 0000:03:00.1
    Passed
    Running mw1 tests on: 0000:03:00.1 / 0000:83:00.1
    Passed
    Running mw1 tests on: 0000:83:00.1 / 0000:03:00.1
    Passed

    Starting ntb_pingpong tests...
    Running ping pong tests on: 0000:03:00.1 / 0000:83:00.1
    Passed

    Starting ntb_perf tests...
    Running local perf test without DMA
    0: copied 536870912 bytes in 164453 usecs, 3264 MBytes/s
    Passed
    Running remote perf test without DMA
    0: copied 536870912 bytes in 164453 usecs, 3264 MBytes/s
    Passed

    Signed-off-by: Logan Gunthorpe
    Acked-by: Shuah Khan
    Acked-by: Allen Hubbe
    Signed-off-by: Jon Mason

    Logan Gunthorpe
     
  • When the link goes down, the link_is_up flag did not return to
    false. This could have caused some subtle corner case bugs
    when the link goes up and down quickly.

    Once that was fixed, there was found to be a race if the link was
    brought down then immediately up. The link_cleanup work would
    occasionally be scheduled after the next link up event. This would
    cancel the link_work that was supposed to occur and leave ntb_perf
    in an unusable state.

    To fix this we get rid of the link_cleanup work and put the actions
    directly in the link_down event.

    Signed-off-by: Logan Gunthorpe
    Acked-by: Dave Jiang
    Signed-off-by: Jon Mason

    Logan Gunthorpe
     
  • This commit adds a debugfs 'count' file to ntb_pingpong. This is so
    testing with ntb_pingpong can be automated beyond just checking the
    logs for pong messages.

    The count file returns a number which increments every pong. The
    counter can be cleared by writing a zero.

    Signed-off-by: Logan Gunthorpe
    Acked-by: Allen Hubbe
    Signed-off-by: Jon Mason

    Logan Gunthorpe
     
  • In order to more successfully script with ntb_tool it's useful to
    have a link file to check the link status so that the script
    doesn't use the other files until the link is up.

    This commit adds a 'link' file to the debugfs directory which reads
    boolean (Y or N) depending on the link status. Writing to the file
    change the link state using ntb_link_enable or ntb_link_disable.

    A 'link_event' file is also provided so an application can block until
    the link changes to the desired state. If the user writes a 1, it will
    block until the link is up. If the user writes a 0, it will block until
    the link is down.

    Signed-off-by: Logan Gunthorpe
    Acked-by: Allen Hubbe
    Signed-off-by: Jon Mason

    Logan Gunthorpe
     
  • In order to make the interface closer to the raw NTB API, this commit
    changes memory windows so they are not initialized on link up.
    Instead, the 'peer_trans*' debugfs files are introduced. When read,
    they return information provided by ntb_mw_get_range. When written,
    they create a buffer and initialize the memory window. The
    value written is taken as the requested size of the buffer (which
    is then rounded for alignment). Writing a value of zero frees the buffer
    and tears down the memory window translation. The 'peer_mw*' file is
    only created once the memory window translation is setup by the user.

    Additionally, it was noticed that the read and write functions for the
    'peer_mw*' files should have checked for a NULL pointer.

    Signed-off-by: Logan Gunthorpe
    Acked-by: Allen Hubbe
    Signed-off-by: Jon Mason

    Logan Gunthorpe
     
  • Instead of returning immediately with an error when the link is
    down, wait for the link to come up (or the user sends a SIGINT).

    This is to make scripting ntb_perf easier.

    Signed-off-by: Logan Gunthorpe
    Acked-by: Dave Jiang
    Signed-off-by: Jon Mason

    Logan Gunthorpe
     
  • Instead of having to watch logs, allow the results to be retrieved
    by reading back the run file. This file will return "running" when
    the test is running and nothing if no tests have been run yet.
    It returns 1 line per thread, and will display an error message if the
    corresponding thread returns an error.

    With the above change, the pr_info calls that returned the results are
    then changed to pr_debug calls.

    Signed-off-by: Logan Gunthorpe
    Acked-by: Dave Jiang
    Signed-off-by: Jon Mason

    Logan Gunthorpe
     
  • This commit accomplishes a few things:

    1) Properly prevent multiple sets of threads from running at once using
    a mutex. Lots of race issues existed with the thread_cleanup.

    2) The mutex allows us to ensure that threads are finished before
    tearing down the device or module.

    3) Don't use kthread_stop when the threads can exit by themselves, as
    this is counter-indicated by the kthread_create documentation. Threads
    now wait for kthread_stop to occur.

    4) Writing to the run file now blocks until the threads are complete.
    The test can then be safely interrupted by a SIGINT.

    Also, while I was at it:

    5) debugfs_run_write shouldn't return 0 in the early check cases as this
    could cause debugfs_run_write to loop undesirably.

    Signed-off-by: Logan Gunthorpe
    Acked-by: Dave Jiang
    Signed-off-by: Jon Mason

    Logan Gunthorpe
     
  • When debugging performance problems, if some issue causes the ntb
    hardware to be significantly slower than expected, ntb_perf will
    hang requiring a reboot because it only schedules once every 4GB.

    Instead, schedule based on jiffies so it will not hang the CPU if
    the transfer is slow.

    Signed-off-by: Logan Gunthorpe
    Acked-by: Dave Jiang
    Signed-off-by: Jon Mason

    Logan Gunthorpe
     
  • I'm working on hardware that currently has a limited number of
    scratchpad registers and ntb_ndev fails with no clue as to why. I
    feel it is better to fail early and provide a reasonable error message
    then to fail later on.

    The same is done to ntb_perf, but it doesn't currently require enough
    spads to actually fail. I've also removed the unused SPAD_MSG and
    SPAD_ACK enums so that MAX_SPAD accurately reflects the number of
    spads used.

    Signed-off-by: Logan Gunthorpe
    Acked-by: Dave Jiang
    Signed-off-by: Jon Mason

    Logan Gunthorpe
     
  • We allocate some memory window buffers when the link comes up, then we
    provide debugfs files to read/write each side of the link.

    This is useful for debugging the mapping when writing new drivers.

    Signed-off-by: Logan Gunthorpe
    Acked-by: Allen Hubbe
    Signed-off-by: Jon Mason

    Logan Gunthorpe
     
  • On my system, dma_alloc_coherent won't produce memory anywhere
    near the size of the BAR. So I needed a way to limit this.

    It's pretty much copied straight from ntb_transport.

    Signed-off-by: Logan Gunthorpe
    Acked-by: Dave Jiang
    Signed-off-by: Jon Mason

    Logan Gunthorpe
     
  • Currently we only allocate a fixed default number of descriptors for the tx
    and rx side. We should dynamically resize it to the number of descriptors
    resides in the transport rings. We should know the number of transmit
    descriptors at initializaiton. We will allocate the default number of
    descriptors for receive side and allocate additional ones when we know the
    actual max entries for receive.

    Signed-off-by: Dave Jiang
    Acked-by: Allen Hubbe
    Signed-off-by: Jon Mason

    Dave Jiang
     
  • On hardware with 32 scratchpad registers the spad field in ntb tool
    could chop off the end. The maximum buffer size is increased from
    256 to 15 times the number or scratchpads.

    Signed-off-by: Logan Gunthorpe
    Acked-by: Allen Hubbe
    Signed-off-by: Jon Mason

    Logan Gunthorpe
     
  • If you tried to write two spads in one line, as per the example:

    root@peer# echo '0 0x01010101 1 0x7f7f7f7f' > $DBG_DIR/peer_spad

    then the CPU would freeze in an infinite loop.

    This wasn't immediately obvious but 'pos' was not incrementing the
    buffer, so after reading the second pair of values, 'pos' would once
    again be 3 and it would re-read the second pair of values ad infinitum.

    Signed-off-by: Logan Gunthorpe
    Acked-by: Allen Hubbe
    Signed-off-by: Jon Mason

    Logan Gunthorpe
     
  • * acpi-ec:
    ACPI / EC: Work around method reentrancy limit in ACPICA for _Qxx

    * acpi-button:
    ACPI / button: remove pointer to old lid_sysfs on unbind

    Rafael J. Wysocki
     
  • Pull RTC updates from Alexandre Belloni:
    "RTC for 4.8

    Cleanups:
    - huge cleanup of rtc-generic and char/genrtc this allowed to cleanup
    rtc-cmos, rtc-sh, rtc-m68k, rtc-powerpc and rtc-parisc
    - move mn10300 to rtc-cmos

    Subsystem:
    - fix wakealarms after hibernate
    - multiples fixes for rctest
    - simplify implementations of .read_alarm

    New drivers:
    - Maxim MAX6916

    Drivers:
    - ds1307: fix weekday
    - m41t80: add wakeup support
    - pcf85063: add support for PCF85063A variant
    - rv8803: extend i2c fix and other fixes
    - s35390a: fix alarm reading, this fixes instant reboot after
    shutdown for QNAP TS-41x
    - s3c: clock fixes"

    * tag 'rtc-4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: (65 commits)
    rtc: rv8803: Clear V1F when setting the time
    rtc: rv8803: Stop the clock while setting the time
    rtc: rv8803: Always apply the I²C workaround
    rtc: rv8803: Fix read day of week
    rtc: rv8803: Remove the check for valid time
    rtc: rv8803: Kconfig: Indicate rx8900 support
    rtc: asm9260: remove .owner field for driver
    rtc: at91sam9: Fix missing spin_lock_init()
    rtc: m41t80: add suspend handlers for alarm IRQ
    rtc: m41t80: make it a real error message
    rtc: pcf85063: Add support for the PCF85063A device
    rtc: pcf85063: fix year range
    rtc: hym8563: in .read_alarm set .tm_sec to 0 to signal minute accuracy
    rtc: explicitly set tm_sec = 0 for drivers with minute accurancy
    rtc: s3c: Add s3c_rtc_{enable/disable}_clk in s3c_rtc_setfreq()
    rtc: s3c: Remove unnecessary call to disable already disabled clock
    rtc: abx80x: use devm_add_action_or_reset()
    rtc: m41t80: use devm_add_action_or_reset()
    rtc: fix a typo and reduce three empty lines to one
    rtc: s35390a: improve two comments in .set_alarm
    ...

    Linus Torvalds
     
  • * pm-sleep:
    x86/power/64: Do not refer to __PAGE_OFFSET from assembly code

    * pm-cpufreq:
    cpufreq: Do not default-yes CPU_FREQ_STAT
    cpufreq: intel_pstate: Add more out-of-band IDs

    * pm-core:
    PM-wakeup: Delete unnecessary checks before three function calls

    * pm-opp:
    PM / OPP: optimize dev_pm_opp_set_rate() performance a bit

    Rafael J. Wysocki
     
  • Pull sound fixes from Takashi Iwai:
    "Nothing existing here: as usual a few HD-audio fixes (device fixups, a
    new AMD PCI ID, and a fix for krealloc() usage), in addition to a fix
    in Kconfig for legacy arm drivers"

    * tag 'sound-fix-4.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
    ALSA: hda - Fix headset mic detection problem for two dell machines
    ALSA: hda: Fix krealloc() with __GFP_ZERO usage
    ALSA: hda: add AMD Bonaire AZ PCI ID with proper driver caps
    ALSA: arm: Fix empty menuconfig SND_ARM
    ALSA: hda - On-board speaker fixup on ACER Veriton
    ALSA: hda/realtek - Can't adjust speaker's volume on a Dell AIO

    Linus Torvalds
     
  • Pull more powerpc updates from Michael Ellerman:
    "These were delayed for various reasons, so I let them sit in next a
    bit longer, rather than including them in my first pull request.

    Fixes:
    - Fix early access to cpu_spec relocation from Benjamin Herrenschmidt
    - Fix incorrect event codes in power9-event-list from Madhavan Srinivasan
    - Move register_process_table() out of ppc_md from Michael Ellerman

    Use jump_label use for [cpu|mmu]_has_feature():
    - Add mmu_early_init_devtree() from Michael Ellerman
    - Move disable_radix handling into mmu_early_init_devtree() from Michael Ellerman
    - Do hash device tree scanning earlier from Michael Ellerman
    - Do radix device tree scanning earlier from Michael Ellerman
    - Do feature patching before MMU init from Michael Ellerman
    - Check features don't change after patching from Michael Ellerman
    - Make MMU_FTR_RADIX a MMU family feature from Aneesh Kumar K.V
    - Convert mmu_has_feature() to returning bool from Michael Ellerman
    - Convert cpu_has_feature() to returning bool from Michael Ellerman
    - Define radix_enabled() in one place & use static inline from Michael Ellerman
    - Add early_[cpu|mmu]_has_feature() from Michael Ellerman
    - Convert early cpu/mmu feature check to use the new helpers from Aneesh Kumar K.V
    - jump_label: Make it possible for arches to invoke jump_label_init() earlier from Kevin Hao
    - Call jump_label_init() in apply_feature_fixups() from Aneesh Kumar K.V
    - Remove mfvtb() from Kevin Hao
    - Move cpu_has_feature() to a separate file from Kevin Hao
    - Add kconfig option to use jump labels for cpu/mmu_has_feature() from Michael Ellerman
    - Add option to use jump label for cpu_has_feature() from Kevin Hao
    - Add option to use jump label for mmu_has_feature() from Kevin Hao
    - Catch usage of cpu/mmu_has_feature() before jump label init from Aneesh Kumar K.V
    - Annotate jump label assembly from Michael Ellerman

    TLB flush enhancements from Aneesh Kumar K.V:
    - radix: Implement tlb mmu gather flush efficiently
    - Add helper for finding SLBE LLP encoding
    - Use hugetlb flush functions
    - Drop multiple definition of mm_is_core_local
    - radix: Add tlb flush of THP ptes
    - radix: Rename function and drop unused arg
    - radix/hugetlb: Add helper for finding page size
    - hugetlb: Add flush_hugetlb_tlb_range
    - remove flush_tlb_page_nohash

    Add new ptrace regsets from Anshuman Khandual and Simon Guo:
    - elf: Add powerpc specific core note sections
    - Add the function flush_tmregs_to_thread
    - Enable in transaction NT_PRFPREG ptrace requests
    - Enable in transaction NT_PPC_VMX ptrace requests
    - Enable in transaction NT_PPC_VSX ptrace requests
    - Adapt gpr32_get, gpr32_set functions for transaction
    - Enable support for NT_PPC_CGPR
    - Enable support for NT_PPC_CFPR
    - Enable support for NT_PPC_CVMX
    - Enable support for NT_PPC_CVSX
    - Enable support for TM SPR state
    - Enable NT_PPC_TM_CTAR, NT_PPC_TM_CPPR, NT_PPC_TM_CDSCR
    - Enable support for NT_PPPC_TAR, NT_PPC_PPR, NT_PPC_DSCR
    - Enable support for EBB registers
    - Enable support for Performance Monitor registers"

    * tag 'powerpc-4.8-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (48 commits)
    powerpc/mm: Move register_process_table() out of ppc_md
    powerpc/perf: Fix incorrect event codes in power9-event-list
    powerpc/32: Fix early access to cpu_spec relocation
    powerpc/ptrace: Enable support for Performance Monitor registers
    powerpc/ptrace: Enable support for EBB registers
    powerpc/ptrace: Enable support for NT_PPPC_TAR, NT_PPC_PPR, NT_PPC_DSCR
    powerpc/ptrace: Enable NT_PPC_TM_CTAR, NT_PPC_TM_CPPR, NT_PPC_TM_CDSCR
    powerpc/ptrace: Enable support for TM SPR state
    powerpc/ptrace: Enable support for NT_PPC_CVSX
    powerpc/ptrace: Enable support for NT_PPC_CVMX
    powerpc/ptrace: Enable support for NT_PPC_CFPR
    powerpc/ptrace: Enable support for NT_PPC_CGPR
    powerpc/ptrace: Adapt gpr32_get, gpr32_set functions for transaction
    powerpc/ptrace: Enable in transaction NT_PPC_VSX ptrace requests
    powerpc/ptrace: Enable in transaction NT_PPC_VMX ptrace requests
    powerpc/ptrace: Enable in transaction NT_PRFPREG ptrace requests
    powerpc/process: Add the function flush_tmregs_to_thread
    elf: Add powerpc specific core note sections
    powerpc/mm: remove flush_tlb_page_nohash
    powerpc/mm/hugetlb: Add flush_hugetlb_tlb_range
    ...

    Linus Torvalds
     
  • Pull metag architecture updates from James Hogan:
    "Just a few minor fixes:

    - Fix another incorrect inline asm register constraint, which has
    been lying quietly for 5 and a half years before finally causing
    build breakage during this merge window.

    - Removal of duplicated KERN_INFO from Joe Perches

    - Typo fixes from Andrea Gelmini"

    * tag 'metag-for-v4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/metag:
    metag: Fix __cmpxchg_u32 asm constraint for CMP
    metag: Remove duplicate KERN_ prefix
    metag: Fix typos

    Linus Torvalds
     
  • If a PCI bridge (or PCIe port) that is runtime-suspended gets an ACPI
    hotplug notification, such as a bus check, it has to be resumed before
    re-scanning the devices below it, or those devices will not be
    accessible and will be treated as hot-removed.

    Make that happen and let the bridge suspend again after the bus below it
    has been re-scanned.

    This is a replacement for commit 16468c783cb4 ("ACPI / hotplug / PCI:
    Runtime resume bridge before rescan") that has been reverted, because it
    introduced a system resume regression (due to missing bridge->pci_dev
    checks that are necessary in case the notification is targeted at the
    host bridge) and it is necessary for the code added by commit
    006d44e49a25 ("PCI: Add runtime PM support for PCIe ports") to work as
    expected.

    Tested-by: Linus Torvalds
    Signed-off-by: Rafael J. Wysocki
    Signed-off-by: Linus Torvalds

    Rafael J. Wysocki
     
  • Merge misc fixes from Andrew Morton:
    "A few late-breaking fixes"

    * emailed patches from Andrew Morton :
    mm/memblock.c: fix NULL dereference error
    MAINTAINERS: update cgroup's document path
    slub: drop bogus inline for fixup_red_left()
    powerpc/fsl_rio: fix a missing error code
    mm: initialise per_cpu_nodestats for all online pgdats at boot
    mm/memblock: fix a typo in a comment
    mm: disable CONFIG_MEMORY_HOTPLUG when KASAN is enabled

    Linus Torvalds
     
  • Pull second round of rdma updates from Doug Ledford:
    "This can be split out into just two categories:

    - fixes to the RDMA R/W API in regards to SG list length limits
    (about 5 patches)

    - fixes/features for the Intel hfi1 driver (everything else)

    The hfi1 driver is still being brought to full feature support by
    Intel, and they have a lot of people working on it, so that amounts to
    almost the entirety of this pull request"

    * tag 'for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma: (84 commits)
    IB/hfi1: Add cache evict LRU list
    IB/hfi1: Fix memory leak during unexpected shutdown
    IB/hfi1: Remove unneeded mm argument in remove function
    IB/hfi1: Consistently call ops->remove outside spinlock
    IB/hfi1: Use evict mmu rb operation
    IB/hfi1: Add evict operation to the mmu rb handler
    IB/hfi1: Fix TID caching actions
    IB/hfi1: Make the cache handler own its rb tree root
    IB/hfi1: Make use of mm consistent
    IB/hfi1: Fix user SDMA racy user request claim
    IB/hfi1: Fix error condition that needs to clean up
    IB/hfi1: Release node on insert failure
    IB/hfi1: Validate SDMA user iovector count
    IB/hfi1: Validate SDMA user request index
    IB/hfi1: Use the same capability state for all shared contexts
    IB/hfi1: Prevent null pointer dereference
    IB/hfi1: Rename TID mmu_rb_* functions
    IB/hfi1: Remove unneeded empty check in hfi1_mmu_rb_unregister()
    IB/hfi1: Restructure hfi1_file_open
    IB/hfi1: Make iovec loop index easy to understand
    ...

    Linus Torvalds
     
  • Pull base rdma updates from Doug Ledford:
    "Round one of 4.8 code: while this is mostly normal, there is a new
    driver in here (the driver was hosted outside the kernel for several
    years and is actually a fairly mature and well coded driver). It
    amounts to 13,000 of the 16,000 lines of added code in here.

    Summary:

    - Updates/fixes for iw_cxgb4 driver
    - Updates/fixes for mlx5 driver
    - Add flow steering and RSS API
    - Add hardware stats to mlx4 and mlx5 drivers
    - Add firmware version API for RDMA driver use
    - Add the rxe driver (this is a software RoCE driver that makes any
    Ethernet device a RoCE device)
    - Fixes for i40iw driver
    - Support for send only multicast joins in the cma layer
    - Other minor fixes"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma: (72 commits)
    Soft RoCE driver
    IB/core: Support for CMA multicast join flags
    IB/sa: Add cached attribute containing SM information to SA port
    IB/uverbs: Fix race between uverbs_close and remove_one
    IB/mthca: Clean up error unwind flow in mthca_reset()
    IB/mthca: NULL arg to pci_dev_put is OK
    IB/hfi1: NULL arg to sc_return_credits is OK
    IB/mlx4: Add diagnostic hardware counters
    net/mlx4: Query performance and diagnostics counters
    net/mlx4: Add diagnostic counters capability bit
    Use smaller 512 byte messages for portmapper messages
    IB/ipoib: Report SG feature regardless of HW UD CSUM capability
    IB/mlx4: Don't use GFP_ATOMIC for CQ resize struct
    IB/hfi1: Disable by default
    IB/rdmavt: Disable by default
    IB/mlx5: Fix port counter ID association to QP offset
    IB/mlx5: Fix iteration overrun in GSI qps
    i40iw: Add NULL check for puda buffer
    i40iw: Change dup_ack_thresh to u8
    i40iw: Remove unnecessary check for moving CQ head
    ...

    Linus Torvalds