mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-08-01 15:07:49 +00:00
Merge pull request #4252 from lrusak/imx-fix
NXP: linux: remove uneeded patch to allow build to compile
This commit is contained in:
commit
f3113569c1
@ -1,31 +0,0 @@
|
||||
From: Lucas Stach <l.stach@pengutronix.de>
|
||||
Subject: [PATCH 1/2] mm: cma: export functions to get CMA base and size
|
||||
Date: Wed, 29 May 2019 12:43:11 +0200
|
||||
|
||||
Make them usable in modules. Some drivers want to know where their
|
||||
device CMA area is located to make better decisions about the DMA
|
||||
programming.
|
||||
|
||||
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
|
||||
---
|
||||
mm/cma.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/mm/cma.c b/mm/cma.c
|
||||
index 3340ef34c154..191c89bf038d 100644
|
||||
--- a/mm/cma.c
|
||||
+++ b/mm/cma.c
|
||||
@@ -44,11 +44,13 @@ phys_addr_t cma_get_base(const struct cma *cma)
|
||||
{
|
||||
return PFN_PHYS(cma->base_pfn);
|
||||
}
|
||||
+EXPORT_SYMBOL_GPL(cma_get_base);
|
||||
|
||||
unsigned long cma_get_size(const struct cma *cma)
|
||||
{
|
||||
return cma->count << PAGE_SHIFT;
|
||||
}
|
||||
+EXPORT_SYMBOL_GPL(cma_get_size);
|
||||
|
||||
const char *cma_get_name(const struct cma *cma)
|
||||
{
|
@ -1,52 +0,0 @@
|
||||
From: Lucas Stach <l.stach@pengutronix.de>
|
||||
Subject: [PATCH 2/2] drm/etnaviv: use CMA area to compute linear window offset
|
||||
if possible
|
||||
Date: Wed, 29 May 2019 12:43:12 +0200
|
||||
|
||||
The dma_required_mask might overestimate the memory size, or might not match
|
||||
up with the CMA area placement for other reasons. Get the information about
|
||||
CMA area placement directly from CMA where it is available, but keep the
|
||||
dma_required_mask as an approximate fallback for architectures where CMA is
|
||||
not available.
|
||||
|
||||
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
|
||||
---
|
||||
drivers/gpu/drm/etnaviv/etnaviv_gpu.c | 15 ++++++++++++---
|
||||
1 file changed, 12 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
|
||||
index 72d01e873160..b144f1bbbb3c 100644
|
||||
--- a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
|
||||
+++ b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
|
||||
@@ -4,7 +4,9 @@
|
||||
*/
|
||||
|
||||
#include <linux/clk.h>
|
||||
+#include <linux/cma.h>
|
||||
#include <linux/component.h>
|
||||
+#include <linux/dma-contiguous.h>
|
||||
#include <linux/dma-fence.h>
|
||||
#include <linux/moduleparam.h>
|
||||
#include <linux/of_device.h>
|
||||
@@ -724,11 +726,18 @@ int etnaviv_gpu_init(struct etnaviv_gpu *gpu)
|
||||
*/
|
||||
if (!(gpu->identity.features & chipFeatures_PIPE_3D) ||
|
||||
(gpu->identity.minor_features0 & chipMinorFeatures0_MC20)) {
|
||||
- u32 dma_mask = (u32)dma_get_required_mask(gpu->dev);
|
||||
- if (dma_mask < PHYS_OFFSET + SZ_2G)
|
||||
+ struct cma *cma = dev_get_cma_area(gpu->dev);
|
||||
+ phys_addr_t end_mask;
|
||||
+
|
||||
+ if (cma)
|
||||
+ end_mask = cma_get_base(cma) - 1 + cma_get_size(cma);
|
||||
+ else
|
||||
+ end_mask = dma_get_required_mask(gpu->dev);
|
||||
+
|
||||
+ if (end_mask < PHYS_OFFSET + SZ_2G)
|
||||
gpu->memory_base = PHYS_OFFSET;
|
||||
else
|
||||
- gpu->memory_base = dma_mask - SZ_2G + 1;
|
||||
+ gpu->memory_base = end_mask - SZ_2G + 1;
|
||||
} else if (PHYS_OFFSET >= SZ_2G) {
|
||||
dev_info(gpu->dev, "Need to move linear window on MC1.0, disabling TS\n");
|
||||
gpu->memory_base = PHYS_OFFSET;
|
Loading…
x
Reference in New Issue
Block a user