[v2] drm/komeda: Add support for 'memory-region' DT node property
diff mbox series

Message ID 20190805095155.17999-1-mihail.atanassov@arm.com
State New
Headers show
Series
  • [v2] drm/komeda: Add support for 'memory-region' DT node property
Related show

Commit Message

Mihail Atanassov Aug. 5, 2019, 9:52 a.m. UTC
The 'memory-region' property of the komeda display driver DT binding
allows the use of a 'reserved-memory' node for buffer allocations. Add
the requisite of_reserved_mem_device_{init,release} calls to actually
make use of the memory if present.

Changes since v1:
 - Move handling inside komeda_parse_dt

Signed-off-by: Mihail Atanassov <mihail.atanassov@arm.com>
---
 drivers/gpu/drm/arm/display/komeda/komeda_dev.c | 9 +++++++++
 1 file changed, 9 insertions(+)

--
2.22.0

IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.

Patch
diff mbox series

diff --git a/drivers/gpu/drm/arm/display/komeda/komeda_dev.c b/drivers/gpu/drm/arm/display/komeda/komeda_dev.c
index 1ff7f4b2c620..0142ee991957 100644
--- a/drivers/gpu/drm/arm/display/komeda/komeda_dev.c
+++ b/drivers/gpu/drm/arm/display/komeda/komeda_dev.c
@@ -8,6 +8,7 @@ 
 #include <linux/iommu.h>
 #include <linux/of_device.h>
 #include <linux/of_graph.h>
+#include <linux/of_reserved_mem.h>
 #include <linux/platform_device.h>
 #include <linux/dma-mapping.h>
 #ifdef CONFIG_DEBUG_FS
@@ -146,6 +147,12 @@  static int komeda_parse_dt(struct device *dev, struct komeda_dev *mdev)
 return mdev->irq;
 }

+/* Get the optional framebuffer memory resource */
+ret = of_reserved_mem_device_init(dev);
+if (ret && ret != -ENODEV)
+return ret;
+ret = 0;
+
 for_each_available_child_of_node(np, child) {
 if (of_node_cmp(child->name, "pipeline") == 0) {
 ret = komeda_parse_pipe_dt(mdev, child);
@@ -292,6 +299,8 @@  void komeda_dev_destroy(struct komeda_dev *mdev)

 mdev->n_pipelines = 0;

+of_reserved_mem_device_release(dev);
+
 if (funcs && funcs->cleanup)
 funcs->cleanup(mdev);