Commit graph

661,541 commits

Author SHA1 Message Date
Timur Tabi
e7e7454b40 net: qcom/emac: remove extraneous wake-on-lan code
The EMAC driver does not support wake-on-lan, but there is still
code left-over that partially enables it.  Remove that code and a few
macros that support it.

Signed-off-by: Timur Tabi <timur@codeaurora.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-01-29 19:07:02 -05:00
Timur Tabi
0f20276dd5 net: qcom/emac: do not call emac_mac_start twice
emac_mac_start() uses information from the external PHY to program
the MAC, so it makes no sense to call it before the link is up.

Signed-off-by: Timur Tabi <timur@codeaurora.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-01-29 19:07:02 -05:00
Timur Tabi
3db5d555ea net: qcom/emac: always use autonegotiation to configure the SGMII link
Regardless of how the external PHY is configured, the internal PHY
(the "SGMII" block) is capable of configuring the SGMII link automatically.
When the external PHY link comes up, regardless of how it is configured,
the SGMII link is configured automatically.

Signed-off-by: Timur Tabi <timur@codeaurora.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-01-29 19:07:02 -05:00
Timur Tabi
9da34f27c1 net: qcom/emac: display the phy driver info after we connect
The PHY driver is attached only when the driver calls
phy_connect_direct().  Calling phy_attached_print() to display
information about the PHY driver prior to that point is meaningless.
The interface can be brought down, a new PHY driver can be loaded,
and the interface then brought back up.  This is the correct time
to display information about the attached driver.

Since phy_attached_print() also prints information about the
interrupt, that needs to be set as well.

Signed-off-by: Timur Tabi <timur@codeaurora.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-01-29 19:07:02 -05:00
Alexey Khoroshilov
d1156b489f net: adaptec: starfire: add checks for dma mapping errors
init_ring(), refill_rx_ring() and start_tx() don't check
if mapping dma memory succeed.
The patch adds the checks and failure handling.

Found by Linux Driver Verification project (linuxtesting.org).

Signed-off-by: Alexey Khoroshilov <khoroshilov@ispras.ru>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-01-29 19:04:11 -05:00
andy zhou
5b8784aaf2 openvswitch: Simplify do_execute_actions().
do_execute_actions() implements a worthwhile optimization: in case
an output action is the last action in an action list, skb_clone()
can be avoided by outputing the current skb. However, the
implementation is more complicated than necessary.  This patch
simplify this logic.

Signed-off-by: Andy Zhou <azhou@ovn.org>
Acked-by: Pravin B Shelar <pshelar@ovn.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-01-29 19:00:16 -05:00
Mohit Gambhir
cc272163ea x86/xen: Fix APIC id mismatch warning on Intel
This patch fixes the following warning message seen when booting the
kernel as Dom0 with Xen on Intel machines.

[0.003000] [Firmware Bug]: CPU1: APIC id mismatch. Firmware: 0 APIC: 1]

The code generating the warning in validate_apic_and_package_id() matches
cpu_data(cpu).apicid (initialized in init_intel()->
detect_extended_topology() using cpuid) against the apicid returned from
xen_apic_read(). Now, xen_apic_read() makes a hypercall to retrieve apicid
for the boot  cpu but returns 0 otherwise. Hence the warning gets thrown
for all but the boot cpu.

The idea behind xen_apic_read() returning 0 for apicid is that the
guests (even Dom0) should not need to know what physical processor their
vcpus are running on. This is because we currently  do not have topology
information in Xen and also because xen allows more vcpus than physical
processors. However, boot cpu's apicid is required for loading
xen-acpi-processor driver on AMD machines. Look at following patch for
details:

commit 558daa289a ("xen/apic: Return the APIC ID (and version) for CPU
0.")

So to get rid of the warning, this patch modifies
xen_cpu_present_to_apicid() to return cpu_data(cpu).apicid instead of
calling xen_apic_read().

The warning is not seen on AMD machines because init_amd() populates
cpu_data(cpu).apicid by calling hard_smp_processor_id()->xen_apic_read()
as opposed to using apicid from cpuid as is done on Intel machines.

Signed-off-by: Mohit Gambhir <mohit.gambhir@oracle.com>
Reviewed-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
2017-01-29 18:59:16 -05:00
Juergen Gross
56dd5af9bc xen/netback: set default upper limit of tx/rx queues to 8
The default for the maximum number of tx/rx queues of one interface is
the number of cpus of the system today. As each queue pair reserves 512
grant pages this default consumes a ridiculous number of grants for
large guests.

Limit the queue number to 8 as default. This value can be modified
via a module parameter if required.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
2017-01-29 18:48:27 -05:00
Juergen Gross
034702a64a xen/netfront: set default upper limit of tx/rx queues to 8
The default for the number of tx/rx queues of one interface is the
number of vcpus of the system today. As each queue pair reserves 512
grant pages this default consumes a ridiculous number of grants for
large guests.

Limit the queue number to 8 as default. This value can be modified
via a module parameter if required.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
2017-01-29 18:48:27 -05:00
Sean Nyekjaer
cf626c3b25 net: phy: micrel: KSZ8795 do not set SUPPORTED_[Asym_]Pause
As pr commit "net: phy: phy drivers should not set SUPPORTED_[Asym_]Pause"
this phy driver should not set these feature bits.

Signed-off-by: Sean Nyekjaer <sean.nyekjaer@prevas.dk>
Fixes: 9d162ed69f ("net: phy: micrel: add support for KSZ8795")
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-01-29 18:45:15 -05:00
David S. Miller
6d45408db1 Merge branch 'dsa-multi-chip-prep'
Vivien Didelot says:

====================
net: dsa: preparatory patches for multi-chip

In order to introduce support for multi-chip configuration, we need to
do a few enhancements. This patchset makes the number of ports in a
switch dynamic (instead of capping to DSA_MAX_PORTS), stores the switch
and index of a port in the dsa_port structure, uses it in the slave
private structure, and exposes the bridge device a port belongs to.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
2017-01-29 18:42:47 -05:00
Vivien Didelot
ddd3a0c840 net: dsa: b53: use dsa_port's bridge pointer
Now that DSA exposes the bridge device pointer to which a port belongs,
use it when programming the port based VLANs and thus remove the cache.

Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-01-29 18:42:46 -05:00
Vivien Didelot
922754a48a net: dsa: qca8k: use dsa_port's bridge pointer
Now that DSA exposes the bridge device pointer to which a port belongs,
use it when programming the port based VLANs and thus remove the cache.

Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-01-29 18:42:46 -05:00
Vivien Didelot
fae8a25e5b net: dsa: mv88e6xxx: use dsa_port's bridge pointer
Now that DSA exposes the bridge device pointer to which a port belongs,
use it when programming the port based VLANs and thus remove the cache.

Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-01-29 18:42:46 -05:00
Vivien Didelot
f123f2fbed net: dsa: pass bridge device when a port leaves
Upon reception of the NETDEV_CHANGEUPPER, a leaving port is already
unbridged, so reflect this by assigning the port's bridge_dev pointer to
NULL before calling the port_bridge_leave DSA driver operation.

Now that the bridge_dev pointer is exposed to the drivers, reflecting
the current state of the DSA switch fabric is necessary for the drivers
to adjust their port based VLANs correctly.

Pass the bridge device pointer to the port_bridge_leave operation so
that drivers have all information to re-program their chips properly,
and do not need to cache it anymore.

Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-01-29 18:42:46 -05:00
Vivien Didelot
a5e9a02e1f net: dsa: move bridge device in dsa_port
Move the bridge_dev pointer from dsa_slave_priv to dsa_port so that DSA
drivers can access this information and remove the need to cache it.

Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-01-29 18:42:46 -05:00
Vivien Didelot
afdcf151c1 net: dsa: store a dsa_port in dsa_slave_priv
Store a pointer to the dsa_port structure in the dsa_slave_priv
structure, instead of the switch/port index.

This will allow to store more information such as the bridge device,
needed in DSA drivers for multi-chip configuration.

Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-01-29 18:42:46 -05:00
Vivien Didelot
818be8489d net: dsa: add ds and index to dsa_port
Add the physical switch instance and port index a DSA port belongs to to
the dsa_port structure.

That can be used later to retrieve information about a physical port
when configuring a switch fabric, or lighten up struct dsa_slave_priv.

Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-01-29 18:42:46 -05:00
Vivien Didelot
26895e299c net: dsa: use ds->num_ports when possible
The dsa_switch structure contains the number of ports. Use it where the
structure is valid instead of the DSA_MAX_PORTS value.

Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-01-29 18:42:46 -05:00
Vivien Didelot
a0c02161ec net: dsa: variable number of ports
Change the ports[DSA_MAX_PORTS] array of the dsa_switch structure for a
zero-length array, allocated at the same time as the dsa_switch
structure itself. A dsa_switch_alloc() helper is provided for that.

This commit brings no functional change yet since we pass DSA_MAX_PORTS
as the number of ports for the moment. Future patches can update the DSA
drivers separately to support dynamic number of ports.

Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-01-29 18:42:46 -05:00
Olof Johansson
e6fb51c1a9 Qualcomm ARM Based defconfig Updates for v4.11
* Enable APQ8060 Dragonboard related devices
 * Enable AHCI, PCIE, USB, thermal sensors, and ATL1C related configs
 * Enable RPM/RPM-SMD clocks
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJYhit4AAoJEFKiBbHx2RXV4NYQAK2EvuxfXoNEoEajbCUuFJIv
 RlL0fuS/vjymLcXq483VxELlj4G3w2NWzDgOWpfMcdUka0zdR44HQA4353qZV1GM
 0jHhEE/xyWU8D2DZfQbJzudGUsG+1z/o2TG5WCkHCWQlpM8v0Z4HLtpuYzuf0xtT
 DicFcP5XxcO2FaTtv7btKnX+8dORh6AR17Og4XimLytkzA111mjS3d2a0MbH+hMa
 WSuOSY+4F4t+zUJ++WsH2Qbl+KkYtmHvy4Y5S4qwIf89SKPTtH2VyRxd/dSEc7W7
 3XpEjHFINsMxR8K6/drOOo892pDFKpMUGQvWEAutWv05AZwEDIgioP9RwtQOBcHA
 L3KZAoAYmkAB6xImoVdRK8r1qTm18+wLwVGNULpld5y1/ue/EtjW1GB91k2z42iZ
 UM7B4J0aiUsMqtd1F2RjSLEGEzbQt4yeTSda8/wHcH6+ltX/zvftFD17RISZIj6v
 UalpSzJprMSoThgEC0ZjWvdV2b9f/pfIbLra5L2n/w1hAACIUBp7pv6STW8UVNfn
 8stAZ9NO3GEysgMT7Ctq4dh3NcNhoCESQkj2Zvf0qMuCG9aX0mqmmfPsFBBmZWqi
 KwEuDbWU31Gxg+Ndjdxtck1wvSWKK0ka3eFiC7ew3drXPNe9tlooMXEML5bsQ5CJ
 KA1i4OPY0HtLWYtfV/Sl
 =4Unw
 -----END PGP SIGNATURE-----

Merge tag 'qcom-defconfig-for-4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux into next/defconfig

Qualcomm ARM Based defconfig Updates for v4.11

* Enable APQ8060 Dragonboard related devices
* Enable AHCI, PCIE, USB, thermal sensors, and ATL1C related configs
* Enable RPM/RPM-SMD clocks

* tag 'qcom-defconfig-for-4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux:
  ARM: defconfig: qcom: add APQ8060 DragonBoard devices
  ARM: qcom_defconfig: enable thermal sensors
  ARM: qcom_defconfig: add ahci configs
  ARM: qcom_defconfig: add pcie and atl1c ethernet configs
  ARM: qcom_defconfig: add usb related configs
  ARM: qcom_defconfig: Enable RPM/RPM-SMD clocks

Signed-off-by: Olof Johansson <olof@lixom.net>
2017-01-29 15:40:07 -08:00
David S. Miller
1f5d492a34 Merge branch 'ravb-gigabit-R-Car-H3-ES1.1-and-R-Car-M3-W'
Simon Horman says:

====================
ravb: Support 1Gbps on R-Car H3 ES1.1+ and R-Car M3-W

this series adds support for gigabit communication to the Renesas
EthernetAVB controller when used in conjunction with R-Car Gen3 H3
ES1.1+ and M3-W SoCs.  Gigabit is already supported with R-Car Gen 2
SoCs.

The patch from Geert was previously posted for inclusion in v4.10 and
acked by Dave for that purpose. It was, however, not accepted by the
ARM SoC maintainers.

The path from Mizuguchi-san is to address timing problems observed
with gigabit transfers. I would like it considered although my own
testing on M3-W did not show any timing problems.

Changes since v1:
* Address various feedback for "APSR" patch as noted in its changelog
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
2017-01-29 18:35:44 -05:00
Geert Uytterhoeven
0e98f9d5f0 ravb: Support 1Gbps on R-Car H3 ES1.1+ and R-Car M3-W
The limitation to 10/100Mbit speeds on R-Car Gen3 is valid for R-Car H3
ES1.0 only. Check for the exact SoC model to allow 1Gbps on newer
revisions of R-Car H3, and on R-Car M3-W.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Acked-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-01-29 18:35:43 -05:00
Kazuya Mizuguchi
61fccb2d62 ravb: Add tx and rx clock internal delays mode of APSR
This patch enables tx and rx clock internal delay modes (TDM and RDM).

This is to address a failure in the case of 1Gbps communication using the
by salvator-x board with the KSZ9031RNX phy. This has been reported to
occur with both the r8a7795 (H3) and r8a7796 (M3-W) SoCs.

With this change APSR internal delay modes are enabled for
"rgmii-id", "rgmii-rxid" and "rgmii-txid" phy modes as follows:

phy mode   | ASPR delay mode
-----------+----------------
rgmii-id   | TDM and RDM
rgmii-rxid | RDM
rgmii-txid | TDM

Signed-off-by: Kazuya Mizuguchi <kazuya.mizuguchi.ks@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Acked-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-01-29 18:35:43 -05:00
Eric Dumazet
f1712c7371 can: Fix kernel panic at security_sock_rcv_skb
Zhang Yanmin reported crashes [1] and provided a patch adding a
synchronize_rcu() call in can_rx_unregister()

The main problem seems that the sockets themselves are not RCU
protected.

If CAN uses RCU for delivery, then sockets should be freed only after
one RCU grace period.

Recent kernels could use sock_set_flag(sk, SOCK_RCU_FREE), but let's
ease stable backports with the following fix instead.

[1]
BUG: unable to handle kernel NULL pointer dereference at (null)
IP: [<ffffffff81495e25>] selinux_socket_sock_rcv_skb+0x65/0x2a0

Call Trace:
 <IRQ>
 [<ffffffff81485d8c>] security_sock_rcv_skb+0x4c/0x60
 [<ffffffff81d55771>] sk_filter+0x41/0x210
 [<ffffffff81d12913>] sock_queue_rcv_skb+0x53/0x3a0
 [<ffffffff81f0a2b3>] raw_rcv+0x2a3/0x3c0
 [<ffffffff81f06eab>] can_rcv_filter+0x12b/0x370
 [<ffffffff81f07af9>] can_receive+0xd9/0x120
 [<ffffffff81f07beb>] can_rcv+0xab/0x100
 [<ffffffff81d362ac>] __netif_receive_skb_core+0xd8c/0x11f0
 [<ffffffff81d36734>] __netif_receive_skb+0x24/0xb0
 [<ffffffff81d37f67>] process_backlog+0x127/0x280
 [<ffffffff81d36f7b>] net_rx_action+0x33b/0x4f0
 [<ffffffff810c88d4>] __do_softirq+0x184/0x440
 [<ffffffff81f9e86c>] do_softirq_own_stack+0x1c/0x30
 <EOI>
 [<ffffffff810c76fb>] do_softirq.part.18+0x3b/0x40
 [<ffffffff810c8bed>] do_softirq+0x1d/0x20
 [<ffffffff81d30085>] netif_rx_ni+0xe5/0x110
 [<ffffffff8199cc87>] slcan_receive_buf+0x507/0x520
 [<ffffffff8167ef7c>] flush_to_ldisc+0x21c/0x230
 [<ffffffff810e3baf>] process_one_work+0x24f/0x670
 [<ffffffff810e44ed>] worker_thread+0x9d/0x6f0
 [<ffffffff810e4450>] ? rescuer_thread+0x480/0x480
 [<ffffffff810ebafc>] kthread+0x12c/0x150
 [<ffffffff81f9ccef>] ret_from_fork+0x3f/0x70

Reported-by: Zhang Yanmin <yanmin.zhang@intel.com>
Signed-off-by: Eric Dumazet <edumazet@google.com>
Acked-by: Oliver Hartkopp <socketcan@hartkopp.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-01-29 18:30:56 -05:00
Rafal Ozieblo
dc97a89e72 net: macb: Fix 64 bit addressing support for GEM
This patch adds support for 32 bit GEM in
64 bit system. It checks capability at runtime
and uses appropriate buffer descriptor.

Signed-off-by: Rafal Ozieblo <rafalo@cadence.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-01-29 18:26:23 -05:00
Colin Ian King
1a28242bac net: ethernet: aquantia: return -ETIME in macro AQ_HW_WAIT_FOR
The macro is returning ETIME which means various checks to see if
the returned err is less than zero never work. I believe a -ETIME
should be returned instead.

Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-01-29 18:24:00 -05:00
Colin Ian King
f81e5ca915 net: ethernet: aquantia: remove another redundant err check
The check on err < 0 is redundant and can be removed. Detected
by CoverityScan, CID#1398318 ("Logically Dead Code")

Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-01-29 18:24:00 -05:00
Colin Ian King
e52cfb63a0 net: ethernet: aquantia: remove redundant err check
The check on err < 0 is redundant and can be removed. Detected
by CoverityScan, CID#1398321 ("Logically Dead Code")

Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-01-29 18:24:00 -05:00
Alexey Brodkin
0a764db103 stmmac: Discard masked flags in interrupt status register
DW GMAC databook says the following about bits in "Register 15 (Interrupt
Mask Register)":
--------------------------->8-------------------------
When set, this bit __disables_the_assertion_of_the_interrupt_signal__
because of the setting of XXX bit in Register 14 (Interrupt
Status Register).
--------------------------->8-------------------------

In fact even if we mask one bit in the mask register it doesn't prevent
corresponding bit to appear in the status register, it only disables
interrupt generation for corresponding event.

But currently we expect a bit different behavior: status bits to be in
sync with their masks, i.e. if mask for bit A is set in the mask
register then bit A won't appear in the interrupt status register.

This was proven to be incorrect assumption, see discussion here [1].
That misunderstanding causes unexpected behaviour of the GMAC, for
example we were happy enough to just see bogus messages about link
state changes.

So from now on we'll be only checking bits that really may trigger an
interrupt.

[1] https://lkml.org/lkml/2016/11/3/413

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Giuseppe Cavallaro <peppe.cavallaro@st.com>
Cc: Fabrice Gasnier <fabrice.gasnier@st.com>
Cc: Joachim Eastwood <manabian@gmail.com>
Cc: Phil Reid <preid@electromag.com.au>
Cc: David Miller <davem@davemloft.net>
Cc: Alexandre Torgue <alexandre.torgue@gmail.com>
Cc: Vineet Gupta <vgupta@synopsys.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-01-29 18:15:18 -05:00
Olof Johansson
62f838c998 Qualcomm ARM64 Updates for v4.11
* Add Vol+ support for DB820C and APQ8016
 * Add HDMI audio support for APQ8016
 * Fix DB820C GPIO pinctrl name
 * Enable WCNSS on MSM8916
 * Add SCM node for MSM8996
 * Use fixed XO clock on MSM8916
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJYhvUBAAoJEFKiBbHx2RXVqnQQAK4xkBNoswr+afRkqOrEWZlc
 Ed1lotQ3gA202Q8iddMtmRgb2BjBRe9bH01mPA5MlB+/1TpmdT9dm6oNXN31DJbn
 L//om+669nzgPg2NhQAGfxfE97VzUTIksuVw1piCXK3eLlQCbccwifxITONbo+5Q
 7818h2sb306sMet0LI+UkjLzJeU1dL1F6EKusErZatWBWuKMz3bFs/Ch0KUC1GRR
 e7AU8i9f+jy2BSQFSOZbYkeInWvhee5IIp6dZMW0nINnaoVXafchvQzfkbi6t+Os
 qv2nQUMco4ZlU9KbTWcNZQ0SlyVWLE9h2Khc8QF3uy9G6RxU8nSy25Mwi57enz3B
 O+ousFAd79yUYyLZXA7OijAB+joSinl1OX6iFnq1H5Dx+XDRBXxmt97l5O0GanZn
 CZQmGcdKMbbgV1nboM4NjUn2Nwn07EpaAbPPgsTJJBR519UV/TG82RE7TDbrxeUx
 ABaylDX6rtgA+TdOP/wqqhEmEZ0xYko2TJBk6VqNfPAj/QVDS0lFbAzIjfqIM8q0
 XyLIM+snIldu7qFgFwikUumFI7xVVghlmVJ0zPZEwKkLRZs0MJyt7TFPwDYmktXG
 SDqq/E58YXFn4sbThFwGV3Ayaun4MjDHMTT1Xn95r+7O1WvLt3hu0LqW6b3AvqRO
 /vNnTwmv0bwxV4fN6qs/
 =UglA
 -----END PGP SIGNATURE-----

Merge tag 'qcom-arm64-for-4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux into next/dt64

Qualcomm ARM64 Updates for v4.11

* Add Vol+ support for DB820C and APQ8016
* Add HDMI audio support for APQ8016
* Fix DB820C GPIO pinctrl name
* Enable WCNSS on MSM8916
* Add SCM node for MSM8996
* Use fixed XO clock on MSM8916

* tag 'qcom-arm64-for-4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux:
  arm64: dts: db820c: add support to volume up key
  arm64: dts: apq8016-sbc: Limit MPP4 high state to 1.8V
  arm64: dts: apq8016-sbc: Add Volume Up key device node
  arm64: dts: apq8016-sbc: add support to hdmi audio via adv7533
  arm64: dts: db820c: fix gpio pinctrl name correctly
  ARM: dts: msm8916: Add and enable wcnss node
  arm64: dts: msm8996: Add SCM DT node
  arm64: dts: qcom: msm8916: Use fixed factor xo clock

Signed-off-by: Olof Johansson <olof@lixom.net>
2017-01-29 15:08:11 -08:00
Olof Johansson
f41afa53ad UniPhier ARM64 SoC DT updates for v4.11
- Add an SD reset controller node for LD11 SoC
 - Add an eMMC controller node for LD11/LD20 SoC
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJYhLQbAAoJED2LAQed4NsGrI0P/0gx+XKmhFsQkvfIl1cd4dHm
 ttc7pvYK5UaF/tO7b+9HXO2CS7SeEfizkAc0S1djGouqp+N6vWCAnimoPTDBwQOG
 dANWWEfhluzxf8F9tgVmHGRx9VaGgnJq7oK2X59k0otNsWA1bEdL8iUX460rlOdi
 U4mqOuZthehg8e1hPmgj5P4fQM0o/uCydyU7V1PX8mc9Bv09r+34qbRXhWjP0t6d
 pdlTqLIwTMDY4/B7fMU7DnQFVjeN21DtVcepKr93Fnrv1TADpl6BydN8+No/JBRb
 ILH9RxkRSwqzb5K53C5X4P9c1dVom7coxKKrnCsFaUswu7J5rF4a1HtfeTDpfJDp
 4aNgBXzT1vg+GAehAqUeBktw0IH6qGktt4+S7xLDt6E3KmY/9HyP0ZoBqJbN5/pb
 Cn8MQ1Gc03L8miP3YeC4znTl7gX04HAQ7WbQzXQmvY960JMfvZd9tGVSB7f/BsR7
 F1fNh3Lv8V51trf+cBs9y/DyhMEy/zQbU9ZpL5Pz6u/IQit+D8VeNxQ06vy1rkJL
 YalMIpeLYl4mdL3mpG6ov5BUPDJpQuWC5QmxMLMMVQRa0oI/UKUO72K26dFnsEAb
 ms8E2PKA0uy4Tw5IkwJv6Rmw1dmRjK2LIadqE+VOBiNeqYL3ENU4Xyu4OislY4jI
 kBb0Wm5Olik+qStJiR8A
 =DP8G
 -----END PGP SIGNATURE-----

Merge tag 'uniphier-dt64-v4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-uniphier into next/dt64

UniPhier ARM64 SoC DT updates for v4.11

- Add an SD reset controller node for LD11 SoC
- Add an eMMC controller node for LD11/LD20 SoC

* tag 'uniphier-dt64-v4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-uniphier:
  arm64: dts: uniphier: add eMMC controller node for LD11/LD20
  arm64: dts: uniphier: add SD-ctrl node for LD11 SoC

Signed-off-by: Olof Johansson <olof@lixom.net>
2017-01-29 14:49:04 -08:00
Olof Johansson
d12556ea05 UniPhier ARM SoC DT updates for v4.11
- Add eMMC, SD pin-mux nodes
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJYhLS0AAoJED2LAQed4NsGrWkQALS3vTg37mg9TFsbM4Yj2kqP
 h+STurZKf250CQcjaxA46710OfHikWboWUQ6tsDQ0vglZy2XWHGO5uD0YvI0v7gk
 CWfDZksqtrUiDjwiRCK/uYr6vgtrCby6IKQuRd7rAfOtDqi/uDwZOoUWmdtlEyF5
 VMD7g31r4sc3FmiLOncqGXx7bubBUGbOvb2ZNGwQTPgzPQOrPNEPxWG8eRfIq23g
 /Yqr7Q5/qdN8onJDODnIShBAKEZnjBNSphNSrwREZ2GREon2O4Uz+gNI51QpLfuD
 2Zb1VclCQjCKOZXUplaEs/XKKvbeyfT2TTZU77L4Xwjob05loHCpiIrHaGa8diw6
 F+YRdhfwZoT541JTK85ZpTc/8/OYd/Kk3nLDpw3TgRaRb0bFcRuwrN6wiEhhtS/6
 JCIFmZhBMgLQLlsLAm880HyKzLqMxhTM6YdPPMtby80a0z5xNifVTgcYr63wJ+oC
 4H2f0VOmak7gXBBrJyCozolEKgJ7+dIWZi+kZ8oeep5VJfutnpdmljR+BJx76rKb
 kcU2TEGtZwe4O3CfqBItQHJu+wW7V1L3MJaVUmFDEVIEl7xhg6Vd7HtnHd7+OnD5
 A/ENnLoJBAC00f/eN3dWmYUBen+4Y/mP+hOJbeonookVKYC7k82vbVTX7g6sh8vR
 9aMATQ0L4wwM1VY6JljJ
 =HVXC
 -----END PGP SIGNATURE-----

Merge tag 'uniphier-dt-v4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-uniphier into next/dt

UniPhier ARM SoC DT updates for v4.11

- Add eMMC, SD pin-mux nodes

* tag 'uniphier-dt-v4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-uniphier:
  ARM: dts: uniphier: add SD pin-mux node
  ARM: dts: uniphier: add eMMC pin-mux node

Signed-off-by: Olof Johansson <olof@lixom.net>
2017-01-29 14:47:53 -08:00
Olof Johansson
5f1223c5b0 Couple of minor cleanups for Navigator drivers for 4.11
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJYg+WZAAoJEHJsHOdBp5c/HHAQAJn17I4HDQLWil8bR9VzC+Vm
 g1mf1sP6RTzXI33T+lCNwI8MC0pBcc38SeyqXFB2f0tMti2zlTI8nPDfJfps0OZn
 9E5DABXvc1/2B6FIumVZJhBUiuQw6++rvbkF1y48Wy8clSDkL19zRhS7zgtkunab
 ChdPPUVy18Ihk3SSa19tIx9Dy94kukFgXb/hs0BTkX9TVtw/46vC4KAwLYYy7aIS
 kS7DfKNahjEsk+HAduZI+EO5hlhcJfZmLwRQSAtWyFxhbYrHV0FM+dILiKiO9HPk
 l+yQneNIHWZMqEju/LV9pMOI2hRZjitAvu2k9Vx/2QQNl3JqGV36YEutDMt1PLad
 hDLG7PbXZ/sJnzPa++1kAEwV05sv17Ja0bfxjoyzy6MCsKJcZChyWeQRrRzqiwgS
 A7vpmKk6AcDi0WZ31XSbIuij9VbnSR/rP9TL8Domcd9xbtydoVrVpu6FiYmKi68V
 2FGr1xtCCHcjRn4vdFx7hfKDmJL/PHJr1ct/Rkp3qUXmmhOfuK+Zfar5emS1W7/K
 Xml8m03V4WVH2VP+XjAGurgUuGGW5DcNDjzvL2WykktfFAI9Bb7k8fYHiAXk44P5
 N+4Nq11hqbXgQmSFwiPIc1FH9L69XN5S8r19fS6TeDT6bKAVzdz967cMuGXGHiUa
 ahJksoj3SnI5lDZirjDz
 =n43y
 -----END PGP SIGNATURE-----

Merge tag 'keystone_soc_for_4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone into next/drivers

Couple of minor cleanups for Navigator drivers for 4.11

* tag 'keystone_soc_for_4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone:
  soc: ti: knav: cleanup includes and sort header files
  soc: ti: knav_dma: fix typos in trace message

Signed-off-by: Olof Johansson <olof@lixom.net>
2017-01-29 14:47:22 -08:00
Olof Johansson
de474f9b97 ARM: Keystone config support for 4.11
- Enable Reset controller and on chip MSM RAM support.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJYg+UMAAoJEHJsHOdBp5c/wKIP/0+QwZH58jfU0BvKVCQGUW7G
 k66IdViqW6rVxUJzP5V7QCPHbg9Lv8t1evdJmrSg1xAou7mzF2Vog06r885TZD76
 3QBFVKO6Bzf5PVBiGsTyYqsKEA9WGhoaPNv26o25S7c60QeAWoGhlucmmOetbo7v
 q8dQwJ5MWDe05ZoSRV+g4hcPy3xAUoPSaR4nPs6l0TcMX8LLP9GybETv9TN1EnOW
 1pOqRDD/NmnnOICLpIVJSPVAdKnF0YP6KNx6AXcNclrSWs7dhqfpFYwoxy8lsnoS
 YVvZ12C0XcURXbqkNvVVg5s5nVM7m0Wv8HJKzIRcTTSMN4COmUQJpAfWK1tKohIx
 nsXHzPXpyO2vceG5MbdcdKD9/jkWihcyPZa/dB9lqf4q4vO0BBOcmPk5ORQoz9NW
 VzmPZ6wi9oof/2ouChIyDeqRcZ61CcS2VXl+pU5a5LzlRKvErx49f3mg60WMPKM/
 /yvvH/orI8xgOLu4pZpW9IOsjoPVc+s3IefuXhqCxoID2d5AGAToINS1vDv0+i8F
 8kHlFg4RO46TV1aObXQ+dGU/XG7I6p8bZgLDBd8mMThHELPBXle7wPj0j095ao/B
 yiIIWxo3au+hs/VBoLIElSxHYyJLOi7Im+j5ENAvbHyVNM7F34dHwItZMq3V2iY+
 tQeHDJ3EVo1MkrCp3ebX
 =2cL9
 -----END PGP SIGNATURE-----

Merge tag 'keystone_config_for_4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone into next/defconfig

ARM: Keystone config support for 4.11

 - Enable Reset controller and on chip MSM RAM support.

* tag 'keystone_config_for_4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone:
  ARM: Keystone: Enable ARCH_HAS_RESET_CONTROLLER
  ARM: configs: keystone: Enable Generic on-chip SRAM driver

Signed-off-by: Olof Johansson <olof@lixom.net>
2017-01-29 14:46:54 -08:00
Olof Johansson
89f6ce1be2 ARM: Keystone DTS update for 4.11
Brief:
 	- MSM RAM node support for the Keystone 2 SOCs.
 	- PSC node & reset controller node support for keystone 2 SOCs.
 	- da830 UART node support.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJYg+ScAAoJEHJsHOdBp5c/9kwQAI9IB6Z2AuLex5wCIR63MYMQ
 A2sYFRDBhOQJanlZM9oS9buX1sT0N9CKjIPHm2x3d7K7ouPoiy5NPDWV/LZEpuQz
 xcisTVCiHTDgzJVcLKq08/dkB/BVT8TVcPXMCy8YYsxj0mhUTUQEv9FiBNP5cHYF
 7mMIrsAkMoScxftItdWDDx1ZBrRsoSUTUNJpuwRCsJqbw/Tb91alfjH3604nkvV9
 zUHYCFS1h7464XLxlOV8bI8q1UieW9M2KfhiDGujMQcdwzrjbAtAG0tcxJEBRFnz
 tywWNDYEv64oPKvzJ4urW6rpxgqj5D4LZdNdaxvtX6LIRdX2qlOSf2RbjDkJCE9b
 HEm6Ecog6pQSgakiJi1YaBPTC63wu7hpTnbOeLIZlWjIfxvhpSMtng/H4PN/cgk5
 /UP/ccaxcVJBs4fJuDIt2fVt67m2+dgR89XwKtOEhoHakYoZ5FDsh/ZpgSZBB1m6
 Z9BYRZVcgc+OKQhI83oaS4PP8gyetqnAuc8emCJdPP7n5sQqjXCafiowURCEpCG8
 VyunxJU6n690oLH4YUKEHnXkQOBX+NKu0vELzpy5KaFXKx53mG8l+LDwSqEncQ+K
 /kFPAoax3ZdI9BGP7cp8OV0wYEGT2N4MyQ5+XJ3bAn8ACEgT69/kRW41SkBJ8GXT
 N2Doguf2jP+KP6fmvWcy
 =ElOC
 -----END PGP SIGNATURE-----

Merge tag 'keystone_dts_for_4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone into next/dt

ARM: Keystone DTS update for 4.11

Brief:
	- MSM RAM node support for the Keystone 2 SOCs.
	- PSC node & reset controller node support for keystone 2 SOCs.
	- da830 UART node support.

* tag 'keystone_dts_for_4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone:
  ARM: dts: keystone-k2e: Add PSC reset controller node
  ARM: dts: keystone-k2l: Add PSC reset controller node
  ARM: dts: keystone-k2hk: Add PSC reset controller node
  ARM: dts: keystone: Add PSC node
  ARM: keystone: dts: fix netcp clocks and add names
  ARM: dts: keystone-k2g: Reserve MSM RAM for boot monitor
  ARM: dts: keystone-k2e: Reserve MSM RAM for boot monitor
  ARM: dts: keystone-k2l: Reserve MSM RAM for boot monitor
  ARM: dts: keystone-k2hk: Reserve MSM RAM for boot monitor
  ARM: dts: keystone-k2g: Add MSM RAM node
  ARM: dts: keystone-k2e: Add MSM RAM node
  ARM: dts: keystone-k2l: Add MSM RAM node
  ARM: dts: keystone-k2hk: Add MSM RAM node
  ARM: dts: keystone: Add "ti,da830-uart" compatible string

Signed-off-by: Olof Johansson <olof@lixom.net>
2017-01-29 14:45:17 -08:00
Olof Johansson
dc6328feeb 64bit dts changes with some adjustments to the pcie controller,
usb clocks, grf phandles for the rk3399 CRUs, epd pinctrl settings,
 a phandle to the rk3399 tsadc and converting boards to use the
 recently introduced pin constants.
 -----BEGIN PGP SIGNATURE-----
 
 iQFEBAABCAAuFiEE7v+35S2Q1vLNA3Lx86Z5yZzRHYEFAliBUMUQHGhlaWtvQHNu
 dGVjaC5kZQAKCRDzpnnJnNEdgeszCAC0VNLtUhe6ksHGJzvgP1diZLPghPsKticu
 tmpxFVJrZTYFmxacvO3w2rXNvwtWsay812m+wmpbCYe2rpE1WwRYEhDIVbQ0hIuD
 I7fiG6wKaGVEu+5XmVi+6tGouGKSZA0zBlcOja4kFeBPsyDDL0SISu1iopfD/o0z
 u/2EfcBRQFLUotLKLY8t//I+RJ4IsDMQ4zh1AJ1NDfUVCqthE7sJzoa8eJuHaKjj
 YPKdfJlUIZAXJiXuDrjrkkbUQT0GuYha0CtWE2nUn4clfrIWivvgJCXFfEnKtM9+
 OguqMChemOXL7SanHGKqM4RHL6Qq0F3Y162UODDX2AC3QYxxv8XK
 =i0J0
 -----END PGP SIGNATURE-----

Merge tag 'v4.11-rockchip-dts64-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/dt64

64bit dts changes with some adjustments to the pcie controller,
usb clocks, grf phandles for the rk3399 CRUs, epd pinctrl settings,
a phandle to the rk3399 tsadc and converting boards to use the
recently introduced pin constants.

* tag 'v4.11-rockchip-dts64-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
  arm64: dts: rockchip: add rockchip,grf property for RK3399 PMUCRU/CRU
  arm64: dts: rockchip: add aspm-no-l0s for rk3399
  arm64: dts: rockchip: add max-link-speed for rk3399
  arm64: dts: rockchip: use pin constants to describe gpios
  arm64: dts: rockchip: add u2phy clock for ehci and ohci of rk3399
  arm64: dts: rockchip: add rk3399 eDP HPD pinctrl
  arm64: dts: rockchip: add rk3399 thermal_zones phandle

Signed-off-by: Olof Johansson <olof@lixom.net>
2017-01-29 14:42:21 -08:00
Olof Johansson
eb9503e99a Bit of cleanup for the cortex-a9 uarts to have that soc-specific
spare-compatible as all others have, conversion to gpio constants
 and addition of rk3288 qos nodes that need to be saved before a
 power-domain gets turned off.
 -----BEGIN PGP SIGNATURE-----
 
 iQFEBAABCAAuFiEE7v+35S2Q1vLNA3Lx86Z5yZzRHYEFAliBUsIQHGhlaWtvQHNu
 dGVjaC5kZQAKCRDzpnnJnNEdgZKBB/9BVOysNvR/vLcao9jlU/an7c5vAwBdDl/G
 uvsAgVAYRT2FUPcy7LPIQCoQOkk9HA3kMwiKVJH+hGQ+/0FdrKZvKkln/Yb/bT+9
 GgQT2NblgNNDMfE76xQM0c7Y7Kj1oDrkGaAmdumnUPOSwMnSlxKD5j3fS2k4fz/t
 ZOnqHxfEVDldmPIe4C58X5aqsQ4OmAgE7uiykZ4P3Vc0le71/QtJ4jsx4kkXNh9l
 1+tGDfc1axmze/rEohw+BbNm3H5l8xMKFURlNE1Sr4dbW1y4o99mG7JVuxxfAQqd
 XYP76I2foNtaxKgW29sQs0vopw9UimUiIH9i8xu4UsOWoj6N29Gj
 =B1HN
 -----END PGP SIGNATURE-----

Merge tag 'v4.11-rockchip-dts32-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/dt

Bit of cleanup for the cortex-a9 uarts to have that soc-specific
spare-compatible as all others have, conversion to gpio constants
and addition of rk3288 qos nodes that need to be saved before a
power-domain gets turned off.

* tag 'v4.11-rockchip-dts32-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
  ARM: dts: rockchip: add soc-specific uart compatibles for rk3066/rk3188
  ARM: dts: rockchip: use pin constants to describe gpios
  ARM: dts: rockchip: add qos node for rk3288

Signed-off-by: Olof Johansson <olof@lixom.net>
2017-01-29 14:42:05 -08:00
Olof Johansson
61c5e4927b Some extensions to the power-domain driver to support domains in
hiword registers (write-mask in upper 16bit) and domain-definitions
 for the rk3328 soc.
 
 Secondly a "driver" that attaches to the already existing grf nodes
 and is able to set static defaults for settings that cannot really
 be attached to any specific subsystem.
 Most GRF settings can already be set from drivers using them, but there
 are some behavioural settings like the mmc/jtag switch that cannot.
 
 As the commit message states this is really meant as a last line
 of defence for things that neither belong to a subsystem nor to the
 
 Having this here allows arm64 socs to have this as well and also
 moves another bit of code out of the arm32 mach-rockchip.
 -----BEGIN PGP SIGNATURE-----
 
 iQFEBAABCAAuFiEE7v+35S2Q1vLNA3Lx86Z5yZzRHYEFAliBTccQHGhlaWtvQHNu
 dGVjaC5kZQAKCRDzpnnJnNEdgdMAB/42pPY0pKqOWlAfqzTSlIh98vi9jp0nZUu+
 6RMlaqewhHq/zbH0qqJdcBrYRZF+EmJpTDGG2nltNi8FLNMyr+y7a0FVyjk/u43L
 FnYELcDm7yeCZ0012ZP/4hlhWI9YizojbIKH4p2o8nIj64CS132ZMVVgojyzvVc1
 0WLWUf8FBiMqsBpa6Kl117pvKayagk79PM570Ee2kRBxanN8yQaKmXTqG670eKzo
 7nar1VGAubAVpCZfbv4opugGfrjYPJFX4gcu3yJvtRRN+hTt6idRP40YoCMZSVds
 +okL0XW4G70ioXqZBS59Wq5FJS7frr8HRJbYD8lZg2vF948ZQnbC
 =4aXM
 -----END PGP SIGNATURE-----

Merge tag 'v4.11-armsoc-drivers1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/drivers

Some extensions to the power-domain driver to support domains in
hiword registers (write-mask in upper 16bit) and domain-definitions
for the rk3328 soc.

Secondly a "driver" that attaches to the already existing grf nodes
and is able to set static defaults for settings that cannot really
be attached to any specific subsystem.
Most GRF settings can already be set from drivers using them, but there
are some behavioural settings like the mmc/jtag switch that cannot.

As the commit message states this is really meant as a last line
of defence for things that neither belong to a subsystem nor to the

Having this here allows arm64 socs to have this as well and also
moves another bit of code out of the arm32 mach-rockchip.

* tag 'v4.11-armsoc-drivers1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
  ARM: rockchip: drop rk3288 jtag/mmc switch handling
  soc: rockchip: add driver handling grf setup
  dt-bindings: add used but undocumented rockchip grf compatible values
  soc: rockchip: power-domain: add power domain support for rk3328
  dt-bindings: add binding for rk3328 power domains
  dt-bindings: power: add RK3328 SoCs header for idle-request
  soc: rockchip: power-domain: Support domain control in hiword-registers

Signed-off-by: Olof Johansson <olof@lixom.net>
2017-01-29 14:32:07 -08:00
Olof Johansson
ef73594a38 Improvements for Exynos PMU driver for v4.11:
Beside basic function of setting proper configuration for low power modes, the
 Exynos PMU (Power Management Unit) driver is also a provider of syscon regmap
 for its registers.  This regmap is essential to many other drivers wanting to
 or needing to implement low power mode.
 
 Exynos pinctrl driver, before getting support for Runtime Power Management,
 needs access to this syscon regmap.  Let's do it in a DT ABI friendly way.
 -----BEGIN PGP SIGNATURE-----
 
 iQIcBAABCAAGBQJYglMqAAoJEME3ZuaGi4PXM44QAIwQYe+ZaLJojKgAJ2wIP0Mc
 0Jc7DrI7YGc5SQRpyOWztVEPuUH04tqCymYpAIqJ8UwsVGYERPglVQdVML+P9oyR
 syIP7COQy5KvDtKMOrMid2+KJjf6zcEHQFecFEEkqffTmtlwnfmpSrSbtoIHFoK4
 33vuikSP3npGh9rHOClXi+SMtvor1hYg/8hPD6zfeXIbt6D5zIzTW/dIAFDm1gbV
 xdVJusWLOPcdOBB7eTO5GxBjTCWcrOojJOXr1M3hR/46Z2Vv/WEPaLv4h/FhJxhQ
 tXBCBppKvrjsmGfnKiKwAHrFF999cAyfjAW7kpAF+hCtLIMR+R17TI+EJ4ahDrbf
 ZQH+otFq0YioQbhFh4HUJ6EImXSBaGdDOlT7HZLWlruj3Yc6vyiLL17qQcGZp63g
 wrot39P0v04jIJewr4OR72KnfIAfkEkHkxgZMwV/YibsuzwOxxP8leax4oh2UELg
 GrzkOdiEulRPyyY2Xlq1TIEQS3wFkYDJNQJ9INW1yp4NYgPx0Q2/5JPz2w9Ep8aO
 ONp3h//Rt4bJRqI3vyhhhU1Rj90sKfutewggHC4jycxHCkaBS6/xtw6HJfxZzC82
 QnDxK/2ylQVpbA1Hy8hP90HkdhsvhwcUsXmhH66EszyUmdhjgl+iPgtDJGKwcHEC
 SlnIwnmZqI0r6NFraoao
 =ZQ36
 -----END PGP SIGNATURE-----

Merge tag 'samsung-drivers-soc-pmu-4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into next/drivers

Improvements for Exynos PMU driver for v4.11:

Beside basic function of setting proper configuration for low power modes, the
Exynos PMU (Power Management Unit) driver is also a provider of syscon regmap
for its registers.  This regmap is essential to many other drivers wanting to
or needing to implement low power mode.

Exynos pinctrl driver, before getting support for Runtime Power Management,
needs access to this syscon regmap.  Let's do it in a DT ABI friendly way.

* tag 'samsung-drivers-soc-pmu-4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  soc: samsung: pmu: Remove messages for failed memory allocation
  soc: samsung: pmu: Use of_device_get_match_data helper
  soc: samsung: pmu: Provide global function to get PMU regmap

Signed-off-by: Olof Johansson <olof@lixom.net>
2017-01-29 14:30:31 -08:00
Olof Johansson
a6589b44b0 Reset controller changes for v4.11
- fix ti_syscon reset_status reporting
 - add Hisilicon Hi3660 reset controller driver
 - add ZTE ZX2967 reset controller driver
 - add LD11 SD-reset block to uniphier reset controller driver
 - typo and correctness fixes
 - make reset_control_get variants return NULL instead of an
   error for optional, not specified resets and have the other
   reset API functions silently ignore rstc == NULL parameters.
 -----BEGIN PGP SIGNATURE-----
 
 iQJLBAABCAA1FiEEBsBxhV1FaKwXuCOBUMKIHHCeYOsFAliCRqkXHHAuemFiZWxA
 cGVuZ3V0cm9uaXguZGUACgkQUMKIHHCeYOuu8Q/+JWUI6eCOHLEKtHPW1/N1D05x
 htJZepx0QkY20s2hsyrRJYnMb6EcZaOxAuPIVTp6wGXc4xA0dbGEzIYvVoIZU05n
 B+S0hlDoolXxm0MawDSKrYzIhoMVG980Sg29O8y/RMr8FZoQUn9cUdKt0m3qQBX5
 IseZqtqRMQZvMUc1WGSokWIcaDekCNGWA9e5TEjMgi5HWL+fkg9YsaEfNEZocpoA
 lAYCzy3uYGtX6U/FD0h9Hb0Ky7d+NfIOA4IqC40pMukVI+PkxX3ZEGTD3/a20L0U
 dufHYKHvKxrq11op81ZH7Ma8MpOzSMD0ynnePR7DXVzQmovEOIy3TSq5SOAImjH0
 yv1QueHsWoBMN8n2CPmx3ifOhcmdr/7DesEZCIOCY2XiA+qZ0o2XYt+G6YA+teye
 T/JnaQCVz3aWBqnF9iNjOHaNX1PKToNDGEzcMZ1tX0V2WP2DqeilOWfQ7/aNUoI3
 zBGCgqvNV4wtKEUltcZqDhYAsOUtn8BvE6orVMGbnjQzwnHFJyv1r6iVhENp9qM8
 TdWEp3T2dDyg96qT96hu4ertx64tHWk14Dx+ednSbzmPT3BgEMXOqxOu5vUHW7AI
 OLX8RJhiSS58IUrFWMEp6havx+62WLv8B0HpZ69uQHRNpQX6q7x5Cyn4XcA3/6ww
 qFgTpmdTp7udsIEs848=
 =El64
 -----END PGP SIGNATURE-----

Merge tag 'reset-for-4.11' of git://git.pengutronix.de/pza/linux into next/drivers

Reset controller changes for v4.11

- fix ti_syscon reset_status reporting
- add Hisilicon Hi3660 reset controller driver
- add ZTE ZX2967 reset controller driver
- add LD11 SD-reset block to uniphier reset controller driver
- typo and correctness fixes
- make reset_control_get variants return NULL instead of an
  error for optional, not specified resets and have the other
  reset API functions silently ignore rstc == NULL parameters.

* tag 'reset-for-4.11' of git://git.pengutronix.de/pza/linux:
  reset: make optional functions really optional
  reset: Change shared flag from int to bool
  reset: uniphier: add compatible string for LD11 SD-reset block
  reset: zx2967: add reset controller driver for ZTE's zx2967 family
  MAINTAINERS: add zx2967 reset controller driver to ARM ZTE architecture
  dt: bindings: add documentation for zx2967 family reset controller
  Documentation: dt: reset: Revise typos in TI syscon reset example
  reset: constify reset_control_ops structures
  reset: hisilicon: add reset-hi3660
  dt-bindings: Document the hi3660 reset bindings
  reset: ti_syscon: fix a ti_syscon_reset_status issue

Signed-off-by: Olof Johansson <olof@lixom.net>
2017-01-29 14:29:23 -08:00
Linus Torvalds
566cf877a1 Linux 4.10-rc6 v4.10-rc6 2017-01-29 14:25:17 -08:00
Quentin Schulz
744cc304a1 power: supply: add AC power supply driver for AXP20X and AXP22X PMICs
The X-Powers AXP20X and AXP22X PMICs expose the status of AC power
supply.

Moreover, the AXP20X can also expose the current current and voltage
values of the AC power supply.

This adds the driver which exposes the status of the AC power supply of
the AXP20X and AXP22X PMICs.

Signed-off-by: Quentin Schulz <quentin.schulz@free-electrons.com>
Acked-by: Jonathan Cameron <jic23@kernel.org>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
[removed unused elements from struct axp20x_ac_power]
Signed-off-by: Sebastian Reichel <sre@kernel.org>
2017-01-29 23:15:18 +01:00
Quentin Schulz
38fa69682f dt-bindings: power: supply: add AXP20X/AXP22X AC power supply
The X-Powers AXP20X and AXP22X PMICs have an AC entry to supply power to
the board. They have a few registers dedicated to the status of the AC
power supply.

This adds the DT binding documentation for the AC power supply for
AXP20X and AXP22X PMICs.

Signed-off-by: Quentin Schulz <quentin.schulz@free-electrons.com>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Sebastian Reichel <sre@kernel.org>
2017-01-29 23:15:18 +01:00
Quentin Schulz
33863c938c power: supply: axp20x_usb_power: use IIO channels when available
The X-Powers AXP20X PMIC exposes the current current and voltage
measures via an internal ADC.

This adds the possibility to read IIO channels directly for processed
values rather than reading the registers and computing the value.

For backward compatibility purpose, if the IIO driver is not compiled,
this driver will fall back on previous behaviour which is direct
register readings.

Signed-off-by: Quentin Schulz <quentin.schulz@free-electrons.com>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Jonathan Cameron <jic23@kernel.org>
Signed-off-by: Sebastian Reichel <sre@kernel.org>
2017-01-29 23:15:17 +01:00
Javier Martinez Canillas
166e8dbd63 power: supply: max14656: Export I2C and OF device ID as module aliases
If the driver is built as a module, I2C module alias information is not
filled so the module won't be autoloaded. Export the I2C and OF devices
ID to the module by using the MODULE_DEVICE_TABLE() macro.

Before this patch:

$ modinfo drivers/power/supply/max14656_charger_detector.ko | grep alias
$

After this patch:

$ modinfo drivers/power/supply/max14656_charger_detector.ko | grep alias
alias:          i2c:max14656
alias:          of:N*T*Cmaxim,max14656C*
alias:          of:N*T*Cmaxim,max14656

Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Sebastian Reichel <sre@kernel.org>
2017-01-29 23:15:17 +01:00
Linus Torvalds
39cb2c9a31 drm/i915: Check for NULL i915_vma in intel_unpin_fb_obj()
I've seen this trigger twice now, where the i915_gem_object_to_ggtt()
call in intel_unpin_fb_obj() returns NULL, resulting in an oops
immediately afterwards as the (inlined) call to i915_vma_unpin_fence()
tries to dereference it.

It seems to be some race condition where the object is going away at
shutdown time, since both times happened when shutting down the X
server.  The call chains were different:

 - VT ioctl(KDSETMODE, KD_TEXT):

    intel_cleanup_plane_fb+0x5b/0xa0 [i915]
    drm_atomic_helper_cleanup_planes+0x6f/0x90 [drm_kms_helper]
    intel_atomic_commit_tail+0x749/0xfe0 [i915]
    intel_atomic_commit+0x3cb/0x4f0 [i915]
    drm_atomic_commit+0x4b/0x50 [drm]
    restore_fbdev_mode+0x14c/0x2a0 [drm_kms_helper]
    drm_fb_helper_restore_fbdev_mode_unlocked+0x34/0x80 [drm_kms_helper]
    drm_fb_helper_set_par+0x2d/0x60 [drm_kms_helper]
    intel_fbdev_set_par+0x18/0x70 [i915]
    fb_set_var+0x236/0x460
    fbcon_blank+0x30f/0x350
    do_unblank_screen+0xd2/0x1a0
    vt_ioctl+0x507/0x12a0
    tty_ioctl+0x355/0xc30
    do_vfs_ioctl+0xa3/0x5e0
    SyS_ioctl+0x79/0x90
    entry_SYSCALL_64_fastpath+0x13/0x94

 - i915 unpin_work workqueue:

    intel_unpin_work_fn+0x58/0x140 [i915]
    process_one_work+0x1f1/0x480
    worker_thread+0x48/0x4d0
    kthread+0x101/0x140

and this patch purely papers over the issue by adding a NULL pointer
check and a WARN_ON_ONCE() to avoid the oops that would then generally
make the machine unresponsive.

Other callers of i915_gem_object_to_ggtt() seem to also check for the
returned pointer being NULL and warn about it, so this clearly has
happened before in other places.

[ Reported it originally to the i915 developers on Jan 8, applying the
  ugly workaround on my own now after triggering the problem for the
  second time with no feedback.

  This is likely to be the same bug reported as

     https://bugs.freedesktop.org/show_bug.cgi?id=98829
     https://bugs.freedesktop.org/show_bug.cgi?id=99134

  which has a patch for the underlying problem, but it hasn't gotten to
  me, so I'm applying the workaround. ]

Cc: Daniel Vetter <daniel.vetter@intel.com>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Imre Deak <imre.deak@intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2017-01-29 13:50:06 -08:00
Moshe Shemesh
d15118af26 net/mlx5e: Check ets capability before ets query FW command
On dcbnl callback getpgtccfgtx, the driver should check the ets
capability before ets query command is sent to firmware.
It is valid to return from this void function without changing in/out
parameters, as these parameters are initialized to
DCB_ATTR_VALUE_UNDEFINED.

Fixes: 3a6a931dfb ("net/mlx5e: Support DCBX CEE API")
Signed-off-by: Moshe Shemesh <moshe@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
2017-01-29 23:31:26 +02:00
Gal Pressman
a100ff3eef net/mlx5e: Fix update of hash function/key via ethtool
Modifying TIR hash should change selected fields bitmask in addition to
the function and key.

Formerly, Only on ethool mlx5e_set_rxfh "ethtoo -X" we would not set this
field resulting in zeroing of its value, which means no packet fields are
used for RX RSS hash calculation thus causing all traffic to arrive in
RQ[0].

On driver load out of the box we don't have this issue, since the TIR
hash is fully created from scratch.

Tested:
ethtool -X ethX hkey  <new key>
ethtool -X ethX hfunc <new func>
ethtool -X ethX equal <new indirection table>

All cases are verified with TCP Multi-Stream traffic over IPv4 & IPv6.

Fixes: bdfc028de1 ("net/mlx5e: Fix ethtool RX hash func configuration change")
Signed-off-by: Gal Pressman <galp@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
2017-01-29 23:31:18 +02:00
Gal Pressman
1d3398facd net/mlx5e: Modify TIRs hash only when it's needed
We don't need to modify our TIRs unless the user requested a change in
the hash function/key, for example when changing indirection only.

Tested:
 # Modify TIRs hash is needed
ethtool -X ethX hkey  <new key>
ethtool -X ethX hfunc <new func>

 # Modify TIRs hash is not needed
ethtool -X ethX equal <new indirection table>

All cases are verified with TCP Multi-Stream traffic over IPv4 & IPv6.

Fixes: bdfc028de1 ("net/mlx5e: Fix ethtool RX hash func configuration change")
Signed-off-by: Gal Pressman <galp@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
2017-01-29 23:29:32 +02:00