drm: fb emulation: Step 3: Remove FB_KMS_HELPER config from drivers
Subsystems (22)
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
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.
--- drivers/gpu/drm/cirrus/Kconfig | 4 ---- 1 file changed, 4 deletions(-)
drivers/gpu/drm/cirrus/Kconfig +0 -4
@@ -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
RFC 2/21 drm/rockchip: Remove FB_KMS_HELPER and FB related config options
In reply to Archit TanejaRemove 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.
--- drivers/gpu/drm/rockchip/Kconfig | 4 ---- 1 file changed, 4 deletions(-)
drivers/gpu/drm/rockchip/Kconfig +0 -4
@@ -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
RFC 3/21 drm/armada: Remove FB_KMS_HELPER and FB related config options
In reply to Archit TanejaRemove 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.
--- drivers/gpu/drm/armada/Kconfig | 4 ---- 1 file changed, 4 deletions(-)
drivers/gpu/drm/armada/Kconfig +0 -4
@@ -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
RFC 4/21 drm/ast: Remove FB_KMS_HELPER and FB related config options
In reply to Archit TanejaRemove 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.
--- drivers/gpu/drm/ast/Kconfig | 4 ---- 1 file changed, 4 deletions(-)
drivers/gpu/drm/ast/Kconfig +0 -4
@@ -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
RFC 5/21 drm/omap: Remove FB_KMS_HELPER and FB related config options
In reply to Archit TanejaRemove 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.
--- drivers/gpu/drm/omapdrm/Kconfig | 5 ----- 1 file changed, 5 deletions(-)
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 · 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
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_HELPERas this would now be selected by the top levelFBDEV_EMULATIONconfig option. If the fbdev emulation isn't selected, thedrm_fb_helperfunctions will be stubbed out.Cc Tomi Valkeinen <[email protected]>Cc Laurent Pinchart <[email protected]>Signed-off-by Archit Taneja <[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
-0b/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
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_HELPERas this would now be selected by the top levelFBDEV_EMULATIONconfig option. If the fbdev emulation isn't selected, thedrm_fb_helperfunctions will be stubbed out.Cc Tomi Valkeinen <[email protected]>Cc Laurent Pinchart <[email protected]>
Quoted 6 lines
Quoted 1 line
Signed-off-by Archit Taneja <[email protected]>I like that, one step closer to removing fbdev altogether (even if there are many steps left) :-)
Acked-by Laurent Pinchart <[email protected]>
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
RFC 6/21 drm/exynos: Remove FB_KMS_HELPER and FB related config options
In reply to Archit TanejaRemove 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.
--- drivers/gpu/drm/exynos/Kconfig | 6 ------ 1 file changed, 6 deletions(-)
drivers/gpu/drm/exynos/Kconfig +0 -6
@@ -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
RFC 7/21 drm/gma500: Remove FB_KMS_HELPER and FB related config options
In reply to Archit TanejaRemove 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.
--- drivers/gpu/drm/gma500/Kconfig | 4 ---- 1 file changed, 4 deletions(-)
drivers/gpu/drm/gma500/Kconfig +0 -4
@@ -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
RFC 8/21 drm/mgag200: Remove FB_KMS_HELPER and FB related config options
In reply to Archit TanejaRemove 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.
--- drivers/gpu/drm/mgag200/Kconfig | 4 ---- 1 file changed, 4 deletions(-)
drivers/gpu/drm/mgag200/Kconfig +0 -4
@@ -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
RFC 9/21 drm/radeon: Remove FB_KMS_HELPER and FB related config options
In reply to Archit TanejaRemove 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.
--- drivers/gpu/drm/radeon/Kconfig | 4 ---- 1 file changed, 4 deletions(-)
drivers/gpu/drm/radeon/Kconfig +0 -4
@@ -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
RFC 10/21 drm/qxl: Remove FB_KMS_HELPER and FB related config options
In reply to Archit TanejaRemove 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.
--- 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
@@ -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
@@ -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
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_HELPERas this would now be selected by the top levelFBDEV_EMULATIONconfig option. If the fbdev emulation isn't selected, thedrm_fb_helperfunctions will be stubbed out.
Quoted 7 lines
The code relying on
DEFERRED_IOcan't be stubbed out usingdrm_fb_helperfunctions. This is because the deferred io members in fbdev core structs are defined based on whetherFB_DEFERRED_IOis 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]>Signed-off-by Archit Taneja <[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
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
-1select DRM_KMS_HELPER - select DRM_KMS_FB_HELPER select DRM_TTM select CRC32 helpdrivers/gpu/drm/qxl/qxl_fb.c +0
-0
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
-0static 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
RFC 11/21 drm/nouveau: Remove FB_KMS_HELPER and FB related config options
In reply to Archit TanejaRemove 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.
--- drivers/gpu/drm/nouveau/Kconfig | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-)
drivers/gpu/drm/nouveau/Kconfig +1 -6
@@ -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
RFC 12/21 drm/udl: Remove FB_KMS_HELPER and FB related config options
In reply to Archit TanejaRemove 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.
--- 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
@@ -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
@@ -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
RFC 13/21 drm/bochs: Remove FB_KMS_HELPER and FB related config options
In reply to Archit TanejaRemove 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.
--- drivers/gpu/drm/bochs/Kconfig | 4 ---- 1 file changed, 4 deletions(-)
drivers/gpu/drm/bochs/Kconfig +0 -4
@@ -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
RFC 14/21 drm/amdgpu: Remove FB_KMS_HELPER and FB related config options
In reply to Archit TanejaRemove 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.
--- drivers/gpu/drm/amd/amdgpu/Kconfig | 4 ---- 1 file changed, 4 deletions(-)
drivers/gpu/drm/amd/amdgpu/Kconfig +0 -4
@@ -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
RFC 15/21 drm/virtio: Remove FB_KMS_HELPER and FB related config options
In reply to Archit TanejaRemove 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.
--- drivers/gpu/drm/virtio/Kconfig | 4 ---- 1 file changed, 4 deletions(-)
drivers/gpu/drm/virtio/Kconfig +0 -4
@@ -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
RFC 16/21 drm/fb_cma_helper: Remove FB_KMS_HELPER and FB related config options
In reply to Archit TanejaRemove 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.
--- drivers/gpu/drm/Kconfig | 4 ---- 1 file changed, 4 deletions(-)
drivers/gpu/drm/Kconfig +0 -4
@@ -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
RFC 17/21 drm/atmel-hlcdc: Remove FB_KMS_HELPER config option
In reply to Archit TanejaThe 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.
--- drivers/gpu/drm/atmel-hlcdc/Kconfig | 1 - 1 file changed, 1 deletion(-)
drivers/gpu/drm/atmel-hlcdc/Kconfig +0 -1
@@ -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
RFC 18/21 drm/imx: Remove FB_KMS_HELPER config option
In reply to Archit TanejaThe 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.
--- drivers/gpu/drm/imx/Kconfig | 1 - 1 file changed, 1 deletion(-)
drivers/gpu/drm/imx/Kconfig +0 -1
@@ -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
RFC 19/21 drm/rcar-du: Remove FB_KMS_HELPER config option
In reply to Archit TanejaThe 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.
--- drivers/gpu/drm/rcar-du/Kconfig | 1 - 1 file changed, 1 deletion(-)
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 · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation
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_cmahelpers to emulate fbdev and allocate buffers. It doesn't need to selectDRM_FB_KMS_HELPER. This will be managed by the config optionDRM_KMS_CMA_HELPER.Cc Laurent Pinchart <[email protected]>Signed-off-by Archit Taneja <[email protected]>
Quoted 16 lines
--- drivers/gpu/drm/rcar-du/Kconfig | 1 - 1 file changed, 1 deletion(-)(quoted diff) +0
-0b/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
RFC 20/21 drm/shmobile: Remove FB_KMS_HELPER config option
In reply to Archit TanejaThe 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.
--- drivers/gpu/drm/shmobile/Kconfig | 1 - 1 file changed, 1 deletion(-)
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 · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation
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_cmahelpers to emulate fbdev and allocate buffers. It doesn't need to selectDRM_FB_KMS_HELPER. This will be managed by the config optionDRM_KMS_CMA_HELPER.Cc Laurent Pinchart <[email protected]>Signed-off-by Archit Taneja <[email protected]>
Quoted 16 lines
--- drivers/gpu/drm/shmobile/Kconfig | 1 - 1 file changed, 1 deletion(-)(quoted diff) +0
-0b/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
RFC 21/21 drm/tilcdc: Remove FB_KMS_HELPER config option
In reply to Archit TanejaThe 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.
--- drivers/gpu/drm/tilcdc/Kconfig | 1 - 1 file changed, 1 deletion(-)
drivers/gpu/drm/tilcdc/Kconfig +0 -1
@@ -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
Quoted 10 lines · Archit Taneja
With the top level
DRM_FBDEV_EMULATIONoption, drivers don't need to selectDRM_FB_KMS_HELPERor other FB related config options in the driver.Even if
FBDEV_EMULATIONisn't select, the stubbed out versions of thedrm_fb_helperfunctions 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: RemoveFB_KMS_HELPERand FB related config options drm/rockchip: RemoveFB_KMS_HELPERand FB related config options drm/armada: RemoveFB_KMS_HELPERand FB related config options drm/ast: RemoveFB_KMS_HELPERand FB related config options drm/omap: RemoveFB_KMS_HELPERand FB related config options drm/exynos: RemoveFB_KMS_HELPERand FB related config options drm/gma500: RemoveFB_KMS_HELPERand FB related config options drm/mgag200: RemoveFB_KMS_HELPERand FB related config options drm/radeon: RemoveFB_KMS_HELPERand FB related config options drm/qxl: RemoveFB_KMS_HELPERand FB related config options drm/nouveau: RemoveFB_KMS_HELPERand FB related config options drm/udl: RemoveFB_KMS_HELPERand FB related config options drm/bochs: RemoveFB_KMS_HELPERand FB related config options drm/amdgpu: RemoveFB_KMS_HELPERand FB related config options drm/virtio: RemoveFB_KMS_HELPERand FB related config options drm/fb_cma_helper: RemoveFB_KMS_HELPERand FB related config options drm/atmel-hlcdc: RemoveFB_KMS_HELPERconfig option drm/imx: RemoveFB_KMS_HELPERconfig option
drm/rcar-du: RemoveFB_KMS_HELPERconfig option drm/shmobile: RemoveFB_KMS_HELPERconfig option drm/tilcdc: RemoveFB_KMS_HELPERconfig optiondrivers/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
Quoted 8 lines · Alex Deucher
Quoted 7 lines · Archit Taneja
With the top level
DRM_FBDEV_EMULATIONoption, drivers don't need to selectDRM_FB_KMS_HELPERor other FB related config options in the driver.Even if
FBDEV_EMULATIONisn't select, the stubbed out versions of thedrm_fb_helperfunctions 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:
Acked-by Alex Deucher <[email protected]>
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
Hi,
Quoted 13 lines · Daniel Vetter
Quoted 12 lines · Alex Deucher
Quoted 10 lines · Archit Taneja
With the top level
DRM_FBDEV_EMULATIONoption, drivers don't need to selectDRM_FB_KMS_HELPERor other FB related config options in the driver.Even if
FBDEV_EMULATIONisn't select, the stubbed out versions of thedrm_fb_helperfunctions 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:
Acked-by Alex Deucher <[email protected]>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
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_EMULATIONoption, drivers don't need to selectDRM_FB_KMS_HELPERor other FB related config options in the driver.Even if
FBDEV_EMULATIONisn't select, the stubbed out versions of thedrm_fb_helperfunctions 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:
Acked-by Alex Deucher <[email protected]>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_allocis 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
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_EMULATIONoption, drivers don't need to selectDRM_FB_KMS_HELPERor other FB related config options in the driver.Even if
FBDEV_EMULATIONisn't select, the stubbed out versions of thedrm_fb_helperfunctions 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:
Acked-by Alex Deucher <[email protected]>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
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_EMULATIONoption, drivers don't need to selectDRM_FB_KMS_HELPERor other FB related config options in the driver.Even if
FBDEV_EMULATIONisn't select, the stubbed out versions of thedrm_fb_helperfunctions 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:
Acked-by Alex Deucher <[email protected]>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