From: Jani Nikula <jani.nikula@linux.intel.com>
To: Thomas Zimmermann <tzimmermann@suse.de>,
maarten.lankhorst@linux.intel.com, mripard@kernel.org,
airlied@linux.ie, daniel@ffwll.ch
Cc: dri-devel@lists.freedesktop.org, Thomas Zimmermann <tzimmermann@suse.de>
Subject: Re: [PATCH 0/3] drm: Move several files from DRM core into modules
Date: Thu, 21 Oct 2021 15:38:50 +0300 [thread overview]
Message-ID: <877de6mu1x.fsf@intel.com> (raw)
In-Reply-To: <20211020131941.15367-1-tzimmermann@suse.de>
On Wed, 20 Oct 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
> Move a number of files into modules and behind config options.
>
> So far, early boot graphics was provided by fbdev. With simpledrm, and
> possibly other generic DRM drivers, it's now possible to have general
> early-boot output with DRM. This requires the DRM core to be linked into
> the kernel binary image.
>
> The reduction in size here is only ~1%, but the patchset is part of a
> larger effort to reduce the size of the DRM core module.
I think the main problem is really that of organization. You have all of
the files under drivers/gpu/drm/ and the only way to know which module
the files belong to is to look at the Makefile and the Kconfig. It's not
obvious based on the file names or directory, at all. And there are
nearly a hundred drm_*.c files there!
We also seem to have stuff depend on DRM alone, while functionally they
should really depend on DRM_KMS_HELPER too.
The subdirectories under drm/ also don't have any distinction between
being part of drm core and helpers or drivers. We have lib, scheduler,
selftests, and ttm next to the drivers.
We should start adding drm_* subdirectories, and moving the modules
separate from drm core there. We should rename the current non-driver
directories drm_*. We need better structure.
BR,
Jani.
>
> Thomas Zimmermann (3):
> drm: Build drm_irq.o only if CONFIG_DRM_LEGACY has been set
> drm: Link several object files into drm_kms_helper.ko
> drm: Move GEM memory managers into modules
>
> drivers/gpu/drm/Kconfig | 4 ++--
> drivers/gpu/drm/Makefile | 26 +++++++++++++++-----------
> drivers/gpu/drm/drm_gem_cma_helper.c | 4 ++++
> drivers/gpu/drm/drm_gem_shmem_helper.c | 4 ++++
> drivers/gpu/drm/drm_irq.c | 2 --
> 5 files changed, 25 insertions(+), 15 deletions(-)
>
> --
> 2.33.0
>
--
Jani Nikula, Intel Open Source Graphics Center
next prev parent reply other threads:[~2021-10-21 12:39 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-10-20 13:19 [PATCH 0/3] drm: Move several files from DRM core into modules Thomas Zimmermann
2021-10-20 13:19 ` [PATCH 1/3] drm: Build drm_irq.o only if CONFIG_DRM_LEGACY has been set Thomas Zimmermann
2021-10-20 13:19 ` [PATCH 2/3] drm: Link several object files into drm_kms_helper.ko Thomas Zimmermann
2021-10-20 13:19 ` [PATCH 3/3] drm: Move GEM memory managers into modules Thomas Zimmermann
2021-10-21 11:52 ` [PATCH 0/3] drm: Move several files from DRM core " Daniel Vetter
2021-10-21 12:21 ` Thomas Zimmermann
2021-10-21 12:38 ` Jani Nikula [this message]
2021-10-21 13:34 ` Thomas Zimmermann
2021-10-21 16:51 ` Daniel Vetter
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=877de6mu1x.fsf@intel.com \
--to=jani.nikula@linux.intel.com \
--cc=airlied@linux.ie \
--cc=daniel@ffwll.ch \
--cc=dri-devel@lists.freedesktop.org \
--cc=maarten.lankhorst@linux.intel.com \
--cc=mripard@kernel.org \
--cc=tzimmermann@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.