Enable internal AHB-PCI bridges for the USB EHCI/OHCI controllers attached to
them.
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
[horms+renesas@verge.net.au: minor witespace changes]
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Enable internal AHB-PCI bridges for the USB EHCI/OHCI controllers attached to
them.
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
[horms+renesas@verge.net.au: minor witespace changes]
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Sharvil noticed with the posix timer_settime interface, using the
CLOCK_REALTIME_ALARM or CLOCK_BOOTTIME_ALARM clockid, if the users
tried to specify a relative time timer, it would incorrectly be
treated as absolute regardless of the state of the flags argument.
This patch corrects this, properly checking the absolute/relative flag,
as well as adds further error checking that no invalid flag bits are set.
Reported-by: Sharvil Nanavati <sharvil@google.com>
Signed-off-by: John Stultz <john.stultz@linaro.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Prarit Bhargava <prarit@redhat.com>
Cc: Sharvil Nanavati <sharvil@google.com>
Cc: stable <stable@vger.kernel.org> #3.0+
Link: http://lkml.kernel.org/r/1404767171-6902-1-git-send-email-john.stultz@linaro.org
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Use a sequence for enabling hardware control of the SATA PLL
that works both when using the SATA lane with SATA and when
using it with XUSB.
Signed-off-by: Mikko Perttunen <mperttunen@nvidia.com>
Make the assumption that media workloads are not as latency sensitive
for __wait_seqno, and that upclocking the GPU does not affect the BLT
engine. Under that assumption, we only wait to forcibly upclock the GPU
when we are stalling for results from the render pipeline.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Deepak S<deepak.s@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This removes the FIXME message above ocpi_enable being declared
for proper locking in this function. As of the current kernel
verisons there is no need for locking as only one driver uses
this function currently and therefore there is no need for real
locking requirements.
Signed-off-by: Nicholas Krause <xerofoify@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Add ABB device nodes for OMAP5 family of devices. Data is based on
final production OMAP543x Technical Reference Manual revision Z (April 2013).
Final production Data Manual for OMAP5432 SWPS050F(APRIL 2014).
[nm@ti.com: co-developer and updates to latest documentation]
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Andrii.Tseglytskyi <andrii.tseglytskyi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
This code is not working currently and it can be removed. There is a
conflict in sharing resources with the actual HDMI driver and with
the ASoC HDMI audio DAI driver.
Signed-off-by: Jyri Sarha <jsarha@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
With commit b6b8a1451f that introduced
vmx_check_nested_events, checks for injectable interrupts happen
at different points in time for L1 and L2 that could potentially
cause a race. The regression occurs because KVM_REQ_EVENT is always
set when nested_run_pending is set even if there's no pending interrupt.
Consequently, there could be a small window when check_nested_events
returns without exiting to L1, but an interrupt comes through soon
after and it incorrectly, gets injected to L2 by inject_pending_event
Fix this by adding a call to check for nested events too when a check
for injectable interrupt returns true
Signed-off-by: Bandan Das <bsd@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
PRCM code (when DSPBridge is used) for v3.16-rc.
Basic build, boot, and PM test logs are available here:
http://www.pwsan.com/omap/testlogs/prcm-a-v3.16-rc/20140706174258/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABAgAGBQJTusBYAAoJEMePsQ0LvSpL0JgQAKsVXDTh1yeLzU1NT3Np0zJs
rptjUTz3KGdq0ReU5N1Oe0J/cGbz4JFcN/Ug7l2fywKFeqK7QBBzcWL9NBVYKP+v
OndbBi7OARd6iYEYsJwgFERe86ZwpE1KpR4Vnyo9uv3sA2AbbXbwvbjC0d/sktnV
oCC83X2ahYauPj0/6suHtiZamuTvThCmM3hxMH2TFFoPaQKKV5BHp8dRXNjCZ5jg
s/dfCX3dgb9S9HGbgsZBToqTmyMQ09hv0H0m3KAOveJQFgdwBSDgE94chOSdx3Kk
DanBawF1LJmkpFwLUcTIbIkdBjGBBat4b2EVgPjyEFqWqWJgEHs56vSLsSwCkbi5
9tIu67aUP7VJCsibWECAOMtli7uYy/liYY/dUZhqrck6TT1tukhHKjjsuWr/9xY+
TU/Rd8PA5ytp92r2AkdN+Ztz6j1HUQQbGPmmIfOHuBB4WilwSF0Zgx+3c6bc9hMf
36J0qLYowaBYY57UN6joLGiPNcR7TgsEunCzsCxuGGby4rpFqy95Ml2aWFRn32bH
LUgmAgaSNlk+v4E1iG7jJMHoH2xpKw+2+PNkIVC3WE8saE10qjZvebNUVJXb9bY1
VMuLHHrSc148ou0g+rM4ehF3PEbIBPd4SOxFwVsefPbAnpUSC+hj+SptYGWbLPJJ
D+2noXhqssqVlvizxGoj
=CanJ
-----END PGP SIGNATURE-----
Merge tag 'for-v3.16-rc/omap-fixes-b' of git://git.kernel.org/pub/scm/linux/kernel/git/pjw/omap-pending into omap-for-v3.16/fixes
Some miscellaneous fixes for OMAP clock code, DRA7xx device data, and
PRCM code (when DSPBridge is used) for v3.16-rc.
Basic build, boot, and PM test logs are available here:
http://www.pwsan.com/omap/testlogs/prcm-a-v3.16-rc/20140706174258/
0-day kernel build testing reports:
arch/x86/kvm/x86.o: In function `iommu_device_destroy':
>> (.text+0x7a0a): multiple definition of `iommu_device_destroy'
arch/x86/kvm/../../../virt/kvm/vfio.o:vfio.c:(.text+0x490): first defined here
arch/x86/kvm/x86.o: In function `iommu_device_link':
>> (.text+0x7a15): multiple definition of `iommu_device_link'
arch/x86/kvm/../../../virt/kvm/vfio.o:vfio.c:(.text+0x49b): first defined here
arch/x86/kvm/x86.o: In function `iommu_device_unlink':
>> (.text+0x7a25): multiple definition of `iommu_device_unlink'
arch/x86/kvm/../../../virt/kvm/vfio.o:vfio.c:(.text+0x4ab): first defined here
arch/x86/kvm/x86.o: In function `iommu_device_create':
>> (.text+0x79f8): multiple definition of `iommu_device_create'
arch/x86/kvm/../../../virt/kvm/vfio.o:vfio.c:(.text+0x47e): first defined here
These are due to failing to define the stubs as static inline. Fix.
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
- L2CC latency properties for BG2Q
- DW i2c nodes for BG2Q and corresponding dev board
- SMP related nodes for BG2 and BG2Q
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABAgAGBQJTsWf4AAoJEN2kpao7fSL49BkQAIFRcw5YH8Ss72do+sDxNQMU
in1GZ5mHBrLzu0qjAbEe3jrKmXUQDWhRqkIVtM4A6HTb9RwM+85eNVfziyld0K8F
O6tErJlVhvK6hG63Cl/M/QIZZEMoAsOeM/NRrOoij0yftFdgdHz1mUp+RFxtdiuS
mL8iarnn2mL9IpiBZYz1I+0Y7HxgX5+dVdG9uHRzhzLJffxkl0kki21dtaKEUInv
n2RlF93L9PtVgRGUer9UEXDRG7VNd594fT56q5kOU8vyYsLXltDcvzI56+jIXO+s
JsjTTUsboXOHK9BCzjONcRYiLZQ8g4M5GkeNOb6oDpy3sQSS7ORf4WpKYhyRnvVI
0MMY/RzVO06WOXdTW0yd25pH6j/EmkpqGa+8RqGwXk1twJqyPL5cfPzwbqtQ4Re3
RNXtbwp6qxECJ4oRf8rc8xUlWKH49xf0hiVkX1aKQKp+8qsyOvhCug4sAnFehOZM
DShXdxmGM9bSi9wYswLs+a1dPEJPlpE2ALUfZAYUuxwsziAPTztioKVS8Ht7TjBA
aqINoFNOlpi0m84SbXGIP0E3inhpe6KdrD98tPFPlxWhi3uom4i8qsjbRcHDIjYp
Hg9oa3U+Go2C4UPFnhqMxCbQFK1tgNOCGHrTRsLsO3uJ9g+IbFkqQPH088PO8eOm
aLcy2Hxd9AnhIU2GZTB6
=PEAV
-----END PGP SIGNATURE-----
Merge tag 'berlin-dt-3.17-1' of git://git.infradead.org/users/hesselba/linux-berlin into next/dt
Merge "Berlin DT changes for v3.17" from Sebastian Hesselbarth:
- L2CC latency properties for BG2Q
- DW i2c nodes for BG2Q and corresponding dev board
- SMP related nodes for BG2 and BG2Q
* tag 'berlin-dt-3.17-1' of git://git.infradead.org/users/hesselba/linux-berlin:
ARM: dts: berlin: add SMP related nodes and properties for BG2Q
ARM: dts: berlin: add SMP related nodes and properties for BG2
Documentation: bindings: add the marvell,berlin-smp CPU enable method
Documentation: bindings: add the Berlin CPU control doc
ARM: dts: berlin: enable i2c0 and i2c2
ARM: dts: berlin: add I2C nodes for BG2Q
ARM: dts: berlin2q: set L2CC tag and data latency to 2 cycles
Signed-off-by: Olof Johansson <olof@lixom.net>
- SMP support for BG2 and BG2Q
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABAgAGBQJTsWd4AAoJEN2kpao7fSL4Uq8P/2cRieGwUc7KBKIeK9pGIOrf
9rLXyK57siZIgdBCTR0/EitNs+SuHNMy9NEYwVc0EasnarJW70Gy1Iq+F3WlaiVi
OZrXqdl//pjGpmzAUujZiacsbg75AAvMKudqCLKeVK0CLvLAviRtHhtOE2878ase
YGDEcFqdYqE4cktX6wOnF0MWzJa+s4V/ekh4450P+1XObR+Qluc4S2Q2U7BVfIN3
jSNtyYO1QV5dTwuCYlDA+t0dyxU1ZF7HVHvEZX7nAQQhmS0YKRJP3OdhqTRZCAj4
H0/5nJP298zbqioZ2ilGYz5o17Dn+gNL6+RDiK/rvWxeeUU7z3ZoYEOV1ddwBAxw
cMto/v5gILRfQ8aROOQ6++1J0tutcMIvAdnTZ9GHfID1oGbBb9h8BD37+XB5teFX
0EwFzyZ1PPeznK4Ty803t+x5GDaz5wqe4KQpAfqNAXFwUfdpM7Tb+sFE1NDHCqmS
uP7J+0yCMQQy2WkUKin3vOV/+2RyFs11QUT8onh5uuiRkG+1IPEFyA3BQjgA+H5J
WZqhM923Wqx+9Y/oUK9zOP8MeJpCu5n4Q+f1FQX0Nx++HJZMTUaUIClasf36INo0
EyMqTrF8WrLaUCSiuu6/OsrMBcryFOZH+df5qMmCxVDd6Ztizo3F8rSU7fzXvRcz
lVHpsWJnNYiYCN18h7T4
=iBym
-----END PGP SIGNATURE-----
Merge tag 'berlin-soc-3.17-1' of git://git.infradead.org/users/hesselba/linux-berlin into next/soc
Merge "Berlin SoC changes for v3.17" from Sebastian Hesselbarth:
- SMP support for BG2 and BG2Q
* tag 'berlin-soc-3.17-1' of git://git.infradead.org/users/hesselba/linux-berlin:
ARM: berlin: add SMP support
Signed-off-by: Olof Johansson <olof@lixom.net>
- kirkwood
- add setup file for netxbig LEDs (non-trivial DT binding doesn't exist yet)
- mvebu
- staticize where needed
- add CPU hotplug for Armada XP
- add public datasheet for Armada 370
- don't apply thermal quirk by default
- get SoC ID from the system controller when possible
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (GNU/Linux)
iQIcBAABAgAGBQJTsqSHAAoJEP45WPkGe8Zn/6QP/2cTEIpMUDVMHCIPqyu32xNX
3uprZuay6hL5vyLOM/p2iUHLGyMVKvEVVWJuB2bGZX9Nf47Uq92PQ4MEGxS7xJYU
EKh8qjX3rQBFpsX1mOyP4XStlYxI5QxM3Jie2n2lquo5mxMMNNU8FcNWWMw02W0g
EfyKwtxNRBkZi8KhgvDDGvE+Oe6qB394p/erFDaP8s9vLbGisoX/prnqBEYOWbAA
e8qy338lSVu/if/Q4U4ffjBRXFShw1uJK+AHS9xEH2veuBisR3FaHcIqvgYpeMqx
sIJWVyNaqWFs3kEAp4TlEkoEGUIc1Z/pL76WK69mgpnCO3X0OtnNFlrwMqb8rAwg
9ziHN9uxSmxcjSLeYlroCxHzt8XKZ0UPmPASZq78Sl/q9Gr0V6bPTPusUYPKDln4
uR7Px49Vvuc1ijn2mWRAQMW9wvDGCgUw8u3nhOHLktH2osWfD41SjAmbLEnysP//
7j3Rw+auxtbyFrKGQDfVon+l/yUrUT9jXW6yq7/ON/YpT4OSJTHWz19nvokyCmW1
aH8qlKS2oMy1ZfncWgHjgVCREmQP9lSfxfpqsHLxPVRPDuyhwp10EN3JeO+9MS85
Vf9YveGiYWuGhkZtYrTy8qFMLoHOaTum5HVONNor0KIlUpeC5Epc7G2jO0P/Nmfx
roK5zlcKzTGFyVZKDuur
=Uq4l
-----END PGP SIGNATURE-----
Merge tag 'mvebu-soc-3.17' of git://git.infradead.org/linux-mvebu into next/soc
Merge "mvebu SoC changes for v3.17" from Jason Cooper:
- kirkwood
* add setup file for netxbig LEDs (non-trivial DT binding doesn't exist yet)
- mvebu
* staticize where needed
* add CPU hotplug for Armada XP
* add public datasheet for Armada 370
* don't apply thermal quirk by default
* get SoC ID from the system controller when possible
* tag 'mvebu-soc-3.17' of git://git.infradead.org/linux-mvebu:
ARM: mvebu: Staticize mvebu_cpu_reset_init
ARM: mvebu: Staticize armada_370_xp_cpu_pm_init
ARM: mvebu: Staticize armada_375_smp_cpu1_enable_wa
ARM: mvebu: Use system controller to get the soc id when possible
ARM: mvebu: Use the a standard errno in mvebu_get_soc_id
ARM: mvebu: Don't apply the thermal quirk if the SoC revision is unknown
Documentation: arm: add URLs to public datasheets for the Marvell Armada 370 SoC
ARM: mvebu: implement CPU hotplug support for Armada XP
ARM: mvebu: export PMSU idle enter/exit functions
ARM: mvebu: slightly refactor/rename PMSU idle related functions
ARM: mvebu: remove stub implementation of CPU hotplug on Armada 375/38x
ARM: Kirkwood: Add setup file for netxbig LEDs
ARM: mvebu: mark armada_370_xp_pmsu_idle_prepare() as static
Signed-off-by: Olof Johansson <olof@lixom.net>
- Remove <mach/memory.h> from the Integrator, paving the
road for multiplatform.
- Push the CLCD helper code down into the framebuffer subsystem,
removing the last hook in plat-versatile for the Integrator,
also paving the road for multiplatform.
Patches tested on Integrator/AP, Integrator/CP and Versatile AB
(all real hardware).
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABAgAGBQJTrSikAAoJEEEQszewGV1zh9oP+QHoI4WOUhHJMPNBa5ZpUXdZ
KnbNHQrBvmSoMfVjQyiJnNz8AJGzlabIA/usMXw0q2QHB3SKx28zOVwhsI2mh1sk
mVWIyr5ZQa4O5yRwyJtQKbwGRjEi8wQMHYJRMhJLioDgMAWaYC1t/fFNKH/JH+mi
JoE/CD+/DBl1lw8px4udL4lisDMSguYOLRoq4GhHPfOEbnMOV4trV2dT7Wn6z3V9
TcLj9r30rBZcf/GD3+vOzMsUxJtUNU+u/sqfFBbetqrZut5K4PrM4Ybc7xBwJEFr
55/szveJS4pb+rSZWaCGanSizDTV9P4rjvWsBqVFw2xe1b+HElXZGUmsD0CXsNe4
64LRTlY5smISgkeQhGqfYyZ4c0n221ceSRsKEV526N7MHKH4wc065wkv+edwps5C
Yh/kvzo4zgt4pZPP2RNNZm4Rt5aI40W4GYtuV6NzJs2rNrAXDzVibmSRrgkh1j5M
nbtl3Ygxbwt5VwMGg56AqvPj8tOUrolNBC12b6Pumakpvlr/br918GtOKvrSqKaT
FSXTHnkYNcn5vwChXMc6kqXfl/rh/eKDYlevkrSPDgiKergqJBZMQjoSOTVxgAox
q+zbOK88qHJOFdXuulcAaPFoRWLmjJ+90sg3uq/nCOD0ZrRyvn/lVIxlPZDcnbcC
Bc6/qzYhqE3/ulMMBO9n
=7Tuj
-----END PGP SIGNATURE-----
Merge tag 'versatile-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator into next/cleanup
Merge "First pull request of Versatile family clean-ups for v3.17" from Linus
Walleij:
- Remove <mach/memory.h> from the Integrator, paving the
road for multiplatform.
- Push the CLCD helper code down into the framebuffer subsystem,
removing the last hook in plat-versatile for the Integrator,
also paving the road for multiplatform.
Patches tested on Integrator/AP, Integrator/CP and Versatile AB
(all real hardware).
* tag 'versatile-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator:
video: move Versatile CLCD helpers
ARM: integrator: get rid of <mach/memory.h>
Signed-off-by: Olof Johansson <olof@lixom.net>
* armadillo800eva LED support
* Remove now unnecessary work arounds for c\lock issues
* Enable R-Car Gen2 CMA code
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABAgAGBQJTqnrGAAoJENfPZGlqN0++EMgP/iQRcS2YfZ8lg+vUI9Upcihf
ypBXWYUvCZ59A0fkiRYkU5jIDFqr4BpAAzDGjBQWhxtbZYCb/OZrxGzsDBYpG96H
QTAHFKU4iqc3b1YJmQFQfvWMcDaFT/WpwOSvfBYxmw1zT6emTth3amqmT7vtgmxh
x7/i7dGUjORxyBG1SwGropSK9FqMamFDTfDos7a+Qmc7lPtWOtsmQ0YcLN9Expxx
iqRzCMI3ePd1OrvQZ0QSQ4gD/D7xvFm0uDgiUmy4wGsy60IZDfq6PuMMllAEztU5
WArNa/8NQEGxjDVK8OeT1dZSQW2NIRwQyfar62dCxTBf9gKT3PJyqgvt45pyAtNp
kqupwSTEZtSrH3hoDao0pNAUSB5K6ioPaZmnhaDubOwNdrTqGoDmJNhth2+jZ/Qp
/kDQNnTjcVhsKqbqGIqcuVTcQu50aCXw1/aZshcXFoGK2uVKg9VJTA9JwGnqFQDY
JUPLDHN6AzvJ5uLI0pmge8a+fevpB26pAgfKUDPp47pNN558NUohANDeDIF9TkJe
YoL1eiLIyBVMj00xpmkdbPu9jw+IfSO7jEKo/qsyPOpNdW3w/Bs7pcerABnVvUbC
48xb/tGA615td4OmcXFCHKRW0JHjBFcFGV25PfTzWad9Qh7VHSXuYEXGsxV/t2Sb
uHhak3TLi8bapMM/rqAr
=/jQc
-----END PGP SIGNATURE-----
Merge tag 'renesas-boards-for-v3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/boards
Merge "Renesas ARM Based SoC Boards Updates for v3.17" from Simon Horman:
- armadillo800eva LED support
- Remove now unnecessary work arounds for c\lock issues
- Enable R-Car Gen2 CMA code
* tag 'renesas-boards-for-v3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
ARM: shmobile: Enable R-Car Gen2 CMA code in board files
ARM: shmobile: armadillo800eva reference: Spelling s/ED/LED/
ARM: shmobile: armadillo800eva legacy: Add LED support
ARM: shmobile: lager-reference: Remove workarounds for core clock issues
ARM: shmobile: koelsch-reference: Remove workarounds for core clock issues
Signed-off-by: Olof Johansson <olof@lixom.net>
* Use shmobile_init_late on r8a7791 and r8a7790 whien booting using DT-only
* Support Core-Standby for Suspend to RAM on r8a7791 and r8a7790 SoCs
* Shared CMA reservation for R-Car Gen2 SoCs
* Add r8a7791 SYSC power management support
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABAgAGBQJTqnn+AAoJENfPZGlqN0++SZIP/jn48ADVugeEANLibUl10IBb
hWKh80Fr4/ELaXd0KJTa8SDzLW/JB3rr29bwBhkRWIcsMIeWObI2wJEnSVX2yZkO
ZBijr9FbdmhQ5VmkXEqjUqYkGKx/0IGHMFQ8R6Io3tiwpLXFdz2+moT8cu3Rl4TP
WNvP+xEPjvPUb/7PygXg2Ypdq5jmV4j24LUCJj+yo3ULP2zv92d620CuWT3P0zbv
5PRP3SvbzgwYHhINFF8e4StYsjrl++V+w5pjdm3XDcVNkDoc6p/e8Jqse6wjAYY+
2ShUXhfg7/D56BlEChHb6xwlJmImO81x1NrB5zM69vpvGGQ9fW1XwDAtrFzocDag
vDDp4KIY8TD/T6E6KhEpOdW1GSWYukJ2PBqsgxuYaY8eBO7HDPbG5klj8VEfACgu
ZeY0F2Uq/wb1mJNh32s1FIaWQPGAGPY5Yi77ShHbo3xKQBlqtY2M3Snw8hYLUKgS
tDowT94fWAdXXlFCtvOUMyPEa5+hqZ68PlYFU7Z0jvYcaUm9Ui/EEgo7YqdBWh9e
CVN1fG5SvV8HY5h81GqvC87B45EzALqMG28rhv4e0rSP9PxHuIGWd/m22ea+aV8G
eDKinQ0+EXeyG6BKjbx63s3zGiv60gNcj8anG7Kd6UNpyLnRGewWJkIpSonmqO9R
TQNXLY08LHnONq/gw5Xc
=6J6K
-----END PGP SIGNATURE-----
Merge tag 'renesas-soc-for-v3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc
Merge "Renesas ARM Based SoC Updates for v3.17" from Simon Horman:
- Use shmobile_init_late on r8a7791 and r8a7790 whien booting using DT-only
- Support Core-Standby for Suspend to RAM on r8a7791 and r8a7790 SoCs
- Shared CMA reservation for R-Car Gen2 SoCs
- Add r8a7791 SYSC power management support
* tag 'renesas-soc-for-v3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
ARM: shmobile: Remove ARCH_HAS_CPUFREQ config for shmobile
ARM: shmobile: rcar-gen2: update call to dma_contiguous_reserve_area
ARM: shmobile: rcar-gen2: correct return value of shmobile_smp_apmu_suspend_init
ARM: shmobile: rcar-gen2: Remove useless copied section for LongTrail
ARM: shmobile: rcar-gen2: Use "1ULL" instead of "(u64)1"
ARM: shmobile: rcar-gen2: Update for of_get_flat_dt_prop() update
ARM: shmobile: Add shared R-Car Gen2 CMA reservation code
ARM: shmobile: Use shmobile_init_late() on r8a7791 DT-only
ARM: shmobile: Use shmobile_init_late() on r8a7790 DT-only
ARM: shmobile: Mark all SoCs in shmobile as CPUFreq, capable
ARM: shmobile: r8a7791: Support Core-Standby for Suspend to RAM
ARM: shmobile: r8a7790: Support Core-Standby for Suspend to RAM
ARM: shmobile: APMU: Add Core-Standby-state for Suspend to RAM
ARM: shmobile: r8a7791 SYSC setup code
Signed-off-by: Olof Johansson <olof@lixom.net>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQEcBAABAgAGBQJTqdFdAAoJEMhvYp4jgsXiH0IH/iswt8+Vnk5XV+d5U18sxhcp
TG9UW3mOnaaNIq3oeyQIXanKbWoSSmiE6FeFO6JqUjHZlutAaah+3EhUfYihZyAC
+LsFHA1rzhBzKJlwso5/m52Gj+Feuk6FtUsthRqOYaM/uFz43/uAwX9I53TLUHzK
Ef3uEUMiddmwZwZ+ODQMLnVKp6gKEgBjB4YLVo8HZ//Tm3P6nuHdp3V/u/TTmU8r
SqGQ1Uyl/6nhRtfJS+6BcWU/V95lN1FoGORh758ZRh41xKfRM7T2q3/aN1Tqa3Bu
NqQJ1oDwBj18yHZAKDR2VMx0zIV0PE/gyWZufBi8F+5fTt7x+lFf0dlUyJelPbo=
=JWtP
-----END PGP SIGNATURE-----
Merge tag 'versatile-for-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux into next/soc
Merge "DT IRQ and clock support for Versatile platforms" from Rob Herring.
This branch moves IRQ and clock support over to DT for the versatile
platforms.
* tag 'versatile-for-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
clk: versatile: add versatile OSC support
dts: versatile: add clock tree
ARM: timer-sp: allow getting timer1 clock from DT to fallback to legacy clock
dt/bindings: add compatible string for versatile osc clock
dt/bindings: arm-boards: add binding for Versatile core module
dts: versatile: add pl180 compatible strings
ARM: versatile: remove init_irq hook for DT boot
ARM: integrator: convert to use irqchip_init
irqchip: versatile-fpga: add support for arm,versatile-sic
irqchip: versatile-fpga: Add IRQCHIP_DECLARE support
dts: versatile: add missing irq controller properties
Tested-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Jason Cooper <jason@lakedaemon.net>
Signed-off-by: Olof Johansson <olof@lixom.net>
The undo code assumes that, upon entering loss recovery, TCP
1) always retransmit something
2) the retransmission never fails locally (e.g., qdisc drop)
so undo_marker is set in tcp_enter_recovery() and undo_retrans is
incremented only when tcp_retransmit_skb() is successful.
When the assumption is broken because TCP's cwnd is too small to
retransmit or the retransmit fails locally. The next (DUP)ACK
would incorrectly revert the cwnd and the congestion state in
tcp_try_undo_dsack() or tcp_may_undo(). Subsequent (DUP)ACKs
may enter the recovery state. The sender repeatedly enter and
(incorrectly) exit recovery states if the retransmits continue to
fail locally while receiving (DUP)ACKs.
The fix is to initialize undo_retrans to -1 and start counting on
the first retransmission. Always increment undo_retrans even if the
retransmissions fail locally because they couldn't cause DSACKs to
undo the cwnd reduction.
Signed-off-by: Yuchung Cheng <ycheng@google.com>
Signed-off-by: Neal Cardwell <ncardwell@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
The add_vxlan_port ndo driver code was wrongly testing whether HW vxlan offloads
are supported by the device instead of checking if they are currently enabled.
This causes the driver to configure the HW parser to conduct matching for vxlan
packets but since no steering rules were set, vxlan packets are dropped on RX.
Fix that by doing the right test, as done in the del_vxlan_port ndo handler.
Fixes: 1b136de ('net/mlx4: Implement vxlan ndo calls')
Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Tom Lendacky says:
====================
amd-xgbe: AMD 10Gb Ethernet driver updates
The following series fixes some bugs and provides new/changed support
in the driver.
- Fix a debugfs backward compatibility issue introduced by a previous patch
- Write to the interrupt enablement register, not the status register when
setting MTL interrupts
- Call netif_napi_del whenever the ndo_stop operation is called (to match
the call to netif_napi_add on ndo_open)
- Peformance enhancements:
- Adjusted default coalescing settings
- AXI DMA changes (burst length size and cache settings)
- ioread/iowrite reduction during interrupt
- Napi poll updates
- AXI DMA settings based on device tree property to account for a change in
the ARM64 default cache operations assignment
This patch series is based on net-next.
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
The default cache operations for ARM64 were changed during 3.15.
To use coherent operations a "dma-coherent" device tree property
is required. If that property is not present in the device tree
node then the non-coherent operations are assigned for the device.
Add support to the amd-xgbe driver to assign the AXI DMA cache settings
based on whether the "dma-coherent" property is present in the device
node. If present, use settings that work with the caches. If not
present, use settings that do not look at the caches.
Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This patch provides some general performance enhancements for the
driver:
- Modify the default coalescing settings (reduce usec, increase frames)
- Change the AXI burst length to 256 bytes (default was 16 bytes which
was smaller than a cache line)
- Change the AXI cache settings to write-back/write-allocate which
allocate cache entries for received packets during the DMA since the
packet will be processed soon afterwards
- Combine ioread/iowrite when disabling both the Tx and Rx interrupts
- Change to processing the Tx/Rx channels in pairs
- Only recycle the Rx descriptors when a threshold of dirty descriptors
is reached
Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Currently the napi context is added using netif_napi_add each time
the ndo_open operation is called. However, there is not a
corresponding netif_napi_del call during the ndo_stop operation. If
the device ndo_open operation was called more than once an infinite
loop occurs during module unload. Add a call to netif_napi_del during
the ndo_stop operation.
Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
When initializing the MTL interrupts the interrupt status
register is written to instead of the interrupt enable register.
Since no MTL interrupts are being enabled and the default state
is for MTL interrupts to be disabled this did not cause a problem,
but needs to be fixed to target the correct register.
Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
The initial change from sscanf to kstrtouint broke backward
compatbility by using a base of "0" in the kstrtouint call.
This allowed for entering decimal, hexadecimal or octal as
input where previously the sscanf always interpreted the input
as hexadecimal. Additionally, -EIO was returned on error prior
to this change and now it is whatever the error value that is
returned by kstrtouint.
Change the base value of the kstrtouint from 0 to 16 and return
-EIO on error.
Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
Reported-by: Joe Perches <joe@perches.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
The header file include/linux/arcdevice.h #defines bool to int, if
bool is not already #defined. However, the files which use that header
file seem to rely on that #define (unconditionally) being in effect:
the prototypes for the functions arcrimi_reset, com20020_reset,
com90io_reset, com90xx_reset (whose addresses are assigned to the
hw.reset member of struct arcnet_local) use int explicitly.
Moreover, that #define is an accident waiting to happen (scenario:
inclusion of arcdevice.h followed by inclusion of some header which
declares function prototypes using bool). Also, #include
<linux/types.h> must appear before #include <linux/arcdevice.h> (the
compiler wouldn't like "typedef _Bool int").
Since none of the files using arcdevice.h declare variables of type
"bool", the patch is actually quite simple, unlike the commit message.
Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Signed-off-by: David S. Miller <davem@davemloft.net>
enic_set_coalesce() has two problems.
* It should return -EINVAL and not -EOPNOTSUPP for invalid coalesce values.
* In case of MSIX, enic_set_coalesce return error after applying requested
coalescing setting partially. We should either apply all the setting requeste
and return success or apply non and return error.
* This patch also simplifies the algo.
This was introduced by
'7c2ce6e60f enic: Add support for adaptive interrupt coalescing'
These changes were suggested by Ben Hutchings here
http://www.spinics.net/lists/netdev/msg283972.html
Also change enic driver version.
Signed-off-by: Govindarajulu Varadarajan <_govind@gmx.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
These warnings are no longer relevant. Even when last slave is
removed, there is a valid address assigned to bond (random).
The correct functionality of vlans is ensured by maintaining unicast
list in vlan_sync_address().
Suggested-by: Jay Vosburgh <jay.vosburgh@canonical.com>
Signed-off-by: Jiri Pirko <jiri@resnulli.us>
Acked-by: Veaceslav Falico <vfalico@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
The problem was triggered by these steps:
1) create socket, bind and then setsockopt for add mc group.
mreq.imr_multiaddr.s_addr = inet_addr("255.0.0.37");
mreq.imr_interface.s_addr = inet_addr("192.168.1.2");
setsockopt(sockfd, IPPROTO_IP, IP_ADD_MEMBERSHIP, &mreq, sizeof(mreq));
2) drop the mc group for this socket.
mreq.imr_multiaddr.s_addr = inet_addr("255.0.0.37");
mreq.imr_interface.s_addr = inet_addr("0.0.0.0");
setsockopt(sockfd, IPPROTO_IP, IP_DROP_MEMBERSHIP, &mreq, sizeof(mreq));
3) and then drop the socket, I found the mc group was still used by the dev:
netstat -g
Interface RefCnt Group
--------------- ------ ---------------------
eth2 1 255.0.0.37
Normally even though the IP_DROP_MEMBERSHIP return error, the mc group still need
to be released for the netdev when drop the socket, but this process was broken when
route default is NULL, the reason is that:
The ip_mc_leave_group() will choose the in_dev by the imr_interface.s_addr, if input addr
is NULL, the default route dev will be chosen, then the ifindex is got from the dev,
then polling the inet->mc_list and return -ENODEV, but if the default route dev is NULL,
the in_dev and ifIndex is both NULL, when polling the inet->mc_list, the mc group will be
released from the mc_list, but the dev didn't dec the refcnt for this mc group, so
when dropping the socket, the mc_list is NULL and the dev still keep this group.
v1->v2: According Hideaki's suggestion, we should align with IPv6 (RFC3493) and BSDs,
so I add the checking for the in_dev before polling the mc_list, make sure when
we remove the mc group, dec the refcnt to the real dev which was using the mc address.
The problem would never happened again.
Signed-off-by: Ding Tianhong <dingtianhong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Alexander Aring says:
====================
at86rf230: rework driver implementation
this patch series includes a rework of the at86rf230 driver.
There are several changes:
- Add regmap support.
- Merge at86rf212 operations with generic at86rf2xx operations, all chips
supports these operations.
- Drop of irqworker. This is a workqueue which will scheduled by an irq to
handle synchronous spi handling. Instead using asynchronous spi handling,
then no scheduler is involved at irq handling.
- Also detected some bugs by receiving frame like CRC can be correct and a
802.15.4 frame length could be above 127 bytes. This would crash the whole
kernel (but should be handled by the mac layer). Another bug is the handling
with RX_SAFE_MODE which protect the frame buffer after a readout. This is
currently not working because we read out the buffer twice and the first one
to get the frame size. Solution is to readout always the whole frame buffer.
- Added some timing relevants things from the datasheet for state changes And
IEEE 802.15.4 standard like interframe spacing. Interframe spacing is needed
to insert some receiving space time between frame transmitting. This should be
also handled by MAC layer, but it's currently a workaround to add this inside
the driver layer.
- Add some callback setting for chip specific handling, instead of runtime decisions
if (is_chip_type()). Callbacks are set only once at probe time.
- We don't using a force state change anymore. A force state change will do a
abort of receiving frames while we want to transmit a new frame. This should
decrease the drop rate of packets.
- And many others changes and bug fixes...
changes since v3:
- fix irq polarity in patch ("at86rf230: rework irq_pol setting").
changes since v2:
- add check if necessary functions are implemented when hw flags are set in patch
("mac802154: at86rf230: add hw flags and merge ops"). I choosed the second variant.
- remove unnecessary includes for workqueue and mutex in patch
("at86rf230: rework transmit and receive").
- remove unnecessary cast in patch ("at86rf230: rework transmit and receive").
- acivate regmap cache with REGCACHE_RBTREE in patch
("at86rf230: add regmap support").
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
This patch removes the current synchron state change function and add a
new function for a state assert. Change the start and stop callbacks to
use this new synchron state change behaviour. It's a wrapper around the
async state change function.
Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This patch rework the irq_pol register setting for rising and falling
interrupt settings only. The default behaviour should be rising flag.
Also use IRQ_TYPE_* defines instead of IRQF_* defines. There is no
functionality change but irq_get_trigger_type returns IRQ_TYPE_* defines.
Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
There is no need to set this bit in start callback which could be
called more than once.
Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This patch is a complete reimplementation of transmit and receive
handling for the at86rf230 driver.
It solves also six bugs:
First:
The RX_SAFE_MODE is enabled and the transceiver doesn't leave the
receive state while the framebuffer isn't read by a CMD_FB command.
This is useful to read out the frame and don't get into another receive
or transmit state, otherwise the frame would be overwritten.
The current driver do twice CMD_FB calls, the first one leaves this
protection.
Second:
Sometimes the CRC calculation is correct and the length field is greater
127. The current mac802154 layer and filter of a at86rf2xx doesn't check
on this and the kernel crashes. In this case the frame is corrupted, we
send the whole receive buffer to the next layer which can be useful for
sniffing.
Thrid:
There is a undocumented race condition. When we are go into the
RX_AACK_ON state the transceiver could be changed into RX_AACK_BUSY
state. This is a normal behaviour. In this case the transceiver received
a SHR while assert wasn't finished.
Fourth:
It also handle some more "correct" state changes. In aret mode the
transceiver need to go to TX_ON before the transceiver go into
RX_AACK_ON.
Fifth:
The programming model [0] describes also a error handling in ARET mode
if the trac status is different than zero. This is patch adds support
for handling this.
Sixth:
In receive handling the transceiver should also get the trac status
according [0]. The driver could use the trac status as error statistic
handling, but the driver doesn't use this currently. There is maybe some
timing behaviour or the read of this register change some transceiver
states.
In addition the irqworker is removed. Instead we do async spi calls and
no scheduling is involved anymore. The transmit function is also
asynchron but with a wait_for_completion handling. The mac802154 layer
doesn't support asynchron transmit handling right now.
The state change behaviour is now changes, before it was:
1. assert while(!STATE_TRANSITION_IN_PROGRESS)
2. state change
3. assert while(!STATE_TRANSITION_IN_PROGRESS)
4. assert once(wanted state != current state)
Sometimes a unexcepted state change occurs when 4. assert was violated.
The new state change behaviour is:
1. assert while(!STATE_TRANSITION_IN_PROGRESS)
2. state change
3. wait state change timing according datasheet
4. assert once(wanted state != current state)
This behaviour is described in the at86rf231 software programming model [0].
The state change documentation in this programming guide should also valid for
at86rf212 and at86rf233 chips.
The transceiver don't do a FORCE_TX_ON while we want to transmit a PDU.
The new behaviour is a TX_ON and wait a receiving time (tFrame + tPAck).
If we are still in RX_AACK_BUSY then we transmit a FORCE_TX_ON as timeout
handling. The different is that FORCE_TX_ON aborts receiving and TX_ON
waits if RX_AACK_BUSY is finished. This should decrease the drop rate of
packets.
[0] http://www.atmel.com/Images/AVR2022_swpm231-2.0.zip
Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
To set the CCA_ED_THRES register the calculation for at86rf23x is
different than for at86rf212. This patch adds a new callback for this
calculation in chip data struct.
Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This patch adds a new at86rf2xx_chip_data structure which holds device
specific attributes. Instead of runtime decisions "if (is212())" we set
callbacks/attributes while device detection.
Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This patch drops the current lowlevel spi calls for the detect device
function instead we handle this via regmap. Also put the detection of
in a seperate function and set all device specific attributes while detection.
Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This patch adds regmap support for the at86rf230 driver and drop the
lowlevel spi access functions and use the regmap access functions.
Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This patch adds new mac802154 hw flags for transmit power, csma and
listen before transmit (lbt). These flags indicates that the transceiver
supports these features. If the flags are set and the driver doesn't
implement the necessary functions, then ieee802154_register_device
returns -ENOSYS "Function not implemented".
This patch merges also all at86rf230 operations into one operations structure
and set the right hw flags for the at86rf230 transceivers.
Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Jeff Kirsher says:
====================
Intel Wired LAN Driver Updates 2014-07-02
This series contains updates to i40e and i40evf.
Anjali fixes a possible race where we were trying to free the dummy packet
buffer in the function that created it, so cleanup the dummy packet buffer
in i40e_clean_tx_ring() instead. Also fixes an issue where the filter
program routine was not checking if there were descriptors available for
programming a filter.
Mitch fixes unnecessary delays when sending the admin queue commands by
moving a declaration up one level so we do not dereference it out of scope.
Fixes an issue with the VF where if the admin queue interrupts get lost for
some reason, the VF communication will stall as the VFs have no way of
reaching the PF. To alleviate this condition, go ahead and check the ARQ
every time we run the service task. Updates i40evf to allow the watchdog
to fire vector 0 via software, which makes the driver tolerant of dropped
interrupts on that vector.
Paul fixes a shifted '1' to be unsigned to avoid shifting a signed integer.
Jesse disables TPH by default since it is currently not enabled in the
current hardware. Also finishes the i40e implementation of get_settings
for ethtool.
Catherine adds a new variable (hw.phy.link_info.an_enabled) to track whether
auto-negotiation is enabled, along with the functionality to update the
variable. Adds the functionality to set the requested flow control mode.
Adds i40e implementation of setpauseparam and set_settings to ethtool.
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
Russell King says:
====================
Freescale ethernet driver updates
Here's the first batch of patches for the Freescale FEC ethernet driver.
They require the previously applied "net: fec: Don't clear IPV6 header
checksum field when IP accelerator enable" patch.
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
fec_enet_alloc_buffers() assumes that kmalloc() will never fail, which
is an invalid assumption. Fix this by implementing a common error
cleanup path, and use it to also clean up after failed bounce buffer
allocation.
Acked-by: Fugang Duan <B38611@freescale.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>