This adds support for generating bpf line info for JITed programs
like commit 6f20c71d85 ("bpf: powerpc64: add JIT support for bpf
line info") does for powerpc, but it should pass the array starting
from 1. This fixes test_btf.
Signed-off-by: Yauheni Kaliuta <yauheni.kaliuta@redhat.com>
Acked-by: Ilya Leoshkevich <iii@linux.ibm.com>
Tested-by: Ilya Leoshkevich <iii@linux.ibm.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
In this step, the read/write routines for the descriptors are converted
to use __le32 quantities, thus a lot of casts can be removed. Callback
routines still use the 8-bit arrays, but these are changed within the
specified routine.
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
As a first step in the conversion, the macros that set the RX and TX
descriptors are converted to static inline routines, and the names are
changed from upper to lower case. To minimize the changes in a given
step, the input descriptor information is left as as a byte array
(u8 *), even though it should be a little-endian word array (__le32 *).
That will be changed in the next patch.
Several places where checkpatch.pl complains about a space after a cast
and other warnings are fixed.
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
This driver uses a set of local macros to manipulate the TX and RX
descriptors, which are all little-endian quantities. These macros
are replaced by the bitfield macros le32p_replace_bits() and
le32_get_bits(). In several places, the macros operated on an entire
32-bit word. In these cases, a direct read or replacement is used.
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
As the first step in converting from macros that get/set information
in the RX and TX descriptors, unused macros are being removed.
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
we are not retaining dentries there anyway (simple_dentry_operations),
so d_delete()+dput() == d_drop()+dput()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
If that's not the last reference, d_delete() will do d_drop().
If it is, dput() immediately after it will unhash the sucker
anyway, since ->d_delete() the method is always_delete_dentry().
IOW, there's no point trying to turn it into a negative hashed
dentry - it won't stick around anyway. Just d_drop() it and be
done with that.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
A number of variables are initialized when declared that set later in the
routine, thus the initialization can be removed.
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
In this step, the read/write routines for the descriptors are converted
to use __le32 quantities, thus a lot of casts can be removed. Callback
routines still use the 8-bit arrays, but these are changed within the
specified routine.
The macro that cleared a descriptor has now been converted into an inline
routine.
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
As a first step in the conversion, the macros that set the RX and TX
descriptors are converted to static inline routines, and the names are
changed from upper to lower case. To minimize the changes in a given
step, the input descriptor information is left as as a byte array
(u8 *), even though it should be a little-endian word array (__le32 *).
That will be changed in the next patch.
Several places where checkpatch.pl reports lines too long are fixed.
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
The rules for nd->root are messy:
* if we have LOOKUP_ROOT, it doesn't contribute to refcounts
* if we have LOOKUP_RCU, it doesn't contribute to refcounts
* if nd->root.mnt is NULL, it doesn't contribute to refcounts
* otherwise it does contribute
terminate_walk() needs to drop the references if they are contributing.
So everything else should be careful not to confuse it, leading to
rather convoluted code.
It's easier to keep track of whether we'd grabbed the reference(s)
explicitly. Use a new flag for that. Don't bother with zeroing
nd->root.mnt on unlazy failures and in terminate_walk - it's not
needed anymore (terminate_walk() won't care and the next path_init()
will zero nd->root in !LOOKUP_ROOT case anyway).
Resulting rules for nd->root refcounts are much simpler: they are
contributing iff LOOKUP_ROOT_GRABBED is set in nd->flags.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This driver uses a set of local macros to manipulate the RX and TX
descriptors, which are all little-endian quantities. These macros
are replaced by the bitfield macros le32p_replace_bits() and
le32_get_bits(). In several places, the macros operated on an entire
32-bit word. In these cases, a direct read or replacement is used.
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
As the first step in converting from macros that get/set information
in the RX and TX descriptors, unused macros are being removed.
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
If the call to hw_init() fails for any of the drivers, the driver will
leak memory that was allocated in BT coexistence setup. Technically, each
of the drivers should have done this free; however placing it in rtl_pci
fixes all the drivers with only a single patch.
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/realtek/rtlwifi/efuse.c:16:31:
warning: RTL8712_SDIO_EFUSE_TABLE defined but not used [-Wunused-const-variable=]
drivers/net/wireless/realtek/rtlwifi/efuse.c:9:17:
warning: MAX_PGPKT_SIZE defined but not used [-Wunused-const-variable=]
They are never used, so can be removed.
Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: YueHaibing <yuehaibing@huawei.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
In the process of converting the bit manipulation macros were converted
to use GENMASK(), the compiler reported a value too big for the field.
The offending statement was trying to write 0x100 into a 5-bit field.
An accompaning comment says to set bit 3, thus the code is changed
appropriately.
This error has been in the driver since its initial submission.
Fixes: 29d00a3e46 ("rtlwifi: rtl8192cu: Add routine trx")
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Now that these drivers use the usb localmem pool there is no need to
select DMA_DECLARE_COHERENT.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Tested-by: Guenter Roeck <linux@roeck-us.net>
Link: https://lore.kernel.org/r/20190903084615.19161-7-hch@lst.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
These wrappers have never seen use and have been commented out
for a long time. Remove them for good.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20190903084615.19161-6-hch@lst.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Now that we have the local memory pool implemented there is no
need to use dma_declare_coherent_memory.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20190903084615.19161-5-hch@lst.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
The dma_mask on its own doesn't mean much. Instead check for the actual
flag.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20190903084615.19161-4-hch@lst.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This driver doesn't support normal DMA, only direct access to its
local memory. Remove the HCD_DMA flag to properly express that fact.
Fixes: 7b81cb6bdd ("usb: add a HCD_DMA flag instead of guestimating DMA capabilities")
Signed-off-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20190903084615.19161-3-hch@lst.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This driver doesn't support normal DMA, only direct access to its
local memory. Remove the HCD_DMA flag to properly express that fact.
Fixes: 7b81cb6bdd ("usb: add a HCD_DMA flag instead of guestimating DMA capabilities")
Reported-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Tested-by: Guenter Roeck <linux@roeck-us.net>
Link: https://lore.kernel.org/r/20190903084615.19161-2-hch@lst.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
_CACHE_CACHABLE_NONCOHERENT is defined as 3<<_CACHE_SHIFT by default, so
there's no need to define it as such specifically for Loongson.
_CACHE_CACHABLE_COHERENT is not used anywhere in the kernel, so there's
no need to define it at all.
Finally the comment found alongside these definitions seems incorrect -
it suggests that we're defining _CACHE_CACHABLE_NONCOHERENT such that it
actually provides coherence, but the opposite seems to be true & instead
the unused _CACHE_CACHABLE_COHERENT is defined as the typically
incoherent value.
Delete the whole thing, which will have no effect on the compiled code
anyway.
Signed-off-by: Paul Burton <paul.burton@mips.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Cc: Huacai Chen <chenhc@lemote.com>
Cc: linux-mips@vger.kernel.org
The cpu_has_local_ebase macro is, confusingly, not used to indicate
whether the EBase register is local to a CPU or not. Instead it
indicates whether we want to generate the TLB refill exception vector
each time a CPU is brought online. Doing this makes little sense on any
system, since we always use the same value for EBase & thus we cannot
have different TLB refill exception handlers per CPU.
Regenerating the code is not only pointless but also can be actively
harmful, as commit 8759934e2b ("MIPS: Build uasm-generated code only
once to avoid CPU Hotplug problem") described. That commit introduced
cpu_has_local_ebase to disable the handler regeneration for Loongson
machines, but this is by no means a Loongson-specific problem.
Remove cpu_has_local_ebase & simply generate the TLB refill handler once
during boot, just like the rest of the TLB exception handlers.
Signed-off-by: Paul Burton <paul.burton@mips.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Cc: linux-mips@vger.kernel.org
We already know whether a CPU has r3k style exceptions, including TLB
exceptions, by checking cpu_has_3kex. Remove the list of CPU types in
build_tlb_refill_handler() & check cpu_has_3kex instead.
Signed-off-by: Paul Burton <paul.burton@mips.com>
Cc: linux-mips@vger.kernel.org
Currently areas where we need to determine whether the TLB is R3k-style
need to check for either of CONFIG_CPU_R3000 || CONFIG_CPU_TX39XX.
Introduce a new CONFIG_CPU_R3K_TLB & select it from both of the above,
allowing us to simplify checks for R3k-style TLBs by only checking for
this new Kconfig option.
Signed-off-by: Paul Burton <paul.burton@mips.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Cc: linux-mips@vger.kernel.org
Switch to the generic function mem_encrypt_active() because
sme_active() is x86 specific and can't be called from
generic code on other platforms than x86.
Fixes: 2cc13bb4f5 ("iommu: Disable passthrough mode when SME is active")
Signed-off-by: Joerg Roedel <jroedel@suse.de>
Copy-paste error from CHECK.
Fixes: d38835b75f ("selftests/bpf: test_progs: remove global fail/success counts")
Signed-off-by: Stanislav Fomichev <sdf@google.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
fseeko(.., 0, SEEK_SET) on a memstream just puts the buffer pointer
to the beginning so when we call fflush on it we get some garbage
log data from the previous test. Let's manually set terminating
byte to zero at the reported buffer size.
To show the issue consider the following snippet:
stream = open_memstream (&buf, &len);
fprintf(stream, "aaa");
fflush(stream);
printf("buf=%s, len=%zu\n", buf, len);
fseeko(stream, 0, SEEK_SET);
fprintf(stream, "b");
fflush(stream);
printf("buf=%s, len=%zu\n", buf, len);
Output:
buf=aaa, len=3
buf=baa, len=1
Fixes: 946152b3c5 ("selftests/bpf: test_progs: switch to open_memstream")
Signed-off-by: Stanislav Fomichev <sdf@google.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Highlights
- odroid-c1: use MAC address from efuse
- add VDD_EE regulator to several boards
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEEe4dGDhaSf6n1v/EMWTcYmtP7xmUFAl1cbb0ACgkQWTcYmtP7
xmXlwhAAhPL9N9p4sLYjGy7CMGYzN9N5SJ7mufADC2K1uTDe7BREtgkFZaFRcnTp
MBuCkrLb+aRn8iIsdKHo1Y1uOJ5XHo5kXMCEWzT2BsA9ilzBZ7u+/Zeb3izi7OCy
Vti92xWePzsTQqtYBVnOhmwX/QpGLeED3XC+t87IrjI7PMiyGUjq34PPf9QycdAh
Ck0o8SFCb8OuVqXsbiCyKkbZs7naAiuJKXIMxRQj/4THE1mMjfgVxKYZpMiUI0pQ
CdCucZ5RJ3ylhmA6T8ikhxbUWRrZwrtklgUsPuZAVIyXh/eOYlpCunPsdsDlRm8z
a8DfNOzIXLyQWfYrNjFE7NShEPkb7aV4HN4E73CCgvAivthoh5hpcmv4FnFsqH20
frta6qcvKzNpk88mc95NQJ3a5OWVaGK6CJYfGK2VBI6+y5+QKXntUzp9kxiZqysH
6/ghU7xP8QSdynno88UqHubwpyMEfWVAIymS3ziRheu7LX02OIGE0ZEpmzu5e7gU
kozGilY6pQr7lHP9K1LlKI1DYi5P3UFGNF09YjZPsp9xiPeQKXAmBkWUrYFdk1+x
urpsrL3Pd+RD77ZOq8xTHnO3zL3vKzhIh2ginnzaC9zxjKR72VEgU90SLy/oDboT
W8x2oG5UrkDVPMrBSiNWg5IUNqYjSLJonIf+afXbr9cqlwX3Y4I=
=zCaj
-----END PGP SIGNATURE-----
Merge tag 'amlogic-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic into arm/dt
ARM: dts: Amlogic updates for v5.4
Highlights
- odroid-c1: use MAC address from efuse
- add VDD_EE regulator to several boards
* tag 'amlogic-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic:
ARM: dts: meson8b: odroidc1: use the MAC address stored in the eFuse
ARM: dts: meson8b: mxq: add the VDDEE regulator
ARM: dts: meson8b: odroidc1: add the VDDEE regulator
ARM: dts: meson8b: ec100: add the VDDEE regulator
ARM: dts: meson8b: add the PWM_D output pin
ARM: dts: meson8b: add ethernet fifo sizes
Link: https://lore.kernel.org/r/7hzhk3bi96.fsf@baylibre.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
the Kevin Chromebook and a new board the Leez P710 SBC.
-----BEGIN PGP SIGNATURE-----
iQFEBAABCAAuFiEE7v+35S2Q1vLNA3Lx86Z5yZzRHYEFAl1X/7UQHGhlaWtvQHNu
dGVjaC5kZQAKCRDzpnnJnNEdgSeCB/4o5aQ6PRfpm+TnXIdiw1GqnhAp3lhQLtT/
jZkSAiANcH2tFyFiPOjPDARbnd7T2J8ZxfBzJt5/5z/VsCpwh0BQGJFXq4Htbnfj
d9YkhS7N9y1tRuCregpD/0LcKXSdttmYXiiHUzuL3FzNtU1U5buXf4pyDDwqtvNN
AYiKYvUixO+Sr3J71Ww4WWXZUt/m2VEN4MPvjjheMSWCSmSV3pw1yjKSb+MpovfP
tBdPjOCKizDm2W/+5eLCH4HbV6A7bp5GA4v71Qt9B5UT1RxdZ4befx9JJqgJteDw
uEyHiSyf4jdjczHAxMryuev0yiU2r/UsGGintDLMggpAI6dcXk9O
=52SD
-----END PGP SIGNATURE-----
Merge tag 'v5.4-rockchip-dts64-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into arm/dt
PWM-Fan and nor-flash for the RockPro64, a better display mode for
the Kevin Chromebook and a new board the Leez P710 SBC.
* tag 'v5.4-rockchip-dts64-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
arm64: dts: rockchip: Add dts for Leez RK3399 P710 SBC
arm64: dts: rockchip: enable internal SPI flash for RockPro64.
arm64: dts: rockchip: Add PWM fan for RockPro64
arm64: dts: rockchip: Specify override mode for kevin panel
Link: https://lore.kernel.org/r/20190819141659.26414-1-dinguyen@kernel.org
Link: https://lore.kernel.org/r/2362486.gYoCZEsBuK@phil
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Fix spurious warning message when building with W=1:
CC [M] drivers/net/wireless/realtek/rtlwifi/usb.o
drivers/net/wireless/realtek/rtlwifi/usb.c:243: warning: Cannot understand * on line 243 - I thought it was a doc line
drivers/net/wireless/realtek/rtlwifi/usb.c:760: warning: Cannot understand * on line 760 - I thought it was a doc line
drivers/net/wireless/realtek/rtlwifi/usb.c:790: warning: Cannot understand * on line 790 - I thought it was a doc line
Clean up the comment format.
Signed-off-by: Valdis Kletnieks <valdis.kletnieks@vt.edu>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Global pages support is removed from VT-d spec 3.0. Since global pages G
flag only affects first-level paging structures and because DMA request
with PASID are only supported by VT-d spec. 3.0 and onward, we can
safely remove global pages support.
For kernel shared virtual address IOTLB invalidation, PASID
granularity and page selective within PASID will be used. There is
no global granularity supported. Without this fix, IOTLB invalidation
will cause invalid descriptor error in the queued invalidation (QI)
interface.
Fixes: 1c4f88b7f1 ("iommu/vt-d: Shared virtual address in scalable mode")
Reported-by: Sanjay K Kumar <sanjay.k.kumar@intel.com>
Signed-off-by: Jacob Pan <jacob.jun.pan@linux.intel.com>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
If CONFIG_PCI_ATS is not set, building fails:
drivers/iommu/arm-smmu-v3.c: In function arm_smmu_ats_supported:
drivers/iommu/arm-smmu-v3.c:2325:35: error: struct pci_dev has no member named ats_cap; did you mean msi_cap?
return !pdev->untrusted && pdev->ats_cap;
^~~~~~~
ats_cap should only used when CONFIG_PCI_ATS is defined,
so use #ifdef block to guard this.
Fixes: bfff88ec1a ("iommu/arm-smmu-v3: Rework enabling/disabling of ATS for PCI masters")
Signed-off-by: YueHaibing <yuehaibing@huawei.com>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
areas and also a 100ms speedup as a delay isn't needed anymore.
New boards are Tiger and Fievel from the Veyron family and the Mecer Xtreme
Mini S6, which I think is the first consumer-grade rk3229-based device in
the kernel.
-----BEGIN PGP SIGNATURE-----
iQFEBAABCAAuFiEE7v+35S2Q1vLNA3Lx86Z5yZzRHYEFAl1X/0cQHGhlaWtvQHNu
dGVjaC5kZQAKCRDzpnnJnNEdgT2RB/0X8SGcSRLL6vGCBH4vbATtnh1ceh6O2GA8
NO1N+OgQjPQWQyVx8ZWb7oaWgECwnXn41WT1HP9t0KB4w4sILZEswJrDRKV0dj1o
g+8tpgdxzJ7YF+vEkW1EcdPU2d1bRBJZ4qN38t2/StWg5WCrfThM2zBEUEJyWHpr
QYfSVXmhvPHISyZE+/k0tdgBhEi3KQph7ZVPhsmhugd1PeIV5lMDTVx4H7ljdnuC
/rVM/Yj+93r23bMgp6VGaMQmidlymYWCwxdTM4d4vDozViaykJ38BwDKVzfXX99y
hxA2BxKjp+37tuy4r4IO3kuqTEH6b4rvZzdNxJwBrGmIcBfv3n9j
=b567
-----END PGP SIGNATURE-----
Merge tag 'v5.4-rockchip-dts32-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into arm/dt
A lot more love for Veyron devices with cleanups in the display and wifi
areas and also a 100ms speedup as a delay isn't needed anymore.
New boards are Tiger and Fievel from the Veyron family and the Mecer Xtreme
Mini S6, which I think is the first consumer-grade rk3229-based device in
the kernel.
* tag 'v5.4-rockchip-dts32-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
ARM: dts: add device tree for Mecer Xtreme Mini S6
Revert "ARM: dts: rockchip: add startup delay to rk3288-veyron panel-regulators"
ARM: dts: rockchip: Add pin names for rk3288-veyron fievel
ARM: dts: rockchip: A few fixes for veyron-{fievel,tiger}
ARM: dts: rockchip: Cleanup style around assignment operator
ARM: dts: rockchip: add veyron-tiger board
ARM: dts: rockchip: add veyron-fievel board
dt-bindings: ARM: dts: rockchip: Add bindings for rk3288-veyron-{fievel,tiger}
ARM: dts: rockchip: consolidate veyron panel and backlight settings
ARM: dts: rockchip: move rk3288-veryon display settings into a separate file
ARM: dts: rockchip: Limit WiFi TX power on rk3288-veyron-jerry
ARM: dts: rockchip: Specify rk3288-veyron-minnie's display timings
ARM: dts: rockchip: Specify rk3288-veyron-chromebook's display timings
Link: https://lore.kernel.org/r/1611583.rKl1eQBRh8@phil
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
1. Add AHCI to Exynos5250,
2. Add camera and GPU power domains to Exynos5422,
3. Minor cleanup.
-----BEGIN PGP SIGNATURE-----
iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAl1W0McQHGtyemtAa2Vy
bmVsLm9yZwAKCRDBN2bmhouD11NdD/9gBRh/aDmWNcY7nAtUzQKeexRdG0BQtEXO
sRot5nSJPmlz/AtCLtX+q8R+ZpbpDtLj3GWYHPE+1tU8JFoSaLgAvP8lSqK/n+mQ
52uYKRWKjhrZgCRXVbMJMCxmse7V+QvA5r/182T+TIJBcfnWPyJ6U0UpI89mDaqv
qTJkB/bUh6i2O+HJBj2QOUTi91J5Uo3OEemSksHezfVlhShVC6JdvTCnJ+eUCukY
qRScDpORRigoxIIhpU38af7pxfkHteIWiboZ24UrqPbI9lIV7ipUY9iRxaSKTF7T
ZSNNMUc9WVYmqxSLb9SBEpfXQuPG4v0ENdxh7ZI17hv3tjTrbp6R3YjCgqWuFJxr
2hfW5wJFdl5QrxESN5KiudtSoW8ArFNH/Sl1funy/fJu8foJznpe31ELlvl1hmgG
n1MqY4uMhieozMse/OJd32zs5amqNkUo9vsvg+R/Bm5rrWMwmyyBcyrLd20/3Qar
OwlKHKoX9OgjitQS0UUsDc6MB+Q4qWUTpdaG4eEKXty0OxRGvSoJvZmeG8rWqidi
tA2kaB60+XjB6CrefQoSI68z4qkNT5DXibrn9tMiK5mmzfempLA2RH5A+4sW0GKi
3KC1djjThCMs4yKpfcSVqP/c37+mNE0r68K0UFIWPSTpbRenEvQxKrAdd6vRYzmL
Ntz7AggayQ==
=HMId
-----END PGP SIGNATURE-----
Merge tag 'samsung-dt-5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into arm/dt
Samsung DTS ARM changes for v5.4
1. Add AHCI to Exynos5250,
2. Add camera and GPU power domains to Exynos5422,
3. Minor cleanup.
* tag 'samsung-dt-5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
ARM: dts: exynos: Add CAM power domain to Exynos5422/5800
ARM: dts: exynos: Add G3D power domain to Exynos542x
ARM: dts: exynos: Move MSC power domain to the right (sorted) place
ARM: dts: exynos: Add port map to Exynos5250 AHCI node
ARM: dts: exynos: Use space after '=' in exynos4412-itop-scp-core
Link: https://lore.kernel.org/r/20190816163042.6604-2-krzk@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
The first change moves platform-specific asm-offsets.h to arch/arm/mach-omap2
to fix iessu with parallel build with CONFIG_IKHEADERS, and the second change
removes a useless kfree.
Note that the first change causes a trivial merge conflict with the iommu
changes for arch/arm/mach-omap2/Makefile.
-----BEGIN PGP SIGNATURE-----
iQJFBAABCAAvFiEEkgNvrZJU/QSQYIcQG9Q+yVyrpXMFAl1kCcERHHRvbnlAYXRv
bWlkZS5jb20ACgkQG9Q+yVyrpXPOfhAA3yv95lG1eyrhJ+E/kOWrinDARIDJvh+2
Ha1A3HkyJ+qzNg1GdeQ5exU3/ZsJRvKdU5MSmldnrvg9jWYFcBMeF8vtR7ZMEdzJ
GDW4o211WEmca/ni9ChNmfVWPF5WSoeMQLa3Ytg40lc1v7CuHYSrmrB2Rqjtpnon
uokTt3hjJHCX/Q5wvf8sWdhAynPbxq7zcCMNbyGxzaoKolWas6bpLmcNwHp4zDi0
JE+bd7sc9ZvBt8mnsJ9XUMVdQQ75jD3LeJyYzixMxNxpfUsnc3WZDZgaxFpW1hCK
eBTRNQLiwZ9MsbgWCUdY7Brd+GIW15HPX+r5s2GhtXXqex+abfSRRqH6P7uneAmn
9CfxzYshITfl7R7nSd1HzGKg4DjNmsktFFFyKWd/H8xvjI5lnt9M1VSyRVJiY+1z
bw4IV+ag+n3NfOzhpi3ddB9uFhSZtpJ1SH7Ynj7NS3YSfWamJs93Z0RXVAZXYNM0
Vwj+g/YfgtY7qnSGcbfoBPLh7gmGRpsVOxOOmuMlkwcVjN1Pvb3wqT+JGUiCxm6d
rdcazAxjc2rvnJuJc1stzrSBMT5AZdxAw+DOTTLRfEcBnf6C5mhGFRyOCxhxL2QB
Q2MWI1aHWqjmu1QTnBLDoUNyaKyxrZm00cq2b4U8lh7xO4v3ACks2jXuD5zQjzjo
nTReIX6lPeQ=
=DRR4
-----END PGP SIGNATURE-----
Merge tag 'omap-for-v5.4/soc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/soc
SoC changes for omap variants for v5.4
The first change moves platform-specific asm-offsets.h to arch/arm/mach-omap2
to fix iessu with parallel build with CONFIG_IKHEADERS, and the second change
removes a useless kfree.
Note that the first change causes a trivial merge conflict with the iommu
changes for arch/arm/mach-omap2/Makefile.
* tag 'omap-for-v5.4/soc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
ARM: OMAP2+: Delete an unnecessary kfree() call in omap_hsmmc_pdata_init()
ARM: OMAP2+: move platform-specific asm-offset.h to arch/arm/mach-omap2
Link: https://lore.kernel.org/r/pull-1567016893-318461@atomide.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
- MAINTAINERS updates
- a generated headers parallel build fix
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEycoQi/giopmpPgB12wIijOdRNOUFAl1i7TUACgkQ2wIijOdR
NOWiLA/7BEmdnsnrfDxK+fKvAP1h7U+r/5SXeIrDfBZ5BVeYKR2hiF6go8UoNuaQ
LWcB6GFTSj+Js26qrmgMs7S9eb8u4OkLN6j9mI6TaWpvsWKZyR3ffpb4SYgLqgPK
GHVB7xI2GyJzlGklmGX63NkBDcBAaol+oOO8YznXkruxASfZzCes/ibCQfj5Ce7x
PTKZppASsOhUo+bEipyBTyYnu9xotmPD6CHYZ4kKL9IOqOJkXJHf5su/pgBMkHGd
Sa3SGFOWPw5PqZLZdC/VN98oiaFC7/AiF/YNV1VuJ+Fj/VZ9yk4F9wHGPoG3Sv+7
x8INFPw9gDkAy1Fuoh87ImVkaTpCWJYLpurGhSj77WwaUdq1D0ciPn2yf3BTq6Kl
pUBi8sRq5pr45/oKkVQ191VLtkMO2FXhzyriCu+NdRmI7OEiuQ47bdysC/kcOg+Z
lrGveqWOa+aOPI3ZyHA3vQMmNaR1yxRhU6CyWJn9skAFIQUAbi7dDF4b1+32nQvm
8u1ydE4vYt0OJpMJIJkpUB6NIC3vF1USp83OKKc6D3OpiFXi0d9hgx/GMyWuiSvt
w01JGwQ9j3KiyCvi1YsIhlzhuAThiOPbLAsutWB2t9/kgsXHWD48GgzovsJDbIld
pmh0enifJXjpJLAsHMGrL1m6ITdpUqFyaBAJRV2Df3THWlC/ZdE=
=pqcm
-----END PGP SIGNATURE-----
Merge tag 'at91-5.4-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/at91/linux into arm/soc
AT91 SoC for 5.4
- MAINTAINERS updates
- a generated headers parallel build fix
* tag 'at91-5.4-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/at91/linux:
mailmap: map old company name to new one @microchip.com
MAINTAINERS: at91: remove the TC entry
MAINTAINERS: at91: Collect all pinctrl/gpio drivers in same entry
ARM: at91: move platform-specific asm-offset.h to arch/arm/mach-at91
Link: https://lore.kernel.org/r/20190825203222.GA22800@piout.net
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
- Drop AR8031 PHY TX delay adjusting from i.MX7D machine code, as
it's superfluous due to the recent changes to Atheros AT803X driver.
- Select TIMER_IMX_SYS_CTR for arm64 ARCH_MXC platform, since the
system counter is needed as broadcast timer for cpuidle support.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQEcBAABAgAGBQJdYoI2AAoJEFBXWFqHsHzOxAsH/iKDF5cqmAOdNbD/0stFIxCV
ic+OX45aXyzbtSmD44sp0zuqGVA5RRu/OwYWlKA7WZHoeUUfbKMsMw9knO/ZaQTD
m9CwMuuA8bZhJUWSjbSpqlLJfdqzhnzkGuyq9A6IDqjf0y7eILD7km+YAZPNTBvo
LvvJnLhCI7FKY8miWpMe1pAY3XvzPTqlb1J0LywrJowXyVU9fJWVh7wSPTeDYsS1
+PQCTsnTX5Lm5rvV7px9ADwIzYq7qwuIVOfXwG+H1yMJRefQaWKePGb36KOHU+9S
isHiSYFSKw0BzLIGr2uap54LKaaprJiHdvUMncU8c3M+2hjWWNtlDkgZwUULluM=
=8VOJ
-----END PGP SIGNATURE-----
Merge tag 'imx-soc-5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into arm/soc
i.MX SoC changes for 5.4:
- Drop AR8031 PHY TX delay adjusting from i.MX7D machine code, as
it's superfluous due to the recent changes to Atheros AT803X driver.
- Select TIMER_IMX_SYS_CTR for arm64 ARCH_MXC platform, since the
system counter is needed as broadcast timer for cpuidle support.
* tag 'imx-soc-5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
ARM: imx: stop adjusting ar8031 phy tx delay
arm64: Enable TIMER_IMX_SYS_CTR for ARCH_MXC platforms
Link: https://lore.kernel.org/r/20190825153237.28829-2-shawnguo@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This adds support for the new ASPEED AST2600 BMC SoC.
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEE+nHMAt9PCBDH63wBa3ZZB4FHcJ4FAl1ik9UACgkQa3ZZB4FH
cJ7tiQ/+MBcqjS9mutOpfQ7dyUEmwNuauehpHkz/3pv5xBMcV3dEnn6ZGSsHqg+5
m8HUpALdrytfDAoNfOuSg+oJnUaKLZ9n2HEycwcOVvtFAeOjEKRxAKQZfseS5BF9
nSXy4aE8EkjzwNGSrhCISM+4Gh82Ms/a+wnQ0Oe4O0UEopPz0n89Sw8Synw5MO6+
+BbtY49y4yQKLYRhNBRT0+g0NQNDwrztoxwI1goYYZd8QgLAFQZdaHansumRPXbx
xKiqOQYCjB1jc7xMgTibqg57W1uzGFCJniy022QZ4ZDNFYynV9fSKFXiJaT7Eac0
4qOm/2Q3jBLPbzclIAeAYttmtSZEFPSiLukdQJ2yYLuNRJf7EtUXRaUZjXtve+u4
BON4/hcZ69e5Hklp52ztdGp42AymTuqdjNkHI3mWaxo+Be8fAz2nBy+FWq3j5pkt
v068jEjqjOunJ/F5QNHfHAS5PvdlM0Nrl7Rc5iCFn2KVYaqDWxJvkwUBO09D3IsZ
CN2J0y3LgTkTp6cCW8K7doZgdHtbEzu6wT12iseGnF4IIfg1g7wqI9gM4Ee8u3ey
4YQqdce34hCn9QrLquqZAtmEj+csyASg+lFY1vOsveDDbQPzpQem7dfMGmabghNJ
qWgVwDSk4i3Tsy4TedOxE5WlDRzJnB7UBVZxNnQzBjz8Utzg/jo=
=KLEf
-----END PGP SIGNATURE-----
Merge tag 'aspeed-5.4-arch' of git://git.kernel.org/pub/scm/linux/kernel/git/joel/aspeed into arm/soc
ASPEED architecture updates for 5.4
This adds support for the new ASPEED AST2600 BMC SoC.
* tag 'aspeed-5.4-arch' of git://git.kernel.org/pub/scm/linux/kernel/git/joel/aspeed:
ARM: aspeed: Enable SMP boot
ARM: aspeed: Add ASPEED AST2600 architecture
ARM: aspeed: Select timer in each SoC
dt-bindings: arm: cpus: Add ASPEED SMP
Link: https://lore.kernel.org/r/CACPK8Xc1aSp5fXL3cEzC9SJsCXG2JwsSPpQrW3a09dkvhCyHHA@mail.gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Single cleanup patch handling type checks using cppcheck tool
(bitwise shift by more than 31 on a 32 bit type)
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEEunHlEgbzHrJD3ZPhAEG6vDF+4pgFAl1T44QACgkQAEG6vDF+
4picTRAAnSvwq6SMWQtwEonJ+tHhiwHgfdyU6lbWg2nqmugU4QezrKhWI8047vD2
IY8bS0m4PRxWLa5lSAIOpKv2zpl/+TTkApun66RpdVhKzS6JnmuVQyoe+lhZUKbF
MPeKAk82HTresu/jQN4D9OuPFSC6/NbOEMi3NwPIT2ncV+UVzrxZ3LR9lBrJRviV
hjOv7gN48tThBepUoJjhLdjfddAdrqOYhfXPE95OhNBzQ9mg+3Gk9kH4JBfFm0Q4
SdL3fBznhJtw2KyvqM480nxO2BPvWo425EGX1T8R2CuoApoPk9D3jgk6anlJIhP8
1A5rDQWsuQAmGHmf2dbyWBFk4Mylf1Vo+IWrClPrNwzCfPoKK1IDEQQ6vIheP2pt
RrrGgGTj13aU8xbH3VYTF58u71YytwexUFU5RfnNcj1v3MWdrnxPekrCuazxE6dC
CJ+NANZr8GYvA1eKwu5pfRWrkYkcFqHYiHIQtWb6pvP/WetYNUjmM+L7epWesrk3
eyJqUKXmQoA1Vdd9L9QYUaicRUCMrDwuUBcQSF7DzZal8KaUBgOlwQVO1Pihbt0+
IdE8vTZLeIryY8Q88z/b42nH9IAjFj9+FCoCfkHrfAnH1c3Lv9vUd4pTDbf9RV5n
NdPSlYQYK+9xu0yVnF62eN3h4iJWUG2lRczmPdpEEfth22TRZFo=
=JqeJ
-----END PGP SIGNATURE-----
Merge tag 'vexpress-update-5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into arm/soc
ARMv7 Vexpress update for v5.4
Single cleanup patch handling type checks using cppcheck tool
(bitwise shift by more than 31 on a 32 bit type)
* tag 'vexpress-update-5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux:
ARM: vexpress: Cleanup cppcheck shifting warning
Link: https://lore.kernel.org/r/20190814172441.26143-1-sudeep.holla@arm.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
s390_base_mcck_handler was used during system reset if diag308 set was
not available. But after commit d485235b00 ("s390: assume diag308 set
always works") is a dead code and could be removed.
Acked-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
When the driver is working in TCFQ/EOQ mode (i.e. interacts with the SPI
controller's FIFOs directly) the following sequence of operations
happens:
- The first byte of the tx buffer gets pushed to the TX FIFO (dspi->len
gets decremented). This triggers the train of interrupts that handle
the rest of the bytes.
- The dspi_interrupt handles a TX confirmation event. It reads the newly
available byte from the RX FIFO, checks the dspi->len exit condition,
and if there's more to be done, it kicks off the next interrupt in the
train by writing the next byte to the TX FIFO.
Now the problem is that the wait queue is woken up one byte too early,
because dspi->len becomes 0 as soon as the byte has been pushed into the
TX FIFO. Its interrupt has not yet been processed and the RX byte has
not been put from the FIFO into the buffer.
Depending on the timing of the wait queue wakeup vs the handling of the
last dspi_interrupt, it can happen that the main SPI message pump thread
has already returned back into the spi_device driver. When the rx buffer
is on stack (which it can be, because in this mode, the DSPI doesn't do
DMA), the last interrupt will perform a memory write into an rx buffer
that has been freed. This manifests as stack corruption.
The solution is to only wake up the wait queue when dspi_rxtx says so,
i.e. after it has processed the last TX confirmation interrupt and
collected the last RX byte.
Fixes: c55be30591 ("spi: spi-fsl-dspi: Use poll mode in case the platform IRQ is missing")
Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
Link: https://lore.kernel.org/r/20190903105708.32273-1-olteanv@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Introduce new polling mode for short size transfer. Either the estimated
transfer time is estimated to exceed 200us, or polling loop actually exceeds
200us, it switches to irq mode.
Signed-off-by: Keiji Hayashibara <hayashibara.keiji@socionext.com>
Link: https://lore.kernel.org/r/1567488661-11428-4-git-send-email-hayashibara.keiji@socionext.com
Signed-off-by: Mark Brown <broonie@kernel.org>