~vicamo/+git/ubuntu-kernel:bug-1946431/all-oem-5.14-drm-changes/v5.14

Last commit made on 2021-10-14
Get this branch:
git clone -b bug-1946431/all-oem-5.14-drm-changes/v5.14 https://git.launchpad.net/~vicamo/+git/ubuntu-kernel
Only You-Sheng Yang can upload to this branch. If you are You-Sheng Yang please log in for upload directions.

Branch merges

Branch information

Name:
bug-1946431/all-oem-5.14-drm-changes/v5.14
Repository:
lp:~vicamo/+git/ubuntu-kernel

Recent commits

af7ff1b... by Anusha Srivatsa <email address hidden>

drm/i915/dmc: Update to DMC v2.12

BugLink: https://bugs.launchpad.net/bugs/1945438

The release notes mentions that this version-
1. Fix for unblock indication to punit.
2. Robustness fix for DC6/6v abort scenarios.

Cc: Imre Deak <Imre Deak <email address hidden>>
Signed-off-by: Anusha Srivatsa <email address hidden>
Reviewed-by: Imre Deak <email address hidden>
Signed-off-by: Imre Deak <email address hidden>
Link: https://patchwork.freedesktop<email address hidden>
(cherry picked from commit 259d71992e57c637aa0a5d3f4f7b9f689c186191)
Signed-off-by: Timo Aaltonen <email address hidden>

d60921f... by Chris Wilson

drm/i915: Free all DMC payloads

BugLink: https://bugs.launchpad.net/bugs/1945438

Free all the DMC payloads, not just DMC_MAIN.

unreferenced object 0xffff88ff32d4d800 (size 1024):
  comm "kworker/1:5", pid 701, jiffies 4294904239 (age 109.736s)
  hex dump (first 32 bytes):
    40 40 00 0c 03 00 00 00 00 00 00 00 00 00 00 00 @@..............
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
  backtrace:
    [<00000000ba9d0d95>] dmc_load_work_fn+0x34d/0x510 [i915]
    [<000000001049fcab>] process_one_work+0x261/0x550
    [<00000000eeb995ac>] worker_thread+0x49/0x3c0
    [<0000000021031dc3>] kthread+0x10b/0x140
    [<000000004a0f69ee>] ret_from_fork+0x1f/0x30
unreferenced object 0xffff88ff0bde4000 (size 1024):
  comm "kworker/0:3", pid 708, jiffies 4294904469 (age 108.816s)
  hex dump (first 32 bytes):
    40 40 00 0c 01 00 00 00 00 00 00 00 00 00 00 00 @@..............
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
  backtrace:
    [<00000000ba9d0d95>] dmc_load_work_fn+0x34d/0x510 [i915]
    [<000000001049fcab>] process_one_work+0x261/0x550
    [<00000000eeb995ac>] worker_thread+0x49/0x3c0
    [<0000000021031dc3>] kthread+0x10b/0x140
    [<000000004a0f69ee>] ret_from_fork+0x1f/0x30

Fixes: 3d5928a168a9 ("drm/i915/xelpd: Pipe A DMC plugging")
Cc: Anusha Srivatsa <email address hidden>
Cc: José Roberto de Souza <email address hidden>
Signed-off-by: Chris Wilson <email address hidden>
Signed-off-by: Lucas De Marchi <email address hidden>
Reviewed-by: José Roberto de Souza <email address hidden>
Link: https://patchwork.freedesktop<email address hidden>
(cherry picked from commit 064b877dff4252ced91a1c8b1f129073f2991f6e)
Signed-off-by: Jani Nikula <email address hidden>
(cherry picked from commit b875fb313a10bf816b5d49d8d7642d1cc9905f2f)
Signed-off-by: Timo Aaltonen <email address hidden>

5991afa... by Kai-Heng Feng

drm/i915/audio: Use BIOS provided value for RKL HDA link

BugLink: https://bugs.launchpad.net/bugs/1945556

Commit 989634fb49ad ("drm/i915/audio: set HDA link parameters in
driver") makes HDMI audio on Lenovo P350 disappear.

So in addition to TGL, extend the logic to RKL to use BIOS provided
value to fix the regression.

Fixes: 989634fb49ad ("drm/i915/audio: set HDA link parameters in driver")
Reviewed-by: Kai Vehmanen <email address hidden>
Signed-off-by: Kai-Heng Feng <email address hidden>
Signed-off-by: Jani Nikula <email address hidden>
Link: https://patchwork.freedesktop<email address hidden>
(cherry picked from commit c6b40ee330fe09b332715bb7ec1467e4fcbe2e65 linux-next)
Signed-off-by: Kai-Heng Feng <email address hidden>
Signed-off-by: Timo Aaltonen <email address hidden>

44adb70... by Linus Torvalds <email address hidden>

Revert drm/vc4 hdmi runtime PM changes

BugLink: https://bugs.launchpad.net/bugs/1945656

[ Upstream commit b1044a9b8100a0cc5c9d2e1e2f9ca4bb8e32b23a ]

This reverts commits

  9984d6664ce9 ("drm/vc4: hdmi: Make sure the controller is powered in detect")
  411efa18e4b0 ("drm/vc4: hdmi: Move the HSM clock enable to runtime_pm")

as Michael Stapelberg reports that the new runtime PM changes cause his
Raspberry Pi 3 to hang on boot, probably due to interactions with other
changes in the DRM tree (because a bisect points to the merge in commit
e058a84bfddc: "Merge tag 'drm-next-2021-07-01' of git://.../drm").

Revert these two commits until it's been resolved.

Link: https://<email address hidden>/
Reported-and-tested-by: Michael Stapelberg <email address hidden>
Cc: Maxime Ripard <email address hidden>
Cc: Dave Stevenson <email address hidden>
Cc: Dave Airlie <email address hidden>
Signed-off-by: Linus Torvalds <email address hidden>
Signed-off-by: Sasha Levin <email address hidden>
Signed-off-by: Timo Aaltonen <email address hidden>

8c8a0be... by Meenakshikumar Somasundaram <email address hidden>

drm/amd/display: Link training retry fix for abort case

BugLink: https://bugs.launchpad.net/bugs/1945656

[ Upstream commit 71ae30997a8f1791835167d3ceb8d1fab32407db ]

[Why]
If link training is aborted, it shall be retried if sink is present.

[How]
Check hpd status to find out whether sink is present or not. If sink is
present, then link training shall be tried again with same settings.
Otherwise, link training shall be aborted.

Reviewed-by: Jimmy Kizito <email address hidden>
Acked-by: Mikita Lipski <email address hidden>
Signed-off-by: Meenakshikumar Somasundaram <email address hidden>
Tested-by: Daniel Wheeler <email address hidden>
Signed-off-by: Alex Deucher <email address hidden>
Signed-off-by: Sasha Levin <email address hidden>
Signed-off-by: Timo Aaltonen <email address hidden>

eb18c6b... by Qingqing Zhuo <email address hidden>

drm/amd/display: Fix unstable HPCP compliance on Chrome Barcelo

BugLink: https://bugs.launchpad.net/bugs/1945656

[ Upstream commit 4e00a434a08e0654a4dd9347485d9ec85deee1ef ]

[Why]
Intermittently, there presents two occurrences of 0 stream
commits in a single HPD event. Current HDCP sequence does
not consider such scenerio, and will thus disable HDCP.

[How]
Add condition check to include stream remove and re-enable
case for HDCP enable.

Reviewed-by: Bhawanpreet Lakha <email address hidden>
Acked-by: Mikita Lipski <email address hidden>
Signed-off-by: Qingqing Zhuo <email address hidden>
Tested-by: Daniel Wheeler <email address hidden>
Signed-off-by: Alex Deucher <email address hidden>
Signed-off-by: Sasha Levin <email address hidden>
Signed-off-by: Timo Aaltonen <email address hidden>

3fc5ad3... by Felix Kuehling

drm/amdkfd: make needs_pcie_atomics FW-version dependent

BugLink: https://bugs.launchpad.net/bugs/1945656

[ Upstream commit fb932dfeb87411a8a01c995576198bfc302df339 ]

On some GPUs the PCIe atomic requirement for KFD depends on the MEC
firmware version. Add a firmware version check for this. The minimum
firmware version that works without atomics can be updated in the
device_info structure for each GPU type.

Move PCIe atomic detection from kgd2kfd_probe into kgd2kfd_device_init
because the MEC firmware is not loaded yet at the probe stage.

Signed-off-by: Felix Kuehling <email address hidden>
Reviewed-by: Guchun Chen <email address hidden>
Signed-off-by: Alex Deucher <email address hidden>
Signed-off-by: Sasha Levin <email address hidden>
Signed-off-by: Timo Aaltonen <email address hidden>

3240f13... by Ray Huang

drm/ttm: fix type mismatch error on sparc64

BugLink: https://bugs.launchpad.net/bugs/1945656

[ Upstream commit 3ca706c189db861b2ca2019a0901b94050ca49d8 ]

On sparc64, __fls() returns an "int", but the drm TTM code expected it
to be "unsigned long" as on x86. As a result, on sparc (and arc, and
m68k) you get build errors because 'min()' checks that the types match.

As suggested by Linus, it can use min_t instead of min to force the type
to be "unsigned int".

Suggested-by: Linus Torvalds <email address hidden>
Signed-off-by: Huang Rui <email address hidden>
Reviewed-by: Christian König <email address hidden>
Cc: Alex Deucher <email address hidden>
Cc: David Airlie <email address hidden>
Cc: Daniel Vetter <email address hidden>
Cc: Guenter Roeck <email address hidden>
Signed-off-by: Linus Torvalds <email address hidden>
Signed-off-by: Sasha Levin <email address hidden>
Signed-off-by: Timo Aaltonen <email address hidden>

daf2ee1... by Philip Yang <email address hidden>

drm/amdkfd: fix dma mapping leaking warning

BugLink: https://bugs.launchpad.net/bugs/1945656

[ Upstream commit f63251184a81039ebc805306505838c2a073e51a ]

For xnack off, restore work dma unmap previous system memory page, and
dma map the updated system memory page to update GPU mapping, this is
not dma mapping leaking, remove the WARN_ONCE for dma mapping leaking.

prange->dma_addr store the VRAM page pfn after the range migrated to
VRAM, should not dma unmap VRAM page when updating GPU mapping or
remove prange. Add helper svm_is_valid_dma_mapping_addr to check VRAM
page and error cases.

Mask out SVM_RANGE_VRAM_DOMAIN flag in dma_addr before calling amdgpu vm
update to avoid BUG_ON(*addr & 0xFFFF00000000003FULL), and set it again
immediately after. This flag is used to know the type of page later to
dma unmapping system memory page.

Fixes: 1d5dbfe6c06a ("drm/amdkfd: classify and map mixed svm range pages in GPU")
Signed-off-by: Philip Yang <email address hidden>
Reviewed-by: Felix Kuehling <email address hidden>
Signed-off-by: Alex Deucher <email address hidden>
Signed-off-by: Sasha Levin <email address hidden>
Signed-off-by: Timo Aaltonen <email address hidden>

a75aa7a... by Philip Yang <email address hidden>

drm/amdkfd: map SVM range with correct access permission

BugLink: https://bugs.launchpad.net/bugs/1945656

[ Upstream commit 2f617f4df8dfef68f175160d533f5820a368023e ]

Restore retry fault or prefetch range, or restore svm range after
eviction to map range to GPU with correct read or write access
permission.

Range may includes multiple VMAs, update GPU page table with offset of
prange, number of pages for each VMA according VMA access permission.

Signed-off-by: Philip Yang <email address hidden>
Reviewed-by: Felix Kuehling <email address hidden>
Signed-off-by: Alex Deucher <email address hidden>
Signed-off-by: Sasha Levin <email address hidden>
Signed-off-by: Timo Aaltonen <email address hidden>