diff options
author | Donghan Ryu <dryu@nvidia.com> | 2012-01-20 04:56:01 +0900 |
---|---|---|
committer | Simone Willett <swillett@nvidia.com> | 2012-03-07 22:24:05 -0800 |
commit | 0d441392be71b23aa5adaa2533318bf2d38c643e (patch) | |
tree | 9f33c82d9b7e6a2a6651c6b1f43e65747b72235f | |
parent | 027dab22573050fb1b33d14bfd48ee79eaafeeb1 (diff) |
video: tegra: host: convert kzalloc to vzalloc
nvhost_job uses kzalloc to hold meta data. Convert
it to vzalloc to avoid large physically contiguous
allocations at runtime.
Change-Id: I13d7e7d60e93354fcf69e5478437fa206b880dcc
Signed-off-by: Donghan Ryu <dryu@nvidia.com>
Reviewed-on: http://git-master/r/87967
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
-rw-r--r-- | drivers/video/tegra/host/nvhost_job.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/video/tegra/host/nvhost_job.c b/drivers/video/tegra/host/nvhost_job.c index c7e700fce264..e0aa39fafc42 100644 --- a/drivers/video/tegra/host/nvhost_job.c +++ b/drivers/video/tegra/host/nvhost_job.c @@ -23,6 +23,7 @@ #include <linux/slab.h> #include <linux/kref.h> #include <linux/err.h> +#include <linux/vmalloc.h> #include <mach/nvmap.h> #include "nvhost_channel.h" #include "nvhost_job.h" @@ -175,7 +176,7 @@ struct nvhost_job *nvhost_job_alloc(struct nvhost_channel *ch, int num_cmdbufs = hdr ? hdr->num_cmdbufs : 0; int err = 0; - job = kzalloc(job_size(hdr), GFP_KERNEL); + job = vzalloc(job_size(hdr)); if (!job) goto error; @@ -208,7 +209,7 @@ struct nvhost_job *nvhost_job_realloc( int num_cmdbufs = hdr ? hdr->num_cmdbufs : 0; int err = 0; - newjob = kzalloc(job_size(hdr), GFP_KERNEL); + newjob = vzalloc(job_size(hdr)); if (!newjob) goto error; kref_init(&newjob->ref); @@ -250,7 +251,7 @@ static void job_free(struct kref *ref) nvmap_free(job->nvmap, job->gather_mem); if (job->nvmap) nvmap_client_put(job->nvmap); - kfree(job); + vfree(job); } void nvhost_job_put(struct nvhost_job *job) |