mirror-linux/drivers/gpu/drm
Thomas Zimmermann 43049f17b5 drm/i915: Implement dedicated fbdev I/O helpers
Implement dedicated fbdev helpers for framebuffer I/O instead
of using DRM's helpers. Use an fbdev generator macro for
deferred I/O to create the fbdev callbacks. i915 was the only
caller of the DRM helpers, so remove them from the helper module.

i915's fbdev emulation is still incomplete as it doesn't implement
deferred I/O and damage handling for mmaped pages.

v4:
	* generate deferred-I/O helpers
	* use initializer macros for fb_ops
v2:
	* use FB_IO_HELPERS options

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Sam Ravnborg <sam@ravnborg.org>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
Cc: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230530151228.22979-14-tzimmermann@suse.de
2023-06-01 12:41:40 +02:00
..
amd Merge drm/drm-next into drm-misc-next 2023-06-01 11:31:39 +02:00
arm drm/aperture: Remove primary argument 2023-04-16 14:17:41 +02:00
armada drm/armada: Use regular fbdev I/O helpers 2023-06-01 12:26:47 +02:00
aspeed drm/aspeed: Use GEM DMA fbdev emulation 2023-03-14 17:07:47 +01:00
ast Merge tag 'drm-misc-fixes-2023-05-11' of git://anongit.freedesktop.org/drm/drm-misc into drm-fixes 2023-05-12 05:32:36 +10:00
atmel-hlcdc drm/atmel-hlcdc: Use GEM DMA fbdev emulation 2023-03-14 17:07:47 +01:00
bridge drm/bridge: display-connector: handle hdmi-pwr supply 2023-05-31 11:09:48 +02:00
display Driver core changes for 6.4-rc1 2023-04-27 11:53:57 -07:00
etnaviv Revert "drm/etnaviv: export client GPU usage statistics via fdinfo" 2023-03-30 17:47:05 +02:00
exynos drm/exynos: Use regular fbdev I/O helpers 2023-06-01 12:26:48 +02:00
fsl-dcu drm/fsl-dcu: Use GEM DMA fbdev emulation 2023-03-14 17:07:48 +01:00
gma500 drm/gma500: Use regular fbdev I/O helpers 2023-06-01 12:26:49 +02:00
gud
hisilicon
hyperv drm/aperture: Remove primary argument 2023-04-16 14:17:41 +02:00
i2c drm: Switch i2c drivers back to use .probe() 2023-05-30 16:55:16 -07:00
i915 drm/i915: Implement dedicated fbdev I/O helpers 2023-06-01 12:41:40 +02:00
imx drm/imx/lcdc: fix a NULL vs IS_ERR() bug in probe 2023-04-15 23:48:48 +02:00
ingenic
kmb drm/kmb: Use GEM DMA fbdev emulation 2023-03-14 17:07:48 +01:00
lib
lima Revert "drm/lima: add usage counting method to ctx_mgr" 2023-04-05 08:40:47 +08:00
logicvc drm/logicvc: Use GEM DMA fbdev emulation 2023-03-14 17:07:48 +01:00
mcde drm/mcde: Use GEM DMA fbdev emulation 2023-03-14 17:07:49 +01:00
mediatek drm/mediatek: dp: Change the aux retries times when receiving AUX_DEFER 2023-04-03 16:49:49 +00:00
meson drm/meson: set variables meson_hdmi_* storage-class-specifier to static 2023-04-27 14:48:48 +02:00
mgag200 drm/mgag200: Implement struct drm_plane_helper_funcs.atomic_enable 2023-02-20 15:20:41 +01:00
msm drm/msm: Use regular fbdev I/O helpers 2023-06-01 12:41:40 +02:00
mxsfb drm: lcdif: Add i.MX93 LCDIF compatible string 2023-05-26 19:07:33 +02:00
nouveau drm-misc-next for v6.5: 2023-05-26 14:23:29 +10:00
omapdrm drm/omapdrm: Use regular fbdev I/O helpers 2023-06-01 12:41:32 +02:00
panel drm/panel-edp: Convert to platform remove callback returning void 2023-05-30 19:32:04 -07:00
panfrost drm next for 6.4-rc1 2023-04-25 16:12:15 -07:00
pl111 drm/pl111: Use GEM DMA fbdev emulation 2023-03-14 17:07:49 +01:00
qxl drm/qxl: handle NULL bo->resource in move callback 2023-02-23 10:29:14 +01:00
radeon drm/radeon: Use regular fbdev I/O helpers 2023-06-01 12:26:50 +02:00
rcar-du drm: rcar-du: Fix a NULL vs IS_ERR() bug 2023-03-25 22:38:10 +02:00
rockchip Merge drm/drm-next into drm-misc-next 2023-05-09 15:03:40 +02:00
scheduler drm-misc-next for v6.5: 2023-05-26 14:23:29 +10:00
shmobile drm: shmobile: Make DRM_SHMOBILE visible on Renesas SoC platforms 2023-05-24 14:00:49 +02:00
solomon drm: Switch i2c drivers back to use .probe() 2023-05-30 16:55:16 -07:00
sprd
sti drm/sti/sti_hdmi: convert to using is_hdmi from display info 2023-05-02 18:48:58 +03:00
stm drm/stm: ltdc: fix late dereference check 2023-05-26 13:31:22 +02:00
sun4i drm: sun4i_tcon: use devm_clk_get_enabled in `sun4i_tcon_init_clocks` 2023-05-11 09:30:14 +02:00
tegra drm/tegra: Use regular fbdev I/O helpers 2023-06-01 12:41:40 +02:00
tests Merge drm/drm-next into drm-misc-next 2023-05-09 15:03:40 +02:00
tidss drm/tidss: Use GEM DMA fbdev emulation 2023-03-14 17:07:49 +01:00
tilcdc drm/tilcdc: Use GEM DMA fbdev emulation 2023-03-14 17:07:49 +01:00
tiny drm: Use of_property_read_bool() for boolean properties 2023-03-30 13:46:07 -05:00
ttm drm/ttm: Remove redundant code in ttm_tt_init_fields 2023-05-31 17:00:01 +02:00
tve200 drm/tve200: Use devm_platform_ioremap_resource() 2023-04-24 10:04:33 +02:00
udl drm/udl: delete dead code 2023-05-03 16:32:33 +02:00
v3d drm/v3d: Use drm_sched_job_add_syncobj_dependency() 2023-02-24 17:23:43 -03:00
vboxvideo
vc4 drm/vc4: hdmi: Add BT.2020 Support 2023-04-25 09:33:16 +02:00
vgem drm/vgem: Drop struct drm_vgem_gem_object 2023-03-20 08:14:27 -03:00
virtio Linux 6.3-rc4 2023-03-29 16:00:23 +02:00
vkms drm/vkms: Fix RGB565 pixel conversion 2023-05-15 10:58:11 -03:00
vmwgfx flexible-array transformations for 6.4-rc1 2023-04-26 08:25:57 -07:00
xen mm: replace vma->vm_flags direct modifications with modifier calls 2023-02-09 16:51:39 -08:00
xlnx drm/xlnx: Use GEM DMA fbdev emulation 2023-03-14 17:07:49 +01:00
Kconfig drm/i915: Implement dedicated fbdev I/O helpers 2023-06-01 12:41:40 +02:00
Makefile drm/fbdev-dma: Implement fbdev emulation for GEM DMA helpers 2023-03-14 17:07:47 +01:00
drm_agpsupport.c
drm_aperture.c video/aperture: Drop primary argument 2023-04-16 14:17:55 +02:00
drm_atomic.c Merge remote-tracking branch 'drm/drm-next' into msm-next 2023-03-20 10:31:25 -07:00
drm_atomic_helper.c drm/drm_atomic_helper.c: fix a typo 2023-05-17 09:22:07 +02:00
drm_atomic_state_helper.c
drm_atomic_uapi.c
drm_auth.c
drm_blend.c
drm_bridge.c
drm_bridge_connector.c
drm_buddy.c drm: buddy_allocator: Fix buddy allocator init on 32-bit systems 2023-03-29 17:14:07 +02:00
drm_bufs.c
drm_cache.c
drm_client.c drm next for 6.3-rc1 2023-02-22 18:28:03 -08:00
drm_client_modeset.c
drm_color_mgmt.c
drm_connector.c drm: fix typo in margin connector properties docs 2023-03-18 15:59:37 +01:00
drm_context.c
drm_crtc.c
drm_crtc_helper.c
drm_crtc_helper_internal.h
drm_crtc_internal.h
drm_damage_helper.c
drm_debugfs.c drm: Track clients by tgid and not tid 2023-03-15 14:03:00 +01:00
drm_debugfs_crc.c
drm_displayid.c drm/displayid: provide access to DisplayID version and primary use case 2023-02-27 02:58:38 +03:00
drm_dma.c
drm_drv.c Documentation: vkms: clarify devres managed reference cleanup 2023-05-08 15:56:25 +00:00
drm_dumb_buffers.c drm: remove dumb_destroy callback 2023-02-10 12:19:27 +01:00
drm_edid.c Linux 6.3-rc4 2023-03-29 16:00:23 +02:00
drm_edid_load.c
drm_encoder.c
drm_encoder_slave.c
drm_fb_dma_helper.c
drm_fb_helper.c drm/i915: Implement dedicated fbdev I/O helpers 2023-06-01 12:41:40 +02:00
drm_fbdev_dma.c drm/fbdev-dma: Use regular fbdev I/O helpers 2023-06-01 12:26:51 +02:00
drm_fbdev_generic.c drm/fbdev-generic: Implement dedicated fbdev I/O helpers 2023-06-01 12:41:40 +02:00
drm_file.c drm: Add fdinfo memory stats 2023-05-24 18:03:30 +02:00
drm_flip_work.c
drm_format_helper.c
drm_fourcc.c
drm_framebuffer.c
drm_gem.c Merge tag 'drm-msm-next-2023-04-10' of https://gitlab.freedesktop.org/drm/msm into drm-next 2023-04-11 12:21:50 +02:00
drm_gem_atomic_helper.c
drm_gem_dma_helper.c - Daniel Verkamp has contributed a memfd series ("mm/memfd: add 2023-02-23 17:09:35 -08:00
drm_gem_framebuffer_helper.c drm/gem: Check for valid formats 2023-04-19 20:19:27 -03:00
drm_gem_shmem_helper.c Linux 6.3-rc4 2023-03-29 16:00:23 +02:00
drm_gem_ttm_helper.c
drm_gem_vram_helper.c drm/vram-helper: fix function names in vram helper doc 2023-05-08 09:16:18 +02:00
drm_hashtab.c
drm_internal.h drm: remove dumb_destroy callback 2023-02-10 12:19:27 +01:00
drm_ioc32.c
drm_ioctl.c
drm_irq.c
drm_kms_helper_common.c
drm_lease.c
drm_legacy.h
drm_legacy_misc.c
drm_lock.c
drm_managed.c
drm_memory.c
drm_mipi_dbi.c
drm_mipi_dsi.c Merge tag 'drm-misc-fixes-2023-05-11' of git://anongit.freedesktop.org/drm/drm-misc into drm-fixes 2023-05-12 05:32:36 +10:00
drm_mm.c
drm_mode_config.c
drm_mode_object.c
drm_modes.c drm: Fix comment on mode parsing 2023-02-20 14:56:52 +01:00
drm_modeset_helper.c
drm_modeset_lock.c
drm_of.c
drm_panel.c
drm_panel_orientation_quirks.c drm: panel-orientation-quirks: Add quirk for Lenovo Yoga Book X90F 2023-03-21 11:40:04 +01:00
drm_pci.c
drm_plane.c
drm_plane_helper.c
drm_prime.c drm/prime: reject DMA-BUF attach when get_sg_table is missing 2023-04-03 14:31:24 +02:00
drm_print.c
drm_privacy_screen.c
drm_privacy_screen_x86.c
drm_probe_helper.c drm/probe-helper: Cancel previous job before starting new one 2023-02-27 16:19:14 +01:00
drm_property.c
drm_rect.c
drm_scatter.c
drm_self_refresh_helper.c
drm_simple_kms_helper.c
drm_suballoc.c drm/suballoc: Extract amdgpu_sa.c as generic suballocation helper 2023-03-01 17:18:19 +01:00
drm_syncobj.c
drm_sysfs.c Merge drm/drm-next into drm-misc-next 2023-05-09 15:03:40 +02:00
drm_trace.h
drm_trace_points.c
drm_vblank.c drm/vblank: Fix for drivers that do not drm_vblank_init() 2023-04-04 22:38:03 +02:00
drm_vblank_work.c
drm_vm.c mm: replace vma->vm_flags direct modifications with modifier calls 2023-02-09 16:51:39 -08:00
drm_vma_manager.c
drm_writeback.c