]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
Merge 4.10-rc7 into char-misc-next
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 6 Feb 2017 08:39:13 +0000 (09:39 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 6 Feb 2017 08:39:13 +0000 (09:39 +0100)
We want the hv and other fixes in here as well to handle merge and
testing issues.

Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
1  2 
MAINTAINERS
drivers/hv/ring_buffer.c
include/linux/hyperv.h
init/Kconfig

diff --combined MAINTAINERS
index 6f6efd2e706a53c8ee9a46e089b74ee71189d311,187b9615e31a85d49fcd10ca96f4f20e19272652..eccf08462e4c6e3ecc01351c128b153d739907bb
@@@ -976,6 -976,7 +976,7 @@@ M: Russell King <linux@armlinux.org.uk
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  W:    http://www.armlinux.org.uk/
  S:    Maintained
+ T:    git git://git.armlinux.org.uk/~rmk/linux-arm.git
  F:    arch/arm/
  
  ARM SUB-ARCHITECTURES
@@@ -1153,6 -1154,7 +1154,7 @@@ ARM/CLKDEV SUPPOR
  M:    Russell King <linux@armlinux.org.uk>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Maintained
+ T:    git git://git.armlinux.org.uk/~rmk/linux-arm.git clkdev
  F:    arch/arm/include/asm/clkdev.h
  F:    drivers/clk/clkdev.c
  
@@@ -1688,6 -1690,7 +1690,7 @@@ M:      Krzysztof Kozlowski <krzk@kernel.org
  R:    Javier Martinez Canillas <javier@osg.samsung.com>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  L:    linux-samsung-soc@vger.kernel.org (moderated for non-subscribers)
+ Q:    https://patchwork.kernel.org/project/linux-samsung-soc/list/
  S:    Maintained
  F:    arch/arm/boot/dts/s3c*
  F:    arch/arm/boot/dts/s5p*
@@@ -3564,7 -3567,7 +3567,7 @@@ F:      drivers/infiniband/hw/cxgb3
  F:    include/uapi/rdma/cxgb3-abi.h
  
  CXGB4 ETHERNET DRIVER (CXGB4)
- M:    Hariprasad S <hariprasad@chelsio.com>
+ M:    Ganesh Goudar <ganeshgr@chelsio.com>
  L:    netdev@vger.kernel.org
  W:    http://www.chelsio.com
  S:    Supported
@@@ -4097,12 -4100,18 +4100,18 @@@ F:   drivers/gpu/drm/bridge
  
  DRM DRIVER FOR BOCHS VIRTUAL GPU
  M:    Gerd Hoffmann <kraxel@redhat.com>
- S:    Odd Fixes
+ L:    virtualization@lists.linux-foundation.org
+ T:    git git://git.kraxel.org/linux drm-qemu
+ S:    Maintained
  F:    drivers/gpu/drm/bochs/
  
  DRM DRIVER FOR QEMU'S CIRRUS DEVICE
  M:    Dave Airlie <airlied@redhat.com>
- S:    Odd Fixes
+ M:    Gerd Hoffmann <kraxel@redhat.com>
+ L:    virtualization@lists.linux-foundation.org
+ T:    git git://git.kraxel.org/linux drm-qemu
+ S:    Obsolete
+ W:    https://www.kraxel.org/blog/2014/10/qemu-using-cirrus-considered-harmful/
  F:    drivers/gpu/drm/cirrus/
  
  RADEON and AMDGPU DRM DRIVERS
@@@ -4144,7 -4153,7 +4153,7 @@@ F:      Documentation/gpu/i915.rs
  INTEL GVT-g DRIVERS (Intel GPU Virtualization)
  M:      Zhenyu Wang <zhenyuw@linux.intel.com>
  M:      Zhi Wang <zhi.a.wang@intel.com>
- L:      igvt-g-dev@lists.01.org
+ L:      intel-gvt-dev@lists.freedesktop.org
  L:      intel-gfx@lists.freedesktop.org
  W:      https://01.org/igvt-g
  T:      git https://github.com/01org/gvt-linux.git
@@@ -4295,7 -4304,10 +4304,10 @@@ F:    Documentation/devicetree/bindings/di
  
  DRM DRIVER FOR QXL VIRTUAL GPU
  M:    Dave Airlie <airlied@redhat.com>
- S:    Odd Fixes
+ M:    Gerd Hoffmann <kraxel@redhat.com>
+ L:    virtualization@lists.linux-foundation.org
+ T:    git git://git.kraxel.org/linux drm-qemu
+ S:    Maintained
  F:    drivers/gpu/drm/qxl/
  F:    include/uapi/drm/qxl_drm.h
  
@@@ -5962,7 -5974,6 +5974,7 @@@ S:      Maintaine
  F:    arch/x86/include/asm/mshyperv.h
  F:    arch/x86/include/uapi/asm/hyperv.h
  F:    arch/x86/kernel/cpu/mshyperv.c
 +F:    arch/x86/hyperv
  F:    drivers/hid/hid-hyperv.c
  F:    drivers/hv/
  F:    drivers/input/serio/hyperv-keyboard.c
@@@ -7698,8 -7709,10 +7710,10 @@@ F:    drivers/net/dsa/mv88e6xxx
  F:    Documentation/devicetree/bindings/net/dsa/marvell.txt
  
  MARVELL ARMADA DRM SUPPORT
- M:    Russell King <rmk+kernel@armlinux.org.uk>
+ M:    Russell King <linux@armlinux.org.uk>
  S:    Maintained
+ T:    git git://git.armlinux.org.uk/~rmk/linux-arm.git drm-armada-devel
+ T:    git git://git.armlinux.org.uk/~rmk/linux-arm.git drm-armada-fixes
  F:    drivers/gpu/drm/armada/
  F:    include/uapi/drm/armada_drm.h
  F:    Documentation/devicetree/bindings/display/armada/
@@@ -8904,8 -8917,10 +8918,10 @@@ S:    Supporte
  F:    drivers/nfc/nxp-nci
  
  NXP TDA998X DRM DRIVER
- M:    Russell King <rmk+kernel@armlinux.org.uk>
+ M:    Russell King <linux@armlinux.org.uk>
  S:    Supported
+ T:    git git://git.armlinux.org.uk/~rmk/linux-arm.git drm-tda998x-devel
+ T:    git git://git.armlinux.org.uk/~rmk/linux-arm.git drm-tda998x-fixes
  F:    drivers/gpu/drm/i2c/tda998x_drv.c
  F:    include/drm/i2c/tda998x.h
  
@@@ -10180,7 -10195,6 +10196,6 @@@ F:   drivers/media/tuners/qt1010
  QUALCOMM ATHEROS ATH9K WIRELESS DRIVER
  M:    QCA ath9k Development <ath9k-devel@qca.qualcomm.com>
  L:    linux-wireless@vger.kernel.org
- L:    ath9k-devel@lists.ath9k.org
  W:    http://wireless.kernel.org/en/users/Drivers/ath9k
  S:    Supported
  F:    drivers/net/wireless/ath/ath9k/
@@@ -12966,7 -12980,7 +12981,7 @@@ USERSPACE I/O (UIO
  M:    Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git
 -F:    Documentation/DocBook/uio-howto.tmpl
 +F:    Documentation/driver-api/uio-howto.rst
  F:    drivers/uio/
  F:    include/linux/uio*.h
  
@@@ -13051,7 -13065,7 +13066,7 @@@ F:   drivers/input/serio/userio.
  F:    include/uapi/linux/userio.h
  
  VIRTIO CONSOLE DRIVER
- M:    Amit Shah <amit.shah@redhat.com>
+ M:    Amit Shah <amit@kernel.org>
  L:    virtualization@lists.linux-foundation.org
  S:    Maintained
  F:    drivers/char/virtio_console.c
@@@ -13086,6 -13100,7 +13101,7 @@@ M:   David Airlie <airlied@linux.ie
  M:    Gerd Hoffmann <kraxel@redhat.com>
  L:    dri-devel@lists.freedesktop.org
  L:    virtualization@lists.linux-foundation.org
+ T:    git git://git.kraxel.org/linux drm-qemu
  S:    Maintained
  F:    drivers/gpu/drm/virtio/
  F:    include/uapi/linux/virtio_gpu.h
@@@ -13437,6 -13452,7 +13453,7 @@@ F:   arch/x86
  
  X86 PLATFORM DRIVERS
  M:    Darren Hart <dvhart@infradead.org>
+ M:    Andy Shevchenko <andy@infradead.org>
  L:    platform-driver-x86@vger.kernel.org
  T:    git git://git.infradead.org/users/dvhart/linux-platform-drivers-x86.git
  S:    Maintained
@@@ -13608,6 -13624,7 +13625,7 @@@ F:   drivers/net/hamradio/z8530.
  
  ZBUD COMPRESSED PAGE ALLOCATOR
  M:    Seth Jennings <sjenning@redhat.com>
+ M:    Dan Streetman <ddstreet@ieee.org>
  L:    linux-mm@kvack.org
  S:    Maintained
  F:    mm/zbud.c
@@@ -13663,6 -13680,7 +13681,7 @@@ F:   Documentation/vm/zsmalloc.tx
  
  ZSWAP COMPRESSED SWAP CACHING
  M:    Seth Jennings <sjenning@redhat.com>
+ M:    Dan Streetman <ddstreet@ieee.org>
  L:    linux-mm@kvack.org
  S:    Maintained
  F:    mm/zswap.c
diff --combined drivers/hv/ring_buffer.c
index 2cd40298685862bb8ad9b87a6cc57cd21888c64a,308dbda700ebdaeb02f222aa46dc7bb79c24c0da..e94ed1c22c8b9ce26c4d3c65f7a9c74d7f939649
@@@ -298,9 -298,6 +298,9 @@@ int hv_ringbuffer_write(struct vmbus_ch
        unsigned long flags = 0;
        struct hv_ring_buffer_info *outring_info = &channel->outbound;
  
 +      if (channel->rescind)
 +              return -ENODEV;
 +
        for (i = 0; i < kv_count; i++)
                totalbytes_towrite += kv_list[i].iov_len;
  
                spin_unlock_irqrestore(&outring_info->ring_lock, flags);
  
        hv_signal_on_write(old_write, channel, kick_q);
 +
 +      if (channel->rescind)
 +              return -ENODEV;
 +
        return 0;
  }
  
@@@ -390,6 -383,7 +390,7 @@@ int hv_ringbuffer_read(struct vmbus_cha
                return ret;
        }
  
+       init_cached_read_index(channel);
        next_read_location = hv_get_next_read_location(inring_info);
        next_read_location = hv_copyfrom_ringbuffer(inring_info, &desc,
                                                    sizeof(desc),
diff --combined include/linux/hyperv.h
index 85b26f06e172f7880878b4b0ae768a1cca6331d7,183efde54269e18c5d4d1eda7dc448717fe85800..c37a4a145036f1911471d697ef2c8c5cbcaf0247
@@@ -128,6 -128,7 +128,7 @@@ struct hv_ring_buffer_info 
        u32 ring_data_startoffset;
        u32 priv_write_index;
        u32 priv_read_index;
+       u32 cached_read_index;
  };
  
  /*
@@@ -180,6 -181,19 +181,19 @@@ static inline u32 hv_get_bytes_to_write
        return write;
  }
  
+ static inline u32 hv_get_cached_bytes_to_write(
+       const struct hv_ring_buffer_info *rbi)
+ {
+       u32 read_loc, write_loc, dsize, write;
+       dsize = rbi->ring_datasize;
+       read_loc = rbi->cached_read_index;
+       write_loc = rbi->ring_buffer->write_index;
+       write = write_loc >= read_loc ? dsize - (write_loc - read_loc) :
+               read_loc - write_loc;
+       return write;
+ }
  /*
   * VMBUS version is 32 bit entity broken up into
   * two 16 bit quantities: major_number. minor_number.
@@@ -627,7 -641,6 +641,7 @@@ struct vmbus_channel_msginfo 
  
        /* Synchronize the request/response if needed */
        struct completion  waitevent;
 +      struct vmbus_channel *waiting_channel;
        union {
                struct vmbus_channel_version_supported version_supported;
                struct vmbus_channel_open_result open_result;
@@@ -1445,10 -1458,9 +1459,10 @@@ struct hyperv_service_callback 
  };
  
  #define MAX_SRV_VER   0x7ffffff
 -extern bool vmbus_prep_negotiate_resp(struct icmsg_hdr *,
 -                                      struct icmsg_negotiate *, u8 *, int,
 -                                      int);
 +extern bool vmbus_prep_negotiate_resp(struct icmsg_hdr *icmsghdrp, u8 *buf,
 +                              const int *fw_version, int fw_vercnt,
 +                              const int *srv_version, int srv_vercnt,
 +                              int *nego_fw_version, int *nego_srv_version);
  
  void hv_event_tasklet_disable(struct vmbus_channel *channel);
  void hv_event_tasklet_enable(struct vmbus_channel *channel);
@@@ -1490,7 -1502,7 +1504,7 @@@ hv_get_ring_buffer(struct hv_ring_buffe
  
  static inline  void hv_signal_on_read(struct vmbus_channel *channel)
  {
-       u32 cur_write_sz;
+       u32 cur_write_sz, cached_write_sz;
        u32 pending_sz;
        struct hv_ring_buffer_info *rbi = &channel->inbound;
  
  
        cur_write_sz = hv_get_bytes_to_write(rbi);
  
-       if (cur_write_sz >= pending_sz)
+       if (cur_write_sz < pending_sz)
+               return;
+       cached_write_sz = hv_get_cached_bytes_to_write(rbi);
+       if (cached_write_sz < pending_sz)
                vmbus_setevent(channel);
  
        return;
  }
  
+ static inline void
+ init_cached_read_index(struct vmbus_channel *channel)
+ {
+       struct hv_ring_buffer_info *rbi = &channel->inbound;
+       rbi->cached_read_index = rbi->ring_buffer->read_index;
+ }
  /*
   * An API to support in-place processing of incoming VMBUS packets.
   */
@@@ -1571,6 -1595,8 +1597,8 @@@ static inline void put_pkt_raw(struct v
   * This call commits the read index and potentially signals the host.
   * Here is the pattern for using the "in-place" consumption APIs:
   *
+  * init_cached_read_index();
+  *
   * while (get_next_pkt_raw() {
   *    process the packet "in-place";
   *    put_pkt_raw();
diff --combined init/Kconfig
index aca8881b9117b8880861af6764f073185e259db0,4dd8bd232a1d4efd012fab8757887426ece9c0aa..ce6cf9bc8d55eb3db5ea737a87a9bd7e4bc1ab82
@@@ -1720,13 -1720,6 +1720,13 @@@ config PERF_USE_VMALLO
        help
          See tools/perf/design.txt for details
  
 +config PC104
 +      bool "PC/104 support"
 +      help
 +        Expose PC/104 form factor device drivers and options available for
 +        selection and configuration. Enable this option if your target
 +        machine has a PC/104 bus.
 +
  menu "Kernel Performance Events And Counters"
  
  config PERF_EVENTS
@@@ -1994,6 -1987,10 +1994,10 @@@ config MODVERSION
          make them incompatible with the kernel you are running.  If
          unsure, say N.
  
+ config MODULE_REL_CRCS
+       bool
+       depends on MODVERSIONS
  config MODULE_SRCVERSION_ALL
        bool "Source checksum for all modules"
        help