--- /dev/null
+From 9ebb6bc0125dfb1e65a53eea4aeecc63d4d6ec2d Mon Sep 17 00:00:00 2001
+From: Simon Ser <contact@emersion.fr>
+Date: Fri, 26 Mar 2021 17:59:44 +0100
+Subject: amd/display: allow non-linear multi-planar formats
+
+From: Simon Ser <contact@emersion.fr>
+
+commit 9ebb6bc0125dfb1e65a53eea4aeecc63d4d6ec2d upstream.
+
+Accept non-linear buffers which use a multi-planar format, as long
+as they don't use DCC.
+
+Tested on GFX9 with NV12.
+
+Signed-off-by: Simon Ser <contact@emersion.fr>
+Cc: Alex Deucher <alexander.deucher@amd.com>
+Cc: Harry Wentland <hwentlan@amd.com>
+Cc: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
+Cc: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
+Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+Cc: stable@vger.kernel.org
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 11 ++++-------
+ 1 file changed, 4 insertions(+), 7 deletions(-)
+
+--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
++++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+@@ -3963,13 +3963,6 @@ static bool dm_plane_format_mod_supporte
+ return true;
+
+ /*
+- * The arbitrary tiling support for multiplane formats has not been hooked
+- * up.
+- */
+- if (info->num_planes > 1)
+- return false;
+-
+- /*
+ * For D swizzle the canonical modifier depends on the bpp, so check
+ * it here.
+ */
+@@ -3987,6 +3980,10 @@ static bool dm_plane_format_mod_supporte
+ /* Per radeonsi comments 16/64 bpp are more complicated. */
+ if (info->cpp[0] != 4)
+ return false;
++ /* We support multi-planar formats, but not when combined with
++ * additional DCC metadata planes. */
++ if (info->num_planes > 1)
++ return false;
+ }
+
+ return true;
--- /dev/null
+From 9da29c7f77cd04e5c9150e30f047521b6f20a918 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>
+Date: Fri, 23 Apr 2021 14:28:51 -0700
+Subject: coda: fix reference counting in coda_file_mmap error path
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: Christian König <christian.koenig@amd.com>
+
+commit 9da29c7f77cd04e5c9150e30f047521b6f20a918 upstream.
+
+mmap_region() now calls fput() on the vma->vm_file.
+
+So we need to drop the extra reference on the coda file instead of the
+host file.
+
+Link: https://lkml.kernel.org/r/20210421132012.82354-1-christian.koenig@amd.com
+Fixes: 1527f926fd04 ("mm: mmap: fix fput in error path v2")
+Signed-off-by: Christian König <christian.koenig@amd.com>
+Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
+Acked-by: Jan Harkes <jaharkes@cs.cmu.edu>
+Cc: Miklos Szeredi <miklos@szeredi.hu>
+Cc: Jason Gunthorpe <jgg@ziepe.ca>
+Cc: <stable@vger.kernel.org> [5.11+]
+Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ fs/coda/file.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+--- a/fs/coda/file.c
++++ b/fs/coda/file.c
+@@ -175,10 +175,10 @@ coda_file_mmap(struct file *coda_file, s
+ ret = call_mmap(vma->vm_file, vma);
+
+ if (ret) {
+- /* if call_mmap fails, our caller will put coda_file so we
+- * should drop the reference to the host_file that we got.
++ /* if call_mmap fails, our caller will put host_file so we
++ * should drop the reference to the coda_file that we got.
+ */
+- fput(host_file);
++ fput(coda_file);
+ kfree(cvm_ops);
+ } else {
+ /* here we add redirects for the open/close vm_operations */
--- /dev/null
+From 2896900e22f8212606a1837d89a6bbce314ceeda Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>
+Date: Fri, 23 Apr 2021 14:28:54 -0700
+Subject: ovl: fix reference counting in ovl_mmap error path
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: Christian König <christian.koenig@amd.com>
+
+commit 2896900e22f8212606a1837d89a6bbce314ceeda upstream.
+
+mmap_region() now calls fput() on the vma->vm_file.
+
+Fix this by using vma_set_file() so it doesn't need to be handled
+manually here any more.
+
+Link: https://lkml.kernel.org/r/20210421132012.82354-2-christian.koenig@amd.com
+Fixes: 1527f926fd04 ("mm: mmap: fix fput in error path v2")
+Signed-off-by: Christian König <christian.koenig@amd.com>
+Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
+Cc: Jan Harkes <jaharkes@cs.cmu.edu>
+Cc: Miklos Szeredi <miklos@szeredi.hu>
+Cc: Jason Gunthorpe <jgg@ziepe.ca>
+Cc: <stable@vger.kernel.org> [5.11+]
+Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ fs/overlayfs/file.c | 11 +----------
+ 1 file changed, 1 insertion(+), 10 deletions(-)
+
+--- a/fs/overlayfs/file.c
++++ b/fs/overlayfs/file.c
+@@ -430,20 +430,11 @@ static int ovl_mmap(struct file *file, s
+ if (WARN_ON(file != vma->vm_file))
+ return -EIO;
+
+- vma->vm_file = get_file(realfile);
++ vma_set_file(vma, realfile);
+
+ old_cred = ovl_override_creds(file_inode(file)->i_sb);
+ ret = call_mmap(vma->vm_file, vma);
+ revert_creds(old_cred);
+-
+- if (ret) {
+- /* Drop reference count from new vm_file value */
+- fput(realfile);
+- } else {
+- /* Drop reference count from previous vm_file value */
+- fput(file);
+- }
+-
+ ovl_file_accessed(file);
+
+ return ret;
vhost-vdpa-protect-concurrent-access-to-vhost-device-iotlb.patch
+ovl-fix-reference-counting-in-ovl_mmap-error-path.patch
+coda-fix-reference-counting-in-coda_file_mmap-error-path.patch
+amd-display-allow-non-linear-multi-planar-formats.patch