No description
Find a file
Nicholas Kazlauskas de1af9af37 drm/amd/display: Workaround register access in idle race with cursor
[ Upstream commit b5b6d62515 ]

[Why]
Cursor update can be pre-empted by a request for setting target flip
submission.

This causes an issue where we're in the middle of the exit sequence
trying to log to DM, but the pre-emption starts another DMCUB
command submission that requires being out of idle.

The DC lock aqusition can fail, and depending on the DM/OS interface
it's possible that the function inserted into this thread must not fail.

This means that lock aqusition must be skipped and exit *must* occur.

[How]
Modify when we consider idle as active. Consider it exited only once
the exit has fully finished.

Consider it as entered prior to actual notification.

Since we're on the same core/thread the cached values are coherent
and we'll see that we still need to exit. Once the cursor update resumes
it'll continue doing the double exit but this won't cause a functional
issue, just a (potential) redundant operation.

Reviewed-by: Duncan Ma <duncan.ma@amd.com>
Acked-by: Wayne Lin <wayne.lin@amd.com>
Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-06-27 13:52:15 +02:00
arch arm64/sysreg: Update PIE permission encodings 2024-06-27 13:52:14 +02:00
block block/ioctl: prefer different overflow check 2024-06-27 13:52:12 +02:00
certs This update includes the following changes: 2023-11-02 16:15:30 -10:00
crypto crypto: ecrdsa - Fix module auto-load on add_key 2024-06-16 13:51:03 +02:00
Documentation dt-bindings: usb: realtek,rts5411: Add missing "additionalProperties" on child nodes 2024-06-21 14:40:39 +02:00
drivers drm/amd/display: Workaround register access in idle race with cursor 2024-06-27 13:52:15 +02:00
fs fs/writeback: bail out if there is no more inodes for IO and queued once 2024-06-27 13:52:11 +02:00
include net/sched: fix false lockdep warning on qdisc root lock 2024-06-27 13:52:14 +02:00
init printk: Fix LOG_CPU_MAX_BUF_SHIFT when BASE_SMALL is enabled 2024-06-12 11:39:35 +02:00
io_uring io_uring/sqpoll: work around a potential audit memory leak 2024-06-27 13:52:11 +02:00
ipc sysctl changes for v6.9-rc1 2024-03-18 14:59:13 -07:00
kernel clocksource: Make watchdog and suspend-timing multiplication overflow safe 2024-06-27 13:52:13 +02:00
lib ubsan: Avoid i386 UBSAN handler crashes with Clang 2024-06-27 13:52:12 +02:00
LICENSES LICENSES: Add the copyleft-next-0.3.1 license 2022-11-08 15:44:01 +01:00
mm mm/huge_memory: don't unpoison huge_zero_folio 2024-06-21 14:40:38 +02:00
net netpoll: Fix race condition in netpoll_owner_active 2024-06-27 13:52:14 +02:00
rust rust: remove params from module macro example 2024-04-25 17:34:33 +02:00
samples samples/landlock: Fix incorrect free in populate_ruleset_net 2024-05-30 09:45:01 +02:00
scripts locking/atomic: scripts: fix ${atomic}_sub_and_test() kerneldoc 2024-06-21 14:40:31 +02:00
security ima: Fix use-after-free on a dentry's dname.name 2024-06-21 14:40:38 +02:00
sound ALSA: seq: Fix incorrect UMP type for system messages 2024-06-16 13:51:15 +02:00
tools selftests: net: fix timestamp not arriving in cmsg_time.sh 2024-06-27 13:52:15 +02:00
usr Kbuild updates for v6.8 2024-01-18 17:57:07 -08:00
virt KVM: Drop unused @may_block param from gfn_to_pfn_cache_invalidate_start() 2024-04-11 12:58:53 -07:00
.clang-format clang-format: Update with v6.7-rc4's for_each macro list 2023-12-08 23:54:38 +01:00
.cocciconfig
.editorconfig .editorconfig: remove trim_trailing_whitespace option 2024-06-21 14:40:11 +02:00
.get_maintainer.ignore Add Jeff Kirsher to .get_maintainer.ignore 2024-03-08 11:36:54 +00:00
.gitattributes .gitattributes: set diff driver for Rust source code files 2023-05-31 17:48:25 +02:00
.gitignore kbuild: create a list of all built DTB files 2024-02-19 18:20:39 +09:00
.mailmap 18 hotfixes, 7 of which are cc:stable. 2024-05-10 14:16:03 -07:00
.rustfmt.toml rust: add .rustfmt.toml 2022-09-28 09:02:20 +02:00
COPYING COPYING: state that all contributions really are covered by this file 2020-02-10 13:32:20 -08:00
CREDITS MAINTAINERS: Drop Gustavo Pimentel as PCI DWC Maintainer 2024-03-27 13:41:02 -05:00
Kbuild Kbuild updates for v6.1 2022-10-10 12:00:45 -07:00
Kconfig kbuild: ensure full rebuild when the compiler is updated 2020-05-12 13:28:33 +09:00
MAINTAINERS cpufreq: amd-pstate: remove global header file 2024-06-21 14:40:00 +02:00
Makefile Linux 6.9.6 2024-06-21 14:40:40 +02:00
README README: Fix spelling 2024-03-18 03:36:32 -06:00

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the reStructuredText markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.