mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-24 10:34:43 +03:00
gpu: nvgpu: Disable compression for k6.1+
dmabuf internals that nvgpu relies upon for storing meta-data for
compressible buffers changed in k6.1. For now, disable compression
on all k6.1+ kernels.
Additionally, fix numerous compilation issues due to the bit rotted
compression config. All normal Tegra products support compression
and thus have this config enabled. Over the last several years
compression dependent code crept in that wasn't protected under the
compression config.
Bug 3844023
Change-Id: Ie5b9b5a2bcf1a763806c087af99203d62d0cb6e0
Signed-off-by: Alex Waterman <alexw@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2820846
(cherry picked from commit 03533066aa)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2860925
Tested-by: Jonathan Hunter <jonathanh@nvidia.com>
Reviewed-by: Sagar Kamble <skamble@nvidia.com>
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
This commit is contained in:
committed by
mobile promotions
parent
e914561b6e
commit
ac6e0c3766
@@ -38,7 +38,9 @@
|
||||
#include "os_linux.h"
|
||||
#include "dmabuf_vidmem.h"
|
||||
|
||||
#ifdef CONFIG_NVGPU_COMPRESSION
|
||||
void gk20a_mm_delete_priv(struct gk20a_dmabuf_priv *priv);
|
||||
#endif
|
||||
|
||||
enum nvgpu_aperture gk20a_dmabuf_aperture(struct gk20a *g,
|
||||
struct dma_buf *dmabuf)
|
||||
@@ -68,6 +70,7 @@ enum nvgpu_aperture gk20a_dmabuf_aperture(struct gk20a *g,
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef CONFIG_NVGPU_COMPRESSION
|
||||
static struct gk20a_dmabuf_priv *dma_buf_ops_to_gk20a_priv(
|
||||
struct dma_buf_ops *ops)
|
||||
{
|
||||
@@ -94,7 +97,6 @@ static void nvgpu_dma_buf_release(struct dma_buf *dmabuf)
|
||||
nvgpu_mutex_acquire(&l->dmabuf_priv_list_lock);
|
||||
gk20a_mm_delete_priv(priv);
|
||||
nvgpu_mutex_release(&l->dmabuf_priv_list_lock);
|
||||
|
||||
dmabuf->ops->release(dmabuf);
|
||||
}
|
||||
|
||||
@@ -137,6 +139,7 @@ struct gk20a_dmabuf_priv *gk20a_dma_buf_get_drvdata(
|
||||
|
||||
return priv;
|
||||
}
|
||||
#endif
|
||||
|
||||
struct sg_table *nvgpu_mm_pin(struct device *dev,
|
||||
struct dma_buf *dmabuf, struct dma_buf_attachment **attachment,
|
||||
@@ -178,6 +181,7 @@ void nvgpu_mm_unpin(struct device *dev,
|
||||
/* This function must be called after acquiring the global level
|
||||
* dmabuf_priv_list_lock.
|
||||
*/
|
||||
#ifdef CONFIG_NVGPU_COMPRESSION
|
||||
void gk20a_mm_delete_priv(struct gk20a_dmabuf_priv *priv)
|
||||
{
|
||||
struct gk20a_buffer_state *s, *s_tmp;
|
||||
@@ -325,6 +329,7 @@ out:
|
||||
*state = s;
|
||||
return err;
|
||||
}
|
||||
#endif
|
||||
|
||||
static void *__gk20a_dmabuf_vmap(struct dma_buf *dmabuf)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user