mainlining shenanigans
Go to file
Nicholas Kazlauskas b7408a0673 drm/amd/display: Flush framebuffer data before passing to DMCUB
[Why]
There's a data race that can occur between when we update the
inbox write pointer vs when the memory for the command actually gets
flushed from the map to the framebuffer.

DMCUB can read stale or partially invalid data when this race occurs.

[How]
Before updating the write pointer we can read back all pending commands
to ensure that we stall for the writes to be flushed to framebuffer.

We don't need to worry about choosing HDP vs VM flush with this
mechanism.

Drop the dmub_srv_cmd_submit() while we're updating this to work
correctly since nothing was actually using this API and the caller
should be explicit about the API flow here - by doing this on execute
we can give some extra time for the flush to finish while
preparing other commands.

We should try to avoid writing single commands
because of this overhead.

Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <harry.wentland@amd.com>
Acked-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2020-01-16 13:42:16 -05:00
arch drm-misc-next for v5.6: 2019-12-17 13:57:54 +01:00
block for-linus-20191212 2019-12-13 14:27:19 -08:00
certs
crypto treewide: Use sizeof_field() macro 2019-12-09 10:36:44 -08:00
Documentation dt-bindings: display: simple: Add Satoz panel 2020-01-09 20:27:01 +01:00
drivers drm/amd/display: Flush framebuffer data before passing to DMCUB 2020-01-16 13:42:16 -05:00
fs Merge branch 'remove-ksys-mount-dup' of git://git.kernel.org/pub/scm/linux/kernel/git/brodo/linux 2019-12-15 11:36:12 -08:00
include drm/scheduler: fix documentation by replacing rq_list with sched_list 2020-01-16 13:41:00 -05:00
init fs: remove ksys_dup() 2019-12-12 19:00:36 +01:00
ipc treewide: Use sizeof_field() macro 2019-12-09 10:36:44 -08:00
kernel treewide conversion from FIELD_SIZEOF() to sizeof_field() 2019-12-13 14:02:12 -08:00
lib lib: raid6: fix awk build warnings 2019-12-09 18:55:03 +01:00
LICENSES
mm Merge branch 'akpm' (patches from Andrew) 2019-12-05 09:46:26 -08:00
net io_uring-5.5-20191212 2019-12-13 14:24:54 -08:00
samples drm-misc-next for v5.6: 2019-12-17 13:57:54 +01:00
scripts pr_warning() removal for 5.5 2019-12-09 11:48:21 -08:00
security treewide: Use sizeof_field() macro 2019-12-09 10:36:44 -08:00
sound sound fixes for 5.5-rc2 2019-12-13 14:40:38 -08:00
tools drm-misc-next for v5.6: 2020-01-03 11:43:44 +10:00
usr arch: sembuf.h: make uapi asm/sembuf.h self-contained 2019-12-04 19:44:14 -08:00
virt
.clang-format
.cocciconfig
.get_maintainer.ignore
.gitattributes .gitattributes: use 'dts' diff driver for dts files 2019-12-04 19:44:11 -08:00
.gitignore
.mailmap Update mailmap info for Steve Wise 2019-12-09 13:49:25 -05:00
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS drm/panel: Add driver for Sony ACX424AKP panel 2020-01-09 15:12:12 +01:00
Makefile Linux 5.5-rc2 2019-12-15 15:16:08 -08:00
README

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 Restructured Text 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.