Add the new module drm_pixel_helper.ko and link existing shared code
for drawing to it. This includes format helpers, panic helpers and
drawing helpers. Update drivers. No functional changes.
The existing helpers are currently part of KMS helpers or the DRM core.
Neither is suitable for this. Adding drm_pixel_helper.ko resolves this.
The new module only depends on the DRM core and common kernel functions.
Future directions: putting pixel-related helpers into the same module
opens up the possibility of sharing more code among them. There is even
more drawing code in vkms and a few other drivers. Hopefully this could
be integrated into pixel helpers at some point.
Smoke-tested on qemu with vesadrm and bochs.
Thomas Zimmermann (4):
drm: Add helper module for working with pixel data
drm/pixel: Link format helpers into drm_pixel_helper.ko
drm/pixel: Link panic helpers into drm_pixel_helper.ko
drm/pixel: Link draw helpers into drm_pixel_helper.ko
drivers/gpu/drm/Kconfig | 15 ++++++--------
drivers/gpu/drm/Kconfig.debug | 2 +-
drivers/gpu/drm/Makefile | 12 +++++++----
drivers/gpu/drm/amd/amdgpu/Kconfig | 1 +
drivers/gpu/drm/ast/Kconfig | 1 +
drivers/gpu/drm/clients/Kconfig | 2 +-
.../gpu/drm/{drm_draw.c => drm_draw_helper.c} | 0
drivers/gpu/drm/drm_kms_helper_common.c | 13 ------------
drivers/gpu/drm/drm_panic_helper.c | 1 +
drivers/gpu/drm/drm_panic_internal.h | 14 -------------
drivers/gpu/drm/drm_pixel_helper_common.c | 20 +++++++++++++++++++
drivers/gpu/drm/drm_pixel_helper_internal.h | 20 +++++++++++++++++++
drivers/gpu/drm/gud/Kconfig | 1 +
drivers/gpu/drm/hisilicon/hibmc/Kconfig | 1 +
.../gpu/drm/hisilicon/hibmc/hibmc_drm_de.c | 1 +
drivers/gpu/drm/hyperv/Kconfig | 1 +
drivers/gpu/drm/i915/Kconfig | 1 +
drivers/gpu/drm/imx/ipuv3/Kconfig | 1 +
drivers/gpu/drm/mgag200/Kconfig | 1 +
drivers/gpu/drm/nouveau/Kconfig | 1 +
drivers/gpu/drm/renesas/rcar-du/Kconfig | 1 +
drivers/gpu/drm/renesas/shmobile/Kconfig | 1 +
drivers/gpu/drm/sitronix/Kconfig | 2 ++
drivers/gpu/drm/solomon/Kconfig | 1 +
drivers/gpu/drm/sysfb/Kconfig | 1 +
drivers/gpu/drm/sysfb/drm_sysfb_modeset.c | 1 +
drivers/gpu/drm/tidss/Kconfig | 1 +
drivers/gpu/drm/tiny/Kconfig | 6 ++++++
drivers/gpu/drm/tiny/bochs.c | 1 +
drivers/gpu/drm/virtio/Kconfig | 1 +
30 files changed, 83 insertions(+), 42 deletions(-)
rename drivers/gpu/drm/{drm_draw.c => drm_draw_helper.c} (100%)
create mode 100644 drivers/gpu/drm/drm_pixel_helper_common.c
create mode 100644 drivers/gpu/drm/drm_pixel_helper_internal.h
base-commit: 5b9ee97c47574138633a1cb70a32d118b6860a43
--
2.56.0