Merge branch 'linux-linaro-lsk-v4.4-android' of git://git.linaro.org/kernel/linux...
authorHuang, Tao <huangtao@rock-chips.com>
Fri, 4 Nov 2016 06:23:25 +0000 (14:23 +0800)
committerHuang, Tao <huangtao@rock-chips.com>
Fri, 4 Nov 2016 06:30:24 +0000 (14:30 +0800)
* linux-linaro-lsk-v4.4-android: (1362 commits)
  Linux 4.4.30
  Revert "fix minor infoleak in get_user_ex()"
  Revert "x86/mm: Expand the exception table logic to allow new handling options"
  Linux 4.4.29
  ARM: pxa: pxa_cplds: fix interrupt handling
  powerpc/nvram: Fix an incorrect partition merge
  mpt3sas: Don't spam logs if logging level is 0
  perf symbols: Fixup symbol sizes before picking best ones
  perf symbols: Check symbol_conf.allow_aliases for kallsyms loading too
  perf hists browser: Fix event group display
  clk: divider: Fix clk_divider_round_rate() to use clk_readl()
  clk: qoriq: fix a register offset error
  s390/con3270: fix insufficient space padding
  s390/con3270: fix use of uninitialised data
  s390/cio: fix accidental interrupt enabling during resume
  x86/mm: Expand the exception table logic to allow new handling options
  dmaengine: ipu: remove bogus NO_IRQ reference
  power: bq24257: Fix use of uninitialized pointer bq->charger
  staging: r8188eu: Fix scheduling while atomic splat
  ASoC: dapm: Fix kcontrol creation for output driver widget
  ...

53 files changed:
1  2 
Documentation/devicetree/bindings/iio/adc/rockchip-saradc.txt
Makefile
arch/arm/Kconfig
arch/arm/include/asm/dma-mapping.h
arch/arm64/Kconfig
arch/arm64/Makefile
arch/arm64/boot/dts/rockchip/rk3368.dtsi
arch/arm64/kernel/Makefile
arch/arm64/kernel/arm64ksyms.c
arch/arm64/kernel/asm-offsets.c
drivers/base/platform.c
drivers/clk/rockchip/clk-mmc-phase.c
drivers/gpu/drm/amd/amdgpu/dce_v10_0.c
drivers/gpu/drm/amd/amdgpu/dce_v11_0.c
drivers/gpu/drm/amd/amdgpu/dce_v8_0.c
drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c
drivers/gpu/drm/drm_atomic_helper.c
drivers/gpu/drm/drm_crtc.c
drivers/gpu/drm/drm_prime.c
drivers/gpu/drm/gma500/cdv_intel_dp.c
drivers/gpu/drm/i915/intel_display.c
drivers/gpu/drm/i915/intel_dp.c
drivers/gpu/drm/i915/intel_hdmi.c
drivers/gpu/drm/i915/intel_sprite.c
drivers/gpu/drm/radeon/atombios_encoders.c
drivers/gpu/drm/radeon/radeon_dp_mst.c
drivers/hid/hid-core.c
drivers/iio/adc/rockchip_saradc.c
drivers/irqchip/irq-gic-v3.c
drivers/media/v4l2-core/videobuf2-core.c
drivers/media/v4l2-core/videobuf2-v4l2.c
drivers/mfd/Kconfig
drivers/misc/Kconfig
drivers/misc/Makefile
drivers/mmc/card/block.c
drivers/mmc/core/core.c
drivers/mmc/core/host.c
drivers/mmc/host/sdhci.c
drivers/perf/arm_pmu.c
drivers/platform/chrome/cros_ec_dev.c
drivers/staging/android/ion/ion.c
drivers/usb/common/common.c
drivers/usb/dwc3/dwc3-pci.c
drivers/usb/dwc3/gadget.c
drivers/usb/gadget/function/f_accessory.c
drivers/usb/host/xhci.c
include/drm/drmP.h
include/linux/irq.h
include/linux/mmc/host.h
include/uapi/linux/videodev2.h
kernel/sched/Makefile
kernel/sched/fair.c
sound/usb/quirks.c

diff --cc Makefile
Simple merge
index 6f0b7b752328b702eda19f8825a05f5af738b523,f4a214446b803effdef5447ac0b7497b65353a26..868a5f2a1cce20b898258fb0d8d5c02bacf17adb
@@@ -36,9 -36,9 +36,10 @@@ config AR
        select HAVE_ARCH_JUMP_LABEL if !XIP_KERNEL && !CPU_ENDIAN_BE32
        select HAVE_ARCH_KGDB if !CPU_ENDIAN_BE32
        select HAVE_ARCH_MMAP_RND_BITS if MMU
+       select HAVE_ARCH_HARDENED_USERCOPY
        select HAVE_ARCH_SECCOMP_FILTER if (AEABI && !OABI_COMPAT)
        select HAVE_ARCH_TRACEHOOK
 +      select HAVE_ARM_SMCCC if CPU_V7
        select HAVE_BPF_JIT
        select HAVE_CC_STACKPROTECTOR
        select HAVE_CONTEXT_TRACKING
Simple merge
Simple merge
Simple merge
Simple merge
index 678f30b05a45580a7805b42a8cea235431b93bda,803965a792e0ea132d9ad4c7693adf25cc9bafe8..78f368039c79a76d45d7256ed64dd7535f198ed6
@@@ -26,7 -26,7 +26,8 @@@
  #include <linux/syscalls.h>
  #include <linux/uaccess.h>
  #include <linux/io.h>
 +#include <linux/arm-smccc.h>
+ #include <linux/kprobes.h>
  
  #include <asm/checksum.h>
  
@@@ -68,8 -68,5 +69,9 @@@ EXPORT_SYMBOL(test_and_change_bit)
  
  #ifdef CONFIG_FUNCTION_TRACER
  EXPORT_SYMBOL(_mcount);
+ NOKPROBE_SYMBOL(_mcount);
  #endif
 +
 +      /* arm-smccc */
 +EXPORT_SYMBOL(arm_smccc_smc);
 +EXPORT_SYMBOL(arm_smccc_hvc);
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index b5d8a71d5b25cb055d181ce147ff533494633b95,8d169d5a8b017d52a3339489cb751365dca54d05..c7e0db49783b7cc2aed8ecf059979eebf0605303
@@@ -2039,16 -2041,17 +2039,16 @@@ static void mmc_blk_packed_hdr_wrq_prep
                do_data_tag = (card->ext_csd.data_tag_unit_size) &&
                        (prq->cmd_flags & REQ_META) &&
                        (rq_data_dir(prq) == WRITE) &&
 -                      ((brq->data.blocks * brq->data.blksz) >=
 -                       card->ext_csd.data_tag_unit_size);
 +                      blk_rq_bytes(prq) >= card->ext_csd.data_tag_unit_size;
                /* Argument of CMD23 */
-               packed_cmd_hdr[(i * 2)] =
+               packed_cmd_hdr[(i * 2)] = cpu_to_le32(
                        (do_rel_wr ? MMC_CMD23_ARG_REL_WR : 0) |
                        (do_data_tag ? MMC_CMD23_ARG_TAG_REQ : 0) |
-                       blk_rq_sectors(prq);
+                       blk_rq_sectors(prq));
                /* Argument of CMD18 or CMD25 */
-               packed_cmd_hdr[((i * 2)) + 1] =
+               packed_cmd_hdr[((i * 2)) + 1] = cpu_to_le32(
                        mmc_card_blockaddr(card) ?
-                       blk_rq_pos(prq) : blk_rq_pos(prq) << 9;
+                       blk_rq_pos(prq) : blk_rq_pos(prq) << 9);
                packed->blocks += blk_rq_sectors(prq);
                i++;
        }
index d72977c999adee37c7b9c9fec2719a04cdfcc6d6,2986e270d19a894a50492a1b2b7a724562559b48..31fc5362f99ab358e79dde0d6be02f7102610e89
@@@ -2916,8 -2924,59 +2936,58 @@@ static void __exit mmc_exit(void
        sdio_unregister_bus();
        mmc_unregister_host_class();
        mmc_unregister_bus();
 -      destroy_workqueue(workqueue);
  }
  
+ #ifdef CONFIG_BLOCK
+ static ssize_t
+ latency_hist_show(struct device *dev, struct device_attribute *attr, char *buf)
+ {
+       struct mmc_host *host = cls_dev_to_mmc_host(dev);
+       return blk_latency_hist_show(&host->io_lat_s, buf);
+ }
+ /*
+  * Values permitted 0, 1, 2.
+  * 0 -> Disable IO latency histograms (default)
+  * 1 -> Enable IO latency histograms
+  * 2 -> Zero out IO latency histograms
+  */
+ static ssize_t
+ latency_hist_store(struct device *dev, struct device_attribute *attr,
+                  const char *buf, size_t count)
+ {
+       struct mmc_host *host = cls_dev_to_mmc_host(dev);
+       long value;
+       if (kstrtol(buf, 0, &value))
+               return -EINVAL;
+       if (value == BLK_IO_LAT_HIST_ZERO)
+               blk_zero_latency_hist(&host->io_lat_s);
+       else if (value == BLK_IO_LAT_HIST_ENABLE ||
+                value == BLK_IO_LAT_HIST_DISABLE)
+               host->latency_hist_enabled = value;
+       return count;
+ }
+ static DEVICE_ATTR(latency_hist, S_IRUGO | S_IWUSR,
+                  latency_hist_show, latency_hist_store);
+ void
+ mmc_latency_hist_sysfs_init(struct mmc_host *host)
+ {
+       if (device_create_file(&host->class_dev, &dev_attr_latency_hist))
+               dev_err(&host->class_dev,
+                       "Failed to create latency_hist sysfs entry\n");
+ }
+ void
+ mmc_latency_hist_sysfs_exit(struct mmc_host *host)
+ {
+       device_remove_file(&host->class_dev, &dev_attr_latency_hist);
+ }
+ #endif
  subsys_initcall(mmc_init);
  module_exit(mmc_exit);
  
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index 45f5a232d9fb658b76845e19bb3ef4fa0a0aabf6,3d731d1b5c6014fed2c2fad7fb77171333b1d210..2eb84d6c24a6903fe57039e59a4321d7bb7ac6b3
@@@ -35,8 -35,8 +35,9 @@@
  #define PCI_DEVICE_ID_INTEL_SPTLP             0x9d30
  #define PCI_DEVICE_ID_INTEL_SPTH              0xa130
  #define PCI_DEVICE_ID_INTEL_BXT                       0x0aaa
 +#define PCI_DEVICE_ID_INTEL_BXT_M             0x1aaa
  #define PCI_DEVICE_ID_INTEL_APL                       0x5aaa
+ #define PCI_DEVICE_ID_INTEL_KBP                       0xa2b0
  
  static const struct acpi_gpio_params reset_gpios = { 0, 0, false };
  static const struct acpi_gpio_params cs_gpios = { 1, 0, false };
@@@ -225,8 -214,8 +226,9 @@@ static const struct pci_device_id dwc3_
        { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_SPTLP), },
        { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_SPTH), },
        { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_BXT), },
 +      { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_BXT_M), },
        { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_APL), },
+       { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_KBP), },
        { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_NL_USB), },
        {  }    /* Terminating Entry */
  };
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index c6a85f813dfda2798a0ceadfd8066b082afae1c9,623ce4bde0d5123a3960087e7f6c9bb6e6b11c25..dc93f1cffc6e0f31b9d97d4076dca53245cf6655
@@@ -12,9 -12,10 +12,10 @@@ CFLAGS_core.o := $(PROFILING) -fno-omit
  endif
  
  obj-y += core.o loadavg.o clock.o cputime.o
 -obj-y += idle_task.o fair.o rt.o deadline.o stop_task.o
 +obj-y += idle_task.o fair.o rt.o deadline.o stop_task.o energy.o
  obj-y += wait.o completion.o idle.o
- obj-$(CONFIG_SMP) += cpupri.o cpudeadline.o
+ obj-$(CONFIG_SMP) += cpupri.o cpudeadline.o energy.o
+ obj-$(CONFIG_SCHED_WALT) += walt.o
  obj-$(CONFIG_SCHED_AUTOGROUP) += auto_group.o
  obj-$(CONFIG_SCHEDSTATS) += stats.o
  obj-$(CONFIG_SCHED_DEBUG) += debug.o
index 3217494e326efd6c19305f593bc0606b8a640ae8,30d76a18ae1a7fe9c939f4501e9dea65aed3493b..d5965cfbd3d729595644ecc84363c7af925f865d
@@@ -6825,7 -7125,8 +7125,10 @@@ static void update_cpu_capacity(struct 
                mcc->cpu = cpu;
  #ifdef CONFIG_SCHED_DEBUG
                raw_spin_unlock_irqrestore(&mcc->lock, flags);
-               //pr_info("CPU%d: update max cpu_capacity %lu\n", cpu, capacity);
++/*
+               printk_deferred(KERN_INFO "CPU%d: update max cpu_capacity %lu\n",
+                               cpu, capacity);
++*/
                goto skip_unlock;
  #endif
        }
index 85d54920390368c7a0ebc1bdccb348f1abce65a3,3039e907f1f8148bec26b124aecb0142fc228b2d..10e5fb9cdd8bbfc984eec84b6d2954bb2123647e
@@@ -1139,10 -1140,9 +1140,12 @@@ bool snd_usb_get_sample_rate_quirk(stru
        case USB_ID(0x047F, 0xAA05): /* Plantronics DA45 */
        case USB_ID(0x04D8, 0xFEEA): /* Benchmark DAC1 Pre */
        case USB_ID(0x0556, 0x0014): /* Phoenix Audio TMX320VC */
+       case USB_ID(0x05A3, 0x9420): /* ELP HD USB Camera */
 +#ifdef CONFIG_HID_RKVR
 +      case USB_ID(0x071B, 0x3205): /* RockChip NanoC VR */
 +#endif
        case USB_ID(0x074D, 0x3553): /* Outlaw RR2150 (Micronas UAC3553B) */
+       case USB_ID(0x1901, 0x0191): /* GE B850V3 CP2114 audio interface */
        case USB_ID(0x1de7, 0x0013): /* Phoenix Audio MT202exe */
        case USB_ID(0x1de7, 0x0014): /* Phoenix Audio TMX320 */
        case USB_ID(0x1de7, 0x0114): /* Phoenix Audio MT202pcs */