Let the driver core handle attribute creation by putting all s390
specific pci attributes in an attribute group which is referenced
by pdev->dev.groups in pcibios_add_device.
Link: https://lkml.kernel.org/r/alpine.LFD.2.11.1404141101500.1529@denkbrett
Reviewed-by: Gerald Schaefer <gerald.schaefer@de.ibm.com>
Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Introduce the zpci_attr macro to create read only sysfs attributes
to avoid duplicate code.
Reviewed-by: Gerald Schaefer <gerald.schaefer@de.ibm.com>
Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Processing pci hotplug events can fail when a pci function is in an
unexpected state. This can happen when we already processed the
change associated with the hotplug event (especially when receiving
hotplug events during early boot).
Just ignore the event in this case.
Reviewed-by: Gerald Schaefer <gerald.schaefer@de.ibm.com>
Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
The oi and ni instructions used in entry[64].S to set and clear bits
in the thread-flags are not guaranteed to be atomic in regard to other
CPUs. Split the TIF bits into CPU, pt_regs and thread-info specific
bits. Updates on the TIF bits are done with atomic instructions,
updates on CPU and pt_regs bits are done with non-atomic instructions.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Always switch to the kernel ASCE in switch_mm. Load the secondary
space ASCE in finish_arch_post_lock_switch after checking that
any pending page table operations have completed. The primary
ASCE is loaded in entry[64].S. With this the update_primary_asce
call can be removed from the switch_to macro and from the start
of switch_mm function. Remove the load_primary argument from
update_user_asce/clear_user_asce, rename update_user_asce to
set_user_asce and rename update_primary_asce to load_kernel_asce.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Currently the smp_stop_cpu() function for SMP kernels enters a busy
loop when "begin" is entered on the z/VM console after Linux is halted.
To avoid this behavior, use the non-SMP variant of smp_stop_cpu()
which stops the CPU again after "begin" is entered. As a side
effect we now have consistent behavior for SMP and non-SMP Linux.
Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Fix new s390 kernel-doc warning:
Warning(arch/s390/include/asm/ccwgroup.h:27): No description found for parameter 'ungroup_work'
Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Cc: Sebastian Ott <sebott@linux.vnet.ibm.com>
Cc: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
Cc: linux-s390@vger.kernel.org
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: linux390@de.ibm.com
Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Do the following changes:
- Document new /proc/vmcore interface
- Document partition dump external initramfs with s390-tools-1.24.0
- Remove initramfs config file because initramfs is now built automatically
in s390-tools
- Replace description of kernel config options with "make zfcpdump_defconfig"
- Some editorial changes
Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Currently there are two s390 kernel dump config options "CONFIG_ZFCPDUMP"
and "CONFIG_CRASH_DUMP". In order to keep things simple and because the
"CONFIG_ZFCPDUMP" option already has a dependency to "CONFIG_CRASH_DUMP"
remove the CONFIG_ZFCPDUMP option.
Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com>
Reviewed-by: Eric Farman <farman@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This is not necessary anymore, since the offending code is gone with
the conversion to the memblock code.
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>-
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Use lowcore constant to improve the code generated for spinlocks.
[ Martin Schwidefsky: patch breakdown and code beautification ]
Signed-off-by: Philipp Hachtmann <phacht@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Improve the spinlock code in several aspects:
- Have _raw_compare_and_swap return true if the operation has been
successful instead of returning the old value.
- Remove the "volatile" from arch_spinlock_t and arch_rwlock_t
- Rename 'owner_cpu' to 'lock'
- Add helper functions arch_spin_trylock_once / arch_spin_tryrelease_once
[ Martin Schwidefsky: patch breakdown and code beautification ]
Signed-off-by: Philipp Hachtmann <phacht@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
The original bootmem allocator is getting replaced by memblock. To
cover the needs of the s390 kdump implementation the physical memory
list is used.
With this patch the bootmem allocator and its bitmaps are completely
removed from s390.
Signed-off-by: Philipp Hachtmann <phacht@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Add the physmem list to the memblock structure. This list only exists
if HAVE_MEMBLOCK_PHYS_MAP is selected and contains the unmodified
list of physically available memory. It differs from the memblock
memory list as it always contains all memory ranges even if the
memory has been restricted, e.g. by use of the mem= kernel parameter.
Signed-off-by: Philipp Hachtmann <phacht@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Refactor the memblock code and extend the memblock API to make it
more flexible. With the extended API it is simple to define and
work with additional memory lists.
The static functions memblock_add_region and __memblock_remove are
renamed to memblock_add_range and meblock_remove_range and added to
the memblock API.
The __next_free_mem_range and __next_free_mem_range_rev functions
are replaced with calls to the more generic list walkers
__next_mem_range and __next_mem_range_rev.
To walk an arbitrary memory list two new macros for_each_mem_range
and for_each_mem_range_rev are added. These new macros are used
to define for_each_free_mem_range and for_each_free_mem_range_reverse.
Signed-off-by: Philipp Hachtmann <phacht@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
The new gpiod API supports automatic handling of active-high/active-low
with DT. To make it possible to use that when booting with DT, change
the driver's handling of the enable GPIO to use gpiod.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Merge "ARM: STi: SoC changes for v3.16" from Maxime Coquelin:
SoC changes for STi platforms
- Add support for STiH407
* tag 'sti-soc-for-v3.16' of git://git.stlinux.com/devel/kernel/linux-sti:
ARM: STi: Add STiH407 SoC support
Signed-off-by: Olof Johansson <olof@lixom.net>
r8a7791 (R-Car H2) SoC and its Koelsch board and,
r8a7740 (R-Mobile A1) SoC and its Armadillo800eva board
* Set CPU clock frequency from OF nodes
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.14 (GNU/Linux)
iQIcBAABAgAGBQJTdV6AAAoJENfPZGlqN0++Q70QAI4sQTJdB6WRbmQ5DtAVQZ4n
lJcFNoL4HkH52b9vC5GrHAZmtvJl4s5n53qAi88gsdkznfHmsDcFdbG7GdOo4ij0
JHE6aPHEhpOMjLJaYwN6Sr+X3sIQFktjRKzREFuUVYrVnFiVWSLksnmBF9EmiRma
IdWXSZhHAENnPHMC3IuYbfIRtRKXyNLvpW3SloMdtE4C1gc0PWA3yG2a28gFQfI1
aQZ3z4m5eocxABpUClP1PVMVFWSr8dqfK9PIriGGPJBuLGsKCmqWiWLX3rXNxK/S
VaU3UYOscXVV33SAI3VRGtUi7Eh3PfPXmlKSsQDBjZKfnhwlwIztekzuZcq+vaK+
FLYFRh8DlpxqIA2fl2B8D6C5kpsgTbWKGUhEKi9UgXFqM1ZEm3SxyYFaN8NckyQP
t7ZH3ZKNfjJrPk6bN5JUC7eepRiNtc7YOz5d1I4HBQkrFpIFlc+JHTODX0R6Ao4+
9mSraY+5Boyrw9aOTDH2wY08M01eYipN99zeScPZ/rNXEx+McwWHXBOhemrkKhbr
6cWHFeJoR7V1UuibV9ifLlvsBl+j/IGv0B8ZjgwaYN+KLxI/OWAigUfNvkvP3zp8
xMLgyvqTHh8gFU24xdPbhZ1DJNM5rQSOKd4AIGqiPS4ZGHZ4Ash7BtS42cA43RiG
TWoNYzKKNvcGDP67HmyI
=pLjF
-----END PGP SIGNATURE-----
Merge tag 'renesas-soc-cleanup-for-v3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc
Merge "Renesas ARM Based SoC soc-cleanup Updates for v3.16" from Simon Horman:
r8a7791 (R-Car H2) SoC and its Koelsch board and,
r8a7740 (R-Mobile A1) SoC and its Armadillo800eva board
* Set CPU clock frequency from OF nodes
* tag 'renesas-soc-cleanup-for-v3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
ARM: shmobile: Set clock frequency in HZ from OF nodes
ARM: shmobile: Use shmobile_init_late() on r8a7740
ARM: shmobile: Remove unused r8a7791_init_early()
ARM: shmobile: Use r8a7791 DT CPU Frequency for Koelsch
ARM: shmobile: Use r8a7791 DT CPU Frequency in common case
ARM: shmobile: Remove unused r8a7740_init_delay()
ARM: shmobile: Use r8a7740 DT CPU Frequency for Armadillo DT Ref
ARM: shmobile: Use r8a7740 DT CPU Frequency in common case
ARM: shmobile: Add r8a7740 Maximum CPU Frequency to DTS
Signed-off-by: Olof Johansson <olof@lixom.net>
Bring in the cleanup branch due to conflicts in new additions. Should really
have been the base before the other branch, but this way works too.
* cleanup/kconfig:
ARM: qcom: clean-up unneeded kconfig selects
ARM: bcm: clean-up unneeded kconfig selects
ARM: mvebu: clean-up unneeded kconfig selects
Signed-off-by: Olof Johansson <olof@lixom.net>
Fixes a LVDS bleed issue on Lenovo W530 that can occur under a
number of circumstances.
Cc: <stable@vger.kernel.org > # v3.9+
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Toradex Colibri Evaluation Board uses the DS1307 RTC and the
MCP251x CAN controller. The NVIDIA Tegra 3 based Colibri T30
module can be used on this carrier board, hence enable those
drivers in tegra_defonfig and multi_v7_defconfig.
Furthermore the NVIDIA Tegra 3 based Apalis T30 module too
contains two MCP251x CAN controller.
Signed-off-by: Stefan Agner <stefan@agner.ch>
Acked-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
- at91sam9rl and at91sam9261 fixes about PLL ranges
- at91sam9261 more comprehensive support for SSC
- sama5d3 Xplained: addition of pull-ups, PWM and PMIC (regulator)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
iQEcBAABAgAGBQJTczG7AAoJEAf03oE53VmQ4yQIALYl7+JTGrdCG9W77IroOpN4
bplNRAXdOjK9abHObcif4/cN3KbYnAn5AU0xnJKm65vWfvuf/XvchFENHMwuSTlB
1lX5Dqt3lvJ+d/awAngckJjNgIWqzr/ajbOrDyLTwRCIHCFVOp/36trkzdbDjmj+
3FLImm9NwHFu6+HCocyTfUiNN5TdVhAyvM49PwdzAidKDYF7bgLlMpThVvD8kncO
7sHnbt2vF/GkKiCePKWNV/vusBzRFKQuh+1A3vdl5FOMvxT5PFhLjQh+yaAnH0oa
B/zAANWUClyiotaIkmLl9PUiWn7lpgjtqkhPm2gMi1Ouv4o89CJ7ubTYRG9K1EI=
=/fbC
-----END PGP SIGNATURE-----
Merge tag 'at91-dt2' of git://github.com/at91linux/linux-at91 into next/dt
Merge "at91: DT for 3.16 #2" from Nicolas Ferre:
3.16: second DT series:
- at91sam9rl and at91sam9261 fixes about PLL ranges
- at91sam9261 more comprehensive support for SSC
- sama5d3 Xplained: addition of pull-ups, PWM and PMIC (regulator)
* tag 'at91-dt2' of git://github.com/at91linux/linux-at91:
ARM: at91/dt: at91-sama5d3_xplained: add the regulator device node
ARM: at91: add 2 PWM outputs to SAMA5D3 Xplained
ARM: at91: add PWM pinctrl to SAMA5D3
ARM: at91: add pull-up to i2c[02] on SAMA5D3 Xplained
ARM: at91/dt: sam9rl: Fix PLL output range and mck divisors
ARM: at91/dt: sam9261: Add ssc2, SSC clocks and pcks
ARM: at91/dt: sam9261: Fix PLL output ranges and other clocks divisors
Signed-off-by: Olof Johansson <olof@lixom.net>
r8a7740 (R-Mobile A1) based Armadillo800 EVA board
* Minor cleanup of the Armadillo legacy board code
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.14 (GNU/Linux)
iQIcBAABAgAGBQJTcxp4AAoJENfPZGlqN0++2H0QAJKflhmqKrhRArHETnUOFEVL
rGNJO+es0eXcNt5YNRi1rTt41TtwntJvpfPZgd+5vKCG9ozBw8stc60FmrvrzHzh
B+LXPv2MBy/wD7A5rE+xas8gafgpH6C5sjWlIB50rTLoZ+oHZCmhoUMYspWHWHLN
eBV4KgHRXgKYfngm8OChYpxGTOrU+4XUcHRp3EeduTBOP8hMV1eaNXORIvTUDS6C
7gCQK7Fv9szahMeI2VuzP1kgFU23I4wxil0GUN1otIuWiRXnS+DVRp64mNh8bBbj
+fuEy8cdmwptYChzR87y5+3etSpRow1qBw4/zuSvzG6sOgJpxne18/pvnNK/jkpM
RTbuq92xdhlX85zH+Ii1fIc2Ke3Fw17WX9augFAhjD9BhobKzROJ6qP34HFf1AjN
Jz9hkS+13KNb3FDtLt1/ZhbUmSJVWqqGK+CQUSLMmBbStAHdbzEf+SDGDN74fDw8
VFWsGgANxLcJT7DVh8Eq2LpQppmt9rd/6HccMLNsSfeFd3nuyafbTLDCDoxYpN4K
t6afqB8EWZj7w3F5tEqwhmOom70zPU5n/7t1TKcn+Sb1wetMBVeqkKvQ7stF0Kq7
M1fCAWlrxbdbHGeznSbMzz3bdorqoStLe9SozcN1YyGOdBcZR7Tet/my2r9djQEA
t3s1Z742PtNka+n5LRJ+
=Ll63
-----END PGP SIGNATURE-----
Merge tag 'renesas-boards2-for-v3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/boards
Merge "Second Round of Renesas ARM Based SoC Boards Updates for v3.16" from
Simon Horman:
r8a7740 (R-Mobile A1) based Armadillo800 EVA board
* Minor cleanup of the Armadillo legacy board code
* tag 'renesas-boards2-for-v3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
ARM: shmobile: Minor cleanup of the Armadillo legacy board code
Signed-off-by: Olof Johansson <olof@lixom.net>
Pull parisc fixes from Helge Deller:
"There are two patches in here:
The first patch greatly improves latency and corrects the memory
ordering in our light-weight atomic locking syscall.
The second patch ratelimits printing of userspace segfaults in the
same way as it's done on other platforms. This fixes a possible DOS
on parisc since it prevents the syslog to grow too fast. For example,
when the debian acl2 package was built on our debian buildd servers,
this package produced lots of gigabytes in syslog in very short time
and thus filled our harddisks, which then turned the server nearly
completely unaccessible and unresponsive"
* 'parisc-3.15-4' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
parisc: Improve LWS-CAS performance
parisc: ratelimit userspace segfault printing
Support forced affinity setting)
- fix arm64 pud_huge() to return 0 when only 2 levels page tables are
used (__PAGETABLE_PMD_FOLDED defined and pmd_huge already covers block
entries at the first level), otherwise KVM gets confused
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
iQIcBAABAgAGBQJTdkdgAAoJEGvWsS0AyF7x1iYQALKLvpQm8wWndDyDx3AoFagp
tXdoNCUJhOeoc2VlipwbrHQ0M7ZfHzVS21TceDbC6COmjkItmthPnt0ImpA29831
wtm34+lNH/Bim1GLEhwR2EcEVLpBH8/gDdwy5lE7olupO63ViYUUTZtaacrg5SgD
zlVdo+kp+MzmDoz3FkUrlPkFstbm7GcWe2BYEpOu828Qd4uKHtjd13Ud9MgdJRJi
9TeBh68MjALK3KWhd0HOt0ESJjb5pY6whMv/8stg/cD/o6zrqUapxNNk9tqE0PIy
crOzOatmuvm8PJrkgJPV8Xnk9tToz+/j/djiFD4imaHAodQKk6eSPD0wwx+NTlPs
q7fPAlhYNgpvExXrbF0mqtb8q3er6MRnFp6OHWgwU6a+O8tt4Rkms/s9XuuAM/us
iX3t/oEjHXGe7uhIEQdrnWdVVHAJpz6HCbDQ9GgsZPZAS6D4NSIqSf35f4KjoYsH
FFoNrEqtoJz06wxaI9M9lAzUuQQO3vYUDdi3Xk+SHBjumztRcEh432niOoITZEL8
ickfQa2BHqqQwq9nK1i9SEbH7n1tTKaJAOAtK8c8Rnjzh0ckkODvZbhUsyUuF66Y
+jWgXh2NVTUN/tXMn8tQFYbxNRQR+z6J+kxOyG62knaAjjeUokdVAhRhn+lvcE/F
wFIU9cQOkLCWIAzsW/WS
=Ql27
-----END PGP SIGNATURE-----
Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux
Pull two arm64 fixes from Catalin Marinas:
- arm64 migrate_irqs() fix following commit ffde1de640 (irqchip: Gic:
Support forced affinity setting)
- fix arm64 pud_huge() to return 0 when only 2 levels page tables are
used (__PAGETABLE_PMD_FOLDED defined and pmd_huge already covers
block entries at the first level), otherwise KVM gets confused
* tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
arm64: fix pud_huge() for 2-level pagetables
arm64: use cpu_online_mask when using forced irq_set_affinity
Mostly fixes for metag and parisc relating to upgrowing stacks.
* Fix missing compiler barriers in metag memory barriers.
* Fix BUG_ON on metag when RLIMIT_STACK hard limit is increased beyond
safe value.
* Make maximum stack size configurable. This reduces the default user
stack size back to 80MB (especially on parisc after their removal of
_STK_LIM_MAX override). This only affects metag and parisc.
* Remove metag _STK_LIM_MAX override to match other arches and follow
parisc, now that it is safe to do so (due to the BUG_ON fix mentioned
above).
* Finally now that both metag and parisc _STK_LIM_MAX overrides have
been removed, it makes sense to remove _STK_LIM_MAX altogether.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (GNU/Linux)
iQIcBAABAgAGBQJTdAc3AAoJEGwLaZPeOHZ6L2QP/ihJag44CyWKKpeu/5FUkjP6
62wX4cYKCFR9pTkOZDViWs7c+xrmW6OtORfQKuXu1g68L3v2cwb0HmcvybQ75pIQ
CbaN+d5OnGPjHGYCSVqQBKlJ0qbcgQfoNUuCVOZx9kZgnCYQhJlh4HYRwHdUv9WY
1FA3wor/JTTAiKvPBv+/t4NzTpTafpSIhYLahjxZbtuU1WjEfmj8QgWQpzTEJSeZ
AyNE/nDlcYcdq4lDxMz2pcQfmJ2MpE56wvXJ7IdXadLaLp4yzc+WTAvFzNJ1XnAN
2IcyNBpgF/vMXCbErA9QQegYwKd9jpF0w3oQmNLkgr27Kv27iL2sLIEWVn3FAXCu
p+I0ypMlkD/gSdofCUaWTiGGOQiKMqAWJMfjky8RjA7Qz5TdLCldpjjuZEMKl8hM
SLjkmgZHMG2/rJ8MosOL+ARAXl88v25gfM6rNIPTtMzH72qevrHgjFPj6pWHejhE
0E43yDS+zt215HrFCXYBhVbFY1NM7JeBS8NFd9Y/8LKTWc8QSi2h8Q1ZaobKJi4O
0zlKxRRR4QmmtF7S5wL/qOQ0U95HBvYSx+Ssp3C0eh/PEkZYWm0jiXtaKBCYtnDx
33wRutv+R9sSkKaiiURBh9/VPWFLQ1ak5z+ejqrv32+oBzt/zmxb7LgwsxdAbAms
9r/8XaY3V+JBPw7UxfQN
=aveq
-----END PGP SIGNATURE-----
Merge tag 'metag-for-v3.15-2' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/metag
Pull Metag architecture and related fixes from James Hogan:
"Mostly fixes for metag and parisc relating to upgrowing stacks.
- Fix missing compiler barriers in metag memory barriers.
- Fix BUG_ON on metag when RLIMIT_STACK hard limit is increased
beyond safe value.
- Make maximum stack size configurable. This reduces the default
user stack size back to 80MB (especially on parisc after their
removal of _STK_LIM_MAX override). This only affects metag and
parisc.
- Remove metag _STK_LIM_MAX override to match other arches and follow
parisc, now that it is safe to do so (due to the BUG_ON fix
mentioned above).
- Finally now that both metag and parisc _STK_LIM_MAX overrides have
been removed, it makes sense to remove _STK_LIM_MAX altogether"
* tag 'metag-for-v3.15-2' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/metag:
asm-generic: remove _STK_LIM_MAX
metag: Remove _STK_LIM_MAX override
parisc,metag: Do not hardcode maximum userspace stack size
metag: Reduce maximum stack size to 256MB
metag: fix memory barriers
Pull drm/intel fixes from Dave Airlie:
"Just some intel fixes.
I have some radeon ones but I need to get some patches dropped from
the pull req"
* 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
drm/i915: Increase WM memory latency values on SNB
drm/i915: restore backlight precision when converting from ACPI
drm/i915: Use the first mode if there is no preferred mode in the EDID
drm/i915/dp: force eDP lane count to max available lanes on BDW
drm/i915/vlv: reset VLV media force wake request register
drm/i915/SDVO: For sysfs link put directory and target in correct order
drm/i915: use lane count and link rate from VBT as minimums for eDP
drm/i915: clean up VBT eDP link param decoding
drm/i915: consider the source max DP lane count too
- Few of address cell warning fixes.
- Add Lamarr and Edision EVM NOR flash and NAND devices.
- Update dts to make use of dma-ranges and dma-coherent properties.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
iQIcBAABAgAGBQJTcPVyAAoJEHJsHOdBp5c/L0MQAIrujjFvvOLLQCOOPGFLoaoD
ytwI71c3c76N9C5WBM2AbbTZr7GAMJOTdkMPiNBMxXYrYW8SylRFvAmSJ8T2qMPG
V6umKc/G/un3o+0kB4A4ft3szO5BACLIls2CfwrMKRaDTVR8XX4l9F09rCjGICEM
mUwZl3c0PolXFIGm+wKNwOdo6gN5jxAsGaN+5NYFz/h5SseZrXFHNtQnx9RM/nEv
5mVWKXB3w7x6UrRaJxYy4TacKQZZmYZepVFvn6YFyoZPXz/rff3xQZE4pI5eso3Z
ammJRnHvQMiBq0M0CY3s+rBSfbVPjOGWp1pRCj0/6ht8UFoQA9Bl1VmRsk9dz2bH
B1ztqIKGHCwUj6ar7KZfKw8vlr7pac0Bru+/PRsfnsel98Fu+mT8LP5gvcZe34+l
8C7Vx0s5sbVbbsC7rXb9lFEnTnbkWrRcCC7FpzTSyyU6jpsXRGrXVDhZHcGczyIF
uqbyQOOF8swsJ2HcQIs0q3IfNbzTq427jehe1Pq9DFd+FSALhEd9uqFI7Q/PaR+B
Faa4wiNyrKnCDeL29K8lzroo/Ue5lMN63tJ3kgBNQ+5t7pXcPdE7wipPq/XOGfQv
+ofqJSn3g9pPMGDyGhK09laDXky9F7mfhI3upy/5WclzAMMWK+srR+gZkxsQTz8M
gfBJSXcjrXk4i2XhdeiD
=xBoi
-----END PGP SIGNATURE-----
Merge tag 'keystone-dts' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone into next/dt
Merge "ARM: Keystone DTS updates for 3.16" from Santosh Shilimkar:
Keystone DTS updates for 3.16
- Few of address cell warning fixes.
- Add Lamarr and Edision EVM NOR flash and NAND devices.
- Update dts to make use of dma-ranges and dma-coherent properties.
* tag 'keystone-dts' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone:
ARM: dts: keystone-evm: add spi nor flash support
ARM: dts: k2l-evm: add AEMIF/NAND device entry
ARM: dts: k2e-evm: add AEMIF/NAND device entry
ARM: dts: keystone: Update USB node for dma properties
ARM: dts: keystone: Use dma-ranges property
ARM: dts: keystone: add cell's information to spi nodes
ARM: dts: keystone: move i2c0 device node from SoC to board files
ARM: dts: keystone: add cell's information to i2c nodes
ARM: dts: keystone: drop address and size cells from GIC node
Signed-off-by: Olof Johansson <olof@lixom.net>
Pull x86 fixes from Peter Anvin.
* 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
x86-64, modify_ldt: Make support for 16-bit segments a runtime option
x86, mm, hugetlb: Add missing TLB page invalidation for hugetlb_cow()
x86, rdrand: When nordrand is specified, disable RDSEED as well
Pull timer fix from Thomas Gleixner:
"A single bug fix for a long standing issue:
- Updating the expiry value of a relative timer _after_ letting the
idle logic select a target cpu for the timer based on its stale
expiry value is outright stupid. Thanks to Viresh for spotting the
brainfart"
* 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
hrtimer: Set expiry time before switch_hrtimer_base()
Pull irq fixes from Thomas Gleixner:
"Two small updates from the irq departement:
- Provide missing inline stub for a SMP only function
- Add sub-maintainer for the drivers/irqchip/ part of the irq
subsystem. YAY!"
* 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
MAINTAINERS: Add co-maintainer for drivers/irqchip
genirq: Provide irq_force_affinity fallback for non-SMP
most of them fix some minor checkpatch issues according to key customers'
requirement. And this patchset also cleanups the clk of clocksource: move
to get clk by dts properity.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
iQIcBAABAgAGBQJTeJ/+AAoJEDIv4aC191RhrpEQAILbaesRA3kihK2HftalXhQ3
A7JqigZqeYW4QTO7pKKT8JAVDbA/9CY1LtaKX15ud0XhHwNHTIlInhAcfL4UEGKo
+3YjCuw6a/s8Wyy07hcb4deGqeQg0uEbA6flADGIffGfn8Q+8F7Qth4lqQH8O5ag
Lptne7WdoYLAiJ1e7uX4aUr6YC7Z/xZwDX6Rph4FTXnQWmx95uuDkI2rx327WMs6
NYALecj2WqLAtQIGOFdezPt7+4iP7eKBmf1QWKidB+JNkrPwQVd3lsPTEHbNpGrQ
3xhloC+gVznUxH2zoHg/PqMI9jh7da6stFO9LAaLQZAA7AZKbOUaez+BlXWLmNsd
6nFVI570xsPBepXZmQynUVdlrDD7y5CdDx0FmmTKYQfHQiux6b9rIUpaV/CKs8iC
FqzLdpvO6EXeEv+Kc7J56aRrkhRRFnAqE4MiHSP4Frmk+Yao/2/5F7BLMVo5OUk7
Wiv2RHsdgh67lOZbrNJaTjMroJ5EVXBtwEctrh/XkHSPbBILQi/a/O7iTEh++El6
0TrUXjjrD56Xl6dyByX/0+hINLEFNOUKL9Lx6hHhoGsIV7MYG9/uv3e7P3kBO26L
GCBS4libfcAm8q+lIwaCS5uT8ullZAk2YJzWCP/lZsmwN208OKAoOQk38es4xQQd
xOWsU/DEChyxkAXO+inV
=ythm
-----END PGP SIGNATURE-----
Merge tag 'sirf-soc-for-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/baohua/linux into next/cleanup
Merge "ARM: sirf: machine update for 3.16" from Barry Song:
Most of them fix some minor checkpatch issues according to key customers'
requirement. And this patchset also cleanups the clk of clocksource: move
to get clk by dts properity.
* tag 'sirf-soc-for-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/baohua/linux:
clocksource:sirf: remove the hardcode for the clk of timers
irqchip: sirf: fix one minor checkpatch issue
clocksource: prima2: fix some minor checkpatch issues
ARM: prima2: rstc: fix some minor checkpatch issues
+ Linux 3.15-rc3
Signed-off-by: Olof Johansson <olof@lixom.net>
as well as the dts portions of the pinctrl rework.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQEcBAABCAAGBQJTbhKOAAoJEPOmecmc0R2BjM4H/2Ib1MZbZ4cUGyUG508aAnNx
3mYI/a9Iir6yJvRHENQfWSS0uxggn4Q0W0upVgagDf07PwDxoAH9ISmjTHjII6tN
2OAHbXQGBa16dN5y6fiVZDAf9SYexaSlWODKb/hqKxt28safl/HAvJYoI42SOKRG
/D3FMi5DPeFNYTvUeROU0mdOvM3q9S6TMYrcPpdNPqzxFkPKUJsFA9tCu6Gpsk/x
F90YAMlWdgWD8OjRYdzp4iIRQS97XFTSIZcDScDasCMXnGOX6RMd6x1AqFr93y3K
zkqjzdCu4OoZhOiFbY0RUoS+CZUj9tROnX851nJ9TIVfA+71bSFjE0cXRWDLYH0=
=fTm7
-----END PGP SIGNATURE-----
Merge tag 'v3.16-rockchip-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/dt
Merge "ARM: rockchip: devicetree changes for v3.16" from Heiko Stübner:
Addition of missing board compatible names and their vendor-prefixes
as well as the dts portions of the pinctrl rework.
* tag 'v3.16-rockchip-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
ARM: dts: rockchip: convert pinctrl nodes to new bindings
ARM: dts: rockchip: add root compatible properties
of: add mundoreader and radxa vendor prefixes
Signed-off-by: Olof Johansson <olof@lixom.net>
- Armada 375/38x coherency support
- Armada 375/38x SMP support
- mvebu PMSU and CPU reset support
- Armada 370/XP cpuidle support
- kirkwood remove platform init of audio device
- small fixes and cleanup for new SoC (375/38x)
Note:
- due to complex deps, cpuidle changes Acked by appropriate maintainer for
going though arm-soc tree.
Depends:
- tags/irqchip-mvebu-3.16 in the mvebu/irqchip branch (tglx already pulled) for:
d7df84b3ce irqchip: irq-armada-370-xp: Use cpu notifier to initialize secondary CPUs
ef37d337e1 irqchip: irq-armada-370-xp: Do the set_smp_cross_call() in the driver
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (GNU/Linux)
iQIcBAABAgAGBQJTbOGvAAoJEP45WPkGe8Zn53UP/jn5IEn7T/wMKt+m+K4HTPH4
tLbimH60wKtBDK+R978GqaKibgzqjBy/CeGcV9ip7NCOAVZTXBi3bZW/bHHw9azu
pCUAUBdX6uAt6Ua+SxtyrI3nqI5g8QrQhg7Loa08r34buL07qRIbR7TwR13cr5pV
w5svXJeb4bdnvPmMlpzMYFAfvYhUxf5S0aALh1hLzeMsfEq4pfBH581UZQliPAus
8MVE/eeiam+6wI2mpNyxedaevLJ875SDZo8n7r4yytGvoexIfegvd9GIwKRLe06z
Owqn05PkU0Zo+X4FSQBWZ81DcRNKP+D3gWJkN7pTVRWNjNVGJtZTkQX4Cyo6JZiX
0Qz9APp8ZzrnzG4uhYdq0vwlgiMgd5KoxzMF8Wbid3JW+NEMST6QnNqDmF1R86s6
K4f/DDJtQU9fonicNM8yPlGYvBCBO7Jbb5hoc5QaxTTHSv0hFJVwWtoejwtnhmJA
wcvTu+oGKmF4nM63zV2P2YbWF0FahGS4ssm2VWk9OsZuXzG4AAV3QGP85qw+3QuV
ry/GjqT81ExC04KnXsanFz7nw2a74DU1UVZgpkyKEJbS0zcNvr+6u9AIA1zmoF5P
Nmjwjn4nsC9Y2YuabSGMkM11gCUjFjIG+fA6E5/m5rBwH8UtgPHyLKIt/2nXm6DG
LVNzCvQpYeh1NTA6Mro6
=wNp0
-----END PGP SIGNATURE-----
Merge tag 'mvebu-soc-3.16' of git://git.infradead.org/linux-mvebu into next/soc
Merge "ARM: mvebu: SoC changes for v3.16" from Jason Cooper:
mvebu SoC changes for v3.16
- Armada 375/38x coherency support
- Armada 375/38x SMP support
- mvebu PMSU and CPU reset support
- Armada 370/XP cpuidle support
- kirkwood remove platform init of audio device
- small fixes and cleanup for new SoC (375/38x)
Note:
- due to complex deps, cpuidle changes Acked by appropriate maintainer for
going though arm-soc tree.
* tag 'mvebu-soc-3.16' of git://git.infradead.org/linux-mvebu: (46 commits)
ARM: mvebu: Fix pmsu compilation when ARMv6 is selected
ARM: mvebu: conditionalize Armada 375 coherency workaround
ARM: mvebu: conditionalize Armada 375 SMP workaround
ARM: mvebu: add Armada 375 A0 revision definition
ARM: mvebu: initialize mvebu-soc-id earlier
ARM: mvebu: fix thermal quirk SoC revision check
ARM: Kirkwood: t5325: Remove platform device to instantiate audio
ARM: Kirkwood: Remove platform driver for codec
ARM: mvebu: Add thermal quirk for the Armada 375 DB board
ARM: mvebu: Select HAVE_ARM_TWD only if SMP is enabled
ARM: mvebu: fix the name of the parameter used in mvebu_get_soc_id
ARM: mvebu: remove unnecessary ifdef around l2x0_of_init
ARM: mvebu: register the cpuidle driver for the Armada XP SoCs
cpuidle: mvebu: Add initial CPU idle support for Armada 370/XP SoC
ARM: mvebu: Register notifier callback for the cpuidle transition
ARM: mvebu: refine which files are build in mach-mvebu
ARM: mvebu: Add the PMSU related part of the cpu idle functions
ARM: mvebu: Allow to power down L2 cache controller in idle mode
ARM: mvebu: Low level function to disable HW coherency support
ARM: mvebu: Split low level functions to manipulate HW coherency
...
Signed-off-by: Olof Johansson <olof@lixom.net>
- orion5x
- convert to DT
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (GNU/Linux)
iQIcBAABAgAGBQJTa8SnAAoJEP45WPkGe8Zn1kQP/0D24YIqXNxrwmH1J0gNbEaM
EfmqrATHrrtCa4hZWcqobI3+ih8TH8cU0m1CT6R3gWovGHsIRdc9vutvoHnWxXSH
x5mXcZwb/pop3U0t13OgUzc3wVCcywYAPmB0Kkb/VInL3hmjKl8rhadduMCMRcTr
Cmlda9seTm960e3sV5m/wRwldcfWw7pj/6kroarxcfnGz2aUNRxv/tiG74Q+Qhw1
jjjfD9J4LuxN5JfE2EQr6fATO/sTL6wX8RPciEirBpbWer3mieD0PRrtRT2TiX6/
//5x8pAdoBVw02IqDiMRTQw5MjTKF9MBPECNY05B1x4p8+v0SZVhQizs9K/IgTDK
LyfZMvWQbC0QUl9YnYxEl0IAR1IhvR74dzfAePT0J+iNZlsTUIpGk6zaFvQiQ6Pw
UvQn8mlj21CQb/y0uxzaWGRlOeBZPBxJFfXFZz1Wyw9pXmmWU5N/SKulITRsumHV
wSTkbITHDJa5UA3n9A+0T3lgATJTu/k3Y/VY4GGOF0rUSTnWoHiAq/hNyWbf7uan
yukCiJXLCfcGNefXfu6RHIGQgVu7yfXCE7ESAoKPx4RJTNP/Wc+raLCFFHg2FUDf
A/yFVOo75yjKfgJl7C6ZhW6a3Gel4eHaXDMTQw4aNbnZFdwWEbzlGAjqhHTUpq4F
QoZWVyLappuitMFWbCC6
=s+Xo
-----END PGP SIGNATURE-----
Merge tag 'mvebu-soc-orion5x-3.16' of git://git.infradead.org/linux-mvebu into next/soc
Merge "ARM: mvebu: SoC orion5x DT conversion for v3.16" from Jason Cooper:
mvebu SoC orion5x DT conversion for v3.16
- orion5x
- convert to DT
* tag 'mvebu-soc-orion5x-3.16' of git://git.infradead.org/linux-mvebu: (29 commits)
ARM: orion: remove no longer needed gpio DT code
ARM: orion: remove no longer needed DT IRQ code
ARM: orion5x: convert Maxtor Shared Storage II to the Device Tree
ARM: orion5x: convert d2net to Device Tree
ARM: orion5x: convert RD-88F5182 to Device Tree
ARM: orion5x: remove unneeded code for edmini_v2
ARM: orion5x: keep TODO list in edmini_v2 DT
ARM: orion5x: use DT to describe NOR on edmini_v2
ARM: orion5x: use DT to describe EHCI on edmini_v2
ARM: orion5x: use DT to describe I2C devices on edmini_v2
ARM: orion5x: convert edmini_v2 to DT pinctrl
ARM: orion5x: add standard pinctrl configs for sata0 and sata1
ARM: orion5x: add Device Bus description at SoC level
ARM: orion5x: update I2C description at SoC level
ARM: orion5x: enable pinctrl driver at SoC level
ARM: orion5x: switch to DT interrupts and timer
ARM: orion: switch to a per-platform handle_irq() function
ARM: orion5x: convert to use 'clocks' property for UART controllers
ARM: orion5x: switch to use the clock driver for DT platforms
ARM: orion5x: add interrupt for Ethernet in Device Tree
...
Signed-off-by: Olof Johansson <olof@lixom.net>
- mvebu-devbus
- changes need to add support for the orion5x platform
Depends:
- tags/mvebu-fixes-3.15 in the mvebu/fixes branch for:
ce965c3d2e memory: mvebu-devbus: fix the conversion of the bus width
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (GNU/Linux)
iQIcBAABAgAGBQJTa5xDAAoJEP45WPkGe8ZnEZYP/iPCwDbvoxexpRcaBP+oINc4
rw9VC0E+eujVRJKj5UN3/sji/nV431IDNB3wM+QREPCG7CVkK6pGwKT9gVnBkhZF
03QHKzzTYpVqv+zYv4hGL2CTpQ8I21HSsBFHYeZNNvYDUeqCCGcpdn7I6cf66mxg
Bx5SNVyuz/TrpfKSzF3zSFSwpI+7rKE//Zg4YZG9v8/bsc6qUFb+9/Lu6Hynq/+P
pgHr9YgQP1qhK6YxiFzA1ZAXHY+GdfnK9UuL+oHwcqjcNvV9y3XW3syA5gMK9lBI
8nqQKUw+HjoUTuWURGT7ZLO7DRAODXDSLwHp558VCpjkm0BSMreIGY8d4F87wyzr
J2b8LmL7CwnxOREK8eToh4uz7G6DQwdO4bqppCWUQSn4+ytp8ZG/UG8Yekn83oXq
boHMXldgTfQX4a0JlNLbzfOse3WhNIyAcLeCUwDF0rBwRxdMdoE7Ze34cmumj/wb
Sd1MhhfwMwmUTAb+Bdb6CcKHIkzg6TRwU+C8oWzcex+uMqRFt3gSqKfykso9z2R2
2LyT58XhcKKR9RjZW2UPnMCTxZQVrjBp+VhE72U9HjWX5+Ggqs2GDKxNILuv9fAt
htAq9Ut7czjL3SwBQAdV9A9SJhyXnBVHUJLDkFOubqG37MUPIwLIgoVLu3HqRGia
YMXzkRElm3sSGzkWL4tI
=8W+2
-----END PGP SIGNATURE-----
Merge tag 'mvebu-drivers-3.16' of git://git.infradead.org/linux-mvebu into next/drivers
Merge "ARM: mvebu: driver changes for v3.16" from Jason Cooper:
mvebu driver changes for v3.16
- mvebu-devbus
- changes need to add support for the orion5x platform
* tag 'mvebu-drivers-3.16' of git://git.infradead.org/linux-mvebu:
memory: mvebu-devbus: add a devbus, keep-config property
memory: mvebu-devbus: add Orion5x support
memory: mvebu-devbus: split functions
memory: mvebu-devbus: use _SHIFT suffixes instead of _BIT
memory: mvebu-devbus: use ARMADA_ prefix in defines
ARM: orion5x: fix target ID for crypto SRAM window
memory: mvebu-devbus: fix the conversion of the bus width
Signed-off-by: Olof Johansson <olof@lixom.net>
Continue moving some of the block files that are scattered around.
bounce.c contains only code for bouncing the contents of a bio.
It's block proper code, not mm code.
Suggested-by: Ming Lei <tom.leiming@gmail.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
We should be checking for a 64bit platform not 64bit DMA address types in
the case of Goldfish. The Goldfish virtual platform is either 32/32 or
64/64.
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
13c589d5b0 ("sysfs: use seq_file when reading regular files")
switched sysfs from custom read implementation to seq_file to enable
later transition to kernfs. After the change, the buffer passed to
->show() is acquired through seq_get_buf(); unfortunately, this
introduces a subtle behavior change. Before the commit, the buffer
passed to ->show() was always zero as it was allocated using
get_zeroed_page(). Because seq_file doesn't clear buffers on
allocation and neither does seq_get_buf(), after the commit, depending
on the behavior of ->show(), we may end up exposing uninitialized data
to userland thus possibly altering userland visible behavior and
leaking information.
Fix it by explicitly clearing the buffer.
Signed-off-by: Tejun Heo <tj@kernel.org>
Reported-by: Ron <ron@debian.org>
Fixes: 13c589d5b0 ("sysfs: use seq_file when reading regular files")
Cc: stable <stable@vger.kernel.org> # 3.13+
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Use one timer to control command timeout.
start/kick the timer every time a command is completed and a
new command is waiting, or a new command is added to a empty list.
If the timer runs out, then tag the current command as "aborted", and
start the xhci command abortion process.
Previously each function that submitted a command had its own timer.
If that command timed out, a new command structure for the
command was created and it was put on a cancel_cmd_list list,
then a pci write to abort the command ring was issued.
when the ring was aborted, it checked if the current command
was the one to be canceled, later when the ring was stopped the
driver got ownership of the TRBs in the command ring,
compared then to the TRBs in the cancel_cmd_list,
and turned them into No-ops.
Now, instead, at timeout we tag the status of the command in the
command queue to be aborted, and start the ring abortion.
Ring abortion stops the command ring and gives control of the
commands to us.
All the aborted commands are now turned into No-ops.
If the ring is already stopped when the command times outs its not possible
to start the ring abortion, in this case the command is turnd to No-op
right away.
All these changes allows us to remove the entire cancel_cmd_list code.
The functions waiting for a command to finish no longer have their own timeouts.
They will wait either until the command completes normally,
or until the whole command abortion is done.
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Remove the per-device command list and handle_cmd_in_cmd_wait_list()
and use the completion and status variables found in the
command structure in the global command list.
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Create a list to store command structures, add a structure to it every time
a command is submitted, and remove it from the list once we get a
command completion event matching the command.
Callers that wait for completion will free their command structures themselves.
The other command structures are freed in the command completion event handler.
Also add a check that prevents queuing commands if host is dying
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To create a global command queue we require that each command put on the
command ring is submitted with a command structure.
Functions that queue commands and wait for completion need to allocate a command
before submitting it, and free it once completed. The following command queuing
functions need to be modified.
xhci_configure_endpoint()
xhci_address_device()
xhci_queue_slot_control()
xhci_queue_stop_endpoint()
xhci_queue_new_dequeue_state()
xhci_queue_reset_ep()
xhci_configure_endpoint()
xhci_configure_endpoint() could already be called with a command structure,
and only xhci_check_maxpacket and xhci_check_bandwidth did not do so. These
are changed and a command structure is now required. This change also simplifies
the configure endpoint command completion handling and the "goto bandwidth_change"
handling code can be removed.
In some cases the command queuing function is called in interrupt context.
These commands needs to be allocated atomically, and they can't wait for
completion. These commands will in this patch be freed directly after queuing,
but freeing will be moved to the command completion event handler in a later
patch once we get the global command queue up.(Just so that we won't leak
memory in the middle of the patch set)
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>