All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] mm/cma.c: find a named CMA area by name
@ 2020-01-16 10:13 buddy.zhang
  2020-01-16 12:12 ` Michal Hocko
  0 siblings, 1 reply; 11+ messages in thread
From: buddy.zhang @ 2020-01-16 10:13 UTC (permalink / raw)
  To: akpm; +Cc: linux-mm, linux-kernel, BuddyZhang

From: BuddyZhang <buddy.zhang@aliyun.com>

This function could help developer who want to find a special
named CMA area.

The CMA supports multiple named CMA areas, and the device could
use or exclusive a special CAM arae via "cma_area" on "struct
device". When probing, the device can setup special CMA area which
find by "cma_find_by_name()".

If device can't find named CMA area, "cma_find_by_name()" will
return NULL, and device will used default CMA area.

Signed-off-by: BuddyZhang <buddy.zhang@aliyun.com>
---
 mm/cma.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/mm/cma.c b/mm/cma.c
index be55d1988c67..6581dabcaf34 100644
--- a/mm/cma.c
+++ b/mm/cma.c
@@ -40,6 +40,18 @@ struct cma cma_areas[MAX_CMA_AREAS];
 unsigned cma_area_count;
 static DEFINE_MUTEX(cma_mutex);
 
+struct cma *cma_find_by_name(const char *name)
+{
+	int idx;
+
+	for (idx = 0; idx < MAX_CMA_AREAS; idx++) {
+		if (cma_areas[idx].name && !strcmp(name, cma_areas[idx].name))
+			return &cma_areas[idx];
+	}
+	return NULL;
+}
+EXPORT_SYMBOL(cma_find_by_name);
+
 phys_addr_t cma_get_base(const struct cma *cma)
 {
 	return PFN_PHYS(cma->base_pfn);

base-commit: 5b483a1a0ea1ab19a5734051c9692c2cfabe1327
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 11+ messages in thread
* [PATCH] mm/cma.c: find a named CMA area by name
@ 2020-01-14  7:51 buddy.zhang
  2020-01-14  9:02 ` David Hildenbrand
                   ` (2 more replies)
  0 siblings, 3 replies; 11+ messages in thread
From: buddy.zhang @ 2020-01-14  7:51 UTC (permalink / raw)
  To: akpm; +Cc: linux-mm, linux-kernel, BuddyZhang

From: BuddyZhang <buddy.zhang@aliyun.com>

This function could help developer who want to find a special
named CMA area.

The CMA supports multiple named CMA areas, and the device could
use or exclusive a special CAM arae via "cma_area" on "struct
device". When probing, the device can setup special CMA area which
find by "cma_find_by_name()".

If device can't find named CMA area, "cma_find_by_name()" will
return NULL, and device will used default CMA area.

Signed-off-by: BuddyZhang <buddy.zhang@aliyun.com>
---
 mm/cma.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/mm/cma.c b/mm/cma.c
index be55d1988c67..b562557572c4 100644
--- a/mm/cma.c
+++ b/mm/cma.c
@@ -40,6 +40,18 @@ struct cma cma_areas[MAX_CMA_AREAS];
 unsigned cma_area_count;
 static DEFINE_MUTEX(cma_mutex);
 
+struct cma *cma_find_by_name(const char *name)
+{
+	int idx;
+
+	for (idx = 0; idx < MAX_CMA_AREAS; idx++) {
+		if (cma_areas[idx].name && !strcmp(name, cma_areas[idx].name))
+			return &cma_areas[idx];
+	}
+	return NULL;
+}
+EXPORT_SYMBOL(cma_find_by_name)
+
 phys_addr_t cma_get_base(const struct cma *cma)
 {
 	return PFN_PHYS(cma->base_pfn);
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2020-01-17  6:28 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-16 10:13 [PATCH] mm/cma.c: find a named CMA area by name buddy.zhang
2020-01-16 12:12 ` Michal Hocko
2020-01-17  2:16   ` buddy.zhang
2020-01-17  6:28     ` Michal Hocko
  -- strict thread matches above, loose matches on Subject: below --
2020-01-14  7:51 buddy.zhang
2020-01-14  9:02 ` David Hildenbrand
2020-01-14 10:08   ` buddy.zhang
2020-01-16  4:21 ` kbuild test robot
2020-01-16  4:21   ` kbuild test robot
2020-01-17  4:17 ` kbuild test robot
2020-01-17  4:17   ` kbuild test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.