Skip to contentSkip to conversation

drm: fb emulation: Step 3: Remove FB_KMS_HELPER config from drivers

RFC In review Archit Taneja 5 participants 33 messages Jul 13, 2015 – Aug 5, 2015

Subsystems (22)
lore
Share & tools
lore
#0 lore raw

cover drm: fb emulation: Step 3: Remove FB_KMS_HELPER config from drivers

With the top level DRM_FBDEV_EMULATION option, drivers don't need to select DRM_FB_KMS_HELPER or other FB related config options in the driver.

Even if FBDEV_EMULATION isn't select, the stubbed out versions of the drm_fb_helper functions will be called.

There are some drivers which still need some FB stuff even after these changes. They are qxl, udl and nouveau. These are handled a bit differently compared to the other patches.

Archit Taneja (21):
drm/cirrus: Remove FB_KMS_HELPER and FB related config options drm/rockchip: Remove FB_KMS_HELPER and FB related config options drm/armada: Remove FB_KMS_HELPER and FB related config options drm/ast: Remove FB_KMS_HELPER and FB related config options drm/omap: Remove FB_KMS_HELPER and FB related config options drm/exynos: Remove FB_KMS_HELPER and FB related config options drm/gma500: Remove FB_KMS_HELPER and FB related config options drm/mgag200: Remove FB_KMS_HELPER and FB related config options drm/radeon: Remove FB_KMS_HELPER and FB related config options drm/qxl: Remove FB_KMS_HELPER and FB related config options drm/nouveau: Remove FB_KMS_HELPER and FB related config options drm/udl: Remove FB_KMS_HELPER and FB related config options drm/bochs: Remove FB_KMS_HELPER and FB related config options drm/amdgpu: Remove FB_KMS_HELPER and FB related config options drm/virtio: Remove FB_KMS_HELPER and FB related config options drm/fb_cma_helper: Remove FB_KMS_HELPER and FB related config options drm/atmel-hlcdc: Remove FB_KMS_HELPER config option drm/imx: Remove FB_KMS_HELPER config option
drm/rcar-du: Remove FB_KMS_HELPER config option drm/shmobile: Remove FB_KMS_HELPER config option drm/tilcdc: Remove FB_KMS_HELPER config option

 drivers/gpu/drm/Kconfig             |  4 ----
 drivers/gpu/drm/amd/amdgpu/Kconfig  |  4 ----
 drivers/gpu/drm/armada/Kconfig      |  4 ----
 drivers/gpu/drm/ast/Kconfig         |  4 ----
 drivers/gpu/drm/atmel-hlcdc/Kconfig |  1 -
 drivers/gpu/drm/bochs/Kconfig       |  4 ----
 drivers/gpu/drm/cirrus/Kconfig      |  4 ----
 drivers/gpu/drm/exynos/Kconfig      |  6 ------
 drivers/gpu/drm/gma500/Kconfig      |  4 ----
 drivers/gpu/drm/imx/Kconfig         |  1 -
 drivers/gpu/drm/mgag200/Kconfig     |  4 ----
 drivers/gpu/drm/nouveau/Kconfig     |  7 +------
 drivers/gpu/drm/omapdrm/Kconfig     |  5 -----
 drivers/gpu/drm/qxl/Kconfig         |  5 -----
 drivers/gpu/drm/qxl/qxl_fb.c        |  4 ++++
 drivers/gpu/drm/radeon/Kconfig      |  4 ----
 drivers/gpu/drm/rcar-du/Kconfig     |  1 -
 drivers/gpu/drm/rockchip/Kconfig    |  4 ----
 drivers/gpu/drm/shmobile/Kconfig    |  1 -
 drivers/gpu/drm/tilcdc/Kconfig      |  1 -
 drivers/gpu/drm/udl/Kconfig         |  5 -----
 drivers/gpu/drm/udl/udl_fb.c        | 10 ++++++++++
 drivers/gpu/drm/virtio/Kconfig      |  4 ----
 23 files changed, 15 insertions(+), 76 deletions(-)
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation
#1 lore raw

RFC 1/21 drm/cirrus: Remove FB_KMS_HELPER and FB related config options

Remove FB_* config options since the driver doesn't call any fbdev functions directly.

Remove FB_KMS_HELPER as this would now be selected by the top level FBDEV_EMULATION config option. If the fbdev emulation isn't selected, the drm_fb_helper functions will be stubbed out.

Cc Thierry Reding <[email protected]>
Cc Zach Reizner <[email protected]>
Cc Russell King <[email protected]>
Cc Fabian Frederick <[email protected]>
---
 drivers/gpu/drm/cirrus/Kconfig | 4 ----
 1 file changed, 4 deletions(-)
drivers/gpu/drm/cirrus/Kconfig +0 -4
index 9864559..04b3c16 100644
@@ -1,11 +1,7 @@
 config DRM_CIRRUS_QEMU
 	tristate "Cirrus driver for QEMU emulated device"
 	depends on DRM && PCI
-	select FB_SYS_FILLRECT
-	select FB_SYS_COPYAREA
-	select FB_SYS_IMAGEBLIT
 	select DRM_KMS_HELPER
-	select DRM_KMS_FB_HELPER
 	select DRM_TTM
 	help
 	 This is a KMS driver for emulated cirrus device in qemu.
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation
#2 lore raw

RFC 2/21 drm/rockchip: Remove FB_KMS_HELPER and FB related config options

In reply to Archit Taneja

Remove FB_* config options since the driver doesn't call any fbdev functions directly.

Remove FB_KMS_HELPER as this would now be selected by the top level FBDEV_EMULATION config option. If the fbdev emulation isn't selected, the drm_fb_helper functions will be stubbed out.

Cc Mark Yao <[email protected]>
Cc Daniel Vetter <[email protected]>
Cc Rob Clark <[email protected]>
Cc Daniel Kurtz <[email protected]>
---
 drivers/gpu/drm/rockchip/Kconfig | 4 ----
 1 file changed, 4 deletions(-)
drivers/gpu/drm/rockchip/Kconfig +0 -4
index 35215f6..65d5fdd 100644
@@ -3,11 +3,7 @@ config DRM_ROCKCHIP
 	depends on DRM && ROCKCHIP_IOMMU
 	depends on RESET_CONTROLLER
 	select DRM_KMS_HELPER
-	select DRM_KMS_FB_HELPER
 	select DRM_PANEL
-	select FB_CFB_FILLRECT
-	select FB_CFB_COPYAREA
-	select FB_CFB_IMAGEBLIT
 	select VIDEOMODE_HELPERS
 	help
 	  Choose this option if you have a Rockchip soc chipset.
Signature · 7 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation

_______________________________________________
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel
#3 lore raw

RFC 3/21 drm/armada: Remove FB_KMS_HELPER and FB related config options

In reply to Archit Taneja

Remove FB_* config options since the driver doesn't call any fbdev functions directly.

Remove FB_KMS_HELPER as this would now be selected by the top level FBDEV_EMULATION config option. If the fbdev emulation isn't selected, the drm_fb_helper functions will be stubbed out.

Cc Russell King <[email protected]>
---
 drivers/gpu/drm/armada/Kconfig | 4 ----
 1 file changed, 4 deletions(-)
drivers/gpu/drm/armada/Kconfig +0 -4
index 50ae88a..c31454d 100644
@@ -1,11 +1,7 @@
 config DRM_ARMADA
 	tristate "DRM support for Marvell Armada SoCs"
 	depends on DRM && HAVE_CLK && ARM
-	select FB_CFB_FILLRECT
-	select FB_CFB_COPYAREA
-	select FB_CFB_IMAGEBLIT
 	select DRM_KMS_HELPER
-	select DRM_KMS_FB_HELPER
 	help
 	  Support the "LCD" controllers found on the Marvell Armada 510
 	  devices.  There are two controllers on the device, each controller
Signature · 7 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation

_______________________________________________
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel
#4 lore raw

RFC 4/21 drm/ast: Remove FB_KMS_HELPER and FB related config options

In reply to Archit Taneja

Remove FB_* config options since the driver doesn't call any fbdev functions directly.

Remove FB_KMS_HELPER as this would now be selected by the top level FBDEV_EMULATION config option. If the fbdev emulation isn't selected, the drm_fb_helper functions will be stubbed out.

Cc David Airlie <[email protected]>
Cc "Y.C. Chen" <[email protected]>
Cc Alex Deucher <[email protected]>
---
 drivers/gpu/drm/ast/Kconfig | 4 ----
 1 file changed, 4 deletions(-)
drivers/gpu/drm/ast/Kconfig +0 -4
index 8a784c4..15f6ce7 100644
@@ -2,11 +2,7 @@ config DRM_AST
 	tristate "AST server chips"
 	depends on DRM && PCI
 	select DRM_TTM
-	select FB_SYS_COPYAREA
-	select FB_SYS_FILLRECT
-	select FB_SYS_IMAGEBLIT
 	select DRM_KMS_HELPER
-	select DRM_KMS_FB_HELPER
 	select DRM_TTM
 	help
 	 Say yes for experimental AST GPU driver. Do not enable
Signature · 7 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation

_______________________________________________
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel
#5 lore raw

RFC 5/21 drm/omap: Remove FB_KMS_HELPER and FB related config options

In reply to Archit Taneja

Remove FB_* config options since the driver doesn't call any fbdev functions directly.

Remove FB_KMS_HELPER as this would now be selected by the top level FBDEV_EMULATION config option. If the fbdev emulation isn't selected, the drm_fb_helper functions will be stubbed out.

Cc Tomi Valkeinen <[email protected]>
Cc Laurent Pinchart <[email protected]>
---
 drivers/gpu/drm/omapdrm/Kconfig | 5 -----
 1 file changed, 5 deletions(-)
drivers/gpu/drm/omapdrm/Kconfig +0 -5
index 6c220cd..340ece7 100644
@@ -5,11 +5,6 @@ config DRM_OMAP
 	depends on ARCH_OMAP2PLUS || ARCH_MULTIPLATFORM
 	depends on OMAP2_DSS
 	select DRM_KMS_HELPER
-	select DRM_KMS_FB_HELPER
-	select FB_SYS_FILLRECT
-	select FB_SYS_COPYAREA
-	select FB_SYS_IMAGEBLIT
-	select FB_SYS_FOPS
 	default n
 	help
 	  DRM display driver for OMAP2/3/4 based boards.
Signature · 7 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation

_______________________________________________
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel
Acked-by on v1 5/21
#6 lore raw

Re: [RFC 05/21] drm/omap: Remove FB_KMS_HELPER and FB related config options

Hi Archit,

Thank you for the patch.

Quoted 11 lines · On Monday 13 July 2015 12:13:52 Archit Taneja wrote:

Remove FB_* config options since the driver doesn't call any fbdev functions directly.

Remove FB_KMS_HELPER as this would now be selected by the top level FBDEV_EMULATION config option. If the fbdev emulation isn't selected, the drm_fb_helper functions will be stubbed out.

Cc Tomi Valkeinen <[email protected]>
Cc Laurent Pinchart <[email protected]>

I like that, one step closer to removing fbdev altogether (even if there are many steps left) :-)

Quoted 20 lines
---
 drivers/gpu/drm/omapdrm/Kconfig | 5 -----
 1 file changed, 5 deletions(-)
(quoted diff) +0 -0

b/drivers/gpu/drm/omapdrm/Kconfig index 6c220cd..340ece7 100644

drivers/gpu/drm/omapdrm/Kconfig +0 -5
@@ -5,11 +5,6 @@ config DRM_OMAP
 	depends on ARCH_OMAP2PLUS || ARCH_MULTIPLATFORM
 	depends on OMAP2_DSS
 	select DRM_KMS_HELPER
-	select DRM_KMS_FB_HELPER
-	select FB_SYS_FILLRECT
-	select FB_SYS_COPYAREA
-	select FB_SYS_IMAGEBLIT
-	select FB_SYS_FOPS
 	default n
 	help
 	  DRM display driver for OMAP2/3/4 based boards.
Signature · 3 lines
Regards,

Laurent Pinchart
#7 lore raw

Re: [RFC 05/21] drm/omap: Remove FB_KMS_HELPER and FB related config options

Quoted 15 lines · Laurent Pinchart

Hi Archit,

Thank you for the patch.

Quoted 10 lines · On Monday 13 July 2015 12:13:52 Archit Taneja wrote:

Remove FB_* config options since the driver doesn't call any fbdev functions directly.

Remove FB_KMS_HELPER as this would now be selected by the top level FBDEV_EMULATION config option. If the fbdev emulation isn't selected, the drm_fb_helper functions will be stubbed out.

Cc Tomi Valkeinen <[email protected]>
Cc Laurent Pinchart <[email protected]>
Quoted 6 lines
Quoted 1 line

I like that, one step closer to removing fbdev altogether (even if there are many steps left) :-)

Thanks for the Acks. I'll use them when I post again.

Archit

Signature · 2 lines
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project
#8 lore raw

RFC 6/21 drm/exynos: Remove FB_KMS_HELPER and FB related config options

In reply to Archit Taneja

Remove FB_* config options since the driver doesn't call any fbdev functions directly.

Remove FB_KMS_HELPER as this would now be selected by the top level FBDEV_EMULATION config option. If the fbdev emulation isn't selected, the drm_fb_helper functions will be stubbed out.

Cc Inki Dae <[email protected]>
Cc Joonyoung Shim <[email protected]>
Cc Seung-Woo Kim <[email protected]>
---
 drivers/gpu/drm/exynos/Kconfig | 6 ------
 1 file changed, 6 deletions(-)
drivers/gpu/drm/exynos/Kconfig +0 -6
index 43003c4..d253007 100644
@@ -2,10 +2,6 @@ config DRM_EXYNOS
 	tristate "DRM Support for Samsung SoC EXYNOS Series"
 	depends on OF && DRM && (PLAT_SAMSUNG || ARCH_MULTIPLATFORM)
 	select DRM_KMS_HELPER
-	select DRM_KMS_FB_HELPER
-	select FB_CFB_FILLRECT
-	select FB_CFB_COPYAREA
-	select FB_CFB_IMAGEBLIT
 	select VIDEOMODE_HELPERS
 	help
 	  Choose this option if you have a Samsung SoC EXYNOS chipset.
@@ -19,7 +15,6 @@ config DRM_EXYNOS_IOMMU
 config DRM_EXYNOS_FIMD
 	bool "Exynos DRM FIMD"
 	depends on DRM_EXYNOS && !FB_S3C
-	select FB_MODE_HELPERS
 	select MFD_SYSCON
 	help
 	  Choose this option if you want to use Exynos FIMD for DRM.
@@ -33,7 +28,6 @@ config DRM_EXYNOS5433_DECON
 config DRM_EXYNOS7_DECON
 	bool "Exynos7 DRM DECON"
 	depends on DRM_EXYNOS && !FB_S3C
-	select FB_MODE_HELPERS
 	help
 	  Choose this option if you want to use Exynos DECON for DRM.
 
Signature · 7 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation

_______________________________________________
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel
#9 lore raw

RFC 7/21 drm/gma500: Remove FB_KMS_HELPER and FB related config options

In reply to Archit Taneja

Remove FB_* config options since the driver doesn't call any fbdev functions directly.

Remove FB_KMS_HELPER as this would now be selected by the top level FBDEV_EMULATION config option. If the fbdev emulation isn't selected, the drm_fb_helper functions will be stubbed out.

Cc Daniel Vetter <[email protected]>
Cc Patrik Jakobsson <[email protected]>
---
 drivers/gpu/drm/gma500/Kconfig | 4 ----
 1 file changed, 4 deletions(-)
drivers/gpu/drm/gma500/Kconfig +0 -4
index 17f928e..8906d67 100644
@@ -1,11 +1,7 @@
 config DRM_GMA500
 	tristate "Intel GMA5/600 KMS Framebuffer"
 	depends on DRM && PCI && X86
-	select FB_CFB_COPYAREA
-	select FB_CFB_FILLRECT
-	select FB_CFB_IMAGEBLIT
 	select DRM_KMS_HELPER
-	select DRM_KMS_FB_HELPER
 	select DRM_TTM
 	# GMA500 depends on ACPI_VIDEO when ACPI is enabled, just like i915
 	select ACPI_VIDEO if ACPI
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation
#10 lore raw

RFC 8/21 drm/mgag200: Remove FB_KMS_HELPER and FB related config options

In reply to Archit Taneja

Remove FB_* config options since the driver doesn't call any fbdev functions directly.

Remove FB_KMS_HELPER as this would now be selected by the top level FBDEV_EMULATION config option. If the fbdev emulation isn't selected, the drm_fb_helper functions will be stubbed out.

Cc Daniel Vetter <[email protected]>
Cc David Airlie <[email protected]>
Cc Alex Deucher <[email protected]>
---
 drivers/gpu/drm/mgag200/Kconfig | 4 ----
 1 file changed, 4 deletions(-)
drivers/gpu/drm/mgag200/Kconfig +0 -4
index 3a1c5fb..520e5e6 100644
@@ -1,11 +1,7 @@
 config DRM_MGAG200
 	tristate "Kernel modesetting driver for MGA G200 server engines"
 	depends on DRM && PCI
-	select FB_SYS_FILLRECT
-	select FB_SYS_COPYAREA
-	select FB_SYS_IMAGEBLIT
 	select DRM_KMS_HELPER
-	select DRM_KMS_FB_HELPER
 	select DRM_TTM
 	help
 	 This is a KMS driver for the MGA G200 server chips, it
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation
#11 lore raw

RFC 9/21 drm/radeon: Remove FB_KMS_HELPER and FB related config options

In reply to Archit Taneja

Remove FB_* config options since the driver doesn't call any fbdev functions directly.

Remove FB_KMS_HELPER as this would now be selected by the top level FBDEV_EMULATION config option. If the fbdev emulation isn't selected, the drm_fb_helper functions will be stubbed out.

Cc Alex Deucher <[email protected]>
Cc "Christian König" <[email protected]>
---
 drivers/gpu/drm/radeon/Kconfig | 4 ----
 1 file changed, 4 deletions(-)
drivers/gpu/drm/radeon/Kconfig +0 -4
index 82c623b..3f1af32 100644
@@ -1,12 +1,8 @@
 config DRM_RADEON
 	tristate "ATI Radeon"
 	depends on DRM && PCI
-	select FB_CFB_FILLRECT
-	select FB_CFB_COPYAREA
-	select FB_CFB_IMAGEBLIT
 	select FW_LOADER
         select DRM_KMS_HELPER
-	select DRM_KMS_FB_HELPER
         select DRM_TTM
 	select POWER_SUPPLY
 	select HWMON
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation
#12 lore raw

RFC 10/21 drm/qxl: Remove FB_KMS_HELPER and FB related config options

In reply to Archit Taneja

Remove FB_* config options since the driver doesn't call any fbdev functions directly.

Remove FB_KMS_HELPER as this would now be selected by the top level FBDEV_EMULATION config option. If the fbdev emulation isn't selected, the drm_fb_helper functions will be stubbed out.

The code relying on DEFERRED_IO can't be stubbed out using drm_fb_helper functions. This is because the deferred io members in fbdev core structs are defined based on whether FB_DEFERRED_IO is defined or not.

For now, wrap around deferred io code with an #ifdef check for CONFIG_DEFERRED_IO. We could consider creating stub fb helper functions here, but this would require some changes in the core fbdev structs.

Cc David Airlie <[email protected]>
Cc Frediano Ziglio <[email protected]>
Cc Maarten Lankhorst <[email protected]>
---
 drivers/gpu/drm/qxl/Kconfig  | 5 -----
 drivers/gpu/drm/qxl/qxl_fb.c | 4 ++++
 2 files changed, 4 insertions(+), 5 deletions(-)
drivers/gpu/drm/qxl/Kconfig +0 -5
index 38c2bb7..da45b11 100644
@@ -1,12 +1,7 @@
 config DRM_QXL
 	tristate "QXL virtual GPU"
 	depends on DRM && PCI
-	select FB_SYS_FILLRECT
-	select FB_SYS_COPYAREA
-	select FB_SYS_IMAGEBLIT
-	select FB_DEFERRED_IO
 	select DRM_KMS_HELPER
-	select DRM_KMS_FB_HELPER
 	select DRM_TTM
 	select CRC32
 	help
drivers/gpu/drm/qxl/qxl_fb.c +4 -0
index 41c422f..9391dfe 100644
@@ -163,6 +163,7 @@ static void qxl_dirty_update(struct qxl_fbdev *qfbdev,
 	schedule_work(&qdev->fb_work);
 }
 
+#ifdef CONFIG_FB_DEFERRED_IO
 static void qxl_deferred_io(struct fb_info *info,
 			    struct list_head *pagelist)
 {
@@ -191,6 +192,7 @@ static struct fb_deferred_io qxl_defio = {
 	.delay		= QXL_DIRTY_DELAY,
 	.deferred_io	= qxl_deferred_io,
 };
+#endif
 
 static void qxl_fb_fillrect(struct fb_info *info,
 			    const struct fb_fillrect *rect)
@@ -420,8 +422,10 @@ static int qxlfb_create(struct qxl_fbdev *qfbdev,
 		goto out_destroy_fbi;
 	}
 
+#ifdef CONFIG_FB_DEFERRED_IO
 	info->fbdefio = &qxl_defio;
 	fb_deferred_io_init(info);
+#endif
 
 	qdev->fbdev_info = info;
 	qdev->fbdev_qfb = &qfbdev->qfb;
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation
#13 lore raw

Re: [RFC 10/21] drm/qxl: Remove FB_KMS_HELPER and FB related config options

Quoted 7 lines · Archit Taneja

Remove FB_* config options since the driver doesn't call any fbdev functions directly.

Remove FB_KMS_HELPER as this would now be selected by the top level FBDEV_EMULATION config option. If the fbdev emulation isn't selected, the drm_fb_helper functions will be stubbed out.

Quoted 7 lines

The code relying on DEFERRED_IO can't be stubbed out using drm_fb_helper functions. This is because the deferred io members in fbdev core structs are defined based on whether FB_DEFERRED_IO is defined or not.

For now, wrap around deferred io code with an #ifdef check for CONFIG_DEFERRED_IO. We could consider creating stub fb helper functions here, but this would require some changes in the core fbdev structs.

Yeah if more drivers grow a ->dirty callback that does something we'd probably want to pull all that code out of qxl/udl into core fbdev. i915 now also has a dirty callback, but for fbcon we're going with a slightly different options: Since all our frontbuffer dirtying are for optional features we just disable them right now.

Anyway just an idea for future patches when someone works in this area. For now I think we simply have to select the relevant options if FBDEV emulation is enabled.

Quoted 16 lines
Cc David Airlie <[email protected]>
Cc Frediano Ziglio <[email protected]>
Cc Maarten Lankhorst <[email protected]>
---
 drivers/gpu/drm/qxl/Kconfig  | 5 -----
 drivers/gpu/drm/qxl/qxl_fb.c | 4 ++++
 2 files changed, 4 insertions(+), 5 deletions(-)
drivers/gpu/drm/qxl/Kconfig +0 -0
index 38c2bb7..da45b11 100644

drivers/gpu/drm/qxl/Kconfig line 7

Quoted 7 lines
drivers/gpu/drm/qxl/Kconfig +0 -4
@@ -1,12 +1,7 @@
 config DRM_QXL
 	tristate "QXL virtual GPU"
 	depends on DRM && PCI
-	select FB_SYS_FILLRECT
-	select FB_SYS_COPYAREA
-	select FB_SYS_IMAGEBLIT
-	select FB_DEFERRED_IO

I.e.
select FB_DEFERRED_IO if DRM_FBDEV_EMULATION

Quoted 10 lines
drivers/gpu/drm/qxl/Kconfig +0 -1
 	select DRM_KMS_HELPER
-	select DRM_KMS_FB_HELPER
 	select DRM_TTM
 	select CRC32
 	help
drivers/gpu/drm/qxl/qxl_fb.c +0 -0
index 41c422f..9391dfe 100644

drivers/gpu/drm/qxl/qxl_fb.c static void qxl_dirty_update(struct qxl_fbdev *qfbdev, · line 166

Quoted 4 lines
drivers/gpu/drm/qxl/qxl_fb.c +1 -0
@@ -163,6 +163,7 @@ static void qxl_dirty_update(struct qxl_fbdev *qfbdev,
 	schedule_work(&qdev->fb_work);
 }
 
+#ifdef CONFIG_FB_DEFERRED_IO

and using CONFIG_DMR_FBDEV_EMULATION here instead. Same for udl changes. -Daniel

Quoted 26 lines
drivers/gpu/drm/qxl/qxl_fb.c +3 -0
 static void qxl_deferred_io(struct fb_info *info,
 			    struct list_head *pagelist)
 {
@@ -191,6 +192,7 @@ static struct fb_deferred_io qxl_defio = {
 	.delay		= QXL_DIRTY_DELAY,
 	.deferred_io	= qxl_deferred_io,
 };
+#endif
 
 static void qxl_fb_fillrect(struct fb_info *info,
 			    const struct fb_fillrect *rect)
@@ -420,8 +422,10 @@ static int qxlfb_create(struct qxl_fbdev *qfbdev,
 		goto out_destroy_fbi;
 	}
 
+#ifdef CONFIG_FB_DEFERRED_IO
 	info->fbdefio = &qxl_defio;
 	fb_deferred_io_init(info);
+#endif
 
 	qdev->fbdev_info = info;
 	qdev->fbdev_qfb = &qfbdev->qfb;
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation
Signature · 3 lines
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
#14 lore raw

RFC 11/21 drm/nouveau: Remove FB_KMS_HELPER and FB related config options

In reply to Archit Taneja

Remove FB_* config options since the driver doesn't call any fbdev functions directly.

Remove FB_KMS_HELPER as this would now be selected by the top level FBDEV_EMULATION config option. If the fbdev emulation isn't selected, the drm_fb_helper functions will be stubbed out.

Removing FB_BACKLIGHT gives dependency issues. For now, make the driver depend on DRM_FBDEV_EMULATION config option. We should remove this once the driver can work without FB_BACKLIGHT too.

Cc David Airlie <[email protected]>
Cc Ben Skeggs <[email protected]>
Cc Alexandre Courbot <[email protected]>
---
 drivers/gpu/drm/nouveau/Kconfig | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)
drivers/gpu/drm/nouveau/Kconfig +1 -6
index 5ab13e7..f7e275a6 100644
@@ -1,15 +1,10 @@
 config DRM_NOUVEAU
 	tristate "Nouveau (NVIDIA) cards"
 	depends on DRM && PCI
+	depends on DRM_FBDEV_EMULATION
         select FW_LOADER
 	select DRM_KMS_HELPER
-	select DRM_KMS_FB_HELPER
 	select DRM_TTM
-	select FB_CFB_FILLRECT
-	select FB_CFB_COPYAREA
-	select FB_CFB_IMAGEBLIT
-	select FB
-	select FRAMEBUFFER_CONSOLE if !EXPERT
 	select FB_BACKLIGHT if DRM_NOUVEAU_BACKLIGHT
 	select ACPI_VIDEO if ACPI && X86 && BACKLIGHT_CLASS_DEVICE && INPUT
 	select X86_PLATFORM_DEVICES if ACPI && X86
Signature · 7 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation

_______________________________________________
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel
#15 lore raw

RFC 12/21 drm/udl: Remove FB_KMS_HELPER and FB related config options

In reply to Archit Taneja

Remove FB_* config options since the driver doesn't call any fbdev functions directly.

Remove FB_KMS_HELPER as this would now be selected by the top level FBDEV_EMULATION config option. If the fbdev emulation isn't selected, the drm_fb_helper functions will be stubbed out.

The code relying on DEFERRED_IO can't be stubbed out using drm_fb_helper functions. This is because the deferred io members in fbdev core structs are defined based on whether FB_DEFERRED_IO is defined or not.

For now, wrap around deferred io code with an #ifdef check for CONFIG_DEFERRED_IO. We could consider creating stub fb helper functions here, but this would require some changes in the core fbdev structs.

Cc David Airlie <[email protected]>
Cc Haixia Shi <[email protected]>
Cc "Stéphane Marchesin" <[email protected]>
---
 drivers/gpu/drm/udl/Kconfig  |  5 -----
 drivers/gpu/drm/udl/udl_fb.c | 10 ++++++++++
 2 files changed, 10 insertions(+), 5 deletions(-)
drivers/gpu/drm/udl/Kconfig +0 -5
index 613ab06..1616ec4 100644
@@ -4,12 +4,7 @@ config DRM_UDL
 	depends on USB_SUPPORT
 	depends on USB_ARCH_HAS_HCD
 	select USB
-	select FB_SYS_FILLRECT
-	select FB_SYS_COPYAREA
-	select FB_SYS_IMAGEBLIT
-	select FB_DEFERRED_IO
 	select DRM_KMS_HELPER
-        select DRM_KMS_FB_HELPER
 	help
 	  This is a KMS driver for the USB displaylink video adapters.
           Say M/Y to add support for these devices via drm/kms interfaces.
drivers/gpu/drm/udl/udl_fb.c +10 -0
index 9fd6e83..4aa5118d 100644
@@ -24,11 +24,15 @@
 
 #define DL_DEFIO_WRITE_DELAY    (HZ/20) /* fb_deferred_io.delay in jiffies */
 
+#ifdef CONFIG_FB_DEFERRED_IO
 static int fb_defio = 0;  /* Optionally enable experimental fb_defio mmap support */
+#endif
 static int fb_bpp = 16;
 
 module_param(fb_bpp, int, S_IWUSR | S_IRUSR | S_IWGRP | S_IRGRP);
+#ifdef CONFIG_FB_DEFERRED_IO
 module_param(fb_defio, int, S_IWUSR | S_IRUSR | S_IWGRP | S_IRGRP);
+#endif
 
 struct udl_fbdev {
 	struct drm_fb_helper helper;
@@ -78,6 +82,7 @@ static uint16_t rgb16(uint32_t col)
 }
 #endif
 
+#ifdef CONFIG_FB_DEFERRED_IO
 /*
  * NOTE: fb_defio.c is holding info->fbdefio.mutex
  *   Touching ANY framebuffer memory that triggers a page fault
@@ -139,6 +144,7 @@ error:
 		    >> 10)), /* Kcycles */
 		   &udl->cpu_kcycles_used);
 }
+#endif
 
 int udl_handle_damage(struct udl_framebuffer *fb, int x, int y,
 		      int width, int height)
@@ -331,6 +337,7 @@ static int udl_fb_open(struct fb_info *info, int user)
 
 	ufbdev->fb_count++;
 
+#ifdef CONFIG_FB_DEFERRED_IO
 	if (fb_defio && (info->fbdefio == NULL)) {
 		/* enable defio at last moment if not disabled by client */
 
@@ -346,6 +353,7 @@ static int udl_fb_open(struct fb_info *info, int user)
 		info->fbdefio = fbdefio;
 		fb_deferred_io_init(info);
 	}
+#endif
 
 	pr_notice("open /dev/fb%d user=%d fb_info=%p count=%d\n",
 		  info->node, user, info, ufbdev->fb_count);
@@ -363,12 +371,14 @@ static int udl_fb_release(struct fb_info *info, int user)
 
 	ufbdev->fb_count--;
 
+#ifdef CONFIG_FB_DEFERRED_IO
 	if ((ufbdev->fb_count == 0) && (info->fbdefio)) {
 		fb_deferred_io_cleanup(info);
 		kfree(info->fbdefio);
 		info->fbdefio = NULL;
 		info->fbops->fb_mmap = udl_fb_mmap;
 	}
+#endif
 
 	pr_warn("released /dev/fb%d user=%d count=%d\n",
 		info->node, user, ufbdev->fb_count);
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation
#16 lore raw

RFC 13/21 drm/bochs: Remove FB_KMS_HELPER and FB related config options

In reply to Archit Taneja

Remove FB_* config options since the driver doesn't call any fbdev functions directly.

Remove FB_KMS_HELPER as this would now be selected by the top level FBDEV_EMULATION config option. If the fbdev emulation isn't selected, the drm_fb_helper functions will be stubbed out.

Cc David Airlie <[email protected]>
Cc Gerd Hoffmann <[email protected]>
Cc Daniel Vetter <[email protected]>
---
 drivers/gpu/drm/bochs/Kconfig | 4 ----
 1 file changed, 4 deletions(-)
drivers/gpu/drm/bochs/Kconfig +0 -4
index 5f8b0c2..f739763 100644
@@ -2,10 +2,6 @@ config DRM_BOCHS
 	tristate "DRM Support for bochs dispi vga interface (qemu stdvga)"
 	depends on DRM && PCI
 	select DRM_KMS_HELPER
-	select DRM_KMS_FB_HELPER
-	select FB_SYS_FILLRECT
-	select FB_SYS_COPYAREA
-	select FB_SYS_IMAGEBLIT
 	select DRM_TTM
 	help
 	  Choose this option for qemu.
Signature · 7 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation

_______________________________________________
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel
#17 lore raw

RFC 14/21 drm/amdgpu: Remove FB_KMS_HELPER and FB related config options

In reply to Archit Taneja

Remove FB_* config options since the driver doesn't call any fbdev functions directly.

Remove FB_KMS_HELPER as this would now be selected by the top level FBDEV_EMULATION config option. If the fbdev emulation isn't selected, the drm_fb_helper functions will be stubbed out.

Cc Alex Deucher <[email protected]>
Cc Oded Gabbay <[email protected]>
Cc "Christian König" <[email protected]>
---
 drivers/gpu/drm/amd/amdgpu/Kconfig | 4 ----
 1 file changed, 4 deletions(-)
drivers/gpu/drm/amd/amdgpu/Kconfig +0 -4
index da7dcbf..2396482 100644
@@ -1,12 +1,8 @@
 config DRM_AMDGPU
 	tristate "AMD GPU"
 	depends on DRM && PCI
-	select FB_CFB_FILLRECT
-	select FB_CFB_COPYAREA
-	select FB_CFB_IMAGEBLIT
 	select FW_LOADER
         select DRM_KMS_HELPER
-	select DRM_KMS_FB_HELPER
         select DRM_TTM
 	select POWER_SUPPLY
 	select HWMON
Signature · 7 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation

_______________________________________________
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel
#18 lore raw

RFC 15/21 drm/virtio: Remove FB_KMS_HELPER and FB related config options

In reply to Archit Taneja

Remove FB_* config options since the driver doesn't call any fbdev functions directly.

Remove FB_KMS_HELPER as this would now be selected by the top level FBDEV_EMULATION config option. If the fbdev emulation isn't selected, the drm_fb_helper functions will be stubbed out.

Cc David Airlie <[email protected]>
Cc Gerd Hoffmann <[email protected]>
---
 drivers/gpu/drm/virtio/Kconfig | 4 ----
 1 file changed, 4 deletions(-)
drivers/gpu/drm/virtio/Kconfig +0 -4
index 9983ead..e1afc3d 100644
@@ -1,11 +1,7 @@
 config DRM_VIRTIO_GPU
 	tristate "Virtio GPU driver"
 	depends on DRM && VIRTIO
-	select FB_SYS_FILLRECT
-	select FB_SYS_COPYAREA
-	select FB_SYS_IMAGEBLIT
         select DRM_KMS_HELPER
-        select DRM_KMS_FB_HELPER
         select DRM_TTM
 	help
 	   This is the virtual GPU driver for virtio.  It can be used with
Signature · 7 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation

_______________________________________________
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel
#19 lore raw

RFC 16/21 drm/fb_cma_helper: Remove FB_KMS_HELPER and FB related config options

In reply to Archit Taneja

Remove FB_* config options since the helper doesn't call any fbdev functions directly.

Remove FB_KMS_HELPER as this would now be selected by the top level FBDEV_EMULATION config option. If the fbdev emulation isn't selected, the drm_fb_helper functions will be stubbed out.

Cc Lars-Peter Clausen <[email protected]>
Cc Daniel Vetter <[email protected]>
---
 drivers/gpu/drm/Kconfig | 4 ----
 1 file changed, 4 deletions(-)
drivers/gpu/drm/Kconfig +0 -4
index 8fd670b..3e540e3 100644
@@ -89,10 +89,6 @@ config DRM_KMS_CMA_HELPER
 	bool
 	depends on DRM && HAVE_DMA_ATTRS
 	select DRM_GEM_CMA_HELPER
-	select DRM_KMS_FB_HELPER
-	select FB_SYS_FILLRECT
-	select FB_SYS_COPYAREA
-	select FB_SYS_IMAGEBLIT
 	help
 	  Choose this if you need the KMS CMA helper functions
 
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation
#20 lore raw

RFC 17/21 drm/atmel-hlcdc: Remove FB_KMS_HELPER config option

In reply to Archit Taneja

The driver internally uses drm_fb_cma helpers to emulate fbdev and allocate buffers. It doesn't need to select DRM_FB_KMS_HELPER. This will be managed by the config option DRM_KMS_CMA_HELPER.

Cc Boris Brezillon <[email protected]>
Cc Sylvain Rochet <[email protected]>
Cc Nicolas Ferre <[email protected]>
---
 drivers/gpu/drm/atmel-hlcdc/Kconfig | 1 -
 1 file changed, 1 deletion(-)
drivers/gpu/drm/atmel-hlcdc/Kconfig +0 -1
index 99b4f06..32bcc4b 100644
@@ -3,7 +3,6 @@ config DRM_ATMEL_HLCDC
 	depends on DRM && OF && COMMON_CLK && MFD_ATMEL_HLCDC && ARM
 	select DRM_GEM_CMA_HELPER
 	select DRM_KMS_HELPER
-	select DRM_KMS_FB_HELPER
 	select DRM_KMS_CMA_HELPER
 	select DRM_PANEL
 	help
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation
#21 lore raw

RFC 18/21 drm/imx: Remove FB_KMS_HELPER config option

In reply to Archit Taneja

The driver internally uses drm_fb_cma helpers to emulate fbdev and allocate buffers. It doesn't need to select DRM_FB_KMS_HELPER. This will be managed by the config option DRM_KMS_CMA_HELPER.

Cc Philipp Zabel <[email protected]>
---
 drivers/gpu/drm/imx/Kconfig | 1 -
 1 file changed, 1 deletion(-)
drivers/gpu/drm/imx/Kconfig +0 -1
index 35ca4f0..33ae36d 100644
@@ -1,7 +1,6 @@
 config DRM_IMX
 	tristate "DRM Support for Freescale i.MX"
 	select DRM_KMS_HELPER
-	select DRM_KMS_FB_HELPER
 	select VIDEOMODE_HELPERS
 	select DRM_GEM_CMA_HELPER
 	select DRM_KMS_CMA_HELPER
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation
#22 lore raw

RFC 19/21 drm/rcar-du: Remove FB_KMS_HELPER config option

In reply to Archit Taneja

The driver internally uses drm_fb_cma helpers to emulate fbdev and allocate buffers. It doesn't need to select DRM_FB_KMS_HELPER. This will be managed by the config option DRM_KMS_CMA_HELPER.

Cc Laurent Pinchart <[email protected]>
---
 drivers/gpu/drm/rcar-du/Kconfig | 1 -
 1 file changed, 1 deletion(-)
drivers/gpu/drm/rcar-du/Kconfig +0 -1
index 11485a4..9de5872 100644
@@ -5,7 +5,6 @@ config DRM_RCAR_DU
 	select DRM_KMS_HELPER
 	select DRM_KMS_CMA_HELPER
 	select DRM_GEM_CMA_HELPER
-	select DRM_KMS_FB_HELPER
 	select VIDEOMODE_HELPERS
 	help
 	  Choose this option if you have an R-Car chipset.
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation
Acked-by on v1 19/21
#23 lore raw

Re: [RFC 19/21] drm/rcar-du: Remove FB_KMS_HELPER config option

Hi Archit,

Thank you for the patch.

Quoted 7 lines · On Monday 13 July 2015 12:14:06 Archit Taneja wrote:

The driver internally uses drm_fb_cma helpers to emulate fbdev and allocate buffers. It doesn't need to select DRM_FB_KMS_HELPER. This will be managed by the config option DRM_KMS_CMA_HELPER.

Cc Laurent Pinchart <[email protected]>
Quoted 16 lines
---
 drivers/gpu/drm/rcar-du/Kconfig | 1 -
 1 file changed, 1 deletion(-)
(quoted diff) +0 -0

b/drivers/gpu/drm/rcar-du/Kconfig index 11485a4..9de5872 100644

drivers/gpu/drm/rcar-du/Kconfig +0 -1
@@ -5,7 +5,6 @@ config DRM_RCAR_DU
 	select DRM_KMS_HELPER
 	select DRM_KMS_CMA_HELPER
 	select DRM_GEM_CMA_HELPER
-	select DRM_KMS_FB_HELPER
 	select VIDEOMODE_HELPERS
 	help
 	  Choose this option if you have an R-Car chipset.
Signature · 3 lines
Regards,

Laurent Pinchart
#24 lore raw

RFC 20/21 drm/shmobile: Remove FB_KMS_HELPER config option

In reply to Archit Taneja

The driver internally uses drm_fb_cma helpers to emulate fbdev and allocate buffers. It doesn't need to select DRM_FB_KMS_HELPER. This will be managed by the config option DRM_KMS_CMA_HELPER.

Cc Laurent Pinchart <[email protected]>
---
 drivers/gpu/drm/shmobile/Kconfig | 1 -
 1 file changed, 1 deletion(-)
drivers/gpu/drm/shmobile/Kconfig +0 -1
index b9202aa..389b5f9 100644
@@ -6,7 +6,6 @@ config DRM_SHMOBILE
 	select BACKLIGHT_CLASS_DEVICE
 	select BACKLIGHT_LCD_SUPPORT
 	select DRM_KMS_HELPER
-	select DRM_KMS_FB_HELPER
 	select DRM_KMS_CMA_HELPER
 	select DRM_GEM_CMA_HELPER
 	help
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation
Acked-by on v1 20/21
#25 lore raw

Re: [RFC 20/21] drm/shmobile: Remove FB_KMS_HELPER config option

Hi Archit,

Thank you for the patch.

Quoted 7 lines · On Monday 13 July 2015 12:14:07 Archit Taneja wrote:

The driver internally uses drm_fb_cma helpers to emulate fbdev and allocate buffers. It doesn't need to select DRM_FB_KMS_HELPER. This will be managed by the config option DRM_KMS_CMA_HELPER.

Cc Laurent Pinchart <[email protected]>
Quoted 16 lines
---
 drivers/gpu/drm/shmobile/Kconfig | 1 -
 1 file changed, 1 deletion(-)
(quoted diff) +0 -0

b/drivers/gpu/drm/shmobile/Kconfig index b9202aa..389b5f9 100644

drivers/gpu/drm/shmobile/Kconfig +0 -1
@@ -6,7 +6,6 @@ config DRM_SHMOBILE
 	select BACKLIGHT_CLASS_DEVICE
 	select BACKLIGHT_LCD_SUPPORT
 	select DRM_KMS_HELPER
-	select DRM_KMS_FB_HELPER
 	select DRM_KMS_CMA_HELPER
 	select DRM_GEM_CMA_HELPER
 	help
Signature · 8 lines
Regards,

Laurent Pinchart

_______________________________________________
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel
#26 lore raw

RFC 21/21 drm/tilcdc: Remove FB_KMS_HELPER config option

In reply to Archit Taneja

The driver internally uses drm_fb_cma helpers to emulate fbdev and allocate buffers. It doesn't need to select DRM_FB_KMS_HELPER. This will be managed by the config option DRM_KMS_CMA_HELPER.

Cc Ezequiel Garcia <[email protected]>
Cc Tomi Valkeinen <[email protected]>
Cc Jyri Sarha <[email protected]>
---
 drivers/gpu/drm/tilcdc/Kconfig | 1 -
 1 file changed, 1 deletion(-)
drivers/gpu/drm/tilcdc/Kconfig +0 -1
index 78beafb..72e7944 100644
@@ -2,7 +2,6 @@ config DRM_TILCDC
 	tristate "DRM Support for TI LCDC Display Controller"
 	depends on DRM && OF && ARM && HAVE_DMA_ATTRS
 	select DRM_KMS_HELPER
-	select DRM_KMS_FB_HELPER
 	select DRM_KMS_CMA_HELPER
 	select DRM_GEM_CMA_HELPER
 	select VIDEOMODE_HELPERS
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation
Acked-by on the v1 series
#27 lore raw
In reply to Archit Taneja
Quoted 10 lines · Archit Taneja

With the top level DRM_FBDEV_EMULATION option, drivers don't need to select DRM_FB_KMS_HELPER or other FB related config options in the driver.

Even if FBDEV_EMULATION isn't select, the stubbed out versions of the drm_fb_helper functions will be called.

There are some drivers which still need some FB stuff even after these changes. They are qxl, udl and nouveau. These are handled a bit differently compared to the other patches.

Series is:

Quoted 57 lines

Archit Taneja (21):
drm/cirrus: Remove FB_KMS_HELPER and FB related config options drm/rockchip: Remove FB_KMS_HELPER and FB related config options drm/armada: Remove FB_KMS_HELPER and FB related config options drm/ast: Remove FB_KMS_HELPER and FB related config options drm/omap: Remove FB_KMS_HELPER and FB related config options drm/exynos: Remove FB_KMS_HELPER and FB related config options drm/gma500: Remove FB_KMS_HELPER and FB related config options drm/mgag200: Remove FB_KMS_HELPER and FB related config options drm/radeon: Remove FB_KMS_HELPER and FB related config options drm/qxl: Remove FB_KMS_HELPER and FB related config options drm/nouveau: Remove FB_KMS_HELPER and FB related config options drm/udl: Remove FB_KMS_HELPER and FB related config options drm/bochs: Remove FB_KMS_HELPER and FB related config options drm/amdgpu: Remove FB_KMS_HELPER and FB related config options drm/virtio: Remove FB_KMS_HELPER and FB related config options drm/fb_cma_helper: Remove FB_KMS_HELPER and FB related config options drm/atmel-hlcdc: Remove FB_KMS_HELPER config option drm/imx: Remove FB_KMS_HELPER config option
drm/rcar-du: Remove FB_KMS_HELPER config option drm/shmobile: Remove FB_KMS_HELPER config option drm/tilcdc: Remove FB_KMS_HELPER config option

 drivers/gpu/drm/Kconfig             |  4 ----
 drivers/gpu/drm/amd/amdgpu/Kconfig  |  4 ----
 drivers/gpu/drm/armada/Kconfig      |  4 ----
 drivers/gpu/drm/ast/Kconfig         |  4 ----
 drivers/gpu/drm/atmel-hlcdc/Kconfig |  1 -
 drivers/gpu/drm/bochs/Kconfig       |  4 ----
 drivers/gpu/drm/cirrus/Kconfig      |  4 ----
 drivers/gpu/drm/exynos/Kconfig      |  6 ------
 drivers/gpu/drm/gma500/Kconfig      |  4 ----
 drivers/gpu/drm/imx/Kconfig         |  1 -
 drivers/gpu/drm/mgag200/Kconfig     |  4 ----
 drivers/gpu/drm/nouveau/Kconfig     |  7 +------
 drivers/gpu/drm/omapdrm/Kconfig     |  5 -----
 drivers/gpu/drm/qxl/Kconfig         |  5 -----
 drivers/gpu/drm/qxl/qxl_fb.c        |  4 ++++
 drivers/gpu/drm/radeon/Kconfig      |  4 ----
 drivers/gpu/drm/rcar-du/Kconfig     |  1 -
 drivers/gpu/drm/rockchip/Kconfig    |  4 ----
 drivers/gpu/drm/shmobile/Kconfig    |  1 -
 drivers/gpu/drm/tilcdc/Kconfig      |  1 -
 drivers/gpu/drm/udl/Kconfig         |  5 -----
 drivers/gpu/drm/udl/udl_fb.c        | 10 ++++++++++
 drivers/gpu/drm/virtio/Kconfig      |  4 ----
 23 files changed, 15 insertions(+), 76 deletions(-)

--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation

_______________________________________________
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel

#28 lore raw
Quoted 8 lines · Alex Deucher
Quoted 7 lines · Archit Taneja

With the top level DRM_FBDEV_EMULATION option, drivers don't need to select DRM_FB_KMS_HELPER or other FB related config options in the driver.

Even if FBDEV_EMULATION isn't select, the stubbed out versions of the drm_fb_helper functions will be called.

Quoted 6 lines
Quoted 3 lines

There are some drivers which still need some FB stuff even after these changes. They are qxl, udl and nouveau. These are handled a bit differently compared to the other patches.

Series is:

Archit for merging I think I'll just keep the current set of patches I have for testing (well until there's a real bug discovered). Can you please collect all the acks/r-bs/t-d when resending so I don't have to digg them out when we merge the final versions of these?

Thanks, Daniel

Signature · 3 lines
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
#29 lore raw

Hi,

Quoted 13 lines · Daniel Vetter
Quoted 12 lines · Alex Deucher
Quoted 10 lines · Archit Taneja

With the top level DRM_FBDEV_EMULATION option, drivers don't need to select DRM_FB_KMS_HELPER or other FB related config options in the driver.

Even if FBDEV_EMULATION isn't select, the stubbed out versions of the drm_fb_helper functions will be called.

There are some drivers which still need some FB stuff even after these changes. They are qxl, udl and nouveau. These are handled a bit differently compared to the other patches.

Quoted 8 lines
Quoted 2 lines

Series is:

Archit for merging I think I'll just keep the current set of patches I have for testing (well until there's a real bug discovered). Can you please collect all the acks/r-bs/t-d when resending so I don't have to digg them out when we merge the final versions of these?

Sure. I'll keep a track of this.

Speaking of bugs, there was one thing I noticed in the series which I am not sure about.

One of the new helpers wraps around framebuffer_alloc(). Most drivers tend to pass the drm_device's dev pointer to this, and this is what I do in the helper too.

But some drivers(nouveau, radeon, qxl and some more) pass their pci_dev's dev pointer.

Looking at the framebuffer code, it looks like the 'dev' we pass to framebuffer_alloc is what is used as the parent device when creating a fb device.

After this patch set, all drivers will use drm_device's dev when calling framebuffer_alloc. I was wondering if this could cause any fbcon issues?

Archit

Signature · 6 lines
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project
_______________________________________________
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel
#30 lore raw
Quoted 30 lines · Archit Taneja

Hi,

Quoted 13 lines · Daniel Vetter
Quoted 12 lines · Alex Deucher
Quoted 10 lines · Archit Taneja

With the top level DRM_FBDEV_EMULATION option, drivers don't need to select DRM_FB_KMS_HELPER or other FB related config options in the driver.

Even if FBDEV_EMULATION isn't select, the stubbed out versions of the drm_fb_helper functions will be called.

There are some drivers which still need some FB stuff even after these changes. They are qxl, udl and nouveau. These are handled a bit differently compared to the other patches.

Quoted 8 lines
Quoted 2 lines

Series is:

Archit for merging I think I'll just keep the current set of patches I have for testing (well until there's a real bug discovered). Can you please collect all the acks/r-bs/t-d when resending so I don't have to digg them out when we merge the final versions of these?

Sure. I'll keep a track of this.

Speaking of bugs, there was one thing I noticed in the series which I am not sure about.

Quoted 6 lines

One of the new helpers wraps around framebuffer_alloc(). Most drivers tend to pass the drm_device's dev pointer to this, and this is what I do in the helper too.

But some drivers(nouveau, radeon, qxl and some more) pass their pci_dev's dev pointer.

Hm, didn't even notice that one.

Quoted 7 lines

Looking at the framebuffer code, it looks like the 'dev' we pass to framebuffer_alloc is what is used as the parent device when creating a fb device.

After this patch set, all drivers will use drm_device's dev when calling framebuffer_alloc. I was wondering if this could cause any fbcon issues?

I think it won't matter, this is just about discovering the fbdev instance in sysfs. And all the legacy users that do care about fbdev device nodes don't really use that anyway.

And I think conceptually it also makes more sense to have the emulated fbdev device as a child of the kms device.
-Daniel

Signature · 3 lines
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
#31 lore raw
In reply to Archit Taneja
Quoted 30 lines · Archit Taneja

Hi,

Quoted 13 lines · Daniel Vetter
Quoted 12 lines · Alex Deucher
Quoted 10 lines · Archit Taneja

With the top level DRM_FBDEV_EMULATION option, drivers don't need to select DRM_FB_KMS_HELPER or other FB related config options in the driver.

Even if FBDEV_EMULATION isn't select, the stubbed out versions of the drm_fb_helper functions will be called.

There are some drivers which still need some FB stuff even after these changes. They are qxl, udl and nouveau. These are handled a bit differently compared to the other patches.

Quoted 8 lines
Quoted 2 lines

Series is:

Archit for merging I think I'll just keep the current set of patches I have for testing (well until there's a real bug discovered). Can you please collect all the acks/r-bs/t-d when resending so I don't have to digg them out when we merge the final versions of these?

Sure. I'll keep a track of this.

Speaking of bugs, there was one thing I noticed in the series which I am not sure about.

Quoted 6 lines

One of the new helpers wraps around framebuffer_alloc(). Most drivers tend to pass the drm_device's dev pointer to this, and this is what I do in the helper too.

But some drivers(nouveau, radeon, qxl and some more) pass their pci_dev's dev pointer.

As far as I can tell, for all PCI drivers the drm_device's dev pointer is set to the pci_dev's dev pointer (via drm_get_pci_dev()), so this shouldn't be changing anything at all.

Thierry

_______________________________________________
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel

#32 lore raw
Quoted 35 lines · Thierry Reding
Quoted 34 lines · Archit Taneja

Hi,

Quoted 13 lines · Daniel Vetter
Quoted 12 lines · Alex Deucher
Quoted 10 lines · Archit Taneja

With the top level DRM_FBDEV_EMULATION option, drivers don't need to select DRM_FB_KMS_HELPER or other FB related config options in the driver.

Even if FBDEV_EMULATION isn't select, the stubbed out versions of the drm_fb_helper functions will be called.

There are some drivers which still need some FB stuff even after these changes. They are qxl, udl and nouveau. These are handled a bit differently compared to the other patches.

Quoted 8 lines
Quoted 2 lines

Series is:

Archit for merging I think I'll just keep the current set of patches I have for testing (well until there's a real bug discovered). Can you please collect all the acks/r-bs/t-d when resending so I don't have to digg them out when we merge the final versions of these?

Sure. I'll keep a track of this.

Speaking of bugs, there was one thing I noticed in the series which I am not sure about.

One of the new helpers wraps around framebuffer_alloc(). Most drivers tend to pass the drm_device's dev pointer to this, and this is what I do in the helper too.

Quoted 6 lines
Quoted 2 lines

But some drivers(nouveau, radeon, qxl and some more) pass their pci_dev's dev pointer.

As far as I can tell, for all PCI drivers the drm_device's dev pointer is set to the pci_dev's dev pointer (via drm_get_pci_dev()), so this shouldn't be changing anything at all.

Thanks for pointing this out. This is a non-issue, then.

Archit

Signature · 2 lines
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project