All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v8 0/4] Add generic driver for on-chip SRAM
@ 2013-02-04 11:32 Philipp Zabel
  2013-02-04 11:32 ` [PATCH v8 1/4] genalloc: add devres support, allow to find a managed pool by device Philipp Zabel
                   ` (3 more replies)
  0 siblings, 4 replies; 14+ messages in thread
From: Philipp Zabel @ 2013-02-04 11:32 UTC (permalink / raw)
  To: linux-kernel
  Cc: Arnd Bergmann, Greg Kroah-Hartman, Grant Likely, Rob Herring,
	Paul Gortmaker, Shawn Guo, Richard Zhao, Huang Shijie,
	Dong Aisheng, Matt Porter, Fabio Estevam, Javier Martin, kernel,
	devicetree-discuss

These patches add support to configure on-chip SRAM via device-tree
node or platform data and to obtain the resulting genalloc pool from
the struct device pointer or a phandle pointing at the device tree node.
This allows drivers to allocate SRAM with the genalloc API without
hard-coding the genalloc pool pointer.

I changed the implementation in genalloc.c since v7. To avoid the global
pool list, a devres managed version of gen_pool_create is added, and
gen_pool_find_by_phys of the previous versions is replaced by dev_get_gen_pool,
that retrieves a gen_pool created with devm_gen_pool_create from the
corresponding device pointer. of_get_named_gen_pool is called unchanged.

The on-chip SRAM on i.MX53 and i.MX6q can be registered via device tree
and changed to use the simple generic SRAM driver:

		ocram: ocram@00900000 {
			compatible = "fsl,imx-ocram", "sram";
			reg = <0x00900000 0x3f000>;
 		};

A driver that needs to allocate SRAM buffers, like the video processing
unit on i.MX53, can retrieve the genalloc pool from a phandle in the
device tree using of_get_named_gen_pool(node, "iram", 0) from patch 1:

		vpu@63ff4000 {
			/* ... */
			iram = <&ocram>;
 		};

Changes since v7:
- Removed the global pool list in genalloc. Instead, added a devres managed
  version of gen_pool_create, replacing gen_pool_find_by_phys with
  dev_get_gen_pool (and made of_get_named_gen_pool use that)
- In the coda driver, switched to dev_get_gen_pool and added a platform_data
  struct to pass the SRAM device pointer (instead of using a second IO memory
  resource). Added device tree binding documentation.

regards
Philipp

---
 Documentation/devicetree/bindings/media/coda.txt |   30 ++++++
 Documentation/devicetree/bindings/misc/sram.txt  |   17 +++
 arch/arm/boot/dts/imx53.dtsi                     |    5 +
 arch/arm/boot/dts/imx6q.dtsi                     |    6 ++
 drivers/media/platform/Kconfig                   |    1 -
 drivers/media/platform/coda.c                    |   45 +++++---
 drivers/misc/Kconfig                             |    9 ++
 drivers/misc/Makefile                            |    1 +
 drivers/misc/sram.c                              |  121 ++++++++++++++++++++++
 include/linux/genalloc.h                         |   15 +++
 include/linux/platform_data/coda.h               |   18 ++++
 lib/genalloc.c                                   |   81 +++++++++++++++
 12 files changed, 334 insertions(+), 15 deletions(-)

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

end of thread, other threads:[~2013-02-12 18:09 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-02-04 11:32 [PATCH v8 0/4] Add generic driver for on-chip SRAM Philipp Zabel
2013-02-04 11:32 ` [PATCH v8 1/4] genalloc: add devres support, allow to find a managed pool by device Philipp Zabel
2013-02-04 11:32 ` [PATCH v8 2/4] misc: Generic on-chip SRAM allocation driver Philipp Zabel
2013-02-04 15:53   ` Paul Mundt
     [not found]     ` <20130204155344.GA14171-M7jkjyW5wf5g9hUCZPvPmw@public.gmane.org>
2013-02-04 17:02       ` Matt Porter
2013-02-04 17:02         ` Matt Porter
2013-02-05  8:57     ` Philipp Zabel
2013-02-08 20:16   ` Grant Likely
2013-02-08 20:16     ` Grant Likely
2013-02-11 18:15     ` Philipp Zabel
2013-02-12 18:09       ` Grant Likely
2013-02-04 11:32 ` [PATCH v8 3/4] media: coda: use genalloc API Philipp Zabel
2013-02-05  8:12   ` javier Martin
2013-02-04 11:32 ` [PATCH v8 4/4] ARM: dts: add sram for imx53 and imx6q Philipp Zabel

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.