23 Dec, 2016

1 commit

  • Pull x86 cache allocation interface from Thomas Gleixner:
    "This provides support for Intel's Cache Allocation Technology, a cache
    partitioning mechanism.

    The interface is odd, but the hardware interface of that CAT stuff is
    odd as well.

    We tried hard to come up with an abstraction, but that only allows
    rather simple partitioning, but no way of sharing and dealing with the
    per package nature of this mechanism.

    In the end we decided to expose the allocation bitmaps directly so all
    combinations of the hardware can be utilized.

    There are two ways of associating a cache partition:

    - Task

    A task can be added to a resource group. It uses the cache
    partition associated to the group.

    - CPU

    All tasks which are not member of a resource group use the group to
    which the CPU they are running on is associated with.

    That allows for simple CPU based partitioning schemes.

    The main expected user sare:

    - Virtualization so a VM can only trash only the associated part of
    the cash w/o disturbing others

    - Real-Time systems to seperate RT and general workloads.

    - Latency sensitive enterprise workloads

    - In theory this also can be used to protect against cache side
    channel attacks"

    [ Intel RDT is "Resource Director Technology". The interface really is
    rather odd and very specific, which delayed this pull request while I
    was thinking about it. The pull request itself came in early during
    the merge window, I just delayed it until things had calmed down and I
    had more time.

    But people tell me they'll use this, and the good news is that it is
    _so_ specific that it's rather independent of anything else, and no
    user is going to depend on the interface since it's pretty rare. So if
    push comes to shove, we can just remove the interface and nothing will
    break ]

    * 'x86-cache-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (31 commits)
    x86/intel_rdt: Implement show_options() for resctrlfs
    x86/intel_rdt: Call intel_rdt_sched_in() with preemption disabled
    x86/intel_rdt: Update task closid immediately on CPU in rmdir and unmount
    x86/intel_rdt: Fix setting of closid when adding CPUs to a group
    x86/intel_rdt: Update percpu closid immeditately on CPUs affected by changee
    x86/intel_rdt: Reset per cpu closids on unmount
    x86/intel_rdt: Select KERNFS when enabling INTEL_RDT_A
    x86/intel_rdt: Prevent deadlock against hotplug lock
    x86/intel_rdt: Protect info directory from removal
    x86/intel_rdt: Add info files to Documentation
    x86/intel_rdt: Export the minimum number of set mask bits in sysfs
    x86/intel_rdt: Propagate error in rdt_mount() properly
    x86/intel_rdt: Add a missing #include
    MAINTAINERS: Add maintainer for Intel RDT resource allocation
    x86/intel_rdt: Add scheduler hook
    x86/intel_rdt: Add schemata file
    x86/intel_rdt: Add tasks files
    x86/intel_rdt: Add cpus file
    x86/intel_rdt: Add mkdir to resctrl file system
    x86/intel_rdt: Add "info" files to resctrl file system
    ...

    Linus Torvalds
     

17 Dec, 2016

1 commit

  • Pull media updates from Mauro Carvalho Chehab:

    - new Mediatek drivers: mtk-mdp and mtk-vcodec

    - some additions at the media documentation

    - the CEC core and drivers were promoted from staging to mainstream

    - some cleanups at the DVB core

    - the LIRC serial driver got promoted from staging to mainstream

    - added a driver for Renesas R-Car FDP1 driver

    - add DVBv5 statistics support to mn88473 driver

    - several fixes related to printk continuation lines

    - add support for HSV encoding formats

    - lots of other cleanups, fixups and driver improvements.

    * tag 'media/v4.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (496 commits)
    [media] v4l: tvp5150: Add missing break in set control handler
    [media] v4l: tvp5150: Don't inline the tvp5150_selmux() function
    [media] v4l: tvp5150: Compile tvp5150_link_setup out if !CONFIG_MEDIA_CONTROLLER
    [media] em28xx: don't store usb_device at struct em28xx
    [media] em28xx: use usb_interface for dev_foo() calls
    [media] em28xx: don't change the device's name
    [media] mn88472: fix chip id check on probe
    [media] mn88473: fix chip id check on probe
    [media] lirc: fix error paths in lirc_cdev_add()
    [media] s5p-mfc: Add support for MFC v8 available in Exynos 5433 SoCs
    [media] s5p-mfc: Rework clock handling
    [media] s5p-mfc: Don't keep clock prepared all the time
    [media] s5p-mfc: Kill all IS_ERR_OR_NULL in clocks management code
    [media] s5p-mfc: Remove dead conditional code
    [media] s5p-mfc: Ensure that clock is disabled before turning power off
    [media] s5p-mfc: Remove special clock rate management
    [media] s5p-mfc: Use printk_ratelimited for reporting ioctl errors
    [media] s5p-mfc: Set DMA_ATTR_ALLOC_SINGLE_PAGES
    [media] vivid: Set color_enc on HSV formats
    [media] v4l2-tpg: Init hv_enc field with a valid value
    ...

    Linus Torvalds
     

16 Dec, 2016

7 commits

  • Pull virtio updates from Michael Tsirkin:
    "virtio, vhost: new device, fixes, speedups

    This includes the new virtio crypto device, and fixes all over the
    place. In particular enabling endian-ness checks for sparse builds
    found some bugs which this fixes. And it appears that everyone is in
    agreement that disabling endian-ness sparse checks shouldn't be
    necessary any longer.

    So this enables them for everyone, and drops the __CHECK_ENDIAN__ and
    __bitwise__ APIs.

    IRQ handling in virtio has been refactored somewhat, the larger switch
    to IRQ_SHARED will have to wait as it proved too aggressive"

    * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost: (34 commits)
    Makefile: drop -D__CHECK_ENDIAN__ from cflags
    fs/logfs: drop __CHECK_ENDIAN__
    Documentation/sparse: drop __CHECK_ENDIAN__
    linux: drop __bitwise__ everywhere
    checkpatch: replace __bitwise__ with __bitwise
    Documentation/sparse: drop __bitwise__
    tools: enable endian checks for all sparse builds
    linux/types.h: enable endian checks for all sparse builds
    virtio_mmio: Set dev.release() to avoid warning
    vhost: remove unused feature bit
    virtio_ring: fix description of virtqueue_get_buf
    vhost/scsi: Remove unused but set variable
    tools/virtio: use {READ,WRITE}_ONCE() in uaccess.h
    vringh: kill off ACCESS_ONCE()
    tools/virtio: fix READ_ONCE()
    crypto: add virtio-crypto driver
    vhost: cache used event for better performance
    vsock: lookup and setup guest_cid inside vhost_vsock_lock
    virtio_pci: split vp_try_to_find_vqs into INTx and MSI-X variants
    virtio_pci: merge vp_free_vectors into vp_del_vqs
    ...

    Linus Torvalds
     
  • __bitwise__ used to mean "yes, please enable sparse checks
    unconditionally", but now that we dropped __CHECK_ENDIAN__
    __bitwise is exactly the same.
    There aren't many users, replace it by __bitwise everywhere.

    Signed-off-by: Michael S. Tsirkin
    Acked-by: Greg Kroah-Hartman
    Acked-by: Stefan Schmidt
    Acked-by: Krzysztof Kozlowski
    Akced-by: Lee Duncan

    Michael S. Tsirkin
     
  • By now, linux is mostly endian-clean. Enabling endian-ness
    checks for everyone produces about 200 new sparse warnings for me -
    less than 10% over the 2000 sparse warnings already there.

    Not a big deal, OTOH enabling this helps people notice
    they are introducing new bugs.

    So let's just drop __CHECK_ENDIAN__. Follow-up patches
    can drop distinction between __bitwise and __bitwise__.

    Cc: Linus Torvalds
    Suggested-by: Christoph Hellwig
    Signed-off-by: Michael S. Tsirkin

    Michael S. Tsirkin
     
  • Signed-off-by: Jason Wang
    Signed-off-by: Michael S. Tsirkin

    Jason Wang
     
  • This patch introduces virtio-crypto driver for Linux Kernel.

    The virtio crypto device is a virtual cryptography device
    as well as a kind of virtual hardware accelerator for
    virtual machines. The encryption anddecryption requests
    are placed in the data queue and are ultimately handled by
    thebackend crypto accelerators. The second queue is the
    control queue used to create or destroy sessions for
    symmetric algorithms and will control some advanced features
    in the future. The virtio crypto device provides the following
    cryptoservices: CIPHER, MAC, HASH, and AEAD.

    For more information about virtio-crypto device, please see:
    http://qemu-project.org/Features/VirtioCrypto

    CC: Michael S. Tsirkin
    CC: Cornelia Huck
    CC: Stefan Hajnoczi
    CC: Herbert Xu
    CC: Halil Pasic
    CC: David S. Miller
    CC: Zeng Xin
    Signed-off-by: Gonglei
    Signed-off-by: Michael S. Tsirkin

    Gonglei
     
  • Pull PCI updates from Bjorn Helgaas:
    "PCI changes:

    - add support for PCI on ARM64 boxes with ACPI. We already had this
    for theoretical spec-compliant hardware; now we're adding quirks
    for the actual hardware (Cavium, HiSilicon, Qualcomm, X-Gene)

    - add runtime PM support for hotplug ports

    - enable runtime suspend for Intel UHCI that uses platform-specific
    wakeup signaling

    - add yet another host bridge registration interface. We hope this is
    extensible enough to subsume the others

    - expose device revision in sysfs for DRM

    - to avoid device conflicts, make sure any VF BAR updates are done
    before enabling the VF

    - avoid unnecessary link retrains for ASPM

    - allow INTx masking on Mellanox devices that support it

    - allow access to non-standard VPD for Chelsio devices

    - update Broadcom iProc support for PAXB v2, PAXC v2, inbound DMA,
    etc

    - update Rockchip support for max-link-speed

    - add NVIDIA Tegra210 support

    - add Layerscape LS1046a support

    - update R-Car compatibility strings

    - add Qualcomm MSM8996 support

    - remove some uninformative bootup messages"

    * tag 'pci-v4.10-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (115 commits)
    PCI: Enable access to non-standard VPD for Chelsio devices (cxgb3)
    PCI: Expand "VPD access disabled" quirk message
    PCI: pciehp: Remove loading message
    PCI: hotplug: Remove hotplug core message
    PCI: Remove service driver load/unload messages
    PCI/AER: Log AER IRQ when claiming Root Port
    PCI/AER: Log errors with PCI device, not PCIe service device
    PCI/AER: Remove unused version macros
    PCI/PME: Log PME IRQ when claiming Root Port
    PCI/PME: Drop unused support for PMEs from Root Complex Event Collectors
    PCI: Move config space size macros to pci_regs.h
    x86/platform/intel-mid: Constify mid_pci_platform_pm
    PCI/ASPM: Don't retrain link if ASPM not possible
    PCI: iproc: Skip check for legacy IRQ on PAXC buses
    PCI: pciehp: Leave power indicator on when enabling already-enabled slot
    PCI: pciehp: Prioritize data-link event over presence detect
    PCI: rcar: Add gen3 fallback compatibility string for pcie-rcar
    PCI: rcar: Use gen2 fallback compatibility last
    PCI: rcar-gen2: Use gen2 fallback compatibility last
    PCI: rockchip: Move the deassert of pm/aclk/pclk after phy_init()
    ..

    Linus Torvalds
     
  • Pull rdma updates from Doug Ledford:
    "This is the complete update for the rdma stack for this release cycle.

    Most of it is typical driver and core updates, but there is the
    entirely new VMWare pvrdma driver. You may have noticed that there
    were changes in DaveM's pull request to the bnxt Ethernet driver to
    support a RoCE RDMA driver. The bnxt_re driver was tentatively set to
    be pulled in this release cycle, but it simply wasn't ready in time
    and was dropped (a few review comments still to address, and some
    multi-arch build issues like prefetch() not working across all
    arches).

    Summary:

    - shared mlx5 updates with net stack (will drop out on merge if
    Dave's tree has already been merged)

    - driver updates: cxgb4, hfi1, hns-roce, i40iw, mlx4, mlx5, qedr, rxe

    - debug cleanups

    - new connection rejection helpers

    - SRP updates

    - various misc fixes

    - new paravirt driver from vmware"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma: (210 commits)
    IB: Add vmw_pvrdma driver
    IB/mlx4: fix improper return value
    IB/ocrdma: fix bad initialization
    infiniband: nes: return value of skb_linearize should be handled
    MAINTAINERS: Update Intel RDMA RNIC driver maintainers
    MAINTAINERS: Remove Mitesh Ahuja from emulex maintainers
    IB/core: fix unmap_sg argument
    qede: fix general protection fault may occur on probe
    IB/mthca: Replace pci_pool_alloc by pci_pool_zalloc
    mlx5, calc_sq_size(): Make a debug message more informative
    mlx5: Remove a set-but-not-used variable
    mlx5: Use { } instead of { 0 } to init struct
    IB/srp: Make writing the add_target sysfs attr interruptible
    IB/srp: Make mapping failures easier to debug
    IB/srp: Make login failures easier to debug
    IB/srp: Introduce a local variable in srp_add_one()
    IB/srp: Fix CONFIG_DYNAMIC_DEBUG=n build
    IB/multicast: Check ib_find_pkey() return value
    IPoIB: Avoid reading an uninitialized member variable
    IB/mad: Fix an array index check
    ...

    Linus Torvalds
     

15 Dec, 2016

14 commits

  • * patchwork: (496 commits)
    [media] v4l: tvp5150: Add missing break in set control handler
    [media] v4l: tvp5150: Don't inline the tvp5150_selmux() function
    [media] v4l: tvp5150: Compile tvp5150_link_setup out if !CONFIG_MEDIA_CONTROLLER
    [media] em28xx: don't store usb_device at struct em28xx
    [media] em28xx: use usb_interface for dev_foo() calls
    [media] em28xx: don't change the device's name
    [media] mn88472: fix chip id check on probe
    [media] mn88473: fix chip id check on probe
    [media] lirc: fix error paths in lirc_cdev_add()
    [media] s5p-mfc: Add support for MFC v8 available in Exynos 5433 SoCs
    [media] s5p-mfc: Rework clock handling
    [media] s5p-mfc: Don't keep clock prepared all the time
    [media] s5p-mfc: Kill all IS_ERR_OR_NULL in clocks management code
    [media] s5p-mfc: Remove dead conditional code
    [media] s5p-mfc: Ensure that clock is disabled before turning power off
    [media] s5p-mfc: Remove special clock rate management
    [media] s5p-mfc: Use printk_ratelimited for reporting ioctl errors
    [media] s5p-mfc: Set DMA_ATTR_ALLOC_SINGLE_PAGES
    [media] vivid: Set color_enc on HSV formats
    [media] v4l2-tpg: Init hv_enc field with a valid value
    ...

    Mauro Carvalho Chehab
     
  • Pull audit updates from Paul Moore:
    "After the small number of patches for v4.9, we've got a much bigger
    pile for v4.10.

    The bulk of these patches involve a rework of the audit backlog queue
    to enable us to move the netlink multicasting out of the task/thread
    that generates the audit record and into the kernel thread that emits
    the record (just like we do for the audit unicast to auditd).

    While we were playing with the backlog queue(s) we fixed a number of
    other little problems with the code, and from all the testing so far
    things look to be in much better shape now. Doing this also allowed us
    to re-enable disabling IRQs for some netns operations ("netns: avoid
    disabling irq for netns id").

    The remaining patches fix some small problems that are well documented
    in the commit descriptions, as well as adding session ID filtering
    support"

    * 'stable-4.10' of git://git.infradead.org/users/pcmoore/audit:
    audit: use proper refcount locking on audit_sock
    netns: avoid disabling irq for netns id
    audit: don't ever sleep on a command record/message
    audit: handle a clean auditd shutdown with grace
    audit: wake up kauditd_thread after auditd registers
    audit: rework audit_log_start()
    audit: rework the audit queue handling
    audit: rename the queues and kauditd related functions
    audit: queue netlink multicast sends just like we do for unicast sends
    audit: fixup audit_init()
    audit: move kaudit thread start from auditd registration to kaudit init (#2)
    audit: add support for session ID user filter
    audit: fix formatting of AUDIT_CONFIG_CHANGE events
    audit: skip sessionid sentinel value when auto-incrementing
    audit: tame initialization warning len_abuf in audit_log_execve_info
    audit: less stack usage for /proc/*/loginuid

    Linus Torvalds
     
  • Pull security subsystem updates from James Morris:
    "Generally pretty quiet for this release. Highlights:

    Yama:
    - allow ptrace access for original parent after re-parenting

    TPM:
    - add documentation
    - many bugfixes & cleanups
    - define a generic open() method for ascii & bios measurements

    Integrity:
    - Harden against malformed xattrs

    SELinux:
    - bugfixes & cleanups

    Smack:
    - Remove unnecessary smack_known_invalid label
    - Do not apply star label in smack_setprocattr hook
    - parse mnt opts after privileges check (fixes unpriv DoS vuln)"

    * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: (56 commits)
    Yama: allow access for the current ptrace parent
    tpm: adjust return value of tpm_read_log
    tpm: vtpm_proxy: conditionally call tpm_chip_unregister
    tpm: Fix handling of missing event log
    tpm: Check the bios_dir entry for NULL before accessing it
    tpm: return -ENODEV if np is not set
    tpm: cleanup of printk error messages
    tpm: replace of_find_node_by_name() with dev of_node property
    tpm: redefine read_log() to handle ACPI/OF at runtime
    tpm: fix the missing .owner in tpm_bios_measurements_ops
    tpm: have event log use the tpm_chip
    tpm: drop tpm1_chip_register(/unregister)
    tpm: replace dynamically allocated bios_dir with a static array
    tpm: replace symbolic permission with octal for securityfs files
    char: tpm: fix kerneldoc tpm2_unseal_trusted name typo
    tpm_tis: Allow tpm_tis to be bound using DT
    tpm, tpm_vtpm_proxy: add kdoc comments for VTPM_PROXY_IOC_NEW_DEV
    tpm: Only call pm_runtime_get_sync if device has a parent
    tpm: define a generic open() method for ascii & bios measurements
    Documentation: tpm: add the Physical TPM device tree binding documentation
    ...

    Linus Torvalds
     
  • Pull crypto updates from Herbert Xu:
    "Here is the crypto update for 4.10:

    API:
    - add skcipher walk interface
    - add asynchronous compression (acomp) interface
    - fix algif_aed AIO handling of zero buffer

    Algorithms:
    - fix unaligned access in poly1305
    - fix DRBG output to large buffers

    Drivers:
    - add support for iMX6UL to caam
    - fix givenc descriptors (used by IPsec) in caam
    - accelerated SHA256/SHA512 for ARM64 from OpenSSL
    - add SSE CRCT10DIF and CRC32 to ARM/ARM64
    - add AEAD support to Chelsio chcr
    - add Armada 8K support to omap-rng"

    * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (148 commits)
    crypto: testmgr - fix overlap in chunked tests again
    crypto: arm/crc32 - accelerated support based on x86 SSE implementation
    crypto: arm64/crc32 - accelerated support based on x86 SSE implementation
    crypto: arm/crct10dif - port x86 SSE implementation to ARM
    crypto: arm64/crct10dif - port x86 SSE implementation to arm64
    crypto: testmgr - add/enhance test cases for CRC-T10DIF
    crypto: testmgr - avoid overlap in chunked tests
    crypto: chcr - checking for IS_ERR() instead of NULL
    crypto: caam - check caam_emi_slow instead of re-lookup platform
    crypto: algif_aead - fix AIO handling of zero buffer
    crypto: aes-ce - Make aes_simd_algs static
    crypto: algif_skcipher - set error code when kcalloc fails
    crypto: caam - make aamalg_desc a proper module
    crypto: caam - pass key buffers with typesafe pointers
    crypto: arm64/aes-ce-ccm - Fix AEAD decryption length
    MAINTAINERS: add crypto headers to crypto entry
    crypt: doc - remove misleading mention of async API
    crypto: doc - fix header file name
    crypto: api - fix comment typo
    crypto: skcipher - Add separate walker for AEAD decryption
    ..

    Linus Torvalds
     
  • Doug Ledford
     
  • This patch series adds a driver for a paravirtual RDMA device. The
    device is developed for VMware's Virtual Machines and allows existing RDMA
    applications to continue to use existing Verbs API when deployed in VMs
    on ESXi. We recently did a presentation in the OFA Workshop [1] regarding
    this device.

    Description and RDMA Support
    ============================
    The virtual device is exposed as a dual function PCIe device. One part
    is a virtual network device (VMXNet3) which provides networking properties
    like MAC, IP addresses to the RDMA part of the device. The networking
    properties are used to register GIDs required by RDMA applications to
    communicate.

    These patches add support and the all required infrastructure for
    letting applications use such a device. We support the mandatory Verbs API as
    well as the base memory management extensions (Local Inv, Send with Inv and
    Fast Register Work Requests). We currently support both Reliable Connected
    and Unreliable Datagram QPs but do not support Shared Receive Queues
    (SRQs).

    Also, we support the following types of Work Requests:
    o Send/Receive (with or without Immediate Data)
    o RDMA Write (with or without Immediate Data)
    o RDMA Read
    o Local Invalidate
    o Send with Invalidate
    o Fast Register Work Requests

    This version only adds support for version 1 of RoCE. We will add RoCEv2
    support in a future patch. We do support registration of both MAC-based
    and IP-based GIDs. I have also created a git tree for our user-level driver
    [2].

    Testing
    =======
    We have tested this internally for various types of Guest OS - Red Hat,
    Centos, Ubuntu 12.04/14.04/16.04, Oracle Enterprise Linux, SLES 12
    using backported versions of this driver. The tests included several
    runs of the performance tests (included with OFED), Intel MPI PingPong
    benchmark on OpenMPI, krping for FRWRs. Mellanox has been kind enough
    to test the backported version of the driver internally on their hardware
    using a VMware provided ESX build. I have also applied and tested this
    with Doug's k.o/for-4.9 branch (commit 5603910b). Note, that this patch
    series should be applied all together. I split out the commits so that
    it may be easier to review.

    PVRDMA Resources
    ================
    [1] OFA Workshop Presentation -
    https://openfabrics.org/images/eventpresos/2016presentations/102parardma.pdf

    [2] Libpvrdma User-level library -
    http://git.openfabrics.org/?p=~aditr/libpvrdma.git;a=summary

    Reviewed-by: Jorgen Hansen
    Reviewed-by: George Zhang
    Reviewed-by: Aditya Sarwade
    Reviewed-by: Bryan Tan
    Reviewed-by: Leon Romanovsky
    Signed-off-by: Adit Ranadive
    Signed-off-by: Doug Ledford

    Adit Ranadive
     
  • Doug Ledford
     
  • Doug Ledford
     
  • Doug Ledford
     
  • Pull sound updates from Takashi Iwai:
    "No dramatic changes are found in this development cycle, but as usual,
    many commits are applied in a wide range of drivers.

    Most of big changes are in ASoC, where a few bits of framework work
    and quite a lot of cleanups and improvements to existing code have
    been done. The rest are usual stuff, a few HD-audio and USB-audio
    quirks and fixes, as well as the drop of kthread usages in the whole
    subsystem.

    Below are some highlights:

    ASoC:
    - support for stereo DAPM controls
    - some initial work on the of-graph sound card
    - regmap conversions of the remaining AC'97 drivers
    - a new version of the topology ABI; this should be backward
    compatible
    - updates / cleanups of rsnd, sunxi, sti, nau8825, samsung, arizona,
    Intel skylake, atom-sst
    - new drivers for Cirrus Logic CS42L42, Qualcomm MSM8916-WCD, and
    Realtek RT5665

    USB-audio:
    - yet another race fix at disconnection
    - tolerated packet size calculation for some Android devices
    - quirks for Axe-Fx II, QuickCam, TEAC 501/503

    HD-audio:
    - improvement of Dell pin fixup mapping
    - quirks for HP Z1 Gen3, Alienware 15 R2 2016 and ALC622 headset mic

    Misc:
    - replace all kthread usages with simple works"

    * tag 'sound-4.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (296 commits)
    ALSA: hiface: Fix M2Tech hiFace driver sampling rate change
    ALSA: usb-audio: Eliminate noise at the start of DSD playback.
    ALSA: usb-audio: Add native DSD support for TEAC 501/503 DAC
    ASoC: wm_adsp: wm_adsp_buf_alloc should use kfree in error path
    ASoC: topology: avoid uninitialized kcontrol_type
    ALSA: usb-audio: Add QuickCam Communicate Deluxe/S7500 to volume_control_quirks
    ALSA: usb-audio: add implicit fb quirk for Axe-Fx II
    ASoC: zte: spdif: correct ZX_SPDIF_CLK_RAT define
    ASoC: zte: spdif and i2s drivers are not zx296702 specific
    ASoC: rsnd: setup BRGCKR/BRRA/BRRB when starting
    ASoC: rsnd: enable/disable ADG when suspend/resume timing
    ASoC: rsnd: tidyup ssi->usrcnt counter check in hw_params
    ALSA: cs46xx: add a new line
    ASoC: Intel: update bxt_da7219_max98357a to support quad ch dmic capture
    ASoC: nau8825: disable sinc filter for high THD of ADC
    ALSA: usb-audio: more tolerant packetsize
    ALSA: usb-audio: avoid setting of sample rate multiple times on bus
    ASoC: cs35l34: Simplify the logic to set CS35L34_MCLK_CTL setting
    ALSA: hda - Gate the mic jack on HP Z1 Gen3 AiO
    ALSA: hda: when comparing pin configurations, ignore assoc in addition to seq
    ...

    Linus Torvalds
     
  • Pull device mapper updates from Mike Snitzer:

    - various fixes and improvements to request-based DM and DM multipath

    - some locking improvements in DM bufio

    - add Kconfig option to disable the DM block manager's extra locking
    which mainly serves as a developer tool

    - a few bug fixes to DM's persistent-data

    - a couple changes to prepare for multipage biovec support in the block
    layer

    - various improvements and cleanups in the DM core, DM cache, DM raid
    and DM crypt

    - add ability to have DM crypt use keys from the kernel key retention
    service

    - add a new "error_writes" feature to the DM flakey target, reads are
    left unchanged in this mode

    * tag 'dm-4.10-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm: (40 commits)
    dm flakey: introduce "error_writes" feature
    dm cache policy smq: use hash_32() instead of hash_32_generic()
    dm crypt: reject key strings containing whitespace chars
    dm space map: always set ev if sm_ll_mutate() succeeds
    dm space map metadata: skip useless memcpy in metadata_ll_init_index()
    dm space map metadata: fix 'struct sm_metadata' leak on failed create
    Documentation: dm raid: define data_offset status field
    dm raid: fix discard support regression
    dm raid: don't allow "write behind" with raid4/5/6
    dm mpath: use hw_handler_params if attached hw_handler is same as requested
    dm crypt: add ability to use keys from the kernel key retention service
    dm array: remove a dead assignment in populate_ablock_with_values()
    dm ioctl: use offsetof() instead of open-coding it
    dm rq: simplify use_blk_mq initialization
    dm: use blk_set_queue_dying() in __dm_destroy()
    dm bufio: drop the lock when doing GFP_NOIO allocation
    dm bufio: don't take the lock in dm_bufio_shrink_count
    dm bufio: avoid sleeping while holding the dm_bufio lock
    dm table: simplify dm_table_determine_type()
    dm table: an 'all_blk_mq' table must be loaded for a blk-mq DM device
    ...

    Linus Torvalds
     
  • Pull MD updates from Shaohua Li:

    - a raid5 writeback cache feature.

    The goal is to aggregate writes to make full stripe write and reduce
    read-modify-write. It's helpful for workload which does sequential
    write and follows fsync for example. This feature is experimental and
    off by default right now.

    - FAILFAST support.

    This fails IOs to broken raid disks quickly, so can improve latency.
    It's mainly for DASD storage, but some patches help normal raid array
    too.

    - support bad block for raid array with external metadata

    - AVX2 instruction support for raid6 parity calculation

    - normalize MD info output

    - add missing blktrace

    - other bug fixes

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shli/md: (66 commits)
    md: separate flags for superblock changes
    md: MD_RECOVERY_NEEDED is set for mddev->recovery
    md: takeover should clear unrelated bits
    md/r5cache: after recovery, increase journal seq by 10000
    md/raid5-cache: fix crc in rewrite_data_only_stripes()
    md/raid5-cache: no recovery is required when create super-block
    md: fix refcount problem on mddev when stopping array.
    md/r5cache: do r5c_update_log_state after log recovery
    md/raid5-cache: adjust the write position of the empty block if no data blocks
    md/r5cache: run_no_space_stripes() when R5C_LOG_CRITICAL == 0
    md/raid5: limit request size according to implementation limits
    md/raid5-cache: do not need to set STRIPE_PREREAD_ACTIVE repeatedly
    md/raid5-cache: remove the unnecessary next_cp_seq field from the r5l_log
    md/raid5-cache: release the stripe_head at the appropriate location
    md/raid5-cache: use ring add to prevent overflow
    md/raid5-cache: remove unnecessary function parameters
    raid5-cache: don't set STRIPE_R5C_PARTIAL_STRIPE flag while load stripe into cache
    raid5-cache: add another check conditon before replaying one stripe
    md/r5cache: enable IRQs on error path
    md/r5cache: handle alloc_page failure
    ...

    Linus Torvalds
     
  • Pull ext4 updates from Ted Ts'o:
    "This merge request includes the dax-4.0-iomap-pmd branch which is
    needed for both ext4 and xfs dax changes to use iomap for DAX. It also
    includes the fscrypt branch which is needed for ubifs encryption work
    as well as ext4 encryption and fscrypt cleanups.

    Lots of cleanups and bug fixes, especially making sure ext4 is robust
    against maliciously corrupted file systems --- especially maliciously
    corrupted xattr blocks and a maliciously corrupted superblock. Also
    fix ext4 support for 64k block sizes so it works well on ppcle. Fixed
    mbcache so we don't miss some common xattr blocks that can be merged"

    * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (86 commits)
    dax: Fix sleep in atomic contex in grab_mapping_entry()
    fscrypt: Rename FS_WRITE_PATH_FL to FS_CTX_HAS_BOUNCE_BUFFER_FL
    fscrypt: Delay bounce page pool allocation until needed
    fscrypt: Cleanup page locking requirements for fscrypt_{decrypt,encrypt}_page()
    fscrypt: Cleanup fscrypt_{decrypt,encrypt}_page()
    fscrypt: Never allocate fscrypt_ctx on in-place encryption
    fscrypt: Use correct index in decrypt path.
    fscrypt: move the policy flags and encryption mode definitions to uapi header
    fscrypt: move non-public structures and constants to fscrypt_private.h
    fscrypt: unexport fscrypt_initialize()
    fscrypt: rename get_crypt_info() to fscrypt_get_crypt_info()
    fscrypto: move ioctl processing more fully into common code
    fscrypto: remove unneeded Kconfig dependencies
    MAINTAINERS: fscrypto: recommend linux-fsdevel for fscrypto patches
    ext4: do not perform data journaling when data is encrypted
    ext4: return -ENOMEM instead of success
    ext4: reject inodes with negative size
    ext4: remove another test in ext4_alloc_file_blocks()
    Documentation: fix description of ext4's block_validity mount option
    ext4: fix checks for data=ordered and journal_async_commit options
    ...

    Linus Torvalds
     
  • The kernel side is #ifdef'd to this type, and the UAPI header
    should use it directly. It has slightly different alignment
    requirments from the usual user space version.

    Signed-off-by: Jason Gunthorpe
    Reviewed-by: Leon Romanovsky
    Signed-off-by: Doug Ledford

    Jason Gunthorpe
     

14 Dec, 2016

17 commits

  • Pull arm64 updates from Catalin Marinas:

    - struct thread_info moved off-stack (also touching
    include/linux/thread_info.h and include/linux/restart_block.h)

    - cpus_have_cap() reworked to avoid __builtin_constant_p() for static
    key use (also touching drivers/irqchip/irq-gic-v3.c)

    - uprobes support (currently only for native 64-bit tasks)

    - Emulation of kernel Privileged Access Never (PAN) using TTBR0_EL1
    switching to a reserved page table

    - CPU capacity information passing via DT or sysfs (used by the
    scheduler)

    - support for systems without FP/SIMD (IOW, kernel avoids touching
    these registers; there is no soft-float ABI, nor kernel emulation for
    AArch64 FP/SIMD)

    - handling of hardware watchpoint with unaligned addresses, varied
    lengths and offsets from base

    - use of the page table contiguous hint for kernel mappings

    - hugetlb fixes for sizes involving the contiguous hint

    - remove unnecessary I-cache invalidation in flush_cache_range()

    - CNTHCTL_EL2 access fix for CPUs with VHE support (ARMv8.1)

    - boot-time checks for writable+executable kernel mappings

    - simplify asm/opcodes.h and avoid including the 32-bit ARM counterpart
    and make the arm64 kernel headers self-consistent (Xen headers patch
    merged separately)

    - Workaround for broken .inst support in certain binutils versions

    * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (60 commits)
    arm64: Disable PAN on uaccess_enable()
    arm64: Work around broken .inst when defective gas is detected
    arm64: Add detection code for broken .inst support in binutils
    arm64: Remove reference to asm/opcodes.h
    arm64: Get rid of asm/opcodes.h
    arm64: smp: Prevent raw_smp_processor_id() recursion
    arm64: head.S: Fix CNTHCTL_EL2 access on VHE system
    arm64: Remove I-cache invalidation from flush_cache_range()
    arm64: Enable HIBERNATION in defconfig
    arm64: Enable CONFIG_ARM64_SW_TTBR0_PAN
    arm64: xen: Enable user access before a privcmd hvc call
    arm64: Handle faults caused by inadvertent user access with PAN enabled
    arm64: Disable TTBR0_EL1 during normal kernel execution
    arm64: Introduce uaccess_{disable,enable} functionality based on TTBR0_EL1
    arm64: Factor out TTBR0_EL1 post-update workaround into a specific asm macro
    arm64: Factor out PAN enabling/disabling into separate uaccess_* macros
    arm64: Update the synchronous external abort fault description
    selftests: arm64: add test for unaligned/inexact watchpoint handling
    arm64: Allow hw watchpoint of length 3,5,6 and 7
    arm64: hw_breakpoint: Handle inexact watchpoint addresses
    ...

    Linus Torvalds
     
  • Pull KVM updates from Paolo Bonzini:
    "Small release, the most interesting stuff is x86 nested virt
    improvements.

    x86:
    - userspace can now hide nested VMX features from guests
    - nested VMX can now run Hyper-V in a guest
    - support for AVX512_4VNNIW and AVX512_FMAPS in KVM
    - infrastructure support for virtual Intel GPUs.

    PPC:
    - support for KVM guests on POWER9
    - improved support for interrupt polling
    - optimizations and cleanups.

    s390:
    - two small optimizations, more stuff is in flight and will be in
    4.11.

    ARM:
    - support for the GICv3 ITS on 32bit platforms"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (94 commits)
    arm64: KVM: pmu: Reset PMSELR_EL0.SEL to a sane value before entering the guest
    KVM: arm/arm64: timer: Check for properly initialized timer on init
    KVM: arm/arm64: vgic-v2: Limit ITARGETSR bits to number of VCPUs
    KVM: x86: Handle the kthread worker using the new API
    KVM: nVMX: invvpid handling improvements
    KVM: nVMX: check host CR3 on vmentry and vmexit
    KVM: nVMX: introduce nested_vmx_load_cr3 and call it on vmentry
    KVM: nVMX: propagate errors from prepare_vmcs02
    KVM: nVMX: fix CR3 load if L2 uses PAE paging and EPT
    KVM: nVMX: load GUEST_EFER after GUEST_CR0 during emulated VM-entry
    KVM: nVMX: generate MSR_IA32_CR{0,4}_FIXED1 from guest CPUID
    KVM: nVMX: fix checks on CR{0,4} during virtual VMX operation
    KVM: nVMX: support restore of VMX capability MSRs
    KVM: nVMX: generate non-true VMX MSRs based on true versions
    KVM: x86: Do not clear RFLAGS.TF when a singlestep trap occurs.
    KVM: x86: Add kvm_skip_emulated_instruction and use it.
    KVM: VMX: Move skip_emulated_instruction out of nested_vmx_check_vmcs12
    KVM: VMX: Reorder some skip_emulated_instruction calls
    KVM: x86: Add a return value to kvm_emulate_cpuid
    KVM: PPC: Book3S: Move prototypes for KVM functions into kvm_ppc.h
    ...

    Linus Torvalds
     
  • Shaohua Li
     
  • Pull staging/IIO updates from Greg KH:
    "Here's the "big" staging/iio pull request for 4.10-rc1.

    Not as big as 4.9 was, but still just over a thousand changes. We
    almost broke even of lines added vs. removed, as the slicoss driver
    was removed (got a "clean" driver for the same hardware through the
    netdev tree), and some iio drivers were also dropped, but I think we
    ended up adding a few thousand lines to the source tree in the end.
    Other than that it's a lot of minor fixes all over the place, nothing
    major stands out at all.

    All of these have been in linux-next for a while. There will be a
    merge conflict with Al's vfs tree in the lustre code, but the
    resolution for that should be pretty simple, that too has been in
    linux-next"

    * tag 'staging-4.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (1002 commits)
    staging: comedi: comedidev.h: Document usage of 'detach' handler
    staging: fsl-mc: remove unnecessary info prints from bus driver
    staging: fsl-mc: add sysfs ABI doc
    staging/lustre/o2iblnd: Fix misspelled attemps->attempts
    staging/lustre/o2iblnd: Fix misspelling intialized->intialized
    staging/lustre: Convert all bare unsigned to unsigned int
    staging/lustre/socklnd: Fix whitespace problem
    staging/lustre/o2iblnd: Add missing space
    staging/lustre/lnetselftest: Fix potential integer overflow
    staging: greybus: audio_module: remove redundant OOM message
    staging: dgnc: Fix lines longer than 80 characters
    staging: dgnc: fix blank line after '{' warnings.
    staging/android: remove Sync Framework tasks from TODO
    staging/lustre/osc: Revert erroneous list_for_each_entry_safe use
    staging: slicoss: remove the staging driver
    staging: lustre: libcfs: remove lnet upcall code
    staging: lustre: remove set but unused variables
    staging: lustre: osc: set lock data for readahead lock
    staging: lustre: import: don't reconnect during connect interpret
    staging: lustre: clio: remove mtime check in vvp_io_fault_start()
    ...

    Linus Torvalds
     
  • Pull USB/PHY updates from Greg KH:
    "Here's the big set of USB/PHY patches for 4.10-rc1.

    A number of new drivers are here in this set of changes. We have a new
    USB controller type "mtu3", a new usb-serial driver, and the usual
    churn in the gadget subsystem and the xhci host controller driver,
    along with a few other new small drivers added. And lots of little
    other changes all over the USB and PHY driver tree. Full details are
    in the shortlog

    All of these have been in linux-next for a while with no reported
    issues"

    * tag 'usb-4.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (309 commits)
    USB: serial: option: add dlink dwm-158
    USB: serial: option: add support for Telit LE922A PIDs 0x1040, 0x1041
    USB: OHCI: nxp: fix code warnings
    USB: OHCI: nxp: remove useless extern declaration
    USB: OHCI: at91: remove useless extern declaration
    usb: misc: rio500: fix result type for error message
    usb: mtu3: fix U3 port link issue
    usb: mtu3: enable auto switch from U3 to U2
    usbip: fix warning in vhci_hcd_probe/lockdep_init_map
    usb: core: usbport: Use proper LED API to fix potential crash
    usbip: add missing compile time generated files to .gitignore
    usb: hcd.h: construct hub class request constants from simpler constants
    USB: OHCI: ohci-pxa27x: remove useless functions
    USB: OHCI: omap: remove useless extern declaration
    USB: OHCI: ohci-omap: remove useless functions
    USB: OHCI: ohci-s3c2410: remove useless functions
    USB: cdc-acm: add device id for GW Instek AFG-125
    fsl/usb: Workarourd for USB erratum-A005697
    usb: hub: Wait for connection to be reestablished after port reset
    usbip: vudc: Refactor init_vudc_hw() to be more obvious
    ...

    Linus Torvalds
     
  • An new uverbs command ib_uverbs_ex_modify_qp is added to support more QP
    attributes. User driver should choose to call the legacy/extended API
    based on input mask.

    IB_USER_LAST_QP_ATTR_MASK is added to indicated the maximum bit position
    which supports legacy ib_uverbs_modify_qp.
    IB_USER_LEGACY_LAST_QP_ATTR_MASK indicates the maximum bit position
    which supports ib_uverbs_ex_modify_qp, the value of this mask should be
    updated if new mask is added later.

    Along with this change, rate_limit is supported by the extended command,
    user driver could use it to control packet packing.

    Signed-off-by: Bodong Wang
    Reviewed-by: Matan Barak
    Signed-off-by: Leon Romanovsky
    Signed-off-by: Doug Ledford

    Bodong Wang
     
  • Enable mlx5 based hardware to report packet pacing capabilities
    from kernel to user space. Packet pacing allows to limit the rate to any
    number between the maximum and minimum, based on user settings.

    The capabilities are exposed to user space through query_device by uhw.
    The following capabilities are reported:

    1. The maximum and minimum rate limit in kbps supported by packet pacing.
    2. Bitmap showing which QP types are supported by packet pacing operation.

    Signed-off-by: Bodong Wang
    Reviewed-by: Matan Barak
    Signed-off-by: Leon Romanovsky
    Signed-off-by: Doug Ledford

    Bodong Wang
     
  • Resolving a MAC address for a given IP address in userspace is inefficient.
    This patch lets mlx5 user driver using the kernel driver to resolve the mac
    and get the answer in the private section of the response.

    Signed-off-by: Moni Shoua
    Reviewed-by: Yishai Hadas
    Signed-off-by: Leon Romanovsky
    Signed-off-by: Doug Ledford

    Moni Shoua
     
  • To make mlx5 user driver aware of whether kernel driver returns dmac
    in user data response add a new flag that will be returned back to
    user-space through alloc_ucontext.

    Signed-off-by: Moni Shoua
    Reviewed-by: Yishai Hadas
    Signed-off-by: Leon Romanovsky
    Signed-off-by: Doug Ledford

    Moni Shoua
     
  • Add ib_uverbs_flow_spec_tunnel to define the rule to match Vxlan,
    the type, size, reserved fields are identical to rest of the protocols,
    and are used to identify the spec.
    The tunnel id is the vni value of the Vxlan protocol, and it is used
    as part of the steering rule, it is limited by the mask.
    The steering rule configured on the hardware does a match
    according to vni and other protocols.
    In the same way as rest of the protocols that we match,
    the uniq field's of each protocol are represented on
    the val and the mask.

    Signed-off-by: Moses Reuben
    Reviewed-by: Maor Gottlieb
    Signed-off-by: Leon Romanovsky
    Signed-off-by: Doug Ledford

    Moses Reuben
     
  • CQE compressing reduces PCI overhead by coalescing and compressing
    multiple CQEs into a single merged CQE. Successful compressing
    improves message rate especially for small packet traffic.

    CQE compressing is supported for all 64B CQE formats (with certain
    limitations) generated by RQ/Responder or by SQ/Requestor.

    Signed-off-by: Bodong Wang
    Reviewed-by: Matan Barak
    Signed-off-by: Leon Romanovsky
    Signed-off-by: Doug Ledford

    Bodong Wang
     
  • The capabilities include:
    - Max number of compressed and aggregated CQEs in a single session,
    while zero means unsupported.
    - For Responder, there are two formats of mini CQE: mini CQE with Rx
    hash and mini CQE with checksum. They're mutual exclusive.

    Signed-off-by: Bodong Wang
    Reviewed-by: Matan Barak
    Signed-off-by: Leon Romanovsky
    Signed-off-by: Doug Ledford

    Bodong Wang
     
  • The capabilities whether hardware support multi packet WQE or not is
    exposed to user space through query_device by uhw.

    Signed-off-by: Bodong Wang
    Reviewed-by: Matan Barak
    Signed-off-by: Leon Romanovsky
    Signed-off-by: Doug Ledford

    Bodong Wang
     
  • Pull block layer updates from Jens Axboe:
    "This is the main block pull request this series. Contrary to previous
    release, I've kept the core and driver changes in the same branch. We
    always ended up having dependencies between the two for obvious
    reasons, so makes more sense to keep them together. That said, I'll
    probably try and keep more topical branches going forward, especially
    for cycles that end up being as busy as this one.

    The major parts of this pull request is:

    - Improved support for O_DIRECT on block devices, with a small
    private implementation instead of using the pig that is
    fs/direct-io.c. From Christoph.

    - Request completion tracking in a scalable fashion. This is utilized
    by two components in this pull, the new hybrid polling and the
    writeback queue throttling code.

    - Improved support for polling with O_DIRECT, adding a hybrid mode
    that combines pure polling with an initial sleep. From me.

    - Support for automatic throttling of writeback queues on the block
    side. This uses feedback from the device completion latencies to
    scale the queue on the block side up or down. From me.

    - Support from SMR drives in the block layer and for SD. From Hannes
    and Shaun.

    - Multi-connection support for nbd. From Josef.

    - Cleanup of request and bio flags, so we have a clear split between
    which are bio (or rq) private, and which ones are shared. From
    Christoph.

    - A set of patches from Bart, that improve how we handle queue
    stopping and starting in blk-mq.

    - Support for WRITE_ZEROES from Chaitanya.

    - Lightnvm updates from Javier/Matias.

    - Supoort for FC for the nvme-over-fabrics code. From James Smart.

    - A bunch of fixes from a whole slew of people, too many to name
    here"

    * 'for-4.10/block' of git://git.kernel.dk/linux-block: (182 commits)
    blk-stat: fix a few cases of missing batch flushing
    blk-flush: run the queue when inserting blk-mq flush
    elevator: make the rqhash helpers exported
    blk-mq: abstract out blk_mq_dispatch_rq_list() helper
    blk-mq: add blk_mq_start_stopped_hw_queue()
    block: improve handling of the magic discard payload
    blk-wbt: don't throttle discard or write zeroes
    nbd: use dev_err_ratelimited in io path
    nbd: reset the setup task for NBD_CLEAR_SOCK
    nvme-fabrics: Add FC LLDD loopback driver to test FC-NVME
    nvme-fabrics: Add target support for FC transport
    nvme-fabrics: Add host support for FC transport
    nvme-fabrics: Add FC transport LLDD api definitions
    nvme-fabrics: Add FC transport FC-NVME definitions
    nvme-fabrics: Add FC transport error codes to nvme.h
    Add type 0x28 NVME type code to scsi fc headers
    nvme-fabrics: patch target code in prep for FC transport support
    nvme-fabrics: set sqe.command_id in core not transports
    parser: add u64 number parser
    nvme-rdma: align to generic ib_event logging helper
    ...

    Linus Torvalds
     
  • Pull drm updates from Dave Airlie:
    "This is the main pull request for drm for 4.10 kernel.

    New drivers:
    - ZTE VOU display driver (zxdrm)
    - Amlogic Meson Graphic Controller GXBB/GXL/GXM SoCs (meson)
    - MXSFB support (mxsfb)

    Core:
    - Format handling has been reworked
    - Better atomic state debugging
    - drm_mm leak debugging
    - Atomic explicit fencing support
    - fbdev helper ops
    - Documentation updates
    - MST fbcon fixes

    Bridge:
    - Silicon Image SiI8620 driver

    Panel:
    - Add support for new simple panels

    i915:
    - GVT Device model
    - Better HDMI2.0 support on skylake
    - More watermark fixes
    - GPU idling rework for suspend/resume
    - DP Audio workarounds
    - Scheduler prep-work
    - Opregion CADL handling
    - GPU scheduler and priority boosting

    amdgfx/radeon:
    - Support for virtual devices
    - New VM manager for non-contig VRAM buffers
    - UVD powergating
    - SI register header cleanup
    - Cursor fixes
    - Powermanagement fixes

    nouveau:
    - Powermangement reworks for better voltage/clock changes
    - Atomic modesetting support
    - Displayport Multistream (MST) support.
    - GP102/104 hang and cursor fixes
    - GP106 support

    hisilicon:
    - hibmc support (BMC chip for aarch64 servers)

    armada:
    - add tracing support for overlay change
    - refactor plane support
    - de-midlayer the driver

    omapdrm:
    - Timing code cleanups

    rcar-du:
    - R8A7792/R8A7796 support
    - Misc fixes.

    sunxi:
    - A31 SoC display engine support

    imx-drm:
    - YUV format support
    - Cleanup plane atomic update

    mali-dp:
    - Misc fixes

    dw-hdmi:
    - Add support for HDMI i2c master controller

    tegra:
    - IOMMU support fixes
    - Error handling fixes

    tda998x:
    - Fix connector registration
    - Improved robustness
    - Fix infoframe/audio compliance

    virtio:
    - fix busid issues
    - allocate more vbufs

    qxl:
    - misc fixes and cleanups.

    vc4:
    - Fragment shader threading
    - ETC1 support
    - VEC (tv-out) support

    msm:
    - A5XX GPU support
    - Lots of atomic changes

    tilcdc:
    - Misc fixes and cleanups.

    etnaviv:
    - Fix dma-buf export path
    - DRAW_INSTANCED support
    - fix driver on i.MX6SX

    exynos:
    - HDMI refactoring

    fsl-dcu:
    - fbdev changes"

    * tag 'drm-for-v4.10' of git://people.freedesktop.org/~airlied/linux: (1343 commits)
    drm/nouveau/kms/nv50: fix atomic regression on original G80
    drm/nouveau/bl: Do not register interface if Apple GMUX detected
    drm/nouveau/bl: Assign different names to interfaces
    drm/nouveau/bios/dp: fix handling of LevelEntryTableIndex on DP table 4.2
    drm/nouveau/ltc: protect clearing of comptags with mutex
    drm/nouveau/gr/gf100-: handle GPC/TPC/MPC trap
    drm/nouveau/core: recognise GP106 chipset
    drm/nouveau/ttm: wait for bo fence to signal before unmapping vmas
    drm/nouveau/gr/gf100-: FECS intr handling is not relevant on proprietary ucode
    drm/nouveau/gr/gf100-: properly ack all FECS error interrupts
    drm/nouveau/fifo/gf100-: recover from host mmu faults
    drm: Add fake controlD* symlinks for backwards compat
    drm/vc4: Don't use drm_put_dev
    drm/vc4: Document VEC DT binding
    drm/vc4: Add support for the VEC (Video Encoder) IP
    drm: Add TV connector states to drm_connector_state
    drm: Turn DRM_MODE_SUBCONNECTOR_xx definitions into an enum
    drm/vc4: Fix ->clock_select setting for the VEC encoder
    drm/amdgpu/dce6: Set MASTER_UPDATE_MODE to 0 in resume_mc_access as well
    drm/amdgpu: use pin rather than pin_restricted in a few cases
    ...

    Linus Torvalds
     
  • Pull VFIO updates from Alex Williamson:

    - VFIO updates for v4.10 primarily include a new Mediated Device
    interface, which essentially allows software defined devices to be
    exposed to users through VFIO. The host vendor driver providing this
    virtual device polices, or mediates user access to the device.

    These devices often incorporate portions of real devices, for
    instance the primary initial users of this interface expose vGPUs
    which allow the user to map mediated devices, or mdevs, to a portion
    of a physical GPU. QEMU composes these mdevs into PCI representations
    using the existing VFIO user API. This enables both Intel KVM-GT
    support, which is also expected to arrive into Linux mainline during
    the v4.10 merge window, as well as NVIDIA vGPU, and also Channel I/O
    devices (aka CCW devices) for s390 virtualization support. (Kirti
    Wankhede, Neo Jia)

    - Drop unnecessary uses of pcibios_err_to_errno() (Cao Jin)

    - Fixes to VFIO capability chain handling (Eric Auger)

    - Error handling fixes for fallout from mdev (Christophe JAILLET)

    - Notifiers to expose struct kvm to mdev vendor drivers (Jike Song)

    - type1 IOMMU model search fixes (Kirti Wankhede, Neo Jia)

    * tag 'vfio-v4.10-rc1' of git://github.com/awilliam/linux-vfio: (30 commits)
    vfio iommu type1: Fix size argument to vfio_find_dma() in pin_pages/unpin_pages
    vfio iommu type1: Fix size argument to vfio_find_dma() during DMA UNMAP.
    vfio iommu type1: WARN_ON if notifier block is not unregistered
    kvm: set/clear kvm to/from vfio_group when group add/delete
    vfio: support notifier chain in vfio_group
    vfio: vfio_register_notifier: classify iommu notifier
    vfio: Fix handling of error returned by 'vfio_group_get_from_dev()'
    vfio: fix vfio_info_cap_add/shift
    vfio/pci: Drop unnecessary pcibios_err_to_errno()
    MAINTAINERS: Add entry VFIO based Mediated device drivers
    docs: Sample driver to demonstrate how to use Mediated device framework.
    docs: Sysfs ABI for mediated device framework
    docs: Add Documentation for Mediated devices
    vfio: Define device_api strings
    vfio_platform: Updated to use vfio_set_irqs_validate_and_prepare()
    vfio_pci: Updated to use vfio_set_irqs_validate_and_prepare()
    vfio: Introduce vfio_set_irqs_validate_and_prepare()
    vfio_pci: Update vfio_pci to use vfio_info_add_capability()
    vfio: Introduce common function to add capabilities
    vfio iommu: Add blocking notifier to notify DMA_UNMAP
    ...

    Linus Torvalds
     
  • Pull MMC updates from Ulf Hansson:
    "It's been an busy period for mmc. Quite some changes in the mmc core,
    two new mmc host drivers, some existing drivers being extended to
    support new IP versions and lots of other updates.

    MMC core:
    - Delete eMMC packed command support
    - Introduce mmc_abort_tuning() to enable eMMC tuning to fail
    gracefully
    - Introduce mmc_can_retune() to see if a host can be retuned
    - Re-work and improve the sequence when sending a CMD6 for mmc
    - Enable CDM13 polling when switching to HS and HS DDR mode for mmc
    - Relax checking for CMD6 errors after switch to HS200
    - Re-factoring the code dealing with the mmc block queue
    - Recognize whether the eMMC card supports CMDQ
    - Fix 4K native sector check
    - Don't power off the card when starting the host
    - Increase MMC_IOC_MAX_BYTES to support bigger firmware binaries
    - Improve error handling and drop meaningless BUG_ONs()
    - Lots of clean-ups and changes to improve the quality of the code

    MMC host:
    - sdhci: Fix tuning sequence and clean-up the related code
    - sdhci: Add support to via DT override broken SDHCI cap register
    bits
    - sdhci-cadence: Add new driver for Cadence SD4HC SDHCI variant
    - sdhci-msm: Update clock management
    - sdhci-msm: Add support for eMMC HS400 mode
    - sdhci-msm: Deploy runtime/system PM support
    - sdhci-iproc: Extend driver support to newer IP versions
    - sdhci-pci: Add support for Intel GLK
    - sdhci-pci: Add support for Intel NI byt sdio
    - sdhci-acpi: Add support for 80860F14 UID 2 SDIO bus
    - sdhci: Lots of various small improvements and clean-ups
    - tmio: Add support for tuning
    - sh_mobile_sdhi: Add support for tuning
    - sh_mobile_sdhi: Extend driver to support SDHI IP on R7S72100 SoC
    - sh_mobile_sdhi: remove support for sh7372
    - davinci: Use mmc_of_parse() to enable generic mmc DT bindings
    - meson: Add new driver to support GX platforms
    - dw_mmc: Deploy generic runtime/system PM support
    - dw_mmc: Lots of various small improvements

    As a part of the mmc changes this time, I have also pulled in an
    immutable branch/tag (soc-device-match-tag1) hosted by Geert
    Uytterhoeven, to share the implementation of the new
    soc_device_match() interface. This is needed by these mmc related
    changes:

    - mmc: sdhci-of-esdhc: Get correct IP version for T4240-R1.0-R2.0
    - soc: fsl: add GUTS driver for QorIQ platforms"

    * tag 'mmc-v4.10' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc: (136 commits)
    mmc: sdhci-cadence: add Cadence SD4HC support
    mmc: sdhci: export sdhci_execute_tuning()
    mmc: sdhci: Tidy tuning loop
    mmc: sdhci: Simplify tuning block size logic
    mmc: sdhci: Factor out tuning helper functions
    mmc: sdhci: Use mmc_abort_tuning()
    mmc: mmc: Introduce mmc_abort_tuning()
    mmc: sdhci: Always allow tuning to fall back to fixed sampling
    mmc: sdhci: Fix tuning reset after exhausting the maximum number of loops
    mmc: sdhci: Fix recovery from tuning timeout
    Revert "mmc: sdhci: Reset cmd and data circuits after tuning failure"
    mmc: mmc: Relax checking for switch errors after HS200 switch
    mmc: sdhci-acpi: support 80860F14 UID 2 SDIO bus
    mmc: sdhci-of-at91: remove bogus MMC_SDHCI_IO_ACCESSORS select
    mmc: sdhci-pci: Use ACPI to get max frequency for Intel NI byt sdio
    mmc: sdhci-pci: Add PCI ID for Intel NI byt sdio
    mmc: sdhci-s3c: add spin_unlock_irq() before calling clk_round_rate
    mmc: dw_mmc: display the clock message only one time when card is polling
    mmc: dw_mmc: add the debug message for polling and non-removable
    mmc: dw_mmc: check the "present" variable before checking flags
    ...

    Linus Torvalds