On Mon, Sep 7, 2020 at 8:39 AM Gerd Hoffmann kraxel@redhat.com wrote:
- /**
- @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).
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
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