mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-08-02 07:27: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