Add senvcfg context save/restore for guest VCPUs and also add it to the
ONE_REG interface to allow its access from user space.
Signed-off-by: Mayuresh Chitale <mchitale@ventanamicro.com>
Reviewed-by: Andrew Jones <ajones@ventanamicro.com>
Signed-off-by: Anup Patel <anup@brainfault.org>
Configure hstateen0 register so that the AIA state and envcfg are
accessible to the vcpus. This includes registers such as siselect,
sireg, siph, sieh and all the IMISC registers.
Signed-off-by: Mayuresh Chitale <mchitale@ventanamicro.com>
Reviewed-by: Andrew Jones <ajones@ventanamicro.com>
Signed-off-by: Anup Patel <anup@brainfault.org>
Add a placeholder for all registers such as henvcfg, hstateen etc
which have 'static' configurations depending on extensions supported by
the guest. The values are derived once and are then subsequently written
to the corresponding CSRs while switching to the vcpu.
Signed-off-by: Mayuresh Chitale <mchitale@ventanamicro.com>
Reviewed-by: Andrew Jones <ajones@ventanamicro.com>
Signed-off-by: Anup Patel <anup@brainfault.org>
Add an entry for the Zicond extension to the riscv,isa-extensions property.
Signed-off-by: Anup Patel <apatel@ventanamicro.com>
Reviewed-by: Andrew Jones <ajones@ventanamicro.com>
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
Signed-off-by: Anup Patel <anup@brainfault.org>
The RISC-V integer conditional (Zicond) operation extension defines
standard conditional arithmetic and conditional-select/move operations
which are inspired from the XVentanaCondOps extension. In fact, QEMU
RISC-V also has support for emulating Zicond extension.
Let us detect Zicond extension from ISA string available through
DT or ACPI.
Signed-off-by: Anup Patel <apatel@ventanamicro.com>
Reviewed-by: Andrew Jones <ajones@ventanamicro.com>
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
Acked-by: Palmer Dabbelt <palmer@rivosinc.com>
Signed-off-by: Anup Patel <anup@brainfault.org>
Add an entry for the Smstateen extension to the riscv,isa-extensions
property.
Signed-off-by: Mayuresh Chitale <mchitale@ventanamicro.com>
Reviewed-by: Andrew Jones <ajones@ventanamicro.com>
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
Signed-off-by: Anup Patel <anup@brainfault.org>
Extend the ISA string parsing to detect the Smstateen extension. If the
extension is enabled then access to certain 'state' such as AIA CSRs in
VS mode is controlled by *stateen0 registers.
Signed-off-by: Mayuresh Chitale <mchitale@ventanamicro.com>
Reviewed-by: Andrew Jones <ajones@ventanamicro.com>
Signed-off-by: Anup Patel <anup@brainfault.org>
SM7150 uses a qcom,smmu-v2-style SMMU just for Adreno and friends.
Add a compatible for it.
Signed-off-by: Danila Tikhonov <danila@jiaxyga.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20230913184526.20016-3-danila@jiaxyga.com
Signed-off-by: Will Deacon <will@kernel.org>
SM7150 has a qcom,smmu-v2-style SMMU just for Adreno and friends.
Document it.
Signed-off-by: Danila Tikhonov <danila@jiaxyga.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20230913184526.20016-2-danila@jiaxyga.com
Signed-off-by: Will Deacon <will@kernel.org>
Add the compatible for the MDSS client on the Snapdragon 670 so it can
be properly configured by the IOMMU driver.
Otherwise, there is an unhandled context fault.
Signed-off-by: Richard Acayan <mailingradian@gmail.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://lore.kernel.org/r/20230925234246.900351-3-mailingradian@gmail.com
Signed-off-by: Will Deacon <will@kernel.org>
The alternative stack checking in get_sigframe introduced by the Vector
support is not needed and has a problem. It is not needed as we have
already validate it at the beginning of the function if we are already
on an altstack. If not, the size of an altstack is always validated at
its allocation stage with sigaltstack_size_valid().
Besides, we must only regard the size of an altstack if the handler of a
signal is registered with SA_ONSTACK. So, blindly checking overflow of
an altstack if sas_ss_size not equals to zero will check against wrong
signal handlers if only a subset of signals are registered with
SA_ONSTACK.
Fixes: 8ee0b41898 ("riscv: signal: Add sigcontext save/restore for vector")
Reported-by: Prashanth Swaminathan <prashanthsw@google.com>
Signed-off-by: Andy Chiu <andy.chiu@sifive.com>
Link: https://lore.kernel.org/r/20230822164904.21660-1-andy.chiu@sifive.com
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
Prepare for the coming implementation by GCC and Clang of the __counted_by
attribute. Flexible array members annotated with __counted_by can have
their accesses bounds-checked at run-time via CONFIG_UBSAN_BOUNDS (for
array indexing) and CONFIG_FORTIFY_SOURCE (for strcpy/memcpy-family
functions).
Use struct_size() and flex_array_size() helpers to calculate proper sizes
for allocation and memcpy().
Don't change logic at all, and result is identical as before.
Cc: Kees Cook <keescook@chromium.org>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Reviewed-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20231011063725.25276-2-pkshih@realtek.com
Prepare for the coming implementation by GCC and Clang of the __counted_by
attribute. Flexible array members annotated with __counted_by can have
their accesses bounds-checked at run-time via CONFIG_UBSAN_BOUNDS (for
array indexing) and CONFIG_FORTIFY_SOURCE (for strcpy/memcpy-family
functions).
Use struct_size() and flex_array_size() helpers to calculate proper sizes
for allocation and memcpy().
Don't change logic at all, and result is identical as before.
Cc: Kees Cook <keescook@chromium.org>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Reviewed-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20231011063725.25276-1-pkshih@realtek.com
Add IEEE80211_RADIOTAP_EHT and IEEE80211_RADIOTAP_EHT_USIG radiotap to
fill basic EHT NSS, MCS, GI and bandwidth.
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20231011115256.6121-7-pkshih@realtek.com
Since we have TX rate from RA report of C2H event and RX rate from RX
descriptor, show them in debugfs like
TX rate [1]: EHT 2SS MCS-7 GI:3.2 BW:80 (hw_rate=0x427)
RX rate [1]: EHT 2SS MCS-7 GI:3.2 BW:80 (hw_rate=0x427)
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20231011115256.6121-6-pkshih@realtek.com
RA (rate adaptive) C2H report is to reflect current TX rate firmware is
using. Parse C2H event encoded in EHT mode, and then user space and debugfs
can use the information to know TX rate.
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20231011115256.6121-5-pkshih@realtek.com
Set EHT rate mask to RA (rate adaptive) H2C command according to handshake
result. The EHT rate mask format looks like
44 28 12 4 0
+----------------+----------------+--------+----+
| EHT 2SS rate | EHT 1SS rate | OFDM | CCK|
+----------------+----------------+--------+----+
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20231011115256.6121-4-pkshih@realtek.com
There are two kinds of RX packets -- normal and its PPDU status packet.
Both have RX descriptor containing some information such as rate, GI and
bandwidth, and we use these information to find the relationship between
two kinds of packets. Then, we can get more information like RSSI and EVM
from PPDU status packet.
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20231011115256.6121-3-pkshih@realtek.com
Define EHT U-SIG bandwidth used by radiotap according to Table 36-28
"U-SIG field of an EHT MU PPDU" in 802.11be (D3.0).
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20231011115256.6121-2-pkshih@realtek.com
Simplify 'rtl92ee_dm_common_info_self_update()',
'rtl8723be_dm_common_info_self_update()', and
'rtl8821ae_dm_common_info_self_update()' by using
'list_count_nodes()'. Compile tested only.
Signed-off-by: Dmitry Antipov <dmantipov@yandex.ru>
Acked-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20231011045227.7989-1-dmantipov@yandex.ru
Prepare for the coming implementation by GCC and Clang of the __counted_by
attribute. Flexible array members annotated with __counted_by can have
their accesses bounds-checked at run-time via CONFIG_UBSAN_BOUNDS (for
array indexing) and CONFIG_FORTIFY_SOURCE (for strcpy/memcpy-family
functions).
Add __counted_by for struct p54_cal_database.
Cc: Christian Lamparter <chunkeey@googlemail.com>
Cc: Kalle Valo <kvalo@kernel.org>
Cc: "Gustavo A. R. Silva" <gustavoars@kernel.org>
Cc: linux-wireless@vger.kernel.org
Cc: linux-hardening@vger.kernel.org
Suggested-by: Jason Andryuk <jandryuk@gmail.com>
Signed-off-by: Kees Cook <keescook@chromium.org>
Reviewed-by: Jason Andryuk <jandryuk@gmail.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20231009161028.it.544-kees@kernel.org
Clang warns (or errors with CONFIG_WERROR=y):
sound/soc/tegra/tegra210_amx.c:553:10: error: variable 'soc_data' is uninitialized when used here [-Werror,-Wuninitialized]
553 | soc_data->regmap_conf);
| ^~~~~~~~
A refactoring removed the initialization of this variable but its use
was not updated. Use the soc_data value in the amx variable to resolve
the warning and remove the soc_data variable, as it is now entirely
unused.
Closes: https://github.com/ClangBuiltLinux/linux/issues/1943
Fixes: 9958d85968 ("ASoC: Use device_get_match_data()")
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Link: https://lore.kernel.org/r/20231011-asoc-tegra-fix-uninit-soc_data-v1-1-0ef0ab44cf48@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Current mechanism replaces "%d" present in some routes and widget names
with SSP number. However there are also configurations which make use of
TDM number, in which case expected behavior would be to have string in
form of SSP:TDM - see implementation of avs_i2s_platform_register() in
sound/soc/intel/avs/pcm.c.
Implement custom function, which parses string and make use of it when
parsing topology. While at it make sure that we generate dynamic names
only if there is no multiple SSPs or TDMs defined.
Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Link: https://lore.kernel.org/r/20231012083514.492626-4-amadeuszx.slawinski@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
In quite a few places in code there are checks for number of SSPs
present on system, to reduce maintenance burden introduce helper
functions allowing to get SSP and TDM from machine board configuration.
Additionally in boards we use SSP and TDM to generate quite a few
strings, it could be done like:
if (tdms)
dl->name = devm_kasprintf(dev, GFP_KERNEL, "SSP%d:%d-Codec",
ssp_port, tdm_slot);
else
dl->name = devm_kasprintf(dev, GFP_KERNEL, "SSP%d-Codec",
ssp_port);
but quite quickly code ends up with spaghetti of similar if elses.
Instead introduce macro which can be used to generate correct string,
allowing to minimize code to something like:
dl->name = devm_kasprintf(dev, GFP_KERNEL, AVS_STRING_FMT("SSP", "-Codec",
ssp_port, tdm_slot));
Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Link: https://lore.kernel.org/r/20231012083514.492626-3-amadeuszx.slawinski@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
When using TDM configuration some other device may be using SSP%d, so
don't create snd_soc_dai_driver configuration for it unless requested
by TDM configuration.
While at it adjust tdf8532 board to explicitly describe TDM
configuration.
Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Link: https://lore.kernel.org/r/20231012083514.492626-2-amadeuszx.slawinski@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
1. Exynos850: Add support for USB 2.0 (host and device) and enable it on
E850-96 board.
2. Exynos5433: Switch sound card to generic audio-routing property,
supported since previous release for Samsung drivers. The old
samsung,audio-routing property is deprecated.
3. Few cleanups.
-----BEGIN PGP SIGNATURE-----
iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmUf1ZsQHGtyemtAa2Vy
bmVsLm9yZwAKCRDBN2bmhouD16cgEACT59DACqrwXQuPdWADQAhVosa0U8tXtzxX
yQR087zK5cIOmWABmHS1XiOXiStFyafSOhN0Mj9VETNQTOT0ZVUr2yBzR/dg6D5H
ukL6Jhi1i7wX/9oSOaSbc7xAR/0BRSNPTyVACWVdplcRMrnSU/e2kx+69i5VpFJ/
mKh6w9LZYLpp6zDCrFPcHu01oPMU9hpq8L/tZi8ZnIbMKrYz7BnhxP1bRjrGaxkl
DjcEn/vpTC//2BOb66FnSy5KAJnTq96iH08xYwlmuTtYJrBamv2+8uQ9/XQbVAHh
JOldkIplU+JFBcdywt2jF3gFdKwIUl1dFpfpujZJ8tPpVM5/JG7I6BfuTN97pe7E
7aDdA4+9e1a+sLYtQQQZcF2BJRj7caFdI/FXEacAe500sD7uBB/rSFgFSp435BuH
EXxXpIPrFIAjx5rc1kUaC520OVbAc9x3VsXwDKHxHOAUiLYySQ2TkMJVa6ChazIS
8Iel4DtIs0sXaIqmjbBtuCwXi0TXMgvYh2RJf3YKdP3YJd26rIHGJOvD+Wd/b005
hOE+Zxp2Eqh7XYNuBA3D7JURE1pxaPyqP68kN9v5jjEWSN2ypmhWY9/80CRd8XT4
5I1RzD137vCxi84shyJ0Lht/Qg/6aIJbd0u7+8XF5u3SJffwQlRTlq8xTWeVFRai
GboE8iLXqw==
=06Ah
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmUn0QMACgkQYKtH/8kJ
Uif4VRAA2+CQDQYNkHkvFUb0ehcYOCbQlwZQQmF9gZAlmna9EpK7qp3gfbijDh7E
OzGgkgxUKUSMh5JpS+bTnd6eZ4cRhYup1AHWJgHmR6pxOSjcFV8lp9bz4UyjMj34
H2kkCuafY5tLbJYPmtp+bUdmO4SGi7SigOhUqBh/BV/DTa4shAkDZB+kQkjVCd/V
YSrvdb37Mlcd7cxS58xLS4cB5uE+fT92UOEd5XJvIEUX5e39ShqQcFiQ1oDiBKvH
HFij7/iCRqZiq74tfke3J7kcB2DR0AOCZG0mQLdHvD83XaCZx2wioGce8raWsyA5
m/qUjP40h5sqjxoXSp4NZ6trk/I5u23E79zbZ5OKJcmQmyUxsKqnrnPFvJNBbeT9
kdYhQa1OrRxcmwX+qsNO0mV7+UmcUzuoFhbPGJVwefRW+2m4uQg0WqZsfc4Fc2Gj
oi1JX1QVdUBSA3b9ATXb1j9AR0hoAP+jvclz2UO1voqZBgvMEUecMyaCzAGVg7O/
iv29fAFsj/F6G4CMuPfHii+cyukbKYtob/+MRbpVpfr8o4vBWRX/jo2xYCF7zXGb
aBBqTeiEju18OlEyFVDrlQz91FuQ0jMDjyZnR5Yy9hV/QxbtNcCXAb2r41m5dLCS
pTOf+FJJVWsFK2B7GP82lOC0urwgANtjRPkyYTrGtrQmh546lLU=
=i6z7
-----END PGP SIGNATURE-----
Merge tag 'samsung-dt64-6.7' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into soc/dt
Samsung DTS ARM64 changes for v6.7
1. Exynos850: Add support for USB 2.0 (host and device) and enable it on
E850-96 board.
2. Exynos5433: Switch sound card to generic audio-routing property,
supported since previous release for Samsung drivers. The old
samsung,audio-routing property is deprecated.
3. Few cleanups.
* tag 'samsung-dt64-6.7' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
arm64: dts: exynos: remove unused TMU alias
arm64: dts: exynos: Use pinctrl macros for exynos5433-tm2
arm64: dts: exynos: exynos5433-tm2: switch sound card to audio-routing
arm64: dts: exynos: Enable USB support on E850-96 board
arm64: dts: exynos: Enable USB in Exynos850
Link: https://lore.kernel.org/r/20231006093943.106002-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Few cleanups and improvements: split joined reg entries for Ethernet in
omap3-devkit8000, add missing spaces before '{' (MediaTek, Nuvoton) and
cleanup whitespace around '=' (MediaTek).
-----BEGIN PGP SIGNATURE-----
iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmUf0uwQHGtyemtAa2Vy
bmVsLm9yZwAKCRDBN2bmhouD11HCEACSALLob97HRyvtlPGUWeYKIFe1OKtf3Tn4
Kv+46ohImBobDYsqg0GHQ1tYY90tIA2sft9YrS79e4c4FrBulWURpaMEjSFDORXu
2Vy5ZVOhrTNe4WqZclrGzpw3kf/PdGEeTZKvoIZjWvg6LDEOXmgezkx3u051ZUce
4HY4rvQ+Jrp2qSYcFXSDlopYYnQmH5muby+LwEkerhMggi1XenwKO/BuMz17o0v5
waPszM5e6Ffk9vnbgBMOKiSf2e7pq3JftGVroI3z2O66H6FeXzEoSHF7Xkc9p5R/
6n+KkojeqyZMs6/iWHnS6cKgMMCaqhOXMGI4wtTKKJzRWHckwKMOBrzoZ+Biszig
wvNnFGqnbdXNF5BZMkipn6ZDVjY2Vfe2Kw/aZ89yqt5Rbhc3YPb0hMmdrM9eCEvw
yn4lz0kUehUbi7yaYs0W7r6nYdSZop4h5+OrnOHPFvUR8kG8uQKYKHRcCiFXkbvV
OBmGXfFRQvywqC99uXAQcKXNfAbwGRnxAy0kQXYFJWjLMEtrlp8YYbdxDRNLIv4v
m4MabOCeEB/nZEKXA0E09Ycp7Bb/grqIvm/HKxA/H/f05gvGcRoJQeDTDSmMrwpg
AlA6G6QhOXj2OBA8NuBm7SWz+zbmiYaXmvVB5R3qQWaTtzoeqQtQdYlrwOEQmH1M
zXR91sbWxA==
=OExn
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmUn0NMACgkQYKtH/8kJ
UifoAg/7BYsh4+nSllKQfcofYgup5tDlMk83ABysH8d3mAGn4RajibHmYHMj9C22
7kPCCHecd9x6t4Fwk7m/ZNq8VwTw9Lx0wNY5C5kDy7MiZspii4omf2oVAcuqK6qi
ELKd+gF4VOQ7Rsf5iN+Kap7mg8eunGU9vwjr16MyCx8oks84PN83gIhZdOpviyVy
HyWDWUQdZ1TBNRrIVqqcX/a6TXF995+gMHSyMyT/daF3qVD3UmfCtay2ol0jStg8
iCebqhkncYUcKgXE8KK713xGb/B8aCCvkWseeO0M4EhAy5aQ7llT/nq4o/iA65Lz
wkq7h8bko111KV5/cZbelsIWHbRxzsJM3gv2Qmr6laetkDrAN6s5EiRJFOEx6iFv
AdMGwAIDqJjPZrbpAmV6G+2Q/b+XNnbHNj4T7DE5sjfP1HkhcHkSiKfm0Y1UDPqU
3e9qTai+i40jYmchHECNoQGwwbvl9h2mxinhwQNHFflb3RSvk3FjJugQrvaB0TJw
NLY0xBF8EVhrZ/0T80pv/1+lySEzXdqix+Sqzech98JNpIfNlUW3YMcSe0QcboVW
ZkYnV+NlfIs10iOcztRt5DpkSlBlJQLeqWDrImcWG9cfKyzOCnsh2QmXKuviLIeG
TKRtL4KYvipQmGYenLBpR01dxssDmPc4o2fsAp/fDTG6N7OYvx0=
=sey8
-----END PGP SIGNATURE-----
Merge tag 'dt-cleanup-6.7' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-dt into soc/dt
Minor improvements in ARM DTS for v6.7
Few cleanups and improvements: split joined reg entries for Ethernet in
omap3-devkit8000, add missing spaces before '{' (MediaTek, Nuvoton) and
cleanup whitespace around '=' (MediaTek).
* tag 'dt-cleanup-6.7' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-dt:
ARM: dts: nuvoton: add missing space before {
ARM: dts: mediatek: minor whitespace cleanup around '='
ARM: dts: mediatek: add missing space before {
ARM: dts: omap3-devkit8000: correct ethernet reg addresses (split)
Link: https://lore.kernel.org/r/20231006092823.94839-2-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Use:
- ivpu_bo_vaddr(bo) instead of bo->kvaddr
- ivpu_bo_size(bo) instead of bo->base.size
This is a preparation for switch to a drm_gem_shmem_object as a base for
ivpu_bo, where:
- bo->kvaddr becomes bo->base.vaddr
- bo->base.size becomes bo->base.base.size
Using ivpu_bo_vaddr() and ivpu_bo_size() increases the readability of
the code.
Signed-off-by: Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
Reviewed-by: Stanislaw Gruszka <stanislaw.gruszka@linux.intel.com>
Reviewed-by: Jeffrey Hugo <quic_jhugo@quicinc.com>
Signed-off-by: Stanislaw Gruszka <stanislaw.gruszka@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230901094957.168898-9-stanislaw.gruszka@linux.intel.com
Few cleanups and improvements: use lowercase hex for unit addresses
(Bitmain), add missing spaces before '{' (APM, MediaTek) and cleanup
whitespace around '=' (MediaTek, Marvell).
-----BEGIN PGP SIGNATURE-----
iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmUf0o4QHGtyemtAa2Vy
bmVsLm9yZwAKCRDBN2bmhouD17Q7D/9pmG/xjaFv3pb6zjR9AFZQ6+t2FpmbkfQS
dGjDTkZ2ruIsm0giPXhVhzbDhlBJo+SBpfw2o4rKibfIW9UcVrmwIWpynOTQ3oDp
P6yK+q5HcbWNZXZmzk/KIlHFHI/75p8H5UdkEQP6PvxZE7FTP1Q3wCtdSi/fj81e
OPgnygB+Gq/SZ6mg4fv4ESPPevbGjuU4DRZbTHyU4eADJ9W0WG7XCR+T8TccJt2g
4OZkRQ1mjJYL/OoLj5OOza46HRkL9Qcval/ox29zuuV38w3rQ03qEgeBTpnlxxOB
rFuCiTZJB32e7e5AMlxrPVNIq1A7sW+jZcJdCtSylFCFdoKUcZelZJ6OZvCQziE8
UeI1EscYldvJzSNiDeSOprFk4Iye12IycJr5JIXFenp5t7fPKuVzIUEZ5xBZuyS9
MlxYPQtYoPDqLiP2nwnWTXjx/W4OkwnEVc5c1m87/l6QDhqmPl05EgkaTyspgA8T
LwIjpmxI1MC8VbewZptaVe7AkzyPJuwpkQjkK2BuYPFIx5clpRzrig7x/cKkjsY8
9Q6NexHl/Zj+AqaCZZr6yGa33B4JiEyDROQ/yjgVIn0nfe0vVQpyjCaKi/SJ36AD
9YP34szs5VkHreFld8HcBy7BRrjUhdete6r6uwxkcvsVPrIX7u1hUHleZnv6BNsx
6vYRjssDWQ==
=2VXS
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmUn0DcACgkQYKtH/8kJ
UidNHxAA0FWewJMfcm6aHCGXMFIn0bxIIZZS2UlK1MZalRGqiifkwAj1vZi+N8bQ
uI+ZTp1A4wEJQsTMICumAeKXMdN966vvTyPpfn370lFPHamRBkGjE27xBpMdmVXm
EQmybmIyHbcyI1ZsVz3jljxXsHyxDp3aSFWvr1WT7hFvQ2Mw1dIt7xRaqXMDHlPn
uX0oEmwS4NQZFK8P048x+6c0EQSxZviKQFuuA/v3Lf+l0zCdJq0aivPXBDBGT8NA
udG7FTUJwtoKuixiZy79h5IhL2q5Ei9jMPqnJrsEl1Drjr08AFxqclqE+RobdKgG
pzWqcPB9Q8oAtD3pU1r8Vd5QYhJACMltcM/E/ewwYnHJ0jkUnsEVHrEpQ4IhWEqd
2yPogLh1LMl3wG9ooqYNULCRnh1UjmJSiBcYCpTbgyZQG0PHbfCfANBl24kSnTNq
hANLNQAp1tI29YKQocez+lrt6trAwLLXdGx3NGt0DfjUQkFNzQcFmoCV1kaU1Mgt
3N1B4wB6q/RzNloflaukjsvIR8YoFyAMHqrMBYxsHFiiEDK7VPhCMz1idODvowlA
YbDIzZzdCwf0ttF+k95SrlAPcJK9J7EzSMHW4XslGN8gs7sfCMv0iHP21RE+aaEb
zma0xdRP7+1kUq/qMZqVZkudu0jZxj19E1Fpb9poXCzy29IhSq8=
=1l61
-----END PGP SIGNATURE-----
Merge tag 'dt64-cleanup-6.7' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-dt into soc/dt
Minor improvements in ARM64 DTS for v6.7
Few cleanups and improvements: use lowercase hex for unit addresses
(Bitmain), add missing spaces before '{' (APM, MediaTek) and cleanup
whitespace around '=' (MediaTek, Marvell).
* tag 'dt64-cleanup-6.7' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-dt:
arm64: dts: marvell: minor whitespace cleanup around '='
arm64: dts: mediatek: minor whitespace cleanup around '='
arm64: dts: mediatek: add missing space before {
arm64: dts: apm: add missing space before {
arm64: dts: bitmain: lowercase unit addresses
Link: https://lore.kernel.org/r/20231006092823.94839-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
On the Lenovo Yoga Tab 3 Pro YT3-X90F there are 2 issues with the backlight
on/off MIPI sequences:
1. The backlight on sequence has an I2C MIPI sequence element which uses
bus 0, but there is a bogus I2cSerialBus resource under the GPU in
the DSDT which causes i2c_acpi_find_adapter() to pick the wrong bus.
2. There is no backlight off sequence, causing the backlight to stay on.
Add a DMI quirk fixing both issues.
v2:
- Add Closes tag to gitlab issue with drm.debug=0xe, VBT info
Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/9380
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230920195613.304091-4-hdegoede@redhat.com
On the Lenovo Yoga Tablet 2 830 / 1050 there are 2 problems:
1. The I2C MIPI sequence elements reference bus 3. ACPI has I2C1 - I2C7
which under Linux become bus 0 - 6. And the MIPI sequence reference
to bus 3 is indented for I2C3 which is bus 2 under Linux.
This leads to errors like these:
[ 178.244049] i2c_designware 80860F41:03: controller timed out
[ 178.245703] i915 0000:00:02.0: [drm] *ERROR* Failed to xfer payload of size (1) to reg (169)
There are 3 timeouts when the panel is on, delaying
waking up the screen on a key press by 3 seconds.
Note mipi_exec_i2c() cannot just subtract 1 from the bus
given in the I2C MIPI sequence element. Since on other
devices the I2C bus-numbers used in the MIPI sequences do
actually start at 0.
2. width_/height_mm contain a bogus 192mm x 120mm size. This is
especially a problem on the 8" 830 version which uses a 10:16
portrait screen where as the bogus size is 16:10.
Add a DMI quirk to override the I2C bus and the panel size with
the correct values.
Note both the 10" 1050 models as well as the 8" 830 models use the same
mainboard and thus the same DMI strings. The 10" 1050 uses a 1920x1200
landscape screen, where as the 8" 830 uses a 1200x1920 portrait screen,
so the quirk handling uses the display resolution to detect the model.
v2:
- Also override i2c_bus_num to fix mipi_exec_i2c() timeouts
v3:
- Add Closes tag to gitlab issue with drm.debug=0xe, VBT info
Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/9379
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230920195613.304091-3-hdegoede@redhat.com
Vtotal is wrong in the BIOS supplied modeline for the DSI panel on
the Asus TF103C leading to the last line of the display being shown
as the first line.
Original: "1280x800": 60 67700 1280 1312 1328 1376 800 808 812 820 0x8 0xa
Fixed: "1280x800": 60 67700 1280 1312 1328 1376 800 808 812 816 0x8 0xa
The factory installed Android has a hardcoded modeline in its kernel,
causing it to not suffer from this BIOS bug;
and the Android boot-splash which uses the EFI FB which does have this bug
has the last line all black causing the bug to not be visible.
This commit introduces a generic DMI based quirk mechanism to vlv_dsi for
doing various fixups, and uses this to correct the modeline.
v2:
- s/mode_fixup/dmi_quirk/ to make the new DMI quirk mechanism more generic
- Add a comment with the old and new modelines to the patch and commit msg
v3:
- Add Closes tag to gitlab issue with drm.debug=0xe, VBT info
Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/9381
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230920195613.304091-2-hdegoede@redhat.com