1
0
Fork 0
Commit Graph

20949 Commits (zero-gravitas)

Author SHA1 Message Date
Otavio Salvador 00850640da Linux 4.1.28
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJXhoYGAAoJEN6mb/eXdyzc82MP/0yCx7A52zsa2OwiMp/07+Gl
 +/wMJqJQgW2xFM4BLtAaPFdPPhW1b7RZy4+E+/xWVgsxOMZpHebBU4NS9D3R5TA0
 GlxU7JrRYdHyiYlfsAcde3/2CplHoXemHf5MDUm3keVrMAbNIvc7NYE+vWzYqehB
 GLWTKn/48+c/pNly8BqF1kaZeSpVZwUTwqqXkhZ/GoU4d+u5BxvPntNRoypyVlMj
 wG0SXIF/JW4a6pDE8BUgYrlcB4NTgmDD+ZDykW+nzpMxQrREAGI8Pk6OoFraG7aM
 MIp/19rCxytOJROvE2O84dS7/AC/ou6wQ9BvVjv1udDFF9S83ZhaBsiQ8of8Ipin
 yN+P5GTD3jNh665FHmCDO3qpDnA8owah38/I/2Cy9T45dz87QlvH/bEvQ0mRv5nb
 0fwBLBaXCCbdRmfFGuh9G6Mz/mF4A5aj8VhPLCDNFsXBIkJBnuLRDpyZoRN/pML5
 Y61EES90n6Rwe+WvKgRLo2YBkbs9Cc9Su9COr/CkwfCbKEZgQ65CA0DaYxK/OyBe
 XyObVovImnzC6rRrdNvoFgsbZkR32zNVNjtNjAAYJhUZTUIFV61quhOJdkIQfLoH
 RYL5CfhkzPV7qocNLuoQeuESigsYfVsdlWmExohjsZyHGiPmTb+gkWjexvILK0WV
 /rTajzu793hKkEwnfLSo
 =p3K7
 -----END PGP SIGNATURE-----

Merge tag 'v4.1.28' into 4.1-1.0.x-imx

Linux 4.1.28

* tag 'v4.1.28': (312 commits)
  Linux 4.1.28
  tmpfs: fix regression hang in fallocate undo
  netfilter: x_tables: introduce and use xt_copy_counters_from_user
  netfilter: x_tables: do compat validation via translate_table
  netfilter: x_tables: xt_compat_match_from_user doesn't need a retval
  netfilter: ip6_tables: simplify translate_compat_table args
  netfilter: ip_tables: simplify translate_compat_table args
  netfilter: arp_tables: simplify translate_compat_table args
  netfilter: x_tables: don't reject valid target size on some architectures
  netfilter: x_tables: validate all offsets and sizes in a rule
  netfilter: x_tables: check for bogus target offset
  netfilter: x_tables: check standard target size too
  netfilter: x_tables: add compat version of xt_check_entry_offsets
  netfilter: x_tables: assert minimum target size
  netfilter: x_tables: kill check_entry helper
  netfilter: x_tables: add and use xt_check_entry_offsets
  netfilter: x_tables: validate targets of jumps
  netfilter: x_tables: don't move to non-existent next rule
  netfilter: x_tables: fix unconditional helper
  netfilter: x_tables: make sure e->next_offset covers remaining blob size
  ...

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2016-07-14 07:58:03 -03:00
Otavio Salvador 3477bd7c6d Merge tag 'rel_imx_4.1.15_1.2.0_ga' into 4.1-1.0.x-imx
* tag 'rel_imx_4.1.15_1.2.0_ga': (56 commits)
  MLK-12948 ARM: dts: imx7d-sdb: change the hardware reset gpio for mipi dsi
  MLK-12946 media: pxp-v4l2: correct the 32 bpp pixel format passed to pxp
  mmc: mmc: fix switch timeout issue caused by jiffies precision
  mmc: core: fix __mmc_switch timeout caused by preempt
  MLK-12934-2 mmc: sdhci-esdhc-imx: do not touch other bit when config DTOCV
  MLK-12934-1 mmc: sdhci-esdhc-imx: correct the max timeout count
  MLK-12944 fix makefile miss imx7d-12x12-lpddr3-arm2-pcie.dtb
  MLK-12935 ARM: imx: switch system counter clock to 32K in suspend
  MLK-12902: usdhc: Revert "MLK-11685-5 mmc: sdhci-esdhc-imx: no need busfreq for imx6qdl"
  MLK-12899-2 video: mipi_dsi_samsung: add panel 'TFT3P5581' driver.
  MLK-12899-1 ARM: dts: imx7d-sdb: add dts support for panel 'TFT3P5581'.
  MLK-12901-3 video: mipi_dsi_samsung: alwasy use video mode to transfer data and cmds.
  MLK-12901-2 video: mipi_dsi_samsung: add 10msec delay after all the pkt write operation.
  MLK-12901-1 video: mipi_dsi_samsung: correct the hardware reset calling position.
  MLK_12886-2 video: mxsfb: handle the assert gpio in driver to support deferred probe
  MLK-12886-1 ARM: dts: imx7d-sdb: the assert gpio for lcdif should be active low
  MLK-12898: ov5640 mipi: Add more delay to wait sensor stable
  MLK-12880 arm: dts: imx7d: correct the PAD_GPIO1_IO01 pin ctrl setting
  MLK-12876: mipi csi: Remove regulator enable code when driver probe
  MLK-12860-4 usb: chipidea: imx: add HSIC support for imx7d
  ...
2016-07-13 10:17:30 -03:00
Willy Tarreau 2612a949cf pipe: limit the per-user amount of pages allocated in pipes
[ Upstream commit 759c01142a ]

On no-so-small systems, it is possible for a single process to cause an
OOM condition by filling large pipes with data that are never read. A
typical process filling 4000 pipes with 1 MB of data will use 4 GB of
memory. On small systems it may be tricky to set the pipe max size to
prevent this from happening.

This patch makes it possible to enforce a per-user soft limit above
which new pipes will be limited to a single page, effectively limiting
them to 4 kB each, as well as a hard limit above which no new pipes may
be created for this user. This has the effect of protecting the system
against memory abuse without hurting other users, and still allowing
pipes to work correctly though with less data at once.

The limit are controlled by two new sysctls : pipe-user-pages-soft, and
pipe-user-pages-hard. Both may be disabled by setting them to zero. The
default soft limit allows the default number of FDs per process (1024)
to create pipes of the default size (64kB), thus reaching a limit of 64MB
before starting to create only smaller pipes. With 256 processes limited
to 1024 FDs each, this results in 1024*64kB + (256*1024 - 1024) * 4kB =
1084 MB of memory allocated for a user. The hard limit is disabled by
default to avoid breaking existing applications that make intensive use
of pipes (eg: for splicing).

Reported-by: socketpair@gmail.com
Reported-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Mitigates: CVE-2013-4312 (Linux 2.0+)
Suggested-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Willy Tarreau <w@1wt.eu>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
2016-07-10 23:07:27 -04:00
Wei Fang bcef1c817a scsi: fix race between simultaneous decrements of ->host_failed
[ Upstream commit 72d8c36ec3 ]

sas_ata_strategy_handler() adds the works of the ata error handler to
system_unbound_wq. This workqueue asynchronously runs work items, so the
ata error handler will be performed concurrently on different CPUs. In
this case, ->host_failed will be decreased simultaneously in
scsi_eh_finish_cmd() on different CPUs, and become abnormal.

It will lead to permanently inequality between ->host_failed and
->host_busy, and scsi error handler thread won't start running. IO
errors after that won't be handled.

Since all scmds must have been handled in the strategy handler, just
remove the decrement in scsi_eh_finish_cmd() and zero ->host_busy after
the strategy handler to fix this race.

Fixes: 50824d6c56 ("[SCSI] libsas: async ata-eh")
Cc: stable@vger.kernel.org
Signed-off-by: Wei Fang <fangwei1@huawei.com>
Reviewed-by: James Bottomley <jejb@linux.vnet.ibm.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
2016-07-10 20:19:54 -04:00
Otavio Salvador 0f3c332f0e Linux 4.1.26
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJXVgOnAAoJEN6mb/eXdyzc314QAJv5K/2v695VBZqbpUvuz9Iv
 0yF58/pGBmiF00OsOGSsJdSXIwWjh7yatv7K9Jvjsk9Ta6sQUWsOWvBl6PwCiy+1
 eigVc8bk5L4jiw53pLwZvn2JrZ7enQUlyrMGz3cTsM6zxFThuRYHBve5SIJfTqgL
 +DTyuXV9raano+d26nk9Y46xzcwuWrm6yUNc6zdVQKDP5gxgVtmvKS5M706wZZed
 8B0Ycn9rqBxOQWAHrwkv/qHethXJlOJrykyCTLw/ipUd3+r1IJZ4TnKdv0vmkHoH
 K7FfKT8eA/QaGBDP5mdAt/HI9kAdyNkSvuoCorrpyEHdDPtAMqDloB+zY7jGOIhA
 OGqhrvT8DtvH6pi2sEfiGix+au/w5Jg0bD0QINclGDzSwB30xU1LIuTiClfYH4AN
 NT+VlssNkgdMDVc1GKMHjn0je3iHuOrUZBGgpNMLKTArxt1eW5prUxWTIel4Cigm
 TsiO2LgDkqHsvfixqMpa4/IFYA24F5TNxXhlwdmoFKyGzg9qUzhB40k5FqkKahT1
 7KJ8cfjrwaH9ly7AfKh2eaT33PoMl/gQBdRmpvNUOurxQs5ekWsfb+bFWVx/414T
 vHKrwjS/KWndlrRi07zEpReejZ4rs12tTjIINla7q6Cmfn0BAKJYTaY+2OYs9Apw
 3Au6Img0VGepMrjz6Mbj
 =eoKr
 -----END PGP SIGNATURE-----

Merge tag 'v4.1.26' into 4.1-1.0.x-imx

Linux 4.1.26

* tag 'v4.1.26': (234 commits)
  Linux 4.1.26
  hpfs: implement the show_options method
  affs: fix remount failure when there are no options changed
  hpfs: fix remount failure when there are no options changed
  Input: pwm-beeper - fix - scheduling while atomic
  dma-debug: avoid spinlock recursion when disabling dma-debug
  UBI: Fix static volume checks when Fastmap is used
  xen/events: Don't move disabled irqs
  xen/x86: actually allocate legacy interrupts on PV guests
  wait/ptrace: assume __WALL if the child is traced
  sunrpc: fix stripping of padded MIC tokens
  mmc: sdhci-acpi: Remove MMC_CAP_BUS_WIDTH_TEST for Intel controllers
  mmc: longer timeout for long read time quirk
  drm/i915: Don't leave old junk in ilk active watermarks on readout
  PM / sleep: Handle failures in device_suspend_late() consistently
  Input: uinput - handle compat ioctl for UI_SET_PHYS
  kvm: arm64: Fix EC field in inject_abt64
  ALSA: hda - Fix headphone noise on Dell XPS 13 9360
  ALSA: hda - Fix headphone mic input on a few Dell ALC293 machines
  cifs: Create dedicated keyring for spnego operations
  ...

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2016-07-04 14:33:43 -03:00
Brian Bloniarz 29a7543e33 Fix OpenSSH pty regression on close
[ Upstream commit 0f40fbbcc3 ]

OpenSSH expects the (non-blocking) read() of pty master to return
EAGAIN only if it has received all of the slave-side output after
it has received SIGCHLD. This used to work on pre-3.12 kernels.

This fix effectively forces non-blocking read() and poll() to
block for parallel i/o to complete for all ttys. It also unwinds
these changes:

1) f8747d4a46
   tty: Fix pty master read() after slave closes

2) 52bce7f8d4
   pty, n_tty: Simplify input processing on final close

3) 1a48632ffe
   pty: Fix input race when closing

Inspired by analysis and patch from Marc Aurele La France <tsi@tuyoix.net>

Reported-by: Volth <openssh@volth.com>
Reported-by: Marc Aurele La France <tsi@tuyoix.net>
BugLink: https://bugzilla.mindrot.org/show_bug.cgi?id=52
BugLink: https://bugzilla.mindrot.org/show_bug.cgi?id=2492
Signed-off-by: Brian Bloniarz <brian.bloniarz@gmail.com>
Reviewed-by: Peter Hurley <peter@hurleysoftware.com>
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
2016-06-03 19:15:40 -04:00
Krzysztof Kozlowski cc706ae1a8 crypto: s5p-sss - Remove useless hash interrupt handler
[ Upstream commit 5512442553 ]

Beside regular feed control interrupt, the driver requires also hash
interrupt for older SoCs (samsung,s5pv210-secss). However after
requesting it, the interrupt handler isn't doing anything with it, not
even clearing the hash interrupt bit.

Driver does not provide hash functions so it is safe to remove the hash
interrupt related code and to not require the interrupt in Device Tree.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
2016-06-03 19:15:31 -04:00
Han Xu c479a9412a MLK-12602: Documentation: gpmi-nand: legacy bch geometry option for NAND
document the new option for legacy bch geometry support.

Conflicts:
	Documentation/devicetree/bindings/mtd/gpmi-nand.txt

Signed-off-by: Han Xu <han.xu@nxp.com>
(cherry picked from commit c1c24ecd24cb808e825eb13a3e3d016c283322cc)
2016-05-23 15:00:17 -05:00
Srinivas Kandagatla eab51598c1 ata: ahci-platform: Add ports-implemented DT bindings.
[ Upstream commit 17dcc37e3e ]

On some SOCs PORTS_IMPL register value is never programmed by the
firmware and left at zero value. Which means that no sata ports are
available for software. AHCI driver used to cope up with this by
fabricating the port_map if the PORTS_IMPL register is read zero,
but recent patch broke this workaround as zero value was valid for
NVMe disks.

This patch adds ports-implemented DT bindings as workaround for this issue
in a way that DT can can override the PORTS_IMPL register in cases where
the firmware did not program it already.

Fixes: 566d1827df ("libata: disable forced PORTS_IMPL for >= AHCI 1.3")
Cc: stable@vger.kernel.org # v4.5+
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Acked-by: Tejun Heo <tj@kernel.org>
Reviewed-by: Andy Gross <andy.gross@linaro.org>
Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
2016-05-17 13:42:36 -04:00
Otavio Salvador 3617c73273 Linux 4.1.23
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJXHj6HAAoJEN6mb/eXdyzcunYP/jd6QT3f+7qrQpfO8KKmuOcJ
 FnImlEZqqQUD1GAHAZlK3W9HpWg8RM0k7mIV+VG7jj7DEX19RO9WBbNxPNm76YgT
 fAUWy/QWGrPQpMOoR9lw0CUDR+l/ZtsRwwyRqUspjI0yz3xYKAdKaeNRkicCgwmG
 lg88dYwlbBl7oqJbxa/KZyfY3BsWm2xZwHDWsnUGAfTKmnXH4xFZmATNr3rigpeJ
 jx5331g9PhP1aNJVY+hmHprX6F46AXu6tQ3ONY4jVyf2ZKSbKdbT2MrxYpjR3pLf
 w5ZmHzuRnTl3bmQbcrF6MXtdfk44jizLeB3tm1zNT0pxUHUp3CR78llQSM2c1+3n
 50t24qZY8E43d6UtYLNk/avvJ30gr2e+M6cV4l2fLKpS+mMva5/Sfmc550/Hoxxy
 KSrvTgjm7IoIQ5GuhCLa5xRDt860hfhB92NaUWrn6muTd23V9kj0X8MmLW0SU7zz
 DQE8eanZSnefZAulq8RmEnfznqqvbwHtzBxFXn2gbPzM13bgvyKO0mWnBFYqFdvB
 Jby5y3M6tAT8RmXA5wjRqDv4cmRAqbuI9IW5kyBq1Mc1EdFWmVL+NuC+XAUs1B/g
 2iafkT8sqxI93ECigntNDhdNS5SiGD2c5PXl5Pux8ag+Oz3tP3FYdNq2RjUr21TP
 ugha5ceODt2b+N6HH9p2
 =JJjd
 -----END PGP SIGNATURE-----

Merge tag 'v4.1.23' into 4.1-1.0.x-imx

Linux 4.1.23

* tag 'v4.1.23': (56 commits)
  Linux 4.1.23
  Correct backport of fa3c776 ("Thermal: Ignore invalid trip points")
  tcp_cubic: do not set epoch_start in the future
  tcp_cubic: better follow cubic curve after idle period
  usb: hcd: out of bounds access in for_each_companion
  USB: uas: Add a new NO_REPORT_LUNS quirk
  xhci: fix 10 second timeout on removal of PCI hotpluggable xhci controllers
  usb: xhci: fix xhci locking up during hcd remove
  usb: xhci: fix wild pointers in xhci_mem_cleanup
  usb: host: xhci: add a new quirk XHCI_NO_64BIT_SUPPORT
  xhci: resume USB 3 roothub first
  usb: xhci: applying XHCI_PME_STUCK_QUIRK to Intel BXT B0 host
  lib: lz4: fixed zram with lz4 on big endian machines
  dmaengine: dw: fix master selection
  debugfs: Make automount point inodes permanently empty
  ALSA: usb-audio: Skip volume controls triggers hangup on Dell USB Dock
  ALSA: hda/realtek - Enable the ALC292 dock fixup on the Thinkpad T460s
  ALSA: hda - fix front mic problem for a HP desktop
  kvm: x86: do not leak guest xcr0 into host interrupt handlers
  parisc: Unbreak handling exceptions from kernel modules
  ...

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2016-05-05 15:10:17 -03:00
Otavio Salvador eb0ed03687 Linux 4.1.22
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJXFh3gAAoJEN6mb/eXdyzctEAP/0gu5Hy3gdpTCSE55iHc6kN/
 b8c9THQRQzvoGexksxYwVmt/YNM4j7by5ndSGv+JJ08Qiyj96Czmame1KF/9uTcv
 IDrBy10hTKcDRHjk4Oi1tIbPnQifEnDXokKQaOwNZnQ6+bPjtv4FIX7ycEi/RIDU
 eXxszRclkT6yECcYZekVj5aA0zvw02e0SXMvaFg+zgj0EG6eeOJxzgZ1BRiJC6Qe
 Y5LcWqliuiNmwOstAOG6qxiua/JupKwHA6XKhHUhs8kch/Zd4FaMX+MqsKqpjsuz
 /HjgPpPALq5waMmeVjR/5l8K4YlPpphn4CPs+Rs4lJ4TvUBQuUPZ870sGqNqqX/f
 uLyZlxZC79IhwCn5jipIqfxgvibs3I4H/dFkuf5LE8THzN3rZ/ao2d95dbqqOs3E
 i4hc0iYOcfc/Os4U46AoZmth7xKS4wiaDJyQD13a09N1SqbWz7NJXzUdiil5ioFq
 oGOVvm0XNJUqcuNPo67SiLG/pQJjhOpsEBF6rXk9s6jGGLEMf2v9MXo5e94cEpjH
 5TqTYMd2M4TA26U7615RDoQ8fd+U7JvwC8+RSKuQAJmGOO55ZIcYRveX8MO4b6q7
 8Jq8JTmiv477JLoSDABtRl8X4M1hNtj7UqzGi8d9rt8yvnAuUmX+v7HqUy/jeCvs
 Sk7tQIWZrMoD6iId14Kx
 =QvQh
 -----END PGP SIGNATURE-----

Merge tag 'v4.1.22' into 4.1-1.0.x-imx

Linux 4.1.22

* tag 'v4.1.22': (253 commits)
  Linux 4.1.22
  ALSA: hda - Fix regression of monitor_present flag in eld proc file
  crypto: atmel - fix checks of error code returned by devm_ioremap_resource()
  arm64: errata: Add -mpc-relative-literal-loads to build flags
  mm/page_alloc: prevent merging between isolated and other pageblocks
  mm: use 'unsigned int' for page order
  mm: page_alloc: pass PFN to __free_pages_bootmem
  ocfs2/dlm: fix BUG in dlm_move_lockres_to_recovery_list
  ocfs2/dlm: fix race between convert and recovery
  Input: ati_remote2 - fix crashes on detecting device with invalid descriptor
  ideapad-laptop: Add ideapad Y700 (15) to the no_hw_rfkill DMI list
  staging: comedi: ni_mio_common: fix the ni_write[blw]() functions
  rapidio/rionet: fix deadlock on SMP
  fs/coredump: prevent fsuid=0 dumps into user-controlled directories
  coredump: Use 64bit time for unix time of coredump
  tracing: Fix trace_printk() to print when not using bprintk()
  KVM: fix spin_lock_init order on x86
  KVM: VMX: avoid guest hang on invalid invept instruction
  target: Fix target_release_cmd_kref shutdown comp leak
  bitops: Do not default to __clear_bit() for __clear_bit_unlock()
  ...
2016-04-20 11:02:35 -03:00
Hans de Goede 17c094b05a USB: uas: Add a new NO_REPORT_LUNS quirk
[ Upstream commit 1363074667 ]

Add a new NO_REPORT_LUNS quirk and set it for Seagate drives with
an usb-id of: 0bc2:331a, as these will fail to respond to a
REPORT_LUNS command.

Cc: stable@vger.kernel.org
Reported-and-tested-by: David Webb <djw@noc.ac.uk>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
2016-04-20 01:13:12 -04:00
Peter Jones 3e49b9ec16 efi: Make efivarfs entries immutable by default
[ Upstream commit ed8b0de5a3 ]

"rm -rf" is bricking some peoples' laptops because of variables being
used to store non-reinitializable firmware driver data that's required
to POST the hardware.

These are 100% bugs, and they need to be fixed, but in the mean time it
shouldn't be easy to *accidentally* brick machines.

We have to have delete working, and picking which variables do and don't
work for deletion is quite intractable, so instead make everything
immutable by default (except for a whitelist), and make tools that
aren't quite so broad-spectrum unset the immutable flag.

Signed-off-by: Peter Jones <pjones@redhat.com>
Tested-by: Lee, Chun-Yi <jlee@suse.com>
Acked-by: Matthew Garrett <mjg59@coreos.com>
Signed-off-by: Matt Fleming <matt@codeblueprint.co.uk>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
2016-04-11 22:44:23 -04:00
Otavio Salvador 9c23ef6a72 Linux 4.1.20
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJW6vQXAAoJEN6mb/eXdyzcwrAQAIjCc1S29e/zIyjN0EbdD/3q
 2Ih2KJr1trIICkkVrqk5LC3OB7Xt6qVWAgAewJHHOqi5SZgJtGivrqbaloE37Hq+
 m9gYHtIrIRVzf/gzRmI6UfYTgAgiWmB+VkCR6FKt66JYDhmauDqlzNh+LIrSET9L
 gGjycc6ALK+vNfgR26yullyfelt2/C/hUXM1I8mmSB7331VHzEnS9a98dLPqci/P
 VRkkULEfTcuk9cITROp43wNlCFsD8i0OykjszCmDWGXtIffd65X7jNfCArOgRT9K
 oU6GbwYvILIYNBVzSK8h0Nz2lFI7ZdGN1OZMV3ph8d1us1dDjMlJfVaz1E2nJZBv
 kYDzw+7s8EtQAlcYvEefqFzYKfL8Y5DbbTzs7cXUHbsb5+7r76766nsBY+Pq+p1E
 tWOOljVFCD4je+ZZcTmY0Wc1yaIK2Y5u3A/fvJWfsmvZNSnPmnXwe72UKgmSdpJ+
 ciVM+pOztHKpOa5X0QNzt1PCnST6Yr3ujqUkd0WDhnb1DqT4fBGhMimcd2Uu5z8U
 Ilgw2NorpOzr9TMyMQGy8gtoQYarWfkCJ44OtcB33Euu/5HwLXc3cHWX6kbHtKPz
 PA25Ntgd9RN55P8x4/G/a0YxryTxY/U+K/pOkNcd4dykXrB9EPvBCLF8W5PU+CyL
 d8VxwNA2/GSfE8hEqDQx
 =DUTQ
 -----END PGP SIGNATURE-----

Merge tag 'v4.1.20' into 4.1-1.0.x-imx

Linux 4.1.20

* tag 'v4.1.20': (619 commits)
  Linux 4.1.20
  ipv6: drop frames with attached skb->sk in forwarding
  KVM: x86: move steal time initialization to vcpu entry time
  ubi: Fix out of bounds write in volume update code
  MIPS: traps: Fix SIGFPE information leak from `do_ov' and `do_trap_or_bp'
  ALSA: hda - Fix mic issues on Acer Aspire E1-472
  PM / sleep / x86: Fix crash on graph trace through x86 suspend
  drm/radeon/pm: update current crtc info after setting the powerstate
  USB: qcserial: add Sierra Wireless EM74xx device ID
  drm/ast: Fix incorrect register check for DRAM width
  parisc: Fix ptrace syscall number and return value modification
  ALSA: seq: oss: Don't drain at closing a client
  ALSA: usb-audio: Add a quirk for Plantronics DA45
  USB: serial: option: add support for Quectel UC20
  USB: serial: option: add support for Telit LE922 PID 0x1045
  USB: cp210x: Add ID for Parrot NMEA GPS Flight Recorder
  USB: qcserial: add Dell Wireless 5809e Gobi 4G HSPA+ (rev3)
  use ->d_seq to get coherency between ->d_inode and ->d_flags
  seqcount: Rename write_seqcount_barrier()
  ALSA: hdsp: Fix wrong boolean ctl value accesses
  ...

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2016-04-06 08:19:34 -03:00
Paolo Bonzini eac525506a KVM: MMU: fix ept=0/pte.u=1/pte.w=0/CR0.WP=0/CR4.SMEP=1/EFER.NX=0 combo
[ Upstream commit 844a5fe219 ]

Yes, all of these are needed. :) This is admittedly a bit odd, but
kvm-unit-tests access.flat tests this if you run it with "-cpu host"
and of course ept=0.

KVM runs the guest with CR0.WP=1, so it must handle supervisor writes
specially when pte.u=1/pte.w=0/CR0.WP=0.  Such writes cause a fault
when U=1 and W=0 in the SPTE, but they must succeed because CR0.WP=0.
When KVM gets the fault, it sets U=0 and W=1 in the shadow PTE and
restarts execution.  This will still cause a user write to fault, while
supervisor writes will succeed.  User reads will fault spuriously now,
and KVM will then flip U and W again in the SPTE (U=1, W=0).  User reads
will be enabled and supervisor writes disabled, going back to the
originary situation where supervisor writes fault spuriously.

When SMEP is in effect, however, U=0 will enable kernel execution of
this page.  To avoid this, KVM also sets NX=1 in the shadow PTE together
with U=0.  If the guest has not enabled NX, the result is a continuous
stream of page faults due to the NX bit being reserved.

The fix is to force EFER.NX=1 even if the CPU is taking care of the EFER
switch.  (All machines with SMEP have the CPU_LOAD_IA32_EFER vm-entry
control, so they do not use user-return notifiers for EFER---if they did,
EFER.NX would be forced to the same value as the host).

There is another bug in the reserved bit check, which I've split to a
separate patch for easier application to stable kernels.

Cc: stable@vger.kernel.org
Cc: Andy Lutomirski <luto@amacapital.net>
Reviewed-by: Xiao Guangrong <guangrong.xiao@linux.intel.com>
Fixes: f6577a5fa1
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
2016-03-22 11:10:34 -04:00
Lokesh Vutla a7029eb2f1 ARM: OMAP2+: hwmod: Introduce ti,no-idle dt property
[ Upstream commit 6327a31a3f875c438ca13058bc4c73f1a752cd8a ]

commit 2e18f5a1bc upstream.

Introduce a dt property, ti,no-idle, that prevents an IP to idle at any
point. This is to handle Errata i877, which tells that GMAC clocks
cannot be disabled.

Acked-by: Roger Quadros <rogerq@ti.com>
Tested-by: Mugunthan V N <mugunthanvnm@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Dave Gerlach <d-gerlach@ti.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
2016-03-22 11:10:29 -04:00
Peter Chen 89e86c47e3 doc: usb: ci-hdrc-usb2: add property non-zero-ttctrl-ttha
If this property is not set, the max packet size is 1023 bytes, and if
the total of packet size for pervious transactions are more than 256 bytes,
it can't accept any transactions within this frame. The use case is single
transaction, but higher frame rate.

If this property is set, the max packet size is 188 bytes, it can handle
more transactions than above case, it can accept transactions until it
considers the left room size within frame is less than 188 bytes, software
needs to make sure it does not send more than 90%
maximum_periodic_data_per_frame. The use case is multiple transactions, but
less frame rate.

Signed-off-by: Peter Chen <peter.chen@kernel.org>
Signed-off-by: Peter Chen <peter.chen@nxp.com>
(cherry picked from commit 7f3ee45c71d27ffaf1fb11f002b414ec9a323382)
2016-03-17 21:30:53 +08:00
Hangbin Liu d07f3017ba net/ipv6: add sysctl option accept_ra_min_hop_limit
[ Upstream commit 8013d1d7ea ]

Commit 6fd99094de ("ipv6: Don't reduce hop limit for an interface")
disabled accept hop limit from RA if it is smaller than the current hop
limit for security stuff. But this behavior kind of break the RFC definition.

RFC 4861, 6.3.4.  Processing Received Router Advertisements
   A Router Advertisement field (e.g., Cur Hop Limit, Reachable Time,
   and Retrans Timer) may contain a value denoting that it is
   unspecified.  In such cases, the parameter should be ignored and the
   host should continue using whatever value it is already using.

   If the received Cur Hop Limit value is non-zero, the host SHOULD set
   its CurHopLimit variable to the received value.

So add sysctl option accept_ra_min_hop_limit to let user choose the minimum
hop limit value they can accept from RA. And set default to 1 to meet RFC
standards.

Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
Acked-by: YOSHIFUJI Hideaki <hideaki.yoshifuji@miraclelinux.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
2016-03-04 10:25:48 -05:00
Dong Aisheng 3a4a074d2e MLK-12462-1 mmc: core: add MMC_PM_IGNORE_PM_NOTIFY feature
With igore pm notify feature, MMC core will not re-detect card
after system suspend/resume. This is needed for some special cards
like Broadcom WiFi which can't work propertly on card re-detect
after system resume.

Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
2016-03-01 19:02:54 +08:00
Dong Aisheng 43abde72cb MLK-12360-3 bcmdhd: fix bcmdhd blocks system suspend issue
When enable WIFi and connected with AP, the system is unable to suspend.
root@imx6qdlsolo:~# echo standby > /sys/power/state
PM: Syncing filesystems ... done.
Freezing user space processes ... (elapsed 0.001 seconds) done.
Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
dhdsdio_isr: Enter
dhdsdio_isr: Enter
dhdsdio_isr: disable SDIO interrupts
Calling dhdsdio_dpc() from dhdsdio_isr
dhdsdio_dpc: Enter
dhdsdio_bussleep: request WAKE (currently SLEEP)

(Keypress still response here.... )

It's caused by Broadcom WiFi driver will keep handling SDIO irq even after
the driver is already suspended.
This weird behavior will block the MMC host suspend during its irq
synchronize operation in free_irq(), then the system suspend is blocked
too and hanged.

Add SDHCI_QUIRK2_SDIO_IRQ_THREAD for BCM WiFi to use kernel thread
to process sdio interrupts which won't block system suspend and process
freeze operation.

Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
(cherry picked from commit 66b534082968214707d54d96ba142bc528a6e1de)
2016-02-16 18:02:44 +08:00
Dong Aisheng 964ae4f71d MLK-12077-3 bcmdhd: fix bcmdhd system resume crash issue.
bcmdhd can't support removing host during suspend and
driver crash when detect card after resume due to no response
to CMD7.
It looks bcmdhd has a special requirement to enumerate card
by itself which is incompatible with current MMC core.
So implement post-cd feature to allow driver to detect card
as it wants, then we add back non-removable capability
to avoid MMC core to redetect card after resume.

root@imx6qdlsolo:~# echo standby > /sys/power/state
PM: Syncing filesystems ... done.
PM: Preparing system for standby sleep
Freezing user space processes ... (elapsed 0.001 seconds) done.
Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
PM: Entering standby sleep
evbug: Event. Dev: input3, Type: 0, Code: 0, Value: 1
evbug: Event. Dev: input2, Type: 0, Code: 0, Value: 1
PM: suspend of devices complete after 652.363 msecs
PM: suspend devices took 0.660 seconds
PM: late suspend of devices complete after 1.148 msecs
PM: noirq suspend of devices complete after 1.043 msecs
Disabling non-boot CPUs ...
CPU1: shutdown
Enabling non-boot CPUs ...
CPU1 is up
PM: noirq resume of devices complete after 0.534 msecs
PM: early resume of devices complete after 0.553 msecs
evbug: Event. Dev: input2, Type: 1, Code: 116, Value: 1
evbug: Event. Dev: input2, Type: 0, Code: 0, Value: 0
evbug: Event. Dev: input2, Type: 1, Code: 116, Value: 0
evbug: Event. Dev: input2, Type: 0, Code: 0, Value: 0
mmc1: error -110 during resume (card was removed?)
PM: resume of devices complete after 605.525 msecs
PM: resume devices took 0.610 seconds
PM: Finishing wakeup.
Restarting tasks ... done.
WARNING: driver bcmsdh_sdmmc did not remove its interrupt handler!
root@imx6qdlsolo:~# Unable to handle kernel NULL pointer dereference at virtual address 0000022c
pgd = 80004000
[0000022c] *pgd=00000000
Internal error: Oops: 17 [#1] PREEMPT SMP ARM
Modules linked in: bcmdhd evbug ov5647_camera_mipi mxc_mipi_csi mx6s_capture
CPU: 1 PID: 780 Comm: kworker/u4:4 Not tainted 4.1.15-01434-g70f4b36 #1310
Hardware name: Freescale i.MX7 Dual (Device Tree)
Workqueue: kmmcd mmc_rescan
task: a974af80 ti: a846e000 task.ti: a846e000
PC is at _raw_spin_lock_irqsave+0x1c/0x5c
LR is at get_parent_ip+0x10/0x2c
pc : [<8077b9d4>]    lr : [<8005207c>]    psr: 60050093
sp : a846fc20  ip : 0001001f  fp : a800b000
r10: 00000000  r9 : 00000001  r8 : 0000022c
r7 : 00000002  r6 : 0000022c  r5 : a0050013  r4 : 0000022c
r3 : a974af80  r2 : 00000001  r1 : a846fc44  r0 : 00000000
Flags: nZCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
Control: 10c53c7d  Table: a951406a  DAC: 00000015
Process kworker/u4:4 (pid: 780, stack limit = 0xa846e210)
Stack: (0xa846fc20 to 0xa8470000)
fc20: 00000000 a846fc50 a846fc44 80061808 00000000 000001dc 00000000 805037fc
fc40: 8d89d5ec 00000000 a974af80 80053e88 00000000 00000000 ab7293c0 00000000
fc60: 7f09c828 000000c9 7f09c828 a916a804 00000001 0001001f a800b000 7f0698a4
fc80: a974afc8 00000001 00000000 00000000 00012ebc a974af80 00000001 80ad46c0
fca0: a974af80 00000000 a8eeccc0 00000001 0001001f a846fd04 00000000 7f099440
fcc0: a800b000 7f0699c4 a846fcdf 00000000 00000001 7f068834 a937c900 0105c688
fce0: a846fd04 a8e20000 00000000 00000001 00000000 7f071f08 a846fd04 a80a0000
fd00: ffffffff 00000000 ffffffff a8e20000 a8e20000 00000000 7f099440 00000000
fd20: 00000000 7f099440 a800b000 7f072f4c a974af80 00000000 00000000 80778564
fd40: a846fd54 a9346550 80330028 00000001 a846e000 a8e20000 7f099440 00000000
fd60: 18005000 a8eeccc0 00000000 7f099440 a800b000 7f073744 a846fd8c 80052130
fd80: a9273898 00000000 a800b000 a8e20000 7f099440 00000001 a8eec200 a9270000
fda0: 00000000 7f099440 a800b000 7f07cd3c 80b81100 8040003f a800b000 00000000
fdc0: 00000000 a8e20000 7f099440 a9270000 a9273000 a9270000 00000000 7f099440
fde0: a800b000 7f02df4c 00000001 a8e20000 7f099440 a8eec200 00000000 a916e008
fe00: 00000000 a90bfb00 a800b000 7f074cbc a9270000 7f099440 a8e20000 00000000
fe20: a8f81610 7f0765ec 7f0765b0 a8eeccc0 a855df40 7f069310 a916a800 a8eec200
fe40: 7f09b414 7f06a950 7f06a908 a8f81608 a8f81600 8050e8b8 a8f81608 7f09b414
fe60: 80b22c70 80379744 a974af80 a8f8163c a8f81608 803797d4 00000005 a81ce930
fe80: a8f81608 8037923c a8f81608 a8f81608 80b93cf4 80376504 a846fea0 800e0e3c
fea0: 00000000 00000000 a8f81608 000000bd a833f000 00000000 00000000 8050ed04
fec0: 00000001 8050dd8c 400f8c0f a833f000 ffffff92 a833f000 a81ce600 8050de30
fee0: 8050ddbc a833f240 a833f1dc 80506048 a90bfb00 a833f240 a800b000 a81ce600
ff00: 00000000 800462f0 a81ce600 80043c94 00000000 a800b000 a90bfb18 a800b014
ff20: a846e000 00000088 80b39379 a90bfb00 a800b000 8004654c 80ad4100 a800b164
ff40: a90bfb00 00000000 a84856c0 a90bfb00 80046500 00000000 00000000 00000000
ff60: 00000000 8004b1e8 2df9acc7 00000000 b5f3ff89 a90bfb00 00000000 00000000
ff80: a846ff80 a846ff80 00000000 00000000 a846ff90 a846ff90 a846ffac a84856c0
ffa0: 8004b10c 00000000 00000000 8000f568 00000000 00000000 00000000 00000000
ffc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
ffe0: 00000000 00000000 00000000 00000000 00000013 00000000 ecd61557 f82769f5
[<8077b9d4>] (_raw_spin_lock_irqsave) from [<80061808>] (add_wait_queue+0x20/0x48)
[<80061808>] (add_wait_queue) from [<805037fc>] (__mmc_claim_host+0x58/0x1b0)
[<805037fc>] (__mmc_claim_host) from [<7f0698a4>] (sdioh_request_byte+0x1cc/0x2a4 [bcmdhd])
[<7f0698a4>] (sdioh_request_byte [bcmdhd]) from [<7f0699c4>] (sdioh_cfg_write+0x20/0x28 [bcmdhd])
[<7f0699c4>] (sdioh_cfg_write [bcmdhd]) from [<7f068834>] (bcmsdh_cfg_write+0x90/0xdc [bcmdhd])
[<7f068834>] (bcmsdh_cfg_write [bcmdhd]) from [<7f071f08>] (dhdsdio_clk_kso_enab+0x38/0x168 [bcmdhd])
[<7f071f08>] (dhdsdio_clk_kso_enab [bcmdhd]) from [<7f072f4c>] (dhdsdio_clk_devsleep_iovar+0xf4/0x5f4 [bcmdhd])
[<7f072f4c>] (dhdsdio_clk_devsleep_iovar [bcmdhd]) from [<7f073744>] (dhdsdio_bussleep+0x2f8/0x4dc [bcmdhd])
[<7f073744>] (dhdsdio_bussleep [bcmdhd]) from [<7f07cd3c>] (dhd_bus_stop+0x2e8/0x3f0 [bcmdhd])
[<7f07cd3c>] (dhd_bus_stop [bcmdhd]) from [<7f02df4c>] (dhd_detach+0x2a4/0x438 [bcmdhd])
[<7f02df4c>] (dhd_detach [bcmdhd]) from [<7f074cbc>] (dhdsdio_release+0x4c/0x1dc [bcmdhd])
[<7f074cbc>] (dhdsdio_release [bcmdhd]) from [<7f0765ec>] (dhdsdio_disconnect+0x3c/0xa0 [bcmdhd])
[<7f0765ec>] (dhdsdio_disconnect [bcmdhd]) from [<7f069310>] (bcmsdh_remove+0x3c/0x60 [bcmdhd])
[<7f069310>] (bcmsdh_remove [bcmdhd]) from [<7f06a950>] (bcmsdh_sdmmc_remove+0x48/0x60 [bcmdhd])
[<7f06a950>] (bcmsdh_sdmmc_remove [bcmdhd]) from [<8050e8b8>] (sdio_bus_remove+0x30/0xf8)
[<8050e8b8>] (sdio_bus_remove) from [<80379744>] (__device_release_driver+0x70/0xe4)
[<80379744>] (__device_release_driver) from [<803797d4>] (device_release_driver+0x1c/0x28)
[<803797d4>] (device_release_driver) from [<8037923c>] (bus_remove_device+0xd8/0x104)
[<8037923c>] (bus_remove_device) from [<80376504>] (device_del+0x10c/0x210)
[<80376504>] (device_del) from [<8050ed04>] (sdio_remove_func+0x1c/0x28)
[<8050ed04>] (sdio_remove_func) from [<8050dd8c>] (mmc_sdio_remove+0x40/0x70)
[<8050dd8c>] (mmc_sdio_remove) from [<8050de30>] (mmc_sdio_detect+0x74/0x100)
[<8050de30>] (mmc_sdio_detect) from [<80506048>] (mmc_rescan+0xb8/0x314)
[<80506048>] (mmc_rescan) from [<800462f0>] (process_one_work+0x120/0x330)
[<800462f0>] (process_one_work) from [<8004654c>] (worker_thread+0x4c/0x480)
[<8004654c>] (worker_thread) from [<8004b1e8>] (kthread+0xdc/0xf4)
[<8004b1e8>] (kthread) from [<8000f568>] (ret_from_fork+0x14/0x2c)
Code: f10c0080 e3a00001 ebe359b1 f594f000 (e1943f9f)

Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
(cherry picked from commit 8f998ca4d07aa93460ac7769c1f2b3be0c36fc78)
2016-02-16 18:02:43 +08:00
Fugang Duan 2e9a6b1ae0 MLK-11360-01 crypto: caam_snvs: add snvs clock management
caam_snvs driver involves snvs HP registers access that needs to
enable snvs clock source. The patch add the clock management.

Signed-off-by: Fugang Duan <B38611@freescale.com>
Signed-off-by: Dan Douglass <dan.douglass@freescale.com>
2016-01-20 14:28:52 -06:00
Dong Aisheng ef811c081e MLK-12170-1 mmc: sdhci-esdhc-imx: support setting tuning start point
The delay cells of some SoCs may have less delay value of one cell,
for such SoCs, user could set a start delay cell point to skip
a few meaningless tuning cells.

Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
2016-01-19 16:38:25 +08:00
Dong Aisheng afd1bf2773 MLK-12284-2 doc: syscon: add clocks as optional property
User can specify clocks in devicetree which is used for accessing the registers
in this regmap.

Signed-off-by: Dong Aisheng <b29396@freescale.com>
(cherry picked from commit 4a89ef5b579e6fb5640df099ee13939ca6d3a325)
2016-01-19 16:38:25 +08:00
Minsung Kim 1d08507d9c cpufreq: interactive: allow arbitrary speed / delay mappings
Accept a string of delays and speeds at which to apply the delay before
raising each step above hispeed. For example, "80000 1300000:200000
1500000:40000" means that the delay at or above 1GHz, until 1.3GHz is 80 msecs,
the delay until 1.5GHz is 200 msecs and the delay at or above 1.5GHz is 40
msecs when hispeed_freq is 1GHz.

[toddpoynor@google.com: add documentation]
Change-Id: Ifeebede8b1acbdd0a53e5c6916bccbf764dc854f
Signed-off-by: Minsung Kim <ms925.kim@samsung.com>
2016-01-14 11:02:56 -06:00
Todd Poynor fbff5cc3b3 cpufreq: interactive: default go_hispeed_load 99%, doc updates
Update default go_hispeed_load from 85% to 99%.  Recent changes to the
governor now use a default target_load of 90%.  go_hispeed_load should
not be lower than the target load for hispeed_freq, which could lead
to oscillating speed decisions.  Other recent changes reduce the need
to dampen speed jumps on load spikes, while input event boosts from
userspace are the preferred method for anticipating load spikes with
UI impacts.

General update to the documentation to reflect recent changes.

Change-Id: I1b92f3091f42c04b10503cd1169a943b5dfd6faf
Signed-off-by: Todd Poynor <toddpoynor@google.com>
2016-01-14 11:02:55 -06:00
Todd Poynor 9485fe39f3 cpufreq: interactive: allow arbitrary speed / target load mappings
Accept a string of target loads and speeds at which to apply the
target loads, per the documentation update in this patch.  For example,
"85 1000000:90 1700000:99" targets CPU load 85% below speed 1GHz,  90%
at or above 1GHz, until 1.7GHz and above, at which load 99% is targeted.

Attempt to avoid oscillations by evaluating the current speed
weighted by current load against each new choice of speed, choosing a
higher speed if the current load requires a higher speed.

Change-Id: Ie3300206047c84eca5a26b0b63ea512e5207550e
Signed-off-by: Todd Poynor <toddpoynor@google.com>
2016-01-14 11:02:54 -06:00
Todd Poynor d05cdc6a1a cpufreq: interactive: add boost pulse interface
Change-Id: Icf1e86d2065cc8f0816ba9c6b065eb056d4e8249
Signed-off-by: Todd Poynor <toddpoynor@google.com>
2016-01-14 11:02:52 -06:00
Todd Poynor a66443e1e8 cpufreq: interactive: Add sysfs boost interface for hints from userspace
The explicit hint on/off version.

Change-Id: Ibf62b6d45bf6fb8c9c055b9bdaf074ce9374c04f
Signed-off-by: Todd Poynor <toddpoynor@google.com>
2016-01-14 11:02:51 -06:00
Todd Poynor 06eaf1e37b cpufreq: interactive: Boost frequency on touchscreen input
Based on previous patches by Tero Kristo <tero.kristo@nokia.com>,
Brian Steuer <bsteuer@codeaurora.org>,
David Ng <dave@codeaurora.org>,
Antti P Miettinen <amiettinen@nvidia.com>, and
Thomas Renninger <trenn@suse.de>

Change-Id: Ic55fedcf6f9310f43a7022fb88e23b0392122769
Signed-off-by: Todd Poynor <toddpoynor@google.com>
2016-01-14 11:02:51 -06:00
Todd Poynor 11bb460a42 cpufreq: interactive: adjust code and documentation to match
Change-Id: If59c668d514a29febe5c35404fd9d01df8548eb1
Signed-off-by: Todd Poynor <toddpoynor@google.com>
2016-01-14 11:02:51 -06:00
Mike Chan 432e05f559 cpufreq: interactive: New 'interactive' governor
This governor is designed for latency-sensitive workloads, such as
interactive user interfaces.  The interactive governor aims to be
significantly more responsive to ramp CPU quickly up when CPU-intensive
activity begins.

Existing governors sample CPU load at a particular rate, typically
every X ms.  This can lead to under-powering UI threads for the period of
time during which the user begins interacting with a previously-idle system
until the next sample period happens.

The 'interactive' governor uses a different approach. Instead of sampling
the CPU at a specified rate, the governor will check whether to scale the
CPU frequency up soon after coming out of idle.  When the CPU comes out of
idle, a timer is configured to fire within 1-2 ticks.  If the CPU is very
busy from exiting idle to when the timer fires then we assume the CPU is
underpowered and ramp to MAX speed.

If the CPU was not sufficiently busy to immediately ramp to MAX speed, then
the governor evaluates the CPU load since the last speed adjustment,
choosing the highest value between that longer-term load or the short-term
load since idle exit to determine the CPU speed to ramp to.

A realtime thread is used for scaling up, giving the remaining tasks the
CPU performance benefit, unlike existing governors which are more likely to
schedule rampup work to occur after your performance starved tasks have
completed.

The tuneables for this governor are:
/sys/devices/system/cpu/cpufreq/interactive/min_sample_time:
	The minimum amount of time to spend at the current frequency before
	ramping down. This is to ensure that the governor has seen enough
	historic CPU load data to determine the appropriate workload.
	Default is 80000 uS.
/sys/devices/system/cpu/cpufreq/interactive/go_maxspeed_load
	The CPU load at which to ramp to max speed.  Default is 85.

Change-Id: Ib2b362607c62f7c56d35f44a9ef3280f98c17585
Signed-off-by: Mike Chan <mike@android.com>
Signed-off-by: Todd Poynor <toddpoynor@google.com>
Bug: 3152864
2016-01-14 11:02:50 -06:00
Haibo Chen 2c840e1f38 MLK-12047-4 Documentation: add the binding file for Freescale imx7d ADC driver
The patch adds the binding file for Freescale imx7d ADC driver.

Signed-off-by: Haibo Chen <haibo.chen@freescale.com>
2016-01-14 11:02:47 -06:00
Huang Shijie 9ad121bb70 ENGR00318895-6 Documentation: fsl-quadspi: update the document
The patch updates the document by adding more information to describe the
DT proporties used by the Freescale Quadspi driver and the childs nodes.

For the child node for SPI NOR flash, we add the required property
("spi-max-frequency"), and refer to spi-nor-flash.txt for the optional
properties.

Signed-off-by: Huang Shijie <b32955@freescale.com>
(cherry picked from commit d7b296f51eb077b0c77580ad63ffd69ce722bf6c)
2016-01-14 11:02:32 -06:00
Huang Shijie ba8582d13b ENGR00318895-5 Documentation: mtd: add a new document for SPI NOR flash
We need a DT property to store the dummy cycles for DDR Quad read.
This is a common feature for the SPI NOR flash, such as Spansion and Micron
chips.

Add this file to describe this specific SPI NOR flash features which will
be referred by the SPI NOR flash drivers.

Signed-off-by: Huang Shijie <b32955@freescale.com>
(cherry picked from commit dfbe3eb5c7c2c3967c0f1bf32c0279136da7bfce)
2016-01-14 11:02:32 -06:00
Peter Chen c09d00a282 doc: dt-binding: ci-hdrc-usb2: split vendor specific properties
Each vendor may have its specific properties, they are not belonged
to common optional properties, split them from common's.

Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Peter Chen <peter.chen@freescale.com>
Signed-off-by: Peter Chen <peter.chen@kernel.org>
2016-01-14 11:02:15 -06:00
Peter Chen 153df95c1e doc: dt-binding: ci-hdrc-usb2: improve property description
Improve the description of properties "tx-burst-size-dword"
and "rx-burst-size-dword".

Signed-off-by: Peter Chen <peter.chen@freescale.com>
Signed-off-by: Peter Chen <peter.chen@kernel.org>
Cc: Lucas Stach <l.stach@pengutronix.de>
Cc: Shanw Guo <shawnguo@kernel.org>
2016-01-14 11:02:15 -06:00
Robin Gong 6dc41b1225 MLK-11550-1: regulator: pfuze100: restore some registers after LPSR for pfuze3000
Some registers on pfuze3000 will lost after exit from LPSR, need restore them,
otherwise system may reboot with below command after system enter LPSR one time:

root@imx7d_all:~# echo enabled > /sys/class/tty/ttymxc0/power/wakeup
root@imx7d_all:~# echo mem > /sys/power/state

because LDOGCTL not recover as 1. Add 'fsl,lpsr-mode' property to this case,
please add this property if your board support LPSR mode as imx7d-12x12-lpddr3-arm2
board.

Signed-off-by: Robin Gong <b38343@freescale.com>
2016-01-14 11:02:08 -06:00
Adrian Alonso 14059bdc4b MLK-11696-4: Documentation: devicetree bindings for imx7d pinctrl
Documentation add device tree bindings for imx7d
pinctrl, provide pad configuration examples as well
as documentation for fsl,input-sel property.

Signed-off-by: Adrian Alonso <aalonso@freescale.com>
Signed-off-by: Robin Gong <b38343@freescale.com>
2016-01-14 11:02:03 -06:00
Shawn Guo 29067197ae MLK-11749: pinctrl: support pinctrl setting assertion via gpios
It's pretty common that on some reference design or validation boards,
one pin could be used by two devices on board, and the pin route is
controlled by a GPIO.  So to assert the pin for given device, not only
the pinmux controller in SoC needs to be set up properly but also the
GPIO needs to be pulled up/down.

The patch adds support of a device tree property "pinctrl-assert-gpios"
under client device node.  It plays pretty much like a board level pin
multiplexer, and steers the pin route by controlling the GPIOs.  When
client device has the property represent in its node, pinctrl device
tree mapping function will firstly pull up/down the GPIOs to assert the
pins for the device at board level.

[shawn.guo: cherry-pick commit e5a718edab82 from imx_3.10.y]
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
2016-01-14 11:02:02 -06:00
Dong Aisheng 2aa1d75c93 MLK-10131 ENGR00300439-5 can: flexcan: parse stop mode control bits from device tree
Starting from IMX6, the flexcan stop mode control bits is SoC specific,
move it out of IP driver and parse it from devicetree.
It's good from maintain perspective and can avoid adding too many SoC
specifi bits in driver but with no IP changes when the IMX SoC series
keep growing.

Signed-off-by: Dong Aisheng <b29396@freescale.com>
(cherry picked from commit 97b99b59c9f09d58ea35f3c0cf58665c20f2e292)
(cherry picked from commit 6355208605715f7cb9ea8c37e29c577785f66898)

Conflicts:
	arch/arm/boot/dts/imx6qdl.dtsi
2016-01-14 11:01:59 -06:00
Dong Aisheng accb716801 MLK-10131 ENGR00286724-8 can: flexcan: add self wakeup support
If wakeup is enabled, enter stop mode, else enter disabled mode.
Self wake can only work on stop mode.
For imx6q, the stop request has to be mannually assert on
IOMUX GPR13[28:29] register, we use syscon to control that bit.

Signed-off-by: Dong Aisheng <b29396@freescale.com>
(cherry picked from commit 7f8ef8eeb2bd93d75eb4c970bcaabcfd499d348d)
(cherry picked from commit 496fef522e515488147cce3adcc7f101bb532805)
2016-01-14 11:01:59 -06:00
Dong Aisheng e79d851b63 MLK-10629-2 mmc: sdhci-esdhc-imx: implement wifi_card_detect function
WiFi driver could call wifi_card_detect function to re-detect card,
this is required by some special WiFi cards like broadcom WiFi.
To use this function, a new property is introduced to indicate a wifi host.

Signed-off-by: Dong Aisheng <b29396@freescale.com>
(cherry picked from commit 74e71dd0aebb9e931f02aefa3dd1990cbe642ae4)
Signed-off-by: Haibo Chen <haibo.chen@freescale.com>

Conflicts:
	Documentation/devicetree/bindings/mmc/fsl-imx-esdhc.txt
2016-01-14 11:01:47 -06:00
Haibo Chen 43d028f4b3 Input: touchscreen - add imx6ul_tsc driver support
Freescale i.MX6UL contains a internal touchscreen controller,
this patch add a driver to support this controller.

Signed-off-by: Haibo Chen <haibo.chen@freescale.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
(cherry picked from commit 9a436d524d)
2016-01-14 11:01:31 -06:00
Sandor Yu ec97772b4e MLK-11431-1: IPU: forward IPU display drivers to 4.1.y kernel
Forward imx_3.14.y IPU and display drivers to 4.1 kernel.
This includes IPU core driver, display driver, LDB and HDMI driver.

Signed-off-by: Sandor Yu <R01008@freescale.com>
2016-01-14 11:01:22 -06:00
Haibo Chen c340776903 mmc: sdhci-esdhc-imx: Document new DT bindings for imx7d support
Add a required property "fsl,imx7d-usdhc" in binding doc.
Add an optional property "fsl,tuning-step" in binding doc.

Signed-off-by: Haibo Chen <haibo.chen@freescale.com>
Acked-by: Dong Aisheng <aisheng.dong@freescale.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
(cherry picked from commit 2a2a7ea7c0)
2016-01-14 11:00:17 -06:00
Nicolin Chen e2dd62f281 MLK-11479-11 ASoC: imx-wm8962: Add non-SSI cpu dai support
cherry-pick below patch from v3.14.y:
ENGR00307635-5 ASoC: imx-wm8962: Add non-SSI cpu dai support

The current imx-wm8962 machine driver is designed for SSI as CPU DAI only
while as its name we should make the driver more generic to any other CPU
DAI on i.MX serires -- ESAI, SAI for example.

So this patch makes the driver more general so as to support those non-SSI
cases.

Acked-by: Wang Shengjiu <b02247@freescale.com>
Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com>
(cherry picked from commit b6fca438dde1b4c0bbdee31729871d601f287dc9)
2016-01-14 11:00:15 -06:00
Nicolin Chen a92e3e47b5 MLK-11479-06 ASoC: fsl: Add WM8962 jack detecting support
cherry-pick below patch from v3.14.y:
ENGR00277715-3 ASoC: fsl: Add WM8962 jack detecting support

There're two GPIOs connected to the headphone jack and microphone jack,
thus add the states detection.

Reviewed-by: Wang Shengjiu <b02247@freescale.com>
Signed-off-by: Nicolin Chen <b42378@freescale.com>
(cherry picked from commit f85ca1dd664178328bd813651e91d612787b6926)
2016-01-14 11:00:14 -06:00
Shengjiu Wang eb8b7a7c4f MLK-11429-21: ASoC: fsl: port si476x machine driver from imx_3.10.y
cherry-pick below patch from imx_3.14.y
ENGR00330403-3: ASoC: fsl: port si476x machine driver from imx_3.10.y

Port si476x machine dirver for i.MX series SoC and binding doc from imx_3.10.y

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
(cherry picked from commit 05a68db09806fe5b0aa927dd94cf69b1b0c0fa5a)
2016-01-14 11:00:05 -06:00
Shengjiu Wang 2c77e09d5e MLK-11429-21: ASoC: imx-cs42888: port cs42888 machine driver from imx_3.10.y
cherry-pick below patch from imx_3.14.y
ENGR00330403-1: ASoC: imx-cs42888: port cs42888 machine driver from imx_3.10.y

Port the cs42888 machine driver from imx_3.10.y and do update according to
new esai driver and asrc driver.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
(cherry picked from commit 7ed3aac83630a38eb397ed92f815a28e07198748)
2016-01-14 11:00:04 -06:00