Commit graph

1,398,251 commits

Author SHA1 Message Date
Niklas Cassel
f272210b28 PCI: endpoint: pci-epf-test: Fix doorbell test support
The doorbell feature temporarily overrides the inbound translation to point
to the address stored in epf_test->db_bar.phys_addr, i.e., it calls
set_bar() twice without ever calling clear_bar(), as calling clear_bar()
would clear the BAR's PCI address assigned by the host.

Thus, when disabling the doorbell, restore the inbound translation to point
to the memory allocated for the BAR.

Without this, running the PCI endpoint kselftest doorbell test case more
than once would fail.

Fixes: eff0c286aa ("PCI: endpoint: pci-epf-test: Add doorbell test support")
Signed-off-by: Niklas Cassel <cassel@kernel.org>
Signed-off-by: Manivannan Sadhasivam <mani@kernel.org>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Link: https://patch.msgid.link/20250908161942.534799-2-cassel@kernel.org
2025-09-12 15:09:32 -05:00
Lorenzo Pieralisi
fad8e97854 PCI: of: Update parent unit address generation in of_pci_prop_intr_map()
Some interrupt controllers require an #address-cells property in their
bindings without requiring a "reg" property to be present.

The current logic used to craft an interrupt-map property in
of_pci_prop_intr_map() is based on reading the #address-cells
property in the interrupt-parent and, if != 0, read the interrupt
parent "reg" property to determine the parent unit address to be
used to create the parent unit interrupt specifier.

First of all, it is not correct to read the "reg" property of
the interrupt-parent with an #address-cells value taken from the
interrupt-parent node, because the #address-cells value define the
number of address cells required by child nodes.

More importantly, for all modern interrupt controllers, the parent
unit address is irrelevant in hardware in relation to the
device <-> interrupt-controller connection and the kernel actually
ignores the parent unit address value when hierarchically parsing
the interrupt-map property (i.e., of_irq_parse_raw()).

For the reasons above, remove the code parsing the interrupt parent "reg"
property in of_pci_prop_intr_map() -- it is not needed and prevents
interrupt-map property generation on systems with an interrupt-controller
that has no "reg" property in its interrupt-controller node -- and leave
the parent unit address always initialized to 0 since it is simply ignored
by the kernel.

Signed-off-by: Lorenzo Pieralisi <lpieralisi@kernel.org>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Lizhi Hou <lizhi.hou@amd.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/lkml/aJms+YT8TnpzpCY8@lpieralisi/
Link: https://patch.msgid.link/20250818093504.80651-1-lpieralisi@kernel.org
2025-09-12 14:17:57 -05:00
Nitin Gote
d4c3ed963e drm/xe: defer free of NVM auxiliary container to device release callback
Do not kfree the intel_dg_nvm_dev in xe_nvm_fini() right after
auxiliary_device_delete/uninit. The auxiliary_device embeds the
device/kobject (and its name); freeing it too early can race
with asynchronous device_del/udev processing and cause a use-after-free.

Signed-off-by: Nitin Gote <nitin.r.gote@intel.com>
Fixes: c28bfb107d ("drm/xe/nvm: add on-die non-volatile memory device")
Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com>
Link: https://lore.kernel.org/r/20250911052823.226696-1-nitin.r.gote@intel.com
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
2025-09-12 12:02:23 -07:00
Ian Rogers
035c178930 perf parse-events: Add 'X' modifier to exclude an event from being regrouped
The function parse_events__sort_events_and_fix_groups is needed to fix
uncore events like:
```
$ perf stat -e '{data_read,data_write}' ...
```
so that the multiple uncore PMUs have a group each of data_read and
data_write events.

The same function will perform architecture sorting and group fixing,
in particular for Intel topdown/perf-metric events. Grouping multiple
perf metric events together causes perf_event_open to fail as the
group can only support one. This means command lines like:
```
$ perf stat -e 'slots,slots' ...
```
fail as the slots events are forced into a group together to try to
satisfy the perf-metric event constraints.

As the user may know better than
parse_events__sort_events_and_fix_groups add a 'X' modifier to skip
its regrouping behavior. This allows the following to succeed rather
than fail on the second slots event being opened:
```
$ perf stat -e 'slots,slots:X' -a sleep 1

 Performance counter stats for 'system wide':

     6,834,154,071      cpu_core/slots/                                                         (50.13%)
     5,548,629,453      cpu_core/slots/X                                                        (49.87%)

       1.002634606 seconds time elapsed
```

Closes: https://lore.kernel.org/lkml/20250822082233.1850417-1-dapeng1.mi@linux.intel.com/
Reported-by: Dapeng Mi <dapeng1.mi@linux.intel.com>
Reported-by: Xudong Hao <xudong.hao@intel.com>
Reviewed-by: Dapeng Mi <dapeng1.mi@linux.intel.com>
Signed-off-by: Ian Rogers <irogers@google.com>
Tested-by: Dapeng Mi <dapeng1.mi@linux.intel.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Howard Chu <howardchu95@gmail.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: James Clark <james.clark@linaro.org>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Kan Liang <kan.liang@linux.intel.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Falcon <thomas.falcon@intel.com>
Cc: Yoshihiro Furudera <fj5100bi@fujitsu.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2025-09-12 15:53:32 -03:00
Ian Rogers
9eac5612da perf stat: Don't skip failing group events
Pass errno to stat_handle_error() rather than reading errno after it has
potentially been clobbered.

Move "skippable" handling first as a skippable event (from the perf stat
default list) should always just be skipped.

Remove logic to skip rather than fail events in a group when they
aren't the group leader.

The original logic was added in commit cb5ef60067 ("perf stat: Error
out unsupported group leader immediately") due to error handling and
opening being together and an assertion being raised.

Not failing this case causes broken groups to not report values,
particularly for topdown events.

Closes: https://lore.kernel.org/lkml/20250822082233.1850417-1-dapeng1.mi@linux.intel.com/
Reported-by: Dapeng Mi <dapeng1.mi@linux.intel.com>
Reviewed-by: Dapeng Mi <dapeng1.mi@linux.intel.com>
Signed-off-by: Ian Rogers <irogers@google.com>
Tested-by: Dapeng Mi <dapeng1.mi@linux.intel.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Howard Chu <howardchu95@gmail.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: James Clark <james.clark@linaro.org>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Kan Liang <kan.liang@linux.intel.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Falcon <thomas.falcon@intel.com>
Cc: Yoshihiro Furudera <fj5100bi@fujitsu.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2025-09-12 15:51:43 -03:00
Ian Rogers
7970e206e1 perf evsel: Give warning for broken Intel topdown event grouping
Extend arch_evsel__open_strerror() from just AMD IBS events to Intel
core PMU events, to give a message when a slots event isn't a group
leader or when a perf metric event is duplicated within an event
group.

As generating the warning happens after non-arch specific warnings are
generated, disable the missing system wide (-a) flag warning for the
core PMU.

This assumes core PMU events should support per-thread/process and
system-wide.

Reviewed-by: Dapeng Mi <dapeng1.mi@linux.intel.com>
Signed-off-by: Ian Rogers <irogers@google.com>
Tested-by: Dapeng Mi <dapeng1.mi@linux.intel.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Howard Chu <howardchu95@gmail.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: James Clark <james.clark@linaro.org>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Kan Liang <kan.liang@linux.intel.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Falcon <thomas.falcon@intel.com>
Cc: Yoshihiro Furudera <fj5100bi@fujitsu.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2025-09-12 15:48:12 -03:00
Yunseong Kim
43fa1141e2 perf util: Fix compression checks returning -1 as bool
The lzma_is_compressed and gzip_is_compressed functions are declared
to return a "bool" type, but in case of an error (e.g., file open
failure), they incorrectly returned -1.

A bool type is a boolean value that is either true or false.
Returning -1 for a bool return type can lead to unexpected behavior
and may violate strict type-checking in some compilers.

Fix the return value to be false in error cases, ensuring the function
adheres to its declared return type improves for preventing potential
bugs related to type mismatch.

Fixes: 4b57fd44b6 ("perf tools: Add lzma_is_compressed function")
Reviewed-by: Ian Rogers <irogers@google.com>
Signed-off-by: Yunseong Kim <ysk@kzalloc.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Kan Liang <kan.liang@linux.intel.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Stephen Brennan <stephen.s.brennan@oracle.com>
Link: https://lore.kernel.org/r/20250822162506.316844-3-ysk@kzalloc.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2025-09-12 15:41:57 -03:00
Yunseong Kim
94d4dfbbe8 perf arm64: Sync ESR_ELx_EC_* macros in arm64_exception_types.h with esr.h
Update perf util arm64_exception_types.h to match the exception class
macros defined in tools/arch/arm64/include/asm/esr.h.

This ensures consistency between perf tooling and the kernel header
definitions for ESR_ELx_EC_* values.

In v2, ESR_ELx_EC_OTHER and ESR_ELx_EC_GCS, which were missing in v1, were
included.

Reviewed-by: Leo Yan <leo.yan@arm.com>
Signed-off-by: Yunseong Kim <ysk@kzalloc.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Ian Rogers <irogers@google.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: James Clark <james.clark@linaro.org>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: John Garry <john.g.garry@oracle.com>
Cc: Kan Liang <kan.liang@linux.intel.com>
Cc: Leo Yan <leo.yan@linux.dev>
Cc: Levi Yun <yeoreum.yun@arm.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Mike Leach <mike.leach@linaro.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Will Deacon <will@kernel.org>
Link: https://lore.kernel.org/r/20250822145855.53071-2-ysk@kzalloc.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2025-09-12 15:37:57 -03:00
GuoHan Zhao
baa03483fd perf drm_pmu: Fix fd_dir leaks in for_each_drm_fdinfo_in_dir()
Fix file descriptor leak when callback function returns error. The
function was directly returning without closing fdinfo_dir_fd and
fd_dir when cb() returned non-zero value.

Fixes: 28917cb17f ("perf drm_pmu: Add a tool like PMU to expose DRM information")
Reviewed-by: Ian Rogers <irogers@google.com>
Reviewed-by: Markus Elfring <Markus.Elfring@web.de>
Reviewed-by: Namhyung Kim <namhyung@kernel.org>
Signed-off-by: GuoHan Zhao <zhaoguohan@kylinos.cn>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Kan Liang <kan.liang@linux.intel.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: https://lore.kernel.org/r/20250908065203.22187-1-zhaoguohan@kylinos.cn
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2025-09-12 15:28:30 -03:00
Danilo Krummrich
3760401981 pin-init changes for v6.18
Changed:
 
 - `#[pin_data]` now generates a `*Projection` struct similar to the
   `pin-project` crate.
 
 - Add initializer code blocks to `[try_][pin_]init!` macros: make
   initializer macros accept any number of `_: {/* arbitrary code */},` &
   make them run the code at that point.
 
 - Make the `[try_][pin_]init!` macros expose initialized fields via a
   `let` binding as `&mut T` or `Pin<&mut T>` for later fields.
 
 Upstream dev news:
 
 - Released v0.0.10 before the changes included in this tag.
 
 - Inform users of the impending rename from `pinned-init` to `pin-init`
   (in the kernel the rename already happened).
 
 - More CI improvements.
 -----BEGIN PGP SIGNATURE-----
 
 iIgEABYKADAWIQQjEG/HT3UeYLJybLTomd21rZaLygUCaMQqrhIcbG9zc2luQGtl
 cm5lbC5vcmcACgkQ6Jndta2Wi8pqhQEAlg9RmSA0Pu4FK5wNM1c4P4S9wAjE+oJL
 luYJPrc3mikBAJf8xOoP7XFDKd1FZZ+xOWkgamkf4zDbszOjpX4U/DMD
 =ESM8
 -----END PGP SIGNATURE-----

Merge tag 'pin-init-v6.18' of https://github.com/Rust-for-Linux/linux into drm-rust-next

pin-init changes for v6.18

Changed:

- `#[pin_data]` now generates a `*Projection` struct similar to the
  `pin-project` crate.

- Add initializer code blocks to `[try_][pin_]init!` macros: make
  initializer macros accept any number of `_: {/* arbitrary code */},` &
  make them run the code at that point.

- Make the `[try_][pin_]init!` macros expose initialized fields via a
  `let` binding as `&mut T` or `Pin<&mut T>` for later fields.

Upstream dev news:

- Released v0.0.10 before the changes included in this tag.

- Inform users of the impending rename from `pinned-init` to `pin-init`
  (in the kernel the rename already happened).

- More CI improvements.

Signed-off-by: Danilo Krummrich <dakr@kernel.org>

From: Benno Lossin <lossin@kernel.org>
Link: https://lore.kernel.org/r/20250912174148.373530-1-lossin@kernel.org
2025-09-12 20:07:15 +02:00
Linus Torvalds
22f20375f5 pci-v6.17-fixes-3
-----BEGIN PGP SIGNATURE-----
 
 iQJIBAABCgAyFiEEgMe7l+5h9hnxdsnuWYigwDrT+vwFAmjEOk4UHGJoZWxnYWFz
 QGdvb2dsZS5jb20ACgkQWYigwDrT+vy/6BAAuG1tHr0eS8N91izFldT+aVt8pAdW
 wOUsHzj6CkcxSYHuAc1wnSKBb7xxqNLdotsfSOAAUQrCctvlNiy2sxkDp31wrZcJ
 5up0h7VXqIV8Vbirde4nrlN3ey8Op1xUGn/V2VulzH+BCRauIjtXBcZVUmgVJ0xw
 MZ9n9I0GKbykNUiQIZCgJEZvI25rNbAalhfxN7JtY/U0Ra60XI+s6Z6Vi1T8whGt
 SupYOnNUXubStEDDu2QzPMinHTU266ory3zPU0mbrRSOq1aqfljTuVQsTREjrKVR
 Q6GnOlB3o9q2E5UfrZcJlskwdN+cT1FvZx97Ec6Izjj4sCsF47CtfYGfwSakdCRU
 Y2cyGzi1MEwuFmRsiLCmiuW5pk5SzU8vYpC7Vpoi+cyrfF3T8hSIuiMyUsuq/b9x
 lZv4z/1KLZNdbKX/ZDTaTWq0rKZzvxrpSFfSq+HWzzPj9w3rvSf3p5lVX8gY+pqN
 WD1uMtv3NKgTeZkxCXkeVBd9x5o0jWWGaohCuuOLTr0FEG63Yg1x4/blCdf1YPCi
 ZIqcd7aAiKzQAsWylqpJCOvYlRsCDo4mY1HvpPi5mwCtjM9cYmi85L0CwLW/mgZ8
 NHLmzlUOOmbqwvHjjmocOFZnxmXlYRlO61S572Lc3H136KrveXv41m8YHubbr8K8
 8lt6NE8Cc11M7Ac=
 =LR29
 -----END PGP SIGNATURE-----

Merge tag 'pci-v6.17-fixes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci

Pull pci fix from Bjorn Helgaas:

 - Fix mvebu PCI enumeration regression caused by converting to
   for_each_of_range() iterator (Klaus Kudielka)

* tag 'pci-v6.17-fixes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci:
  PCI: mvebu: Fix use of for_each_of_range() iterator
2025-09-12 10:46:10 -07:00
Lucas De Marchi
2ec2945625 drm/xe/configfs: Fix documentation warning
Fix this warning while building the documentation:

	Documentation/gpu/xe/xe_configfs:9: drivers/gpu/drm/xe/xe_configfs.c:138:
	WARNING: Definition list ends without a blank line; unexpected unindent.

That also makes it better formatted in the output.

While at it, also fix the underline length in "Overview".

Fixes: e2b33fce5e ("drm/xe/configfs: Improve documentation steps")
Reviewed-by: Raag Jadav <raag.jadav@intel.com>
Link: https://lore.kernel.org/r/20250911-wa-bb-cmds-v4-2-c8f7e48f7eae@intel.com
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
2025-09-12 09:36:43 -07:00
Lucas De Marchi
c34f9868df drm/xe: Update workaround documentation
Bring it up to reality, better documenting the existing batch buffers,
OOB rules and fixing some typos.

Bspec: 60122
Reviewed-by: Stuart Summers <stuart.summers@intel.com>
Link: https://lore.kernel.org/r/20250911-wa-bb-cmds-v4-1-c8f7e48f7eae@intel.com
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
2025-09-12 09:36:43 -07:00
Linus Torvalds
965c995c9a drm fixes for 6.17-rc6
MAINTAINERS:
 - add rust tree to MAINTAINERS
 - fix X entries for nova/nouveau
 
 nova:
 - depend on 64-bit
 
 i915:
 - Fix size for for_each_set_bit() in abox iteration
 
 xe:
 - Don't touch survivability_mode on fini
 - Fixes around eviction and suspend
 - Extend Wa_13011645652 to PTL-H, WCL
 
 amdgpu:
 - PSP 11.x fix
 - DPCD quirk handing fix
 - DCN 3.5 PG fix
 - Audio suspend fix
 - OEM i2c clean up fix
 - Module unload memory leak fix
 - DC delay fix
 - ISP firmware fix
 - VCN fixes
 
 amdkfd:
 - P2P topology fix
 - APU mem limit calculation fix
 
 mediatek:
 - fix potential OF node use-after-free
 
 panthor:
 - out-of-bounds check
 
 nouveau:
 - revert waitqueue removal for sched teardown
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEEKbZHaGwW9KfbeusDHTzWXnEhr4FAmjDn2AACgkQDHTzWXnE
 hr6+bg//VqfUDERVM5/midDbpa8PCHN645tkMYXgids9lFoj4yzwnr8IlDnaQgIw
 0P+KeyFm/JpuKKPULi0xXD1A5M8mPJ1jgtIrWsL4DNXzvNmgSqMd+SX4GmhWfCOp
 ZtczGMyiO+QJQ0+3HkJ2+SCmi2TVQKHdJE0/tobhMdZTl+gMjmB6VVmWojuAbA21
 e+Yxq0UA5JAYWYWTaoKMgvX7HG9g/SplHmu8aosi+2FxgUAppC6Hvk00vlRmZOjH
 JQmFF+eDuZpMreIqe5x/Ng4gIrS1kXVdr6dFHS+6Me97KDxatsLvUXqmRzu3h007
 sNPZJLx2qysfTJP4hPb0n7d15nj6XpajM4ncwsxdWcvOI+hSdWfPChPJRCOFYNJy
 cEYF45gWfjrCpi9ldcNR+u4KYAUUbITapkkhJS0I6xy2l/roAKIvlZ4QJZDbYCYM
 PFCzC7FgyLleVLGkJIVZPr8SC6wa5mm7zoPo973HAhujPvDJvRHFuZWIxohQvc+j
 MsP+f+kiDeSowcBVuZrFlCnhIOxM/9eGR3NRof38AvWVj/mjNR6yu+2UMb4w6Vv8
 jglmoGFA1Up96oi+aq7yTPCO4YdX89Z5GBLS94Y66bQg/V+nAfmonRMSYBOdTEnN
 9v6Eb8GNzN0Dj6OyaAd5r4gTLtNuMu6d3S3W8l2LO6pI7bb3crM=
 =wPUA
 -----END PGP SIGNATURE-----

Merge tag 'drm-fixes-2025-09-12' of https://gitlab.freedesktop.org/drm/kernel

Pull drm fixes from Dave Airlie:
 "Weekly pull fixes for drm, mostly amdgpu and xe, with a revert for
  nouveau and some maintainers updates, and misc bits, doesn't seem too
  out of the normal.

  MAINTAINERS:
   - add rust tree to MAINTAINERS
   - fix X entries for nova/nouveau

  nova:
   - depend on 64-bit

  i915:
   - Fix size for for_each_set_bit() in abox iteration

  xe:
   - Don't touch survivability_mode on fini
   - Fixes around eviction and suspend
   - Extend Wa_13011645652 to PTL-H, WCL

  amdgpu:
   - PSP 11.x fix
   - DPCD quirk handing fix
   - DCN 3.5 PG fix
   - Audio suspend fix
   - OEM i2c clean up fix
   - Module unload memory leak fix
   - DC delay fix
   - ISP firmware fix
   - VCN fixes

  amdkfd:
   - P2P topology fix
   - APU mem limit calculation fix

  mediatek:
   - fix potential OF node use-after-free

  panthor:
   - out-of-bounds check

  nouveau:
   - revert waitqueue removal for sched teardown

* tag 'drm-fixes-2025-09-12' of https://gitlab.freedesktop.org/drm/kernel: (25 commits)
  MAINTAINERS: drm-misc: fix X: entries for nova/nouveau
  drm/mediatek: clean up driver data initialisation
  drm/mediatek: fix potential OF node use-after-free
  drm/amdgpu/vcn: Allow limiting ctx to instance 0 for AV1 at any time
  drm/amdgpu/vcn4: Fix IB parsing with multiple engine info packages
  drm/amd/amdgpu: Declare isp firmware binary file
  drm/amd/display: use udelay rather than fsleep
  drm/amdgpu: fix a memory leak in fence cleanup when unloading
  drm/xe: Extend Wa_13011645652 to PTL-H, WCL
  drm/xe: Block exec and rebind worker while evicting for suspend / hibernate
  drm/xe: Allow the pm notifier to continue on failure
  drm/xe: Attempt to bring bos back to VRAM after eviction
  drm/xe/configfs: Don't touch survivability_mode on fini
  amd/amdkfd: correct mem limit calculation for small APUs
  drm/amdkfd: fix p2p links bug in topology
  drm/amd/display: remove oem i2c adapter on finish
  drm/amd/display: Drop dm_prepare_suspend() and dm_complete()
  drm/amd/display: Correct sequences and delays for DCN35 PG & RCG
  drm/amd/display: Disable DPCD Probe Quirk
  drm/i915/power: fix size for for_each_set_bit() in abox iteration
  ...
2025-09-12 09:29:59 -07:00
Christophe Leroy
7dfd80f70e watchdog: mpc8xxx_wdt: Reload the watchdog timer when enabling the watchdog
When the watchdog gets enabled with this driver, it leaves enough time
for the core watchdog subsystem to start pinging it. But when the
watchdog is already started by hardware or by the boot loader, little
time remains before it fires and it happens that the core watchdog
subsystem doesn't have time to start pinging it.

Until commit 19ce9490aa ("watchdog: mpc8xxx: use the core worker
function") pinging was managed by the driver itself and the watchdog
was immediately pinged by setting the timer expiry to 0.

So restore similar behaviour by pinging it when enabling it so that
if it was already enabled the watchdog timer counter is reloaded.

Fixes: 19ce9490aa ("watchdog: mpc8xxx: use the core worker function")
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
2025-09-12 18:10:07 +02:00
Wolfram Sang
7c628fb8db watchdog: visconti: don't print superfluous errors
The watchdog core will handle error messages already.

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Reviewed-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.x90@mail.toshiba>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
2025-09-12 18:10:06 +02:00
Wolfram Sang
28cee77baf watchdog: rzv2h_wdt: don't print superfluous errors
The watchdog core will handle error messages already.

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
2025-09-12 18:10:06 +02:00
Wolfram Sang
66036fa63a watchdog: rzg2l_wdt: don't print superfluous errors
The watchdog core will handle error messages already.

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
2025-09-12 18:06:34 +02:00
Sangwook Shin
9f2517f59d watchdog: s3c2410_wdt: exynosautov9: Enable supported features
Enable supported features for ExynosAutov9 SoC.
- QUIRK_HAS_DBGACK_BIT
- QUIRK_HAS_32BIT_CNT

Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org>
Signed-off-by: Sangwook Shin <sw617.shin@samsung.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
2025-09-12 18:06:33 +02:00
Sangwook Shin
c76c029ce5 watchdog: s3c2410_wdt: exynosautov920: Enable QUIRK_HAS_32BIT_CNT
Enable QUIRK_HAS_32BIT_CNT to ExynosAutov920 SoC which has 32-bit WTCNT.

Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org>
Signed-off-by: Sangwook Shin <sw617.shin@samsung.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
2025-09-12 18:06:33 +02:00
Sangwook Shin
a36c90ab4d watchdog: s3c2410_wdt: Increase max timeout value of watchdog
Increase max_timeout value from 55s to 3665038s (1018h 3min 58s) with
38400000 frequency system if the system has 32-bit WTCNT register.

cat /sys/class/watchdog/watchdog0/max_timeout
3665038

[    0.330082] s3c2410-wdt 10060000.watchdog_cl0: Heartbeat: count=1099511400000, timeout=3665038, freq=300000
[    0.330087] s3c2410-wdt 10060000.watchdog_cl0: Heartbeat: timeout=3665038, divisor=256, count=1099511400000 (fffffc87)
[    0.330127] s3c2410-wdt 10060000.watchdog_cl0: starting watchdog timer
[    0.330134] s3c2410-wdt 10060000.watchdog_cl0: Starting watchdog: count=0xfffffc87, wtcon=0001ff39
[    0.330319] s3c2410-wdt 10060000.watchdog_cl0: watchdog active, reset enabled, irq disabled

If the system has a 32-bit WTCNT, add QUIRK_HAS_32BIT_CNT to its quirk flags,
and it will operate with a 32-bit counter. If not, it will operate with a 16-bit
counter like in the previous version.

Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org>
Signed-off-by: Sangwook Shin <sw617.shin@samsung.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
2025-09-12 18:06:32 +02:00
Sangwook Shin
df3c6e0b6d watchdog: s3c2410_wdt: Fix max_timeout being calculated larger
Fix the issue of max_timeout being calculated larger than actual value.
The calculation result of freq / (S3C2410_WTCON_PRESCALE_MAX + 1) /
S3C2410_WTCON_MAXDIV is smaller than the actual value because the remainder
is discarded during the calculation process. This leads to a larger
calculated value for max_timeout compared to the actual settable value.
To resolve this issue, the order of calculations in the computation process
has been adjusted.

Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org>
Signed-off-by: Sangwook Shin <sw617.shin@samsung.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
2025-09-12 18:06:32 +02:00
Sangwook Shin
e76bb4ee92 watchdog: s3c2410_wdt: Replace hardcoded values with macro definitions
Modify the code to utilize macro-defined values instead of hardcoded
values. The value 0x100 in the s3c2410wdt_set_heartbeat function represents
S3C2410_WTCON_PRESCALE_MAX + 1, but it is hardcoded, making its meaning
difficult to understand and reducing code readability.

Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org>
Reviewed-by: Alim Akhtar <alim.akhtar@samsung.com>
Signed-off-by: Sangwook Shin <sw617.shin@samsung.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
2025-09-12 18:06:31 +02:00
Lad Prabhakar
73ea1e92be watchdog: rzv2h: Improve error strings and add newlines
Update rzv2h_wdt_probe() to provide clearer error strings when retrieving
the pclk, oscclk, and reset controller, and append missing newline
characters to dev_err_probe() and dev_warn() calls for proper log
formatting.

Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
2025-09-12 18:06:31 +02:00
Lad Prabhakar
2b20697635 watchdog: rzv2h: Add support for RZ/T2H
Add support for the RZ/T2H watchdog timer. The RZ/T2H requires control of
the watchdog counter using the WDT Debug Control Register (WDTDCR), which
allows explicitly stopping and starting the counter. This behavior differs
from RZ/V2H, which doesn't have WDTDCR, so the driver is extended to handle
this requirement.

To support this, a new `wdtdcr` flag is introduced in the `rzv2h_of_data`
structure. When set, the driver maps the WDTDCR register and uses it to
control the watchdog counter in the start, stop, and restart callbacks.
Additionally, the clock divisor and count source for RZ/T2H are defined
to match its hardware configuration.

Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
2025-09-12 18:06:30 +02:00
Lad Prabhakar
ef6080fec6 watchdog: rzv2h: Add support for configurable count clock source
Add support for selecting the count clock source used by the watchdog
timer. The RZ/V2H(P) SoC uses the LOCO as the count source, whereas on
RZ/T2H and RZ/N2H SoCs, the count source is the peripheral clock (PCLKL).

Introduce a `count_source` field in the SoC-specific data structure and
refactor the clock rate selection logic accordingly. This prepares the
driver for supporting the RZ/T2H and RZ/N2H SoCs, which differ in their
watchdog clocking architecture from RZ/V2H(P).

Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
2025-09-12 18:06:30 +02:00
Lad Prabhakar
6229b35298 watchdog: rzv2h: Make "oscclk" and reset controller optional
Update the rzv2h_wdt driver to make the "oscclk" clock and reset
controller optional.

Use devm_clk_get_optional_prepared() to obtain the "oscclk" clock,
allowing the driver to work on platforms that do not provide this clock,
such as the RZ/T2H SoC.

Similarly, use devm_reset_control_get_optional_exclusive() to allow the
driver to function on platforms that lack a reset controller.

These changes are preparatory steps for supporting the RZ/T2H SoC, which
does not provide an "oscclk" clock or a reset controller.

Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
2025-09-12 18:06:29 +02:00
Lad Prabhakar
19f7eaec4d watchdog: rzv2h: Obtain clock-divider and timeout values from OF match data
Update the rzv2h_wdt driver to fetch clock configuration and timeout
parameters from device tree match data rather than relying on hardcoded
constants. Introduce a new structure rzv2h_of_data that encapsulates
minimum and maximum clock select values (cks_min and cks_max), clock
divider (cks_div), timeout cycle count (timeout_cycles), and the
timeout period select bits (tops). These values are provided through
the OF match table and retrieved via of_device_get_match_data() during
probe.

This change allows dynamic configuration of the watchdog timer for
different SoCs, such as the RZ/T2H, which require different settings.

Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
2025-09-12 18:06:29 +02:00
Lad Prabhakar
5cacd26436 dt-bindings: watchdog: renesas,wdt: Add support for RZ/T2H and RZ/N2H
Extend the Renesas WDT device tree bindings to support the watchdog timer
found on the RZ/T2H (R9A09G077) and RZ/N2H (R9A09G087) SoCs.

The RZ/T2H WDT is mostly compatible with the one found on the RZ/V2H(P),
but includes an additional register and differs in the clock division
ratio settings for the WDTCR[CKS] field. To reflect these differences,
introduce a new compatible string, "renesas,r9a09g077-wdt".

The binding schema is updated accordingly. On RZ/T2H, the WDT does not
require the "resets" property. It also requires two register regions and
the presence of a "power-domains" property. The "clock-names" property is
limited to a single entry, "pclk", for this SoC.

The RZ/N2H SoC uses the same WDT IP as the RZ/T2H. It is supported by
using "renesas,r9a09g087-wdt" as the primary compatible string, with
"renesas,r9a09g077-wdt" listed as a fallback to describe the shared
hardware features.

Example:
    wdt0: watchdog@80082000 {
        compatible = "renesas,r9a09g077-wdt";
        reg = <0 0x80082000 0 0x400>,
              <0 0x81295100 0 0x04>;
        clocks = <&cpg CPG_CORE R9A09G077_CLK_PCLKL>;
        clock-names = "pclk";
        power-domains = <&cpg>;
        status = "disabled";
    };

Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
2025-09-12 18:06:28 +02:00
Guenter Roeck
bdbb4a2d2a watchdog: intel_oc_wdt: Do not try to write into const memory
The code tries to update the intel_oc_wdt_info data structure if the
watchdog is locked. That data structure is marked as const and can not
be written into. Copy it into struct intel_oc_wdt and modify it there
to fix the problem.

Reported-by: Petar Kulić <cooleech@gmail.com>
Cc: Diogo Ivo <diogo.ivo@siemens.com>
Fixes: 535d1784d8 ("watchdog: Add driver for Intel OC WDT")
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Reviewed-by: Diogo Ivo <diogo.ivo@siemens.com>
Tested-by: Diogo Ivo <diogo.ivo@siemens.com>
Link: https://lore.kernel.org/linux-watchdog/20250818031838.3359-1-diogo.ivo@tecnico.ulisboa.pt/T/#t
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
2025-09-12 18:06:28 +02:00
Linus Torvalds
cb780b79b2 Two smb3 client fixes, both for stable
-----BEGIN PGP SIGNATURE-----
 
 iQGzBAABCgAdFiEE6fsu8pdIjtWE/DpLiiy9cAdyT1EFAmjDjK0ACgkQiiy9cAdy
 T1Fodgv/VLiUtR685w1bAdjgf0y/LKG1LKbewiC2p6Tk8I2auDn/gMRTMPbV+RFZ
 7fm2H/RVVOV9gDokWFWIjwe8FIEGuGlKpVGNtzn1fHKllL1/XpzaEgwmaKy+O4Cq
 7eNhXX1XQM7CdsnNnlxPfbtHqkyVbbkXJbzLjF0DY755iF47PUN5F679OVP4Vtlf
 LN/NHvPrOGVk4bxMx9Pd3VCkl98vqd9xFLAcwLR9hgsNF9Jcr2TaduRRsVXI9++C
 nQQpd/rjItOlrUALYECsiJyr82qZk52X4H2ibhPgGWaA9pemc/n6rW3C5q60Y8oy
 wfwL6vPEk/ob6Z7SD/MkbLtYlsXB5D63V0AglO/HX6Ahr5HQMp8/iZfRUpVr9H6N
 ysK/TagVQMpjjgtYv9nxBRvaOvolFVIMyVsOxC21lU4rZp2ojlS8f/y3vhPZ5cw2
 w2qlNlh8ZZ/QmqzKCn6FzutDSs4HPdWTQMbPW5N0hgUX2T6j/08k/VuZDRCEhn2e
 OkKraJRc
 =DheL
 -----END PGP SIGNATURE-----

Merge tag 'v6.17-rc5-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6

Pull smb client fixes from Steve French:
 "Two smb3 client fixes, both for stable:

   - Fix encryption problem with multiple compounded ops

   - Fix rename error cases that could lead to data corruption"

* tag 'v6.17-rc5-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6:
  smb: client: fix data loss due to broken rename(2)
  smb: client: fix compound alignment with encryption
2025-09-12 09:03:01 -07:00
Arnd Bergmann
6865ed7ddc i.MX fixes for 6.17, round 2:
- Fix mach-imx Kconfig to select the correct PIT timer option
   (Lukas Bulwahn)
 - Correct thermal sensor index for i.MX8MP device tree (Peng Fan)
 - Fix i.MX SCMI build error by adding stub API functions (Peng Fan)
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCgAdFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAmjEK90ACgkQUFdYWoew
 fM6wtQgAhfIwGwHu8Ae75BF7niTnNzFHGbAJCgSUxf6QlZEhNs2WT84/tZ34NhwV
 ltG9L5LFmomPWZ7p7hJT2MC9QdnEz6gj2mTMN3posDPCmbglcyLAx1/tArpAGCh7
 dxDWMp9OwUVYkiRhmSB6GTU43ZJ8qahtUgGoTHINEz6QLdEPy/RfJgQHaNh2l70V
 UlpLD58ek4sCzLqJOjuwXWK+UwwMlLT182FbVEB/hmowCiiR7QxDLhWhOipfIYA5
 GSjWs+KFbxYkuvRyaOywV+Sln8LFkAxzDJSkh378/7rSnb+sUnSDUIoje4Y9IQLu
 /W5M7aIDPINsBOrWFFy0j+MAfU6b+w==
 =DCrP
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmjEQ5oACgkQmmx57+YA
 GNkLkg//csFYatHnX4USfxEgOnW9IqLtZG+HPweSmlgs5sNIRKM8uTuwgkj2oIYq
 rTqxef2h/Xrz5+ZOnjLY3enP3+OZLdJYow4zT6dI9RueHVcnLIGkX0cj7zUuWbkP
 PAjyHYDKxF9TufqEXmrRcCAGOJqp5Dt916o2FmYqVOtmu8+e3F2Yy71/BKN7rVP4
 pRX7JojpUnChZEmrK0okSWkdmBL810thDlL5Tre/SECRvYHg9eJuErwUYYARbnJB
 +ZFal7AJT/jmNaod2b6Rg85a9nQxk5tJGtidQ/dsUhG6voYIaLMg5LllmqBSO5Yc
 NpBwYJuE8NtJ3O3S67kva643aTy7B/0dADJ3Yz3XTzMgWxoZa08ssCpPrDmBFuto
 KSOebVbTOCY4btQswHw6FKybuMEyhEooKdodC/96D7bSStQ1ZuovmmVFGekb0Wcu
 cejTOir4ynrcrp9cri/5KkyIcIh/jcaDk2f1Y+SP8YUSVRWb1H3cjLNdApIEdUH8
 BSUuxoXG/lLRCr+gNVrjdXmU/wAqbqA2NahtKdN478HnTAsYLpP3qQcamZHPqcZC
 Fs9VzDm6U3V8HqNgHY37YFP9gAoQif0LJzljAp1RepnVUOWS6hh8QT9RgNOokHls
 Jwi1bktHd+FG93YOnJn4rITnbQripZP0dd2uZyAqAIhyh5aeJI0=
 =f1Vh
 -----END PGP SIGNATURE-----

Merge tag 'imx-fixes-6.17-2' of https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into arm/fixes

i.MX fixes for 6.17, round 2:

- Fix mach-imx Kconfig to select the correct PIT timer option
  (Lukas Bulwahn)
- Correct thermal sensor index for i.MX8MP device tree (Peng Fan)
- Fix i.MX SCMI build error by adding stub API functions (Peng Fan)

* tag 'imx-fixes-6.17-2' of https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  arm64: dts: imx8mp: Correct thermal sensor index
  ARM: imx: Kconfig: Adjust select after renamed config option
  firmware: imx: Add stub functions for SCMI CPU API
  firmware: imx: Add stub functions for SCMI LMM API
  firmware: imx: Add stub functions for SCMI MISC API

Link: https://lore.kernel.org/r/aMQs2zr4fYl2DYVr@dragon
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-09-12 18:00:26 +02:00
Arnd Bergmann
32687c0663 SoCFPGA DTS fix for v6.17
- Fix midio bus probe and PHY address for cylone5 sodia board
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEoHhMeiyk5VmwVMwNGZQEC4GjKPQFAmi9egMACgkQGZQEC4Gj
 KPRMKQ/+PtM7uvqvSaDRy7GrDUkFRoTmDGpzMnWhCKP62Fb2eWfzYAxaq7L5mF6H
 l0GChcXGsFhESRDXD0YyddfM9eODZteo3WPs5URSQVi2Cs1lCVnx8Q+3MJsurmo1
 G2nr6xNKhHvC+U7JU+IrmcQJ27IwldUphUSsvnSDnVnUmm9KDO3MZY0hOV5dq3fc
 o7JTGCXNpEWQddscFVuX5eHj0e4qe4NmIY8nFyaxM/YN2qvNrHRjyjgouJO8G1VR
 Jv9YIc1skb/HKG/4MEn5FHyhao4pGLfBINAlPbdZQneVAkll6cUVZ9Y/K4Yaofcn
 HPzxIknBjXxMVAJMbXaKilaReMiFbyp0liQsY6WbROCrt4t76gHShteNGJeQe27E
 wOCsecv53PIgsooEJsjFp7jJbjMBNGYXLxrGVOJOwANWe/m9UJ783ZpXSwgICn8j
 PErtuOrcfXVT6ZOcQ6dJXt3U0bDLm5q7oaFDmvdChA6hR3twyGRyspQEWAIOA+zP
 oAdCcrnRMNOrqXIRiU4Gej/HlRHvexn6jI5h2rnOtWPj/9LSqf2LDZ6mnRqM3wrN
 WfNeErDFuHQz5O5Tjk6HU01n0/RVxRziau2S830O80k12v/2udIADUuqfLx37wOT
 X5gGAjsxI60fJmJn0EelsfVkPdKhlSN+sJk+3yv/HDDiDa6b5y4=
 =TO5/
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmjEQuQACgkQmmx57+YA
 GNngsA/9FEg+Up7srSnXTTU/g7QQ9YIQ2/SSU8t8E5LRmF1OUzpV2VloDTvDbc7s
 T1yUW2dxhcq2qhom1a4IeogvTkto4wSbn39Hi5mxVvYoVoZw871R2XlN4V2RDLgr
 634G0mL+Ii2NMlHW5f71zuDPxl5cb1dTYLyLd2OnbCMsnnnrKJvHpfKGKiujmjYx
 aMnn1bNJ04OhoT3XgcPyxnjYVdRxlgVAAVwI/+xTvShWp1FG4VONZODDrOkALoLa
 co+/U6ie4DigKQHW8tZ9iRPfysviLXZXkqeNNIMHCfio+rxjdPxdbtxtP22T454X
 fBzZz8aCo1tfJrh2xTAdKKu1lb2wcs6O3Y363pIdUdSz75CMeMK5uFtXrE36thRy
 XFamHL9bPd1jcKPXgVksITwrxyeUKEZWtxExUmH5kX3IqDJ1XDiVrtvG/2YqR51f
 YOpjP/46VhTuGMPOP+/zvkxX/FG5jGG4eY4dbRpgmt0YjcP7s7LgtihKMENr/4fM
 JeIPYAm2irh3bbzMUuEnzz/eJvJ8G4iZshAp+w+FBtqVuo2zDpGiBuEHPoXlVO1Q
 NetH6N0U7XEOydyj/tihWXCWVcK5EljLxzvaR11s33ilwXixVZJJZIgFBoAbxxFM
 cUbSTZ6PoyxFJ1QF4qfo43Uxpx1NCqmOTaoyAKQitIQRgdFsxUo=
 =0ZdW
 -----END PGP SIGNATURE-----

Merge tag 'socfpga_dts_fix_for_v6.17' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux into arm/fixes

SoCFPGA DTS fix for v6.17
- Fix midio bus probe and PHY address for cylone5 sodia board

* tag 'socfpga_dts_fix_for_v6.17' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux:
  ARM: dts: socfpga: sodia: Fix mdio bus probe and PHY address

Link: https://lore.kernel.org/r/20250907123058.175447-1-dinguyen@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-09-12 17:57:24 +02:00
Arnd Bergmann
bab62f5bdc Reset controller fixes for v6.17
* Fix an OF node reference leak in the EyeQ reset controller driver.
 -----BEGIN PGP SIGNATURE-----
 
 iI0EABYIADUWIQRRO6F6WdpH1R0vGibVhaclGDdiwAUCaLmwoRcccC56YWJlbEBw
 ZW5ndXRyb25peC5kZQAKCRDVhaclGDdiwPp4AP4xxeCKzQAIxjZalSNQd9BsWP+n
 bu/S1a0ciZv9XvkZ7gD/TbpSnvgZgnSh79qLosvOg/bBa7rWMxZKaVH7FiNbRgc=
 =P8IK
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmjEQtAACgkQmmx57+YA
 GNljpg//fkFtBYPCnp1vxYs4SrAuBHrsi7S3IeQBV3PEjOLwTbz3rR4urdQ1uJMR
 ffZpCavNHlyNMvxUpJnUz3saFJm91AH4Kaz8dqPbFm7Ea5qDy+Sng7RaV/YQoRRi
 dvrTTQuOm9AXwLNCHknFQ2eefVAtuqix0+T0y+RjygxnFAMoy5i0XCDfEPRvKRaV
 D80rCFW5Dg5VGFcjD9mwbqmsdSB3/SYOwe3KVjyW8PAwjxR90pOM6zOuu43jAjrc
 FiWyyP1924yCafzAD1B43vn+psRGHytcWtY0l4wbMNh/JQbr72zcpGFFss82ORtG
 Uj+yOXzxyBdcJoeRdcF3KbL5SyLi4T879j9nsWDOiqL8o0U0xbNy6PNkaWyB1LB2
 iVpK943AdFUObleikpMxQSAAbiOWfrdZbHAvjgFRn0gj5OO+TaPFAHcbrOOcr4yO
 y3/PZMF5lsvZxZo0ExYNd+yH50FL/JyMvIr0ENkz8WKSDJmJz6h59cuKnS1wniJc
 8mUrSSq92bfhZIL91Gi6OHq/R5oAaUyelBw3U4j7VqYOj1xjGma/hVvo7VSizg2P
 OKIGpkILznd2D1gp91P2rCM2Qsf2lFg6P8B+7dA/VhZPJZ9esJaP0XnfdmCGSzmI
 mcK9oax6snQ4GSWqYO8Jr1RHX9IwNY4ZoRiTmcfAjdJtH5krObs=
 =aPgd
 -----END PGP SIGNATURE-----

Merge tag 'reset-fixes-for-v6.17' of https://git.pengutronix.de/git/pza/linux into arm/fixes

Reset controller fixes for v6.17

* Fix an OF node reference leak in the EyeQ reset controller driver.

* tag 'reset-fixes-for-v6.17' of https://git.pengutronix.de/git/pza/linux:
  reset: eyeq: fix OF node leak

Link: https://lore.kernel.org/r/20250904153345.2374313-1-p.zabel@pengutronix.de
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-09-12 17:57:03 +02:00
Arnd Bergmann
f1a43af7a9 mvebu fixes for 6.17 (part 1)
Fix SATA ports on various boards: Macchiatobin, CN913x-solidrun.
 Fix audio on Armada 370 DB and OpenRD.
 Disable eMMC high-speed modes on the CN9132 CEX-7 module.
 Disable runtime reconfiguration for PCIe lanes on the CN9132 CEX-7 module.
 -----BEGIN PGP SIGNATURE-----
 
 iF0EABECAB0WIQQYqXDMF3cvSLY+g9cLBhiOFHI71QUCaMQ25gAKCRALBhiOFHI7
 1QnjAKCeVVCZSGova+vZ9rFY9fah+bYTyACgrGHfGRC1LjqXzQd0geLxn6gXfok=
 =4B7s
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmjEQnkACgkQmmx57+YA
 GNl8bg/9G+XXYqVdl8hZ2JtvJcXC65tcn7gK1bRQLhkB/eZ2MNWOzNToPL2SMAih
 mnxbTysz2tNEqtEMd3fQNBeTiOmvVqxfvtM7PGiv9iEuD08LkTY9klKXsiq0/Ti1
 dz31lapGYooZE73vC/Z9ZfJLyS6SM3RcGASuNUOirMEO5gnJUGuHn717evr9szog
 8zj6mThqM0ejEQ4m3YVCS22YK0wSwyqLAtG5pCu44JkD+nRrjSo9M4m6SlO1bisT
 w4q6wRGAii9CrwrlLj5Ztjhb6xlwDDLv2mnw71wSLWsMvyQAxOaUBAVYK4ViLKwO
 I6chjdLLjFn9RHTrlXfDJ3PTE9CbmDh3jacTrMVUOzxE2KOT2a4KSQeiwzH3QBlx
 nZ59/dIDhOQwG7E5vMdikGDFCKNcwncC67cswNQhtGg+qXga3DB1aybTAcmd+0V8
 VTv/l5FMELWhDAvpynTLWJXtPib47FcQDpFHPmU3/ywAFrfQyQtsVqeFKXa1xqaH
 aN4DSBD1lkUJ2WRO0cXtOOHKRJxEWq8QqMNRPXE8HAQz4AG0CZY31dHAkwIm4MvQ
 7wIlZbJIF00hT/DV5KCdFVUf1NcsG++gvCrGT5CxtEP86/008NAQ9eYZR7CPsrMB
 cClW17R2ucN1K0L7SIL+bSvHqE2OOE6PevGXSy9zYcQI2YuaNkc=
 =IxNl
 -----END PGP SIGNATURE-----

Merge tag 'mvebu-fixes-6.17-1' of git://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu into arm/fixes

mvebu fixes for 6.17 (part 1)

Fix SATA ports on various boards: Macchiatobin, CN913x-solidrun.
Fix audio on Armada 370 DB and OpenRD.
Disable eMMC high-speed modes on the CN9132 CEX-7 module.
Disable runtime reconfiguration for PCIe lanes on the CN9132 CEX-7 module.

* tag 'mvebu-fixes-6.17-1' of git://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu:
  arm64: dts: marvell: cn9132-clearfog: fix multi-lane pci x2 and x4 ports
  arm64: dts: marvell: cn9132-clearfog: disable eMMC high-speed modes
  arm64: dts: marvell: cn913x-solidrun: fix sata ports status
  ARM: dts: kirkwood: Fix sound DAI cells for OpenRD clients
  ARM64: dts: mcbin: fix SATA ports on Macchiatobin
  ARM: dts: armada-370-db: Fix stereo audio input routing on Armada 370

Link: https://lore.kernel.org/r/87ikhnn1pl.fsf@BLaptop.bootlin.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-09-12 17:55:37 +02:00
Antheas Kapenekakis
b595974b4a HID: asus: add Z13 folio to generic group for multitouch to work
The Asus Z13 folio has a multitouch touchpad that needs to bind
to the hid-multitouch driver in order to work properly. So bind
it to the HID_GROUP_GENERIC group to release the touchpad and
move it to the bottom so that the comment applies to it.

While at it, change the generic KEYBOARD3 name to Z13_FOLIO.

Reviewed-by: Luke D. Jones <luke@ljones.dev>
Signed-off-by: Antheas Kapenekakis <lkml@antheas.dev>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
2025-09-12 17:36:14 +02:00
Raphael Gallais-Pou
129d617c60 ARM: dts: sti: remove dangling stih407-clock file
Following the removal of B2120 board support, the st/stih407-clock.dtsi
file has been left unused.  Remove it.

Fixes: dee546e1ad ("ARM: sti: drop B2120 board support")
Signed-off-by: Raphael Gallais-Pou <rgallaispou@gmail.com>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
2025-09-12 17:30:42 +02:00
Tomasz Pakuła
d927909d4d HID: pidff: Fix possible null pointer dereference
As reported by Dan Carpenter, if the axes_enable field wasn't found,
trying to find the axes themselves will result in a null pointer
dereference. This could only occur with a broken PID descriptor, but
it's worth protecting from.

Exit early if the axes_enable wasn't found AND add a gate to the
pidff_find_special_keys to exit early if the passed HID field is null.
This will protect again null dereferencing in the future and properly
return 0 found special keys.

Fixes: 1d72e7bd34 ("HID: pidff: Add support for AXES_ENABLE field")
Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
Signed-off-by: Tomasz Pakuła <tomasz.pakula.oficjalny@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
2025-09-12 17:29:19 +02:00
Zhang Lixu
8931f7b279 HID: intel-ish-ipc: Remove redundant ready check after timeout function
timed_wait_for_timeout() internally checks for ish_is_input_ready() and
ishtp_fw_is_ready() based on the provided parameters. If
timed_wait_for_timeout() returns 0, it indicates the status is ready. In
rare cases, another thread may send a message immediately after
timed_wait_for_timeout() returns, causing a subsequent ish_is_input_ready()
check to fail. Since the return value of timed_wait_for_timeout() is
sufficient to determine readiness, the additional ready check is
unnecessary and may introduce issues.

This patch removes the redundant check and relies solely on the return
value of timed_wait_for_timeout().

Fixes: ae02e5d40d ("HID: intel-ish-hid: ipc layer")
Signed-off-by: Zhang Lixu <lixu.zhang@intel.com>
Acked-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
2025-09-12 17:22:41 +02:00
Amit Chaudhari
831f70a5b9 HID: asus: add support for missing PX series fn keys
Add support for missing hotkey keycodes affecting Asus PX13 and PX16 families
so userspace can use them.

Signed-off-by: Amit Chaudhari <amitchaudhari@mac.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
2025-09-12 17:20:27 +02:00
Sébastien Szymanski
2a5e76b9a0 HID: cp2112: fix setter callbacks return value
Since commit 6485543488 ("HID: cp2112: use new line value setter
callbacks"), setting a GPIO value always fails with error -EBADE.

That's because the returned value by the setter callbacks is the
returned value by the hid_hw_raw_request() function which is the number of
bytes sent on success or a negative value on error. The function
gpiochip_set() returns -EBADE if the setter callbacks return a value >
0.

Fix this by making the setter callbacks return 0 on success or a negative
value on error.

While at it, use the returned value by cp2112_gpio_set_unlocked() in the
direction_output callback.

Fixes: 6485543488 ("HID: cp2112: use new line value setter callbacks")
Signed-off-by: Sébastien Szymanski <sebastien.szymanski@armadeus.com>
Reviewed-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
2025-09-12 17:15:19 +02:00
Benjamin Tissoires
4c2c5ff9f3 HID: bpf: rescan the device for the group after a load/unload
When a BPF gets loaded, it was previously not possible to bind a
hid-generic device to hid-multitouch because the group was never
updated.

This change forces a rescan of the report descriptor after a bpf is
loaded/unloaded so we set up the proper group.

This was detected while Peter was trying to fix a Viewsonic device: the
HID device sending multiotuch data through a proprietary collection was
handled by hid-generic, and we don't have any way of attaching it to
hid-multitouch because the pre-scanning wasn't able to see the Contact
ID HID usage.

Suggested-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Benjamin Tissoires <bentiss@kernel.org>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
2025-09-12 17:11:55 +02:00
Benjamin Tissoires
4e411a3f7b HID: core: factor out hid_set_group()
When we load a bpf, we can change the report descriptor. However, the
current implementation doesn't change the group meaning that we can not
rebind a device from hid-generic to hid-multitouch.

This is a preparatory patch to force a rescan of the device after the
bpf has been loaded.

Signed-off-by: Benjamin Tissoires <bentiss@kernel.org>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
2025-09-12 17:11:55 +02:00
Janne Grunau
8599049a96 HID: lenovo: Use KEY_PERFORMANCE instead of ACPI's platform_profile
Commit 84c9d2a968 ("HID: lenovo: Support for ThinkPad-X12-TAB-1/2 Kbd
Fn keys") added a dependency on ACPI's platform_profile. This should not
be done for generic USB devices as this prevents using the devices on
non ACPI devices like Apple silicon Macs and other non-ACPI arm64
systems. An attempt to allow using platform_profile on non-ACPI systems
was rejected in [1] and instead platform_profile was made to fail during
init in commit dd133162c9 ("ACPI: platform_profile: Avoid initializing
on non-ACPI platforms").
So remove the broken dependency and instead let's user space handle this
keycode by sending the new KEY_PERFORMANCE. Stable backport depends on
commit 89c5214639 ("Input: add keycode for performance mode key").

[1]: https://lore.kernel.org/linux-acpi/CAJZ5v0icRdTSToaKbdf=MdRin4NyB2MstUVaQo8VR6-n7DkVMQ@mail.gmail.com/

Cc: regressions@lists.linux.dev
Cc: stable@vger.kernel.org
Fixes: 84c9d2a968 ("HID: lenovo: Support for ThinkPad-X12-TAB-1/2 Kbd Fn keys")
Signed-off-by: Janne Grunau <j@jannau.net>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
2025-09-12 16:59:05 +02:00
Jiri Kosina
12a0d4109d Merge commit '89c5214639' into for-6.17/upstream-fixes
This bringig in a KEY_PERFORMANCE definition, which a followup fix will depend
on.

Signed-off-by: Jiri Kosina <jkosina@suse.com>
2025-09-12 16:58:28 +02:00
Mallesh Koujalagi
4e1d3b5e64 drm/xe/hwmon: Remove type casting
Refactor: eliminate type casts by using proper u32
declarations.

v2:
- Address review comments. (Karthik)

v3:
- Use the proper u32 type and drop cast. (Lucas De Marchi)
- Modify variable when actually using u64 value.
- Change r value to reg_value with u32 type.

v4:
- Remove newline between trailer and Signed-off-by. (Lucas De Marchi)
- Change reg_val to val for more user-friendly logging.
- Use mul_u32_u32 function since both values are u32.

v5:
- mul_u32_u32 function with shift. (Lucas De Marchi)

Fixes: 7596d839f6 ("drm/xe/hwmon: Add support to manage power limits though mailbox")
Signed-off-by: Mallesh Koujalagi <mallesh.koujalagi@intel.com>
Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com>
Link: https://lore.kernel.org/r/20250912113458.2815172-1-mallesh.koujalagi@intel.com
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
2025-09-12 07:36:50 -07:00
Ling Xu
10df039834 misc: fastrpc: Skip reference for DMA handles
If multiple dma handles are passed with same fd over a remote call
the kernel driver takes a reference and expects that put for the
map will be called as many times to free the map. But DSP only
updates the fd one time in the fd list when the DSP refcount
goes to zero and hence kernel make put call only once for the
fd. This can cause SMMU fault issue as the same fd can be used
in future for some other call.

Fixes: 35a82b8713 ("misc: fastrpc: Add dma handle implementation")
Cc: stable@kernel.org
Co-developed-by: Ekansh Gupta <ekansh.gupta@oss.qualcomm.com>
Signed-off-by: Ekansh Gupta <ekansh.gupta@oss.qualcomm.com>
Signed-off-by: Ling Xu <quic_lxu5@quicinc.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Signed-off-by: Srinivas Kandagatla <srini@kernel.org>
Link: https://lore.kernel.org/r/20250912131236.303102-5-srini@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-09-12 16:34:10 +02:00
Ling Xu
da1ba64176 misc: fastrpc: fix possible map leak in fastrpc_put_args
copy_to_user() failure would cause an early return without cleaning up
the fdlist, which has been updated by the DSP. This could lead to map
leak. Fix this by redirecting to a cleanup path on failure, ensuring
that all mapped buffers are properly released before returning.

Fixes: c68cfb718c ("misc: fastrpc: Add support for context Invoke method")
Cc: stable@kernel.org
Co-developed-by: Ekansh Gupta <ekansh.gupta@oss.qualcomm.com>
Signed-off-by: Ekansh Gupta <ekansh.gupta@oss.qualcomm.com>
Signed-off-by: Ling Xu <quic_lxu5@quicinc.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Signed-off-by: Srinivas Kandagatla <srini@kernel.org>
Link: https://lore.kernel.org/r/20250912131236.303102-4-srini@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-09-12 16:34:10 +02:00
Ling Xu
9031626ade misc: fastrpc: Fix fastrpc_map_lookup operation
Fastrpc driver creates maps for user allocated fd buffers. Before
creating a new map, the map list is checked for any already existing
maps using map fd. Checking with just map fd is not sufficient as the
user can pass offsetted buffer with less size when the map is created
and then a larger size the next time which could result in memory
issues. Check for dma_buf object also when looking up for the map.

Fixes: c68cfb718c ("misc: fastrpc: Add support for context Invoke method")
Cc: stable@kernel.org
Co-developed-by: Ekansh Gupta <ekansh.gupta@oss.qualcomm.com>
Signed-off-by: Ekansh Gupta <ekansh.gupta@oss.qualcomm.com>
Signed-off-by: Ling Xu <quic_lxu5@quicinc.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Signed-off-by: Srinivas Kandagatla <srini@kernel.org>
Link: https://lore.kernel.org/r/20250912131236.303102-3-srini@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-09-12 16:34:10 +02:00
Ling Xu
8b5b456222 misc: fastrpc: Save actual DMA size in fastrpc_map structure
For user passed fd buffer, map is created using DMA calls. The
map related information is stored in fastrpc_map structure. The
actual DMA size is not stored in the structure. Store the actual
size of buffer and check it against the user passed size.

Fixes: c68cfb718c ("misc: fastrpc: Add support for context Invoke method")
Cc: stable@kernel.org
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Co-developed-by: Ekansh Gupta <ekansh.gupta@oss.qualcomm.com>
Signed-off-by: Ekansh Gupta <ekansh.gupta@oss.qualcomm.com>
Signed-off-by: Ling Xu <quic_lxu5@quicinc.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Srinivas Kandagatla <srini@kernel.org>
Link: https://lore.kernel.org/r/20250912131236.303102-2-srini@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-09-12 16:34:10 +02:00