From: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
To: Russell King - ARM Linux <linux@arm.linux.org.uk>
Cc: Sekhar Nori <nsekhar@ti.com>, Kevin Hilman <khilman@ti.com>,
Tony Lindgren <tony@atomide.com>,
davinci-linux-open-source@linux.davincidsp.com,
linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org
Subject: Re: [RFC PATCH] Consolidate SRAM support
Date: Fri, 15 Apr 2011 20:31:52 +0200 [thread overview]
Message-ID: <20110415183152.GA10539@game.jcrosoft.org> (raw)
In-Reply-To: <20110415130607.GM1611@n2100.arm.linux.org.uk>
On 14:06 Fri 15 Apr , Russell King - ARM Linux wrote:
> This is work in progress.
>
> We have two SoCs using SRAM, both with their own allocation systems,
> and both with their own ways of copying functions into the SRAM.
>
> Let's unify this before we have additional SoCs re-implementing this
> obviously common functionality themselves.
>
> Unfortunately, we end up with code growth through doing this, but that
> will become a win when we have another SoC using this (which I know
> there's at least one in the pipeline).
>
> One of the considerations here is that we can easily convert sram-pool.c
> to hook into device tree stuff, which can tell the sram allocator:
> - physical address of sram
> - size of sram
> - allocation granularity
> and then we just need to ensure that it is appropriately mapped.
>
> This uses the physical address, and unlike Davinci's dma address usage,
> it always wants to have the physical address, and will always return
> the corresponding physical address when passed that pointer.
>
> OMAP could probably do with some more work to make the omapfb and other
> allocations use the sram allocator, rather than hooking in before the
> sram allocator is initialized - and then further cleanups so that we
> have an initialization function which just does
>
> sram_create(phys, size)
> virt = map sram(phys, size)
> create sram pool(virt, phys, size, min_alloc_order)
>
> Another question is whether we should allow multiple SRAM pools or not -
> this code does allow multiple pools, but so far we only have one pool
> per SoC. Overdesign? Maybe, but it prevents SoCs wanting to duplicate
> it if they want to partition the SRAM, or have peripheral-local SRAMs.
>
> Lastly, uio_pruss should probably take the SRAM pool pointer via
> platform data so that it doesn't have to include Davinci specific
> includes.
>
> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Hi,
I also work on it for at91
and already have some patch in the mm for this
[PATCH] genalloc: add support to specify the physical address
so now you can do this
as I do on at91 will send the patch after
static struct map_desc at91sam9g20_sram_desc[] __initdata = {
{
.virtual = AT91_IO_VIRT_BASE - AT91SAM9G20_SRAM_SIZE,
.pfn = __phys_to_pfn(AT91SAM9G20_SRAM_BASE),
.length = AT91SAM9G20_SRAM_SIZE,
.type = MT_DEVICE,
}
};
sram_pool = gen_pool_create(2, -1);
gen_pool_add_virt(sram_pool, io_desc->virtual __pfn_to_phys(io_desc->pfn),
io_desc->length, -1)
and to get the physical address
phys = gen_pool_virt_to_phys(sram_pool, virt);
Best Resgards,
J.
WARNING: multiple messages have this Message-ID (diff)
From: plagnioj@jcrosoft.com (Jean-Christophe PLAGNIOL-VILLARD)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC PATCH] Consolidate SRAM support
Date: Fri, 15 Apr 2011 20:31:52 +0200 [thread overview]
Message-ID: <20110415183152.GA10539@game.jcrosoft.org> (raw)
In-Reply-To: <20110415130607.GM1611@n2100.arm.linux.org.uk>
On 14:06 Fri 15 Apr , Russell King - ARM Linux wrote:
> This is work in progress.
>
> We have two SoCs using SRAM, both with their own allocation systems,
> and both with their own ways of copying functions into the SRAM.
>
> Let's unify this before we have additional SoCs re-implementing this
> obviously common functionality themselves.
>
> Unfortunately, we end up with code growth through doing this, but that
> will become a win when we have another SoC using this (which I know
> there's at least one in the pipeline).
>
> One of the considerations here is that we can easily convert sram-pool.c
> to hook into device tree stuff, which can tell the sram allocator:
> - physical address of sram
> - size of sram
> - allocation granularity
> and then we just need to ensure that it is appropriately mapped.
>
> This uses the physical address, and unlike Davinci's dma address usage,
> it always wants to have the physical address, and will always return
> the corresponding physical address when passed that pointer.
>
> OMAP could probably do with some more work to make the omapfb and other
> allocations use the sram allocator, rather than hooking in before the
> sram allocator is initialized - and then further cleanups so that we
> have an initialization function which just does
>
> sram_create(phys, size)
> virt = map sram(phys, size)
> create sram pool(virt, phys, size, min_alloc_order)
>
> Another question is whether we should allow multiple SRAM pools or not -
> this code does allow multiple pools, but so far we only have one pool
> per SoC. Overdesign? Maybe, but it prevents SoCs wanting to duplicate
> it if they want to partition the SRAM, or have peripheral-local SRAMs.
>
> Lastly, uio_pruss should probably take the SRAM pool pointer via
> platform data so that it doesn't have to include Davinci specific
> includes.
>
> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Hi,
I also work on it for at91
and already have some patch in the mm for this
[PATCH] genalloc: add support to specify the physical address
so now you can do this
as I do on at91 will send the patch after
static struct map_desc at91sam9g20_sram_desc[] __initdata = {
{
.virtual = AT91_IO_VIRT_BASE - AT91SAM9G20_SRAM_SIZE,
.pfn = __phys_to_pfn(AT91SAM9G20_SRAM_BASE),
.length = AT91SAM9G20_SRAM_SIZE,
.type = MT_DEVICE,
}
};
sram_pool = gen_pool_create(2, -1);
gen_pool_add_virt(sram_pool, io_desc->virtual __pfn_to_phys(io_desc->pfn),
io_desc->length, -1)
and to get the physical address
phys = gen_pool_virt_to_phys(sram_pool, virt);
Best Resgards,
J.
next prev parent reply other threads:[~2011-04-15 18:40 UTC|newest]
Thread overview: 144+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-04-15 13:06 [RFC PATCH] Consolidate SRAM support Russell King - ARM Linux
2011-04-15 13:06 ` Russell King - ARM Linux
2011-04-15 13:39 ` Rob Herring
2011-04-15 13:39 ` Rob Herring
2011-04-15 14:02 ` Ithamar R. Adema
2011-04-15 14:02 ` Ithamar R. Adema
2011-04-15 14:40 ` Arnd Bergmann
2011-04-15 14:40 ` Arnd Bergmann
2011-04-15 15:26 ` Russell King - ARM Linux
2011-04-15 15:26 ` Russell King - ARM Linux
2011-04-15 15:32 ` Grant Likely
2011-04-15 15:32 ` Grant Likely
2011-04-15 15:41 ` Russell King - ARM Linux
2011-04-15 15:41 ` Russell King - ARM Linux
2011-04-16 4:11 ` Magnus Damm
2011-04-16 4:11 ` Magnus Damm
2011-04-17 17:47 ` Arnd Bergmann
2011-04-17 17:47 ` Arnd Bergmann
2011-04-15 16:03 ` Russell King - ARM Linux
2011-04-15 16:03 ` Russell King - ARM Linux
2011-04-15 16:18 ` Nguyen Dinh-R00091
2011-04-15 16:18 ` Nguyen Dinh-R00091
2011-04-15 16:20 ` Russell King - ARM Linux
2011-04-15 16:20 ` Russell King - ARM Linux
2011-04-15 16:58 ` Russell King - ARM Linux
2011-04-15 16:58 ` Russell King - ARM Linux
2011-04-15 19:20 ` Nguyen Dinh-R00091
2011-04-15 19:20 ` Nguyen Dinh-R00091
2011-04-15 19:40 ` Russell King - ARM Linux
2011-04-15 19:40 ` Russell King - ARM Linux
2011-04-15 20:06 ` Nguyen Dinh-R00091
2011-04-15 20:06 ` Nguyen Dinh-R00091
2011-04-15 13:52 ` Eduardo Valentin
2011-04-15 13:52 ` Eduardo Valentin
2011-04-15 15:24 ` Russell King - ARM Linux
2011-04-15 15:24 ` Russell King - ARM Linux
2011-04-15 14:50 ` Detlef Vollmann
2011-04-15 14:50 ` Detlef Vollmann
2011-04-15 15:37 ` Russell King - ARM Linux
2011-04-15 15:37 ` Russell King - ARM Linux
2011-04-15 18:12 ` Detlef Vollmann
2011-04-15 18:12 ` Detlef Vollmann
2011-04-15 18:21 ` Russell King - ARM Linux
2011-04-15 18:21 ` Russell King - ARM Linux
2011-04-15 16:04 ` Nicolas Ferre
2011-04-15 16:04 ` Nicolas Ferre
2011-04-15 18:14 ` Detlef Vollmann
2011-04-15 18:14 ` Detlef Vollmann
2011-04-16 11:27 ` Detlef Vollmann
2011-04-16 11:27 ` Detlef Vollmann
2011-04-15 18:31 ` Jean-Christophe PLAGNIOL-VILLARD [this message]
2011-04-15 18:31 ` Jean-Christophe PLAGNIOL-VILLARD
2011-04-15 18:38 ` [PATCH 1/2] at91: 9260 and 9g20 add support of join SRAM Memory Mapping Jean-Christophe PLAGNIOL-VILLARD
2011-04-15 18:39 ` [PATCH 2/2] at91: add generic allocator support for sram Jean-Christophe PLAGNIOL-VILLARD
2011-04-15 20:11 ` [RFC PATCH] Consolidate SRAM support Uwe Kleine-König
2011-04-15 20:11 ` Uwe Kleine-König
2011-04-15 20:19 ` Russell King - ARM Linux
2011-04-15 20:19 ` Russell King - ARM Linux
2011-04-15 20:22 ` Uwe Kleine-König
2011-04-15 20:22 ` Uwe Kleine-König
2011-04-16 13:01 ` Haojian Zhuang
2011-04-16 13:01 ` Haojian Zhuang
2011-04-16 13:09 ` Russell King - ARM Linux
2011-04-16 13:09 ` Russell King - ARM Linux
2011-04-18 6:48 ` Tony Lindgren
2011-04-18 6:48 ` Tony Lindgren
2011-04-18 7:00 ` Tomi Valkeinen
2011-04-18 7:00 ` Tomi Valkeinen
2011-04-18 8:17 ` Tony Lindgren
2011-04-18 8:17 ` Tony Lindgren
2011-04-19 14:16 ` Tomi Valkeinen
2011-04-19 14:16 ` Tomi Valkeinen
2011-04-20 5:27 ` Tony Lindgren
2011-04-20 5:27 ` Tony Lindgren
2011-04-18 8:52 ` [RFC PATCH v2] " Russell King - ARM Linux
2011-04-18 8:52 ` Russell King - ARM Linux
2011-04-18 9:31 ` Haojian Zhuang
2011-04-18 9:31 ` Haojian Zhuang
2011-04-18 11:33 ` Tony Lindgren
2011-04-18 11:33 ` Tony Lindgren
2011-04-18 13:50 ` Detlef Vollmann
2011-04-18 13:50 ` Detlef Vollmann
2011-04-18 16:12 ` Nori, Sekhar
2011-04-18 16:12 ` Nori, Sekhar
2011-04-18 16:18 ` Russell King - ARM Linux
2011-04-18 16:18 ` Russell King - ARM Linux
2011-04-19 16:01 ` Jean-Christophe PLAGNIOL-VILLARD
2011-04-19 16:01 ` Jean-Christophe PLAGNIOL-VILLARD
2011-04-19 16:18 ` Russell King - ARM Linux
2011-04-19 16:18 ` Russell King - ARM Linux
2011-04-19 19:05 ` Jean-Christophe PLAGNIOL-VILLARD
2011-04-19 19:05 ` Jean-Christophe PLAGNIOL-VILLARD
2011-04-19 23:20 ` Russell King - ARM Linux
2011-04-19 23:20 ` Russell King - ARM Linux
2011-04-20 4:06 ` Jean-Christophe PLAGNIOL-VILLARD
2011-04-20 4:06 ` Jean-Christophe PLAGNIOL-VILLARD
2011-04-19 1:23 ` [RFC PATCH] " Linus Walleij
2011-04-19 1:23 ` Linus Walleij
2011-05-12 17:45 ` [RFC PATCH v3] " Russell King - ARM Linux
2011-05-12 17:45 ` Russell King - ARM Linux
2011-05-12 18:35 ` Jean-Christophe PLAGNIOL-VILLARD
2011-05-12 18:35 ` Jean-Christophe PLAGNIOL-VILLARD
2011-05-13 7:30 ` Jean Pihet
2011-05-13 7:30 ` Jean Pihet
2011-05-13 9:11 ` Russell King - ARM Linux
2011-05-13 9:11 ` Russell King - ARM Linux
2011-05-13 9:25 ` Jean Pihet
2011-05-13 9:25 ` Jean Pihet
2011-05-13 9:19 ` Santosh Shilimkar
2011-05-13 9:19 ` Santosh Shilimkar
2011-05-17 13:06 ` Nori, Sekhar
2011-05-17 13:06 ` Nori, Sekhar
2011-05-17 21:41 ` [PATCH 0/9] Ben Gardiner
2011-05-17 21:41 ` [PATCH 1/9] davinci: pm: fix compiler errors and kernel panics from sram consolidation Ben Gardiner
2011-05-17 21:41 ` [PATCH 2/9] davinci: sram: ioremap the davinci_soc_info specified sram regions Ben Gardiner
2011-05-18 4:51 ` Jean-Christophe PLAGNIOL-VILLARD
2011-05-18 12:11 ` Nori, Sekhar
2011-05-18 12:14 ` Russell King - ARM Linux
2011-05-18 15:58 ` Jean-Christophe PLAGNIOL-VILLARD
2011-05-25 23:16 ` Jean-Christophe PLAGNIOL-VILLARD
2011-05-18 13:18 ` Nori, Sekhar
2011-05-18 13:36 ` Ben Gardiner
2011-05-17 21:41 ` [PATCH 3/9] davinci: da850: remove the SRAM_VIRT iotable entry Ben Gardiner
2011-05-17 21:42 ` [PATCH 4/9] davinci: dm355: " Ben Gardiner
2011-05-17 21:42 ` [PATCH 5/9] davinci: dm365: " Ben Gardiner
2011-05-17 21:42 ` [PATCH 6/9] davinci: dm644x: " Ben Gardiner
2011-05-17 21:42 ` [PATCH 7/9] davinci: dm646x: " Ben Gardiner
2011-05-17 21:42 ` [PATCH 8/9] davinci: remove definition of SRAM_VIRT Ben Gardiner
2011-05-18 10:40 ` Sergei Shtylyov
2011-05-17 21:42 ` [PATCH 9/9] davinci: da850: changed SRAM allocator to shared ram Ben Gardiner
2011-05-18 10:29 ` Sergei Shtylyov
2011-05-18 12:33 ` Ben Gardiner
2011-05-26 1:02 ` [RFC PATCH v4] Consolidate SRAM support Jean-Christophe PLAGNIOL-VILLARD
2011-05-26 1:02 ` Jean-Christophe PLAGNIOL-VILLARD
[not found] ` <1306371777-20431-1-git-send-email-plagnioj-sclMFOaUSTBWk0Htik3J/w@public.gmane.org>
2011-05-31 17:09 ` Nori, Sekhar
2011-05-31 17:09 ` Nori, Sekhar
2011-05-31 21:21 ` Russell King - ARM Linux
2011-05-31 21:21 ` Russell King - ARM Linux
2011-06-29 13:12 ` Nori, Sekhar
2011-06-29 13:12 ` Nori, Sekhar
2011-07-08 16:51 ` Nori, Sekhar
2011-07-08 16:51 ` Nori, Sekhar
2011-07-08 16:58 ` Nori, Sekhar
2011-07-08 16:58 ` Nori, Sekhar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20110415183152.GA10539@game.jcrosoft.org \
--to=plagnioj@jcrosoft.com \
--cc=davinci-linux-open-source@linux.davincidsp.com \
--cc=khilman@ti.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-omap@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=nsekhar@ti.com \
--cc=tony@atomide.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.