Thread (4 messages) 4 messages, 2 authors, 2020-09-07

Re: [PATCH v2 1/2] drm: allow limiting the scatter list size.

From: Daniel Vetter <hidden>
Date: 2020-09-07 07:14:50
Also in: amd-gfx, dri-devel, linux-arm-msm, linux-rockchip, linux-tegra, lkml, nouveau, xen-devel

On Mon, Sep 7, 2020 at 8:39 AM Gerd Hoffmann [off-list ref] wrote:
quoted
quoted
+   /**
+    * @max_segment:
+    *
+    * Max size for scatter list segments.  When unset the default
+    * (SCATTERLIST_MAX_SEGMENT) is used.
+    */
+   size_t max_segment;
Is there no better place for this then "at the bottom"? drm_device is a
huge structure, piling stuff up randomly doesn't make it better :-)
Moved next to the other gem fields for now (v3 posted).
quoted
I think ideally we'd have a gem substruct like we have on the modeset side
at least.
Phew, that'll be quite some churn in the tree.  And there aren't that many
gem-related fields in struct drm_device.

So you are looking for something like below (header changes only)?
Hm yeah it's a lot less than I thought. And yes I think that would be neat.
-Daniel
quoted hunk ↗ jump to hunk
take care,
  Gerd
diff --git a/include/drm/drm_device.h b/include/drm/drm_device.h
index c455ef404ca6..950167ede98a 100644
--- a/include/drm/drm_device.h
+++ b/include/drm/drm_device.h
@@ -299,22 +299,8 @@ struct drm_device {
        /** @mode_config: Current mode config */
        struct drm_mode_config mode_config;

-       /** @object_name_lock: GEM information */
-       struct mutex object_name_lock;
-
-       /** @object_name_idr: GEM information */
-       struct idr object_name_idr;
-
-       /** @vma_offset_manager: GEM information */
-       struct drm_vma_offset_manager *vma_offset_manager;
-
-       /**
-        * @max_segment:
-        *
-        * Max size for scatter list segments for GEM objects.  When
-        * unset the default (SCATTERLIST_MAX_SEGMENT) is used.
-        */
-       size_t max_segment;
+       /** @gem_config: Current GEM config */
+       struct drm_gem_config gem_config;

        /** @vram_mm: VRAM MM memory manager */
        struct drm_vram_mm *vram_mm;
diff --git a/include/drm/drm_gem.h b/include/drm/drm_gem.h
index 337a48321705..74129fb29fb8 100644
--- a/include/drm/drm_gem.h
+++ b/include/drm/drm_gem.h
@@ -39,6 +39,25 @@

 #include <drm/drm_vma_manager.h>

+struct drm_gem_config {
+       /** @object_name_lock: GEM information */
+       struct mutex object_name_lock;
+
+       /** @object_name_idr: GEM information */
+       struct idr object_name_idr;
+
+       /** @vma_offset_manager: GEM information */
+       struct drm_vma_offset_manager *vma_offset_manager;
+
+       /**
+        * @max_segment:
+        *
+        * Max size for scatter list segments for GEM objects.  When
+        * unset the default (SCATTERLIST_MAX_SEGMENT) is used.
+        */
+       size_t max_segment;
+};
+
 struct drm_gem_object;

 /**
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help