Commit 4caacd1
drm/amd/display: Do not elevate mem_type change to full update
[Why]
There should not be any need to revalidate bandwidth on memory placement
change, since the fb is expected to be pinned to DCN-accessable memory
before scanout. For APU it's DRAM, and DGPU, it's VRAM. However, async
flips + memory type change needs to be rejected.
[How]
Do not set lock_and_validation_needed on mem_type change. Instead,
reject an async_flip request if the crtc's buffer(s) changed mem_type.
This may fix stuttering/corruption experienced with PSR SU and PSR1
panels, if the compositor allocates fbs in both VRAM carveout and GTT
and flips between them.
Fixes: a7c0cad ("drm/amd/display: ensure async flips are only accepted for fast updates")
Reviewed-by: Tom Chung <chiahsuan.chung@amd.com>
Signed-off-by: Leo Li <sunpeng.li@amd.com>
Signed-off-by: Tom Chung <chiahsuan.chung@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>1 parent aa6713f commit 4caacd1
1 file changed
+23
-6
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11464 | 11464 | | |
11465 | 11465 | | |
11466 | 11466 | | |
| 11467 | + | |
| 11468 | + | |
| 11469 | + | |
| 11470 | + | |
| 11471 | + | |
| 11472 | + | |
| 11473 | + | |
| 11474 | + | |
| 11475 | + | |
| 11476 | + | |
| 11477 | + | |
| 11478 | + | |
| 11479 | + | |
| 11480 | + | |
| 11481 | + | |
| 11482 | + | |
| 11483 | + | |
| 11484 | + | |
| 11485 | + | |
11467 | 11486 | | |
11468 | 11487 | | |
11469 | 11488 | | |
| |||
11661 | 11680 | | |
11662 | 11681 | | |
11663 | 11682 | | |
11664 | | - | |
11665 | | - | |
11666 | | - | |
11667 | | - | |
11668 | 11683 | | |
11669 | 11684 | | |
11670 | 11685 | | |
| |||
11959 | 11974 | | |
11960 | 11975 | | |
11961 | 11976 | | |
11962 | | - | |
| 11977 | + | |
11963 | 11978 | | |
11964 | | - | |
| 11979 | + | |
| 11980 | + | |
| 11981 | + | |
11965 | 11982 | | |
11966 | 11983 | | |
11967 | 11984 | | |
| |||
0 commit comments