Age | Commit message (Collapse) | Author |
|
Use the TTM LRU bulk move for BOs tied to a VM. Update the bulk moves
LRU position on every exec.
v2: Bulk move for compute VMs, use WARN rather than BUG
Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
|
|
We only need to try to lock a BO if it's external as non-external BOs
share the dma-resv with the already locked VM. Trying to lock
non-external BOs caused an issue (list corruption) in an uncoming patch
which adds bulk LRU move. Since this code isn't needed, remove it.
v2: New commit message, s/mattthew/matthew/
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
|
|
With our ref counting scheme long running (LR) engines only close
properly if not persistent, ensure that LR engines are non-persistent.
v2: spell out LR
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
|
|
For long running (LR) jobs with the DRM scheduler we must return NULL in
run_job which results in signaling the job's finished fence immediately.
This prevents LR jobs from creating infinite dma-fences.
Signaling job's finished fence immediately breaks flow controlling ring
with the DRM scheduler. To work around this, the ring is flow controlled
and written in the exec IOCTL. Signaling job's finished fence
immediately also breaks the TDR which is used in reset / cleanup entity
paths so write a new path for LR entities.
v2: Better commit, white space, remove rmb(), better comment next to
emit_job()
v3 (Thomas): Change LR reference counting, fix working in commit
Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
|
|
Add uAPI and implementation for NULL bindings. A NULL binding is defined
as writes dropped and read zero. A single bit in the uAPI has been added
which results in a single bit in the PTEs being set.
NULL bindings are intendedd to be used to implement VK sparse bindings,
in particular residencyNonResidentStrict property.
v2: Fix BUG_ON shown in VK testing, fix check patch warning, fix
xe_pt_scan_64K, update __gen8_pte_encode to understand NULL bindings,
remove else if vma_addr
Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Suggested-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
|
|
ENOTSUPP is not a standard Unix error should use
EOPNOTSUPP instead.
v2: Update commit description (Aravind)
Reviewed-by: Aravind Iddamsetty <aravind.iddamsetty@intel.com>
Signed-off-by: Janga Rahul Kumar <janga.rahul.kumar@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
|
|
The GuC can't access addresses above GUC_GGTT_TOP, so any GuC-accessible
objects can't be mapped above that offset. Instead of checking each
object to see if GuC may access it or not before mapping it, we just
limit the GGTT size to GUC_GGTT_TOP. This wastes a bit of address space
(about ~18 MBs, which is in addition to what already removed at the bottom
of the GGTT), but it is a good tradeoff to keep the code simple.
The in-code comment has also been updated to explain the limitation.
Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Link: https://lore.kernel.org/r/20230615002521.2587250-1-daniele.ceraolospurio@intel.com/
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
|
|
This adds a handful of workarounds that apply to production steppings of
MTL:
- Wa_14018575942
- Wa_22016670082
- Wa_14017856879
- Wa_18019271663
Wa_22016670082 is currently only applied to the primary GT at the
moment, but may need to be extended to the media GT in the future if a
pending update to the workaround database gets finalized.
OOB workarounds will need to be implemented separately in future patches
for Wa_14016712196, Wa_16018063123, and Wa_18013179988.
Reviewed-by: Radhakrishna Sripada <radhakrishna.sripada@intel.com>
Link: https://lore.kernel.org/r/20230608181217.2385932-1-matthew.d.roper@intel.com
Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
|
|
It's not possible for the condition checking if we're running on
platform without geometry pipeline to ever be true, since
gt->fuse_topo.g_dss_mask is an array.
It also breaks the build:
../drivers/gpu/drm/xe/xe_rtp.c:183:50: error: address of array 'gt->fuse_topo.g_dss_mask' will always evaluate to 'true' [-Werror,-Wpointer-bool-conversion]
Signed-off-by: Michał Winiarski <michal.winiarski@intel.com>
Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
Link: https://lore.kernel.org/r/20230523135020.345596-2-michal@hardline.pl
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
|
|
Using uninitialized variables leads to undefined behavior.
Moreover, it causes the compiler to complain with:
../drivers/gpu/drm/xe/xe_vm.c:3265:40: error: variable 'vma' is uninitialized when used here [-Werror,-Wuninitialized]
../drivers/gpu/drm/xe/xe_rtp.c:118:36: error: variable 'i' is uninitialized when used here [-Werror,-Wuninitialized]
../drivers/gpu/drm/xe/xe_mocs.c:449:3: error: variable 'flags' is uninitialized when used here [-Werror,-Wuninitialized]
Signed-off-by: Michał Winiarski <michal.winiarski@intel.com>
Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
Link: https://lore.kernel.org/r/20230523135020.345596-1-michal@hardline.pl
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
|
|
gt_count is only being incremented when initializing the primary GT;
since the media GT sets the ID directly, gt_count is not incremented
again, resulting in an incorrect count on MTL. Use autoincrement while
assigning the media GTs ID to ensure gt_count is correct on MTL and
other future platforms with standalone media.
Signed-off-by: Riana Tauro <riana.tauro@intel.com>
Link: https://lore.kernel.org/r/20230613094232.3703549-1-riana.tauro@intel.com
[mattrope: Tweaked commit message to focus on gt_count importance]
Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
|
|
RPSTAT1 is an sgunit register and thus doesn't need forcewake.
MTL_MIRROR_TARGET_WP1 is within an "always on" power domain and thus
doesn't require any forcewake to ensure the register is powered
up and usable. When GT is RC6 the actual frequency reported will be 0.
v2:
- Add bspec index (Anshuman)
- %s/GEN12_RPSTAT1/GT_PERF_STATUS as per bspec
v3: Update Fixes tag
Bspec: 51837, 67651
Fixes: dd08ebf6c352 ("drm/xe: Introduce a new DRM driver for Intel GPUs")
Signed-off-by: Badal Nilawar <badal.nilawar@intel.com>
Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
Link: https://lore.kernel.org/r/20230609024954.987039-1-badal.nilawar@intel.com
Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
|
|
One of the messages was printed without 0x prefix, so it was not clear
if it was decimal or hex: make sure to add the prefix by using %#x.
While at it, normalize the other messages in the same function to follow
the same pattern.
Reviewed-by: Gustavo Sousa <gustavo.sousa@intel.com>
Link: https://lore.kernel.org/r/20230611222447.2837573-3-lucas.demarchi@intel.com
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
|
|
Fix the log message when it fails to enable CT.
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
Link: https://lore.kernel.org/r/20230611222447.2837573-2-lucas.demarchi@intel.com
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
|
|
Remove the leftover TODO by renameing the functions to use xe prefix.
Since the static __gen8_pte_encode() already has a double score,
just remove the prefix.
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
Link: https://lore.kernel.org/r/20230611222447.2837573-1-lucas.demarchi@intel.com
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
|
|
XE_PTE_FLAG_READ_ONLY is specific to struct xe_vma, move it from xe_bo.h
to xe_vm_types.h to reflect that.
Reviewed-by: Francois Dugast <francois.dugast@intel.com>
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
|
|
git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator into soc/dt
More Ux500 device tree updates for v6.8
The HREF520 reference design had the wrong analog baseband
defined causing a boot regression.
Was AB8500, but this board has AB8505.
Rearrange the device trees to make it possible to define
a different AB and slot it in.
* tag 'ux500-dts-soc-for-v6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator:
ARM: dts: ux500-href: Switch HREF520 to AB8505
ARM: dts: ux500-href: Push AB8500 config out
ARM: dts: ux500-href: Push AB8500 inclusion to the top
Link: https://lore.kernel.org/r/CACRpkdZ9wCV7oohF2KX6MFwmuSPR_i7et8O5SH=op6gyQ4mOvQ@mail.gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
|
|
git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into soc/dt
Renesas DTS updates for v6.8 (take two)
- Add IA55 interrupt controller and Ethernet support for the RZ/G3S
SoC and the RZ/G3S SMARC SoM,
- Miscellaneous fixes and improvements.
* tag 'renesas-dts-for-v6.8-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
arm64: dts: renesas: white-hawk-cpu: Fix missing serial console pin control
arm64: dts: renesas: rzg3s-smarc-som: Enable the Ethernet interfaces
arm64: dts: renesas: rzg3s-smarc-som: Use switches' names to select on-board functionalities
arm64: dts: renesas: r9a08g045: Add Ethernet nodes
arm64: dts: renesas: r9a08g045: Add IA55 interrupt controller node
Link: https://lore.kernel.org/r/cover.1702642342.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
|
|
git://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32 into soc/dt
STM32 DT for v6.8, round 1
Highlights:
----------
- MCU:
- Add SPI support on STM32F746.
- Better describe vcc_3v3 for SD and DSI on stm32f469-disco.
- MPU:
- STM32MP13:
- Add DCMIPP (Digital Camera Memory Interface Piwel Processor) on STM32MP135.
- STMP32MP15:
- Change "phys" affectation from board to Soc dtsi file for USB host as it is hard linked
to the port 0 of usbphyc.
- Fix SCMI and No-SCMI compatible in boards.
- STM32MP25:
- Add BSEC support to read the device part number OTP and the package data register OTP.
* tag 'stm32-dt-for-v6.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32:
ARM: dts: stm32: add dcmipp support to stm32mp135
arm64: dts: st: add bsec support to stm32mp25
ARM: dts: stm32: Consolidate usbh_[eo]hci phy properties on stm32mp15
ARM: dts: stm32: don't mix SCMI and non-SCMI board compatibles
dt-bindings: arm: stm32: don't mix SCMI and non-SCMI board compatibles
ARM: dts: stm32: minor whitespace cleanup around '='
ARM: dts: stm32: add SPI support on STM32F746
ARM: dts: stm32: add STM32F746 syscfg clock
ARM: dts: stm32: use the same 3v3 for SD and DSI nodes on stm32f469-disco
Link: https://lore.kernel.org/r/9363227b-1c44-4a20-b245-efbbbf9ab1dd@foss.st.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
|
|
https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into soc/dt
- new boards: Orange Pi Zero 2W, Transpeed 8K618-T
* tag 'sunxi-dt-for-6.8-1' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
arm64: dts: allwinner: h618: add Transpeed 8K618-T TV box
dt-bindings: arm: sunxi: document Transpeed 8K618-T board name
dt-bindings: vendor-prefixes: add Transpeed
arm64: dts: allwinner: h616: add Orange Pi Zero 2W support
dt-bindings: arm: sunxi: add Orange Pi Zero 2W
Link: https://lore.kernel.org/r/ZXtWFk-Bne835txP@archlinux
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
|
|
https://git.kernel.org/pub/scm/linux/kernel/git/at91/linux into soc/dt
Microchip AT91 device tree updates for v6.8
It contains:
- IRQ support for Ethernet PHYs on SAM9X60-EK and SAM9X60-Curiosity
boards
- removal of the mmc-ddr-3_3v property from SD controllers connected to SD
slots, for SAMA5D27-WLSOM1-EK and SAMA5D27-SOM1-EK boards, as this
property is for eMMC devices
* tag 'at91-dt-6.8' of https://git.kernel.org/pub/scm/linux/kernel/git/at91/linux:
ARM: dts: microchip: sama5d27_som1_ek: Remove mmc-ddr-3_3v property from sdmmc0 node
ARM: dts: microchip: sama5d27_wlsom1_ek: Remove mmc-ddr-3_3v property from sdmmc0 node
ARM: dts: microchip: sam9x60ek: Add IRQ support for ethernet PHY
ARM: dts: microchip: sam9x60_curiosity: Add IRQ support for ethernet PHY
Link: https://lore.kernel.org/r/20231214174954.3045355-1-claudiu.beznea@tuxon.dev
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
|
|
git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into soc/dt
Arm Vexpress/Juno update for v6.8
Just a single update to align the thermal zone names with bindings matching
[alphanumericals]*-thermal pattern.
* tag 'juno-update-6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux:
arm64: dts: juno: Align thermal zone names with bindings
Link: https://lore.kernel.org/r/20231213115826.3577764-1-sudeep.holla@arm.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
|
|
git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into soc/dt
New boards are the Geniatech XPI-3128 (RK3128), Sonoff iHost (rv1109)
One "new" soc is the rv1109 which is a two-core variant of the rv1126
and everything else is identical.
Lots of love for the old rk3128 (power-domains, gpu, gmac, usb) and
rv1126 (uart pins, i2c2 special case) and rework of aliases to have
core busses that are hard-numbered in boards and documentation centrally
in the dtsi, but the per board aliases in the boards (ethernet).
Plus the rk3036 got a yaml hdmi binding which required some small fixes.
* tag 'v6.8-rockchip-dts32-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: (24 commits)
ARM: dts: rockchip: add hdmi-connector node to rk3036-kylin
ARM: dts: rockchip: fix rk3036 hdmi ports node
ARM: dts: rockchip: add gpio alias for gpio dt nodes
ARM: dts: rockchip: Move uart aliases to SoC dtsi for RK3128
ARM: dts: rockchip: Move i2c aliases to SoC dtsi for RK3128
ARM: dts: rockchip: Move gpio aliases to SoC dtsi for RK3128
ARM: dts: rockchip: Add Sonoff iHost Smart Home Hub
dt-bindings: arm: rockchip: Add Sonoff iHost
ARM: dts: rockchip: Add rv1109 SoC
ARM: dts: rockchip: Split up rgmii1 pinctrl on rv1126
ARM: dts: rockchip: Add i2c2 node to rv1126
ARM: dts: rockchip: Serial aliases for rv1126
ARM: dts: rockchip: Add alternate UART pins to rv1126
ARM: dts: rockchip: Enable GPU for XPI-3128
ARM: dts: rockchip: Add GPU node for RK3128
ARM: dts: rockchip: Add power-controller for RK3128
ARM: dts: rockchip: Enable gmac for XPI-3128
ARM: dts: rockchip: Add gmac node for RK3128
ARM: dts: rockchip: Make usbphy the parent of SCLK_USB480M for RK3128
ARM: dts: rockchip: Add dwc2 otg fifo siztes for RK3128
...
Link: https://lore.kernel.org/r/3197878.5fSG56mABF@phil
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
|
|
If IOSQE_ASYNC is set and we fail importing an iovec for a readv or
writev request, then we leave ->bytes_done uninitialized and hence the
eventual failure CQE posted can potentially have a random res value
rather than the expected -EINVAL.
Setup ->bytes_done before potentially failing, so we have a consistent
value if we fail the request early.
Cc: stable@vger.kernel.org
Reported-by: xingwei lee <xrivendell7@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
|
|
git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into soc/dt
New boards are the Anberic RG351V handheld (rk3326), Theobroma Systems Jaguar
SBC (rk3588), Powkiddy X55 and RK2023 handheld (rk3566), Edgeble-Neu6b (rk3588)
The rk3588 got attention with one working usb3 host on Rock-5a/5b, Orangepi-5
and audio for the EVB1.
Some smaller improvements for the other socs (fifo-depths on rk3328,
gpio-line-names on rk3308-rock-pi-s, gpu power-coefficients on rk3399,
and a fix for the newly converted gpio-fan yaml binding).
Also a number of aliases were moved. Always-numbered core busses can have their
aliases in the soc dtsi, as is done in a number of cases already and other alises
like ethernet really should be per board.
* tag 'v6.8-rockchip-dts64-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: (31 commits)
arm64: dts: rockchip: Add Anbernic RG351V
arm64: dts: rockchip: Split RG351M from Odroid Go Advance
dt-bindings: arm: rockchip: Add Anbernic RG351V
arm64: dts: rockchip: Add ethernet0 alias to the dts for RK3588(S) boards
arm64: dts: rockchip: Add ethernet0 alias to the dts for RK3566 boards
arm64: dts: rockchip: Remove ethernet0 alias from the SoC dtsi for PX30
arm64: dts: rockchip: Remove ethernetX aliases from the SoC dtsi for RK3328
arm64: dts: rockchip: Remove ethernet0 alias from the SoC dtsi for RK3368
arm64: dts: rockchip: Remove ethernet0 alias from the SoC dtsi for RK3399
arm64: dts: rockchip: make dts use gpio-fan matrix instead of array
arm64: dts: rockchip: add gpio alias for gpio dt nodes
arm64: dts: rockchip: Add dynamic-power-coefficient to rk3399 GPU
arm64: dts: rockchip: add rk3588 spi aliases to soc dtsi
arm64: dts: rockchip: add rk3588 gpio aliases to soc dtsi
arm64: dts: rockchip: add rk3588 i2c aliases to soc dtsi
arm64: dts: rockchip: move rk3588 serial aliases to soc dtsi
arm64: dts: rockchip: add Theobroma Jaguar SBC
dt-bindings: arm: rockchip: Add Theobroma-Systems Jaguar SBC
arm64: dts: rockchip: Add Powkiddy X55
dt-bindings: arm: rockchip: Add Powkiddy X55
...
Link: https://lore.kernel.org/r/3535836.iIbC2pHGDl@phil
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
|
|
https://git.kernel.org/pub/scm/linux/kernel/git/mediatek/linux into soc/dt
MediaTek ARM64 DeviceTree updates for v6.8
This adds devicetree bindings and nodes for:
- Media Data Path 3 (MDP3) bindings and enablement on MT8195
- Smart Voltage Scaling (SVS) on MT8195
- LVTS SoC thermal on MT8192
- MT8188 SoC along with its resets, display bindings, and more
- MT8183 hardware video decoder (mtk-vcodec-dec)
Adds the following new machines:
- MT8188 Evaluation Board (EVB)
- MT8183 Chromebooks: Kukui-Katsu, Jacuzzi-Makomo, Pico, Pico6
Performs cleanups for various MediaTek SoCs and PMICs, and also
includes some spare fixes.
* tag 'mtk-dts64-for-v6.8' of https://git.kernel.org/pub/scm/linux/kernel/git/mediatek/linux: (60 commits)
arm64: dts: mediatek: mt8192: Add Smart Voltage Scaling node
arm64: dts: mediatek: mt8195: Add SVS node and reduce LVTS_AP iospace
arm64: dts: mediatek: mt8183: Change iospaces for thermal and svs
arm64: dts: mediatek: mt8186: fix address warning for ADSP mailboxes
arm64: dts: mediatek: mt8186: Fix alias prefix for ovl_2l0
arm64: dts: mt6358: Drop bogus "regulator-fixed" compatible properties
arm64: dts: mt8183: kukui-jacuzzi: Drop bogus anx7625 panel_flag property
arm64: dts: Add MediaTek MT8188 dts and evaluation board and Makefile
dt-bindings: soc: mediatek: pwrap: Modify compatible for MT8188
dt-bindings: arm: mediatek: Add mt8188 pericfg compatible
dt-bindings: arm: Add compatible for MediaTek MT8188
arm64: dts: mediatek: mt8195: add DSI and MIPI DPHY nodes
dt-bindings: display: mediatek: dsi: add compatible for MediaTek MT8195
arm64: dts: mediatek: mt6358: Merge ldo_vcn33_* regulators
dt-bindings: arm: mediatek: convert audsys and mt2701-afe-pcm to yaml
arm64: dts: mediatek: mt8195: add MDP3 nodes
arm64: dts: mediatek: mt8195: revise VDOSYS RDMA node name
arm64: dts: mediatek: mt8183: correct MDP3 DMA-related nodes
dt-bindings: display: mediatek: padding: add compatible for MT8195
dt-bindings: display: mediatek: split: add compatible for MT8195
...
Link: https://lore.kernel.org/r/20231212114515.121695-1-angelogioacchino.delregno@collabora.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
|
|
https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into soc/dt
Samsung DTS ARM changes for v6.8
1. Exynos4212 and Exynos4412: Final fixes for dtbs_check warnings.
Replace duplicate PMU node in FIMC IS node with syscon phandle. The
old solution of duplicated PMU node was not a correct representation of
the hardware and could have concurrent access issues.
The DTS change depends on media FIMC IS drivers changes already
merged in previous cycle, thus it is not fully
backwards-compatible. It is a necessary trade-off in fixing wrong
description in DTS.
With this fix, `make dtbs_check` status looks like:
S3C6410: no warnings
Exynos: no warnings, one undocumented compatible
S5PV210: one warning, one undocumented compatible
2. Exynos4210, Exynos4212, Exynos4412, S5PV210:
Correct FIMC IS camera ranges and IO addresses to silence dtc W=1
warnings. No functional impact expected.
After this fix, there are no dtc W=1 warnings on all ARMv7 platforms.
3. Galaxy I9100: Fix 12-second hang during boot by enabling regulator
(real cause not really known), add touch keys and accelerometer.
* tag 'samsung-dt-6.8' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
ARM: dts: samsung: exynos4210-i9100: Add accelerometer node
ARM: dts: samsung: exynos4210-i9100: Add node for touch keys
ARM: dts: samsung: exynos4210-i9100: Unconditionally enable LDO12
ARM: dts: samsung: s5pv210: fix camera unit addresses/ranges
ARM: dts: samsung: exynos4: fix camera unit addresses/ranges
ARM: dts: samsung: exynos4x12: replace duplicate pmu node with phandle
Link: https://lore.kernel.org/r/20231212093105.13938-2-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
|
|
https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into soc/dt
Samsung DTS ARM64 changes for v6.8
Two (and a half) major items are coming with this pull request:
1. Add specific compatibles to all Samsung Exynos and Tesla FSD blocks,
because that's what guidelines expect [1] and is generally
recommended practice. Existing compatibles are left untouched, thus
no driver changes are needed. The work only cleans things up, so any
future contributions will use recommended style: specific and
fallback compatibles.
Since no driver changes are needed in this work and the DTS is
directly affected by bindings change (running tests with `make
dtbs_check`), this pull includes all bindings changes, even though
usual practice is that bindings come via driver subsystem. Keeping
everything here makes review and testing easier. Also will allow us
to avoid conflicts related to new platforms (see below).
2. Add ExynosAutov920 SoC and SADK board (Samsung Automotive Development
Kit) with minimal support so far: serial console, GPIO-based keys and
PWM fan.
3. Add few bindings for upcoming Google GS101 SoC. This pull request
does not include its DTS yet, just few reviewed dependencies. DTS
will be coming soon.
[1] Documentation/devicetree/bindings/writing-bindings.rst
* tag 'samsung-dt64-6.8' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux: (38 commits)
arm64: dts: exynos: add minimal support for exynosautov920 sadk board
arm64: dts: exynos: add initial support for exynosautov920 SoC
dt-bindings: samsung: exynos-sysreg: combine exynosautov920 with other enum
dt-bindings: soc: google: exynos-sysreg: add dedicated SYSREG compatibles to GS101
dt-bindings: clock: Add Google gs101 clock management unit bindings
dt-bindings: soc: samsung: exynos-pmu: Add gs101 compatible
arm64: dts: fsd: add specific compatibles for Tesla FSD
dt-bindings: watchdog: samsung: add specific compatible for Tesla FSD
dt-bindings: samsung: exynos-pmu: add specific compatible for Tesla FSD
dt-bindings: serial: samsung: add specific compatible for Tesla FSD
dt-bindings: pwm: samsung: add specific compatible for Tesla FSD
dt-bindings: i2c: exynos5: add specific compatible for Tesla FSD
arm64: dts: exynosautov9: use Exynos7 fallbacks for pin wake-up controller
arm64: dts: exynos850: use Exynos7 fallbacks for pin wake-up controllers
dt-bindings: hwinfo: samsung,exynos-chipid: add exynosautov920 compatible
dt-bindings: arm: samsung: Document exynosautov920 SADK board binding
dt-bindings: pwm: samsung: add exynosautov920 compatible
dt-bindings: serial: samsung: add exynosautov920-uart compatible
dt-bindings: samsung: usi: add exynosautov920-usi compatible
dt-bindings: samsung: exynos-pmu: add exynosautov920 compatible
...
Link: https://lore.kernel.org/r/20231212093105.13938-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
|
|
The DTS code coding style expects exactly one space before and after '='
sign.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20231212-ux500-dts-v1-1-5a31b6742d85@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
|
|
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into soc/dt
Devicetree changes for omaps
- A series of patches to reorganize Motorola Mapphone related files to add
support for tablets as the peripherals are different compared to the
phones
- Apply am57xx-idk overlays to base dtbs
- Extcon update to use id-gpios and vbus-gpios
- Update omap4-epson-embt2ws to enable wlan clock and bluetooth-gnss
- Update for logicpd-torpedo to use bluetooth-gnss node name
* tag 'omap-for-v6.8/dt-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
ARM: dts: omap4-embt2ws: Add Bluetooth
ARM: dts: omap: logicpd-torpedo: do not disguise GNSS device
ARM: dts: omap4-embt2ws: enable 32K clock on WLAN
ARM: dts: ti/omap: Replace deprecated extcon-usb-gpio id-gpio/vbus-gpio properties
arm: dts: omap: Apply am57xx-idk overlays to base dtbs
ARM: dts: motorola-mapphone: Add basic support for mz609 and mz617
ARM: dts: motorola-mapphone: Move handset devices to a common file
ARM: dts: motorola-mapphone: Move LCD to common file for xt875 and xt894
dt-bindings: omap: Add Motorola mapphone mz609 and mz617 tablets
Link: https://lore.kernel.org/r/pull-1702037869-295608@atomide.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
|
|
into soc/dt
ARM64: DT: HiSilicon ARM64 DT updates for v6.8
- Merge the hi3620-clock binding into hisilicon,sysctrl
- Clean up the hikey970 PMIC dtsi
* tag 'hisi-arm64-dt-for-6.8' of https://github.com/hisilicon/linux-hisi:
arm64: dts: hisilicon: hikey970-pmic: clean up SPMI node
arm64: dts: hisilicon: hikey970-pmic: fix regulator cells properties
dt-bindings: hisilicon: Merge hi3620-clock into hisilicon,sysctrl binding
Link: https://lore.kernel.org/r/6572C4C8.6050401@hisilicon.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
|
|
The synth_event_gen_test module can be built in, if someone wants to run
the tests at boot up and not have to load them.
The synth_event_gen_test_init() function creates and enables the synthetic
events and runs its tests.
The synth_event_gen_test_exit() disables the events it created and
destroys the events.
If the module is builtin, the events are never disabled. The issue is, the
events should be disable after the tests are run. This could be an issue
if the rest of the boot up tests are enabled, as they expect the events to
be in a known state before testing. That known state happens to be
disabled.
When CONFIG_SYNTH_EVENT_GEN_TEST=y and CONFIG_EVENT_TRACE_STARTUP_TEST=y
a warning will trigger:
Running tests on trace events:
Testing event create_synth_test:
Enabled event during self test!
------------[ cut here ]------------
WARNING: CPU: 2 PID: 1 at kernel/trace/trace_events.c:4150 event_trace_self_tests+0x1c2/0x480
Modules linked in:
CPU: 2 PID: 1 Comm: swapper/0 Not tainted 6.7.0-rc2-test-00031-gb803d7c664d5-dirty #276
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
RIP: 0010:event_trace_self_tests+0x1c2/0x480
Code: bb e8 a2 ab 5d fc 48 8d 7b 48 e8 f9 3d 99 fc 48 8b 73 48 40 f6 c6 01 0f 84 d6 fe ff ff 48 c7 c7 20 b6 ad bb e8 7f ab 5d fc 90 <0f> 0b 90 48 89 df e8 d3 3d 99 fc 48 8b 1b 4c 39 f3 0f 85 2c ff ff
RSP: 0000:ffffc9000001fdc0 EFLAGS: 00010246
RAX: 0000000000000029 RBX: ffff88810399ca80 RCX: 0000000000000000
RDX: 0000000000000000 RSI: ffffffffb9f19478 RDI: ffff88823c734e64
RBP: ffff88810399f300 R08: 0000000000000000 R09: fffffbfff79eb32a
R10: ffffffffbcf59957 R11: 0000000000000001 R12: ffff888104068090
R13: ffffffffbc89f0a0 R14: ffffffffbc8a0f08 R15: 0000000000000078
FS: 0000000000000000(0000) GS:ffff88823c700000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000000000000 CR3: 00000001f6282001 CR4: 0000000000170ef0
Call Trace:
<TASK>
? __warn+0xa5/0x200
? event_trace_self_tests+0x1c2/0x480
? report_bug+0x1f6/0x220
? handle_bug+0x6f/0x90
? exc_invalid_op+0x17/0x50
? asm_exc_invalid_op+0x1a/0x20
? tracer_preempt_on+0x78/0x1c0
? event_trace_self_tests+0x1c2/0x480
? __pfx_event_trace_self_tests_init+0x10/0x10
event_trace_self_tests_init+0x27/0xe0
do_one_initcall+0xd6/0x3c0
? __pfx_do_one_initcall+0x10/0x10
? kasan_set_track+0x25/0x30
? rcu_is_watching+0x38/0x60
kernel_init_freeable+0x324/0x450
? __pfx_kernel_init+0x10/0x10
kernel_init+0x1f/0x1e0
? _raw_spin_unlock_irq+0x33/0x50
ret_from_fork+0x34/0x60
? __pfx_kernel_init+0x10/0x10
ret_from_fork_asm+0x1b/0x30
</TASK>
This is because the synth_event_gen_test_init() left the synthetic events
that it created enabled. By having it disable them after testing, the
other selftests will run fine.
Link: https://lore.kernel.org/linux-trace-kernel/20231220111525.2f0f49b0@gandalf.local.home
Cc: stable@vger.kernel.org
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Tom Zanussi <zanussi@kernel.org>
Fixes: 9fe41efaca084 ("tracing: Add synth event generation test module")
Acked-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Reported-by: Alexander Graf <graf@amazon.com>
Tested-by: Alexander Graf <graf@amazon.com>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
|
|
In order to reduce memory footprints even further, let's allow
partially filled compressed bvecs for readahead to bail out later.
Signed-off-by: Yue Hu <huyue2@coolpad.com>
Reviewed-by: Gao Xiang <hsiangkao@linux.alibaba.com>
Link: https://lore.kernel.org/r/20231221062341.23901-1-zbestahu@gmail.com
Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
|
|
Dongliang reported:
I found that in the latest version, the nodes of tracefs have been
changed to dynamically created.
This has caused me to encounter a problem where the gid I specified in
the mounting parameters cannot apply to all files, as in the following
situation:
/data/tmp/events # mount | grep tracefs
tracefs on /data/tmp type tracefs (rw,seclabel,relatime,gid=3012)
gid 3012 = readtracefs
/data/tmp # ls -lh
total 0
-r--r----- 1 root readtracefs 0 1970-01-01 08:00 README
-r--r----- 1 root readtracefs 0 1970-01-01 08:00 available_events
ums9621_1h10:/data/tmp/events # ls -lh
total 0
drwxr-xr-x 2 root root 0 2023-12-19 00:56 alarmtimer
drwxr-xr-x 2 root root 0 2023-12-19 00:56 asoc
It will prevent certain applications from accessing tracefs properly, I
try to avoid this issue by making the following modifications.
To fix this, have the files created default to taking the ownership of
the parent dentry unless the ownership was previously set by the user.
Link: https://lore.kernel.org/linux-trace-kernel/1703063706-30539-1-git-send-email-dongliang.cui@unisoc.com/
Link: https://lore.kernel.org/linux-trace-kernel/20231220105017.1489d790@gandalf.local.home
Cc: stable@vger.kernel.org
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Hongyu Jin <hongyu.jin@unisoc.com>
Fixes: 28e12c09f5aa0 ("eventfs: Save ownership and mode")
Acked-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Reported-by: Dongliang Cui <cuidongliang390@gmail.com>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
|
|
Variable firmware_stat is possible to be used without initialization.
Signed-off-by: David Lin <yu-hao.lin@nxp.com>
Fixes: 1c5d463c0770 ("wifi: mwifiex: add extra delay for firmware ready")
Cc: stable@vger.kernel.org
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <error27@gmail.com>
Closes: https://lore.kernel.org/r/202312192236.ZflaWYCw-lkp@intel.com/
Acked-by: Brian Norris <briannorris@chromium.org>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://msgid.link/20231221015511.1032128-1-yu-hao.lin@nxp.com
|
|
Using calculate_bit_shift() to replace rtl8723_phy_calculate_bit_shift().
And fix an undefined bitwise shift behavior problem.
Signed-off-by: Su Hui <suhui@nfschina.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://msgid.link/20231219065739.1895666-12-suhui@nfschina.com
|
|
Using calculate_bit_shift() to replace rtl8723_phy_calculate_bit_shift().
And fix the undefined bitwise shift behavior problem.
Fixes: 0a168b48cdf7 ("rtlwifi: rtl8723ae: rtl8723-common: Create new driver for common code")
Signed-off-by: Su Hui <suhui@nfschina.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://msgid.link/20231219065739.1895666-11-suhui@nfschina.com
|
|
Using calculate_bit_shift() to replace _rtl92s_phy_calculate_bit_shift().
And fix the undefined bitwise shift behavior problem.
Fixes: d15853163bea ("rtlwifi: rtl8192se: Merge phy routines")
Signed-off-by: Su Hui <suhui@nfschina.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://msgid.link/20231219065739.1895666-10-suhui@nfschina.com
|
|
Using calculate_bit_shift() to replace _rtl92ee_phy_calculate_bit_shift().
And fix the undefined bitwise shift behavior problem.
Fixes: b1a3bfc97cd9 ("rtlwifi: rtl8192ee: Move driver from staging to the regular tree")
Signed-off-by: Su Hui <suhui@nfschina.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://msgid.link/20231219065739.1895666-9-suhui@nfschina.com
|
|
Using calculate_bit_shift() to replace _rtl92d_phy_calculate_bit_shift().
And fix the undefined bitwise shift behavior problem.
Fixes: 7274a8c22980 ("rtlwifi: rtl8192de: Merge phy routines")
Signed-off-by: Su Hui <suhui@nfschina.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://msgid.link/20231219065739.1895666-8-suhui@nfschina.com
|
|
Using calculate_bit_shift() to replace _rtl92c_phy_calculate_bit_shift().
And fix the undefined bitwise shift behavior problem.
Fixes: 0c8173385e54 ("rtl8192ce: Add new driver")
Signed-off-by: Su Hui <suhui@nfschina.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://msgid.link/20231219065739.1895666-7-suhui@nfschina.com
|
|
Using calculate_bit_shift() to replace _rtl92c_phy_calculate_bit_shift().
And fix an undefined bitwise shift behavior problem.
Fixes: f0a39ae738d6 ("rtlwifi: rtl8192cu: Add routine phy")
Signed-off-by: Su Hui <suhui@nfschina.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://msgid.link/20231219065739.1895666-6-suhui@nfschina.com
|
|
Using calculate_bit_shift() to replace _rtl92c_phy_calculate_bit_shift().
And fix the undefined bitwise shift behavior problem.
Fixes: 4295cd254af3 ("rtlwifi: Move common parts of rtl8192ce/phy.c")
Signed-off-by: Su Hui <suhui@nfschina.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://msgid.link/20231219065739.1895666-5-suhui@nfschina.com
|
|
Using calculate_bit_shift() to replace _rtl88e_phy_calculate_bit_shift().
And fix the undefined bitwise shift behavior problem.
Fixes: f0eb856e0b6c ("rtlwifi: rtl8188ee: Add new driver")
Signed-off-by: Su Hui <suhui@nfschina.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://msgid.link/20231219065739.1895666-4-suhui@nfschina.com
|
|
using calculate_bit_shift() to replace
_rtl8821ae_phy_calculate_bit_shift().
Signed-off-by: Su Hui <suhui@nfschina.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://msgid.link/20231219065739.1895666-3-suhui@nfschina.com
|
|
There are many same functions like _rtl88e_phy_calculate_bit_shift(),
_rtl92c_phy_calculate_bit_shift() and so on. And these functions can
cause undefined bitwise shift behavior. Add calculate_bit_shift() to
replace them and fix undefined behavior in subsequent patches.
Signed-off-by: Su Hui <suhui@nfschina.com>
Acked-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://msgid.link/20231219065739.1895666-2-suhui@nfschina.com
|
|
There are two major types of uncorrected recoverable (UCR) errors :
- Synchronous error: The error is detected and raised at the point of
the consumption in the execution flow, e.g. when a CPU tries to
access a poisoned cache line. The CPU will take a synchronous error
exception such as Synchronous External Abort (SEA) on Arm64 and
Machine Check Exception (MCE) on X86. OS requires to take action (for
example, offline failure page/kill failure thread) to recover this
uncorrectable error.
- Asynchronous error: The error is detected out of processor execution
context, e.g. when an error is detected by a background scrubber.
Some data in the memory are corrupted. But the data have not been
consumed. OS is optional to take action to recover this uncorrectable
error.
When APEI firmware first is enabled, a platform may describe one error
source for the handling of synchronous errors (e.g. MCE or SEA notification
), or for handling asynchronous errors (e.g. SCI or External Interrupt
notification). In other words, we can distinguish synchronous errors by
APEI notification. For synchronous errors, kernel will kill the current
process which accessing the poisoned page by sending SIGBUS with
BUS_MCEERR_AR. In addition, for asynchronous errors, kernel will notify the
process who owns the poisoned page by sending SIGBUS with BUS_MCEERR_AO in
early kill mode. However, the GHES driver always sets mf_flags to 0 so that
all synchronous errors are handled as asynchronous errors in memory failure.
To this end, set memory failure flags as MF_ACTION_REQUIRED on synchronous
events.
Signed-off-by: Shuai Xue <xueshuai@linux.alibaba.com>
Tested-by: Ma Wupeng <mawupeng1@huawei.com>
Reviewed-by: Kefeng Wang <wangkefeng.wang@huawei.com>
Reviewed-by: Xiaofei Tan <tanxiaofei@huawei.com>
Reviewed-by: Baolin Wang <baolin.wang@linux.alibaba.com>
Reviewed-by: James Morse <james.morse@arm.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
|
|
If a key has an expiration time, then when that time passes, the key is
left around for a certain amount of time before being collected (5 mins by
default) so that EKEYEXPIRED can be returned instead of ENOKEY. This is a
problem for DNS keys because we want to redo the DNS lookup immediately at
that point.
Fix this by allowing key types to be marked such that keys of that type
don't have this extra period, but are reclaimed as soon as they expire and
turn this on for dns_resolver-type keys. To make this easier to handle,
key->expiry is changed to be permanent if TIME64_MAX rather than 0.
Furthermore, give such new-style negative DNS results a 1s default expiry
if no other expiry time is set rather than allowing it to stick around
indefinitely. This shouldn't be zero as ls will follow a failing stat call
immediately with a second with AT_SYMLINK_NOFOLLOW added.
Fixes: 1a4240f4764a ("DNS: Separate out CIFS DNS Resolver code")
Signed-off-by: David Howells <dhowells@redhat.com>
Tested-by: Markus Suvanto <markus.suvanto@gmail.com>
cc: Wang Lei <wang840925@gmail.com>
cc: Jeff Layton <jlayton@redhat.com>
cc: Steve French <smfrench@gmail.com>
cc: Marc Dionne <marc.dionne@auristor.com>
cc: Jarkko Sakkinen <jarkko@kernel.org>
cc: "David S. Miller" <davem@davemloft.net>
cc: Eric Dumazet <edumazet@google.com>
cc: Jakub Kicinski <kuba@kernel.org>
cc: Paolo Abeni <pabeni@redhat.com>
cc: linux-afs@lists.infradead.org
cc: linux-cifs@vger.kernel.org
cc: linux-nfs@vger.kernel.org
cc: ceph-devel@vger.kernel.org
cc: keyrings@vger.kernel.org
cc: netdev@vger.kernel.org
|
|
git://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/linux into pm-devfreq
Merge devfreq updates for v6.8 from Chanwoo Choi:
"1. Fix buffer overflow of trans_stat_show sysfs node on devfreq core
- Fix buffer overflow of trans_stat_show sysfs node to replace
sprintf with scnprintf and then replace it with sysfs_emit
according to the syfs guide.
2. Fix the timer list corruption when frequent switching of governor
by synchronizing the devfreq_moniotr_start and _stop function."
* tag 'devfreq-next-for-6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/linux:
PM / devfreq: Synchronize devfreq_monitor_[start/stop]
PM / devfreq: Convert to use sysfs_emit_at() API
PM / devfreq: Fix buffer overflow in trans_stat_show
|
|
For a clean, conflict-free revert of the token-related patches in commit
d17aff807f84 ("Revert BPF token-related functionality"), the bpf fs commit
750e785796bb ("bpf: Support uid and gid when mounting bpffs") was undone
temporarily as well.
This patch manually re-adds the functionality from the original one back
in 750e785796bb, no other functional changes intended.
Testing:
# mount -t bpf -o uid=65534,gid=65534 bpffs ./foo
# ls -la . | grep foo
drwxrwxrwt 2 nobody nogroup 0 Dec 20 13:16 foo
# mount -t bpf
bpffs on /root/foo type bpf (rw,relatime,uid=65534,gid=65534)
Also, passing invalid arguments for uid/gid are properly rejected as expected.
Fixes: d17aff807f84 ("Revert BPF token-related functionality")
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Reviewed-by: Christian Brauner <brauner@kernel.org>
Cc: Jie Jiang <jiejiang@chromium.org>
Cc: Andrii Nakryiko <andrii@kernel.org>
Cc: linux-fsdevel@vger.kernel.org
Link: https://lore.kernel.org/bpf/20231220133805.20953-1-daniel@iogearbox.net
|