> > + /** > > + * @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)? 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; /**