diff mbox

drm: sti: add moduleparam to disable fbdev

Message ID 1436359825-19875-1-git-send-email-benjamin.gaignard@linaro.org (mailing list archive)
State New, archived
Headers show

Commit Message

Benjamin Gaignard July 8, 2015, 12:50 p.m. UTC
Useful to avoid recompiling to enable/disable fbdev.

Signed-off-by: Benjamin Gaignard <benjamin.gaignard@linaro.org>
---
 drivers/gpu/drm/sti/Kconfig       |  6 ------
 drivers/gpu/drm/sti/sti_drm_drv.c | 13 ++++++++-----
 2 files changed, 8 insertions(+), 11 deletions(-)

Comments

John Hunter July 8, 2015, 1:24 p.m. UTC | #1
On Wed, Jul 8, 2015 at 8:50 PM, Benjamin Gaignard <
benjamin.gaignard@linaro.org> wrote:

> Useful to avoid recompiling to enable/disable fbdev.
>
> Signed-off-by: Benjamin Gaignard <benjamin.gaignard@linaro.org>
>

Reviewed-by: Zhao Junwang <zhjwpku@gmail.com>

Bochs has the moduleparam for fbdev, lgtm.


> ---
>  drivers/gpu/drm/sti/Kconfig       |  6 ------
>  drivers/gpu/drm/sti/sti_drm_drv.c | 13 ++++++++-----
>  2 files changed, 8 insertions(+), 11 deletions(-)
>
> diff --git a/drivers/gpu/drm/sti/Kconfig b/drivers/gpu/drm/sti/Kconfig
> index fbccc10..e3aa5af 100644
> --- a/drivers/gpu/drm/sti/Kconfig
> +++ b/drivers/gpu/drm/sti/Kconfig
> @@ -9,9 +9,3 @@ config DRM_STI
>         select FW_LOADER_USER_HELPER_FALLBACK
>         help
>           Choose this option to enable DRM on STM stiH41x chipset
> -
> -config DRM_STI_FBDEV
> -       bool "DRM frame buffer device for STMicroelectronics SoC stiH41x
> Serie"
> -       depends on DRM_STI
> -       help
> -         Choose this option to enable FBDEV on top of DRM for STM stiH41x
> chipset
> diff --git a/drivers/gpu/drm/sti/sti_drm_drv.c
> b/drivers/gpu/drm/sti/sti_drm_drv.c
> index 59d558b..d0fb54a 100644
> --- a/drivers/gpu/drm/sti/sti_drm_drv.c
> +++ b/drivers/gpu/drm/sti/sti_drm_drv.c
> @@ -30,6 +30,10 @@
>  #define STI_MAX_FB_HEIGHT      4096
>  #define STI_MAX_FB_WIDTH       4096
>
> +static bool fbdev;
> +MODULE_PARM_DESC(fbdev, "Enable fbdev compat layer");
> +module_param(fbdev, bool, S_IRUGO | S_IWUSR);
> +
>  static void sti_drm_atomic_schedule(struct sti_drm_private *private,
>                                   struct drm_atomic_state *state)
>  {
> @@ -160,11 +164,10 @@ static int sti_drm_load(struct drm_device *dev,
> unsigned long flags)
>
>         drm_mode_config_reset(dev);
>
> -#ifdef CONFIG_DRM_STI_FBDEV
> -       drm_fbdev_cma_init(dev, 32,
> -                  dev->mode_config.num_crtc,
> -                  dev->mode_config.num_connector);
> -#endif
> +       if (fbdev)
> +               drm_fbdev_cma_init(dev, 32, dev->mode_config.num_crtc,
> +                                  dev->mode_config.num_connector);
> +
>         return 0;
>  }
>
> --
> 1.9.1
>
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel
>
Daniel Vetter July 8, 2015, 3:01 p.m. UTC | #2
On Wed, Jul 08, 2015 at 02:50:25PM +0200, Benjamin Gaignard wrote:
> Useful to avoid recompiling to enable/disable fbdev.
> 
> Signed-off-by: Benjamin Gaignard <benjamin.gaignard@linaro.org>

Can we just do this in the fbdev helper instead of reinventing wheels in
each driver? Archit Taneja has been looking into that.

Thanks, Daniel

> ---
>  drivers/gpu/drm/sti/Kconfig       |  6 ------
>  drivers/gpu/drm/sti/sti_drm_drv.c | 13 ++++++++-----
>  2 files changed, 8 insertions(+), 11 deletions(-)
> 
> diff --git a/drivers/gpu/drm/sti/Kconfig b/drivers/gpu/drm/sti/Kconfig
> index fbccc10..e3aa5af 100644
> --- a/drivers/gpu/drm/sti/Kconfig
> +++ b/drivers/gpu/drm/sti/Kconfig
> @@ -9,9 +9,3 @@ config DRM_STI
>  	select FW_LOADER_USER_HELPER_FALLBACK
>  	help
>  	  Choose this option to enable DRM on STM stiH41x chipset
> -
> -config DRM_STI_FBDEV
> -	bool "DRM frame buffer device for STMicroelectronics SoC stiH41x Serie"
> -	depends on DRM_STI
> -	help
> -	  Choose this option to enable FBDEV on top of DRM for STM stiH41x chipset
> diff --git a/drivers/gpu/drm/sti/sti_drm_drv.c b/drivers/gpu/drm/sti/sti_drm_drv.c
> index 59d558b..d0fb54a 100644
> --- a/drivers/gpu/drm/sti/sti_drm_drv.c
> +++ b/drivers/gpu/drm/sti/sti_drm_drv.c
> @@ -30,6 +30,10 @@
>  #define STI_MAX_FB_HEIGHT	4096
>  #define STI_MAX_FB_WIDTH	4096
>  
> +static bool fbdev;
> +MODULE_PARM_DESC(fbdev, "Enable fbdev compat layer");
> +module_param(fbdev, bool, S_IRUGO | S_IWUSR);
> +
>  static void sti_drm_atomic_schedule(struct sti_drm_private *private,
>  				  struct drm_atomic_state *state)
>  {
> @@ -160,11 +164,10 @@ static int sti_drm_load(struct drm_device *dev, unsigned long flags)
>  
>  	drm_mode_config_reset(dev);
>  
> -#ifdef CONFIG_DRM_STI_FBDEV
> -	drm_fbdev_cma_init(dev, 32,
> -		   dev->mode_config.num_crtc,
> -		   dev->mode_config.num_connector);
> -#endif
> +	if (fbdev)
> +		drm_fbdev_cma_init(dev, 32, dev->mode_config.num_crtc,
> +				   dev->mode_config.num_connector);
> +
>  	return 0;
>  }
>  
> -- 
> 1.9.1
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel
diff mbox

Patch

diff --git a/drivers/gpu/drm/sti/Kconfig b/drivers/gpu/drm/sti/Kconfig
index fbccc10..e3aa5af 100644
--- a/drivers/gpu/drm/sti/Kconfig
+++ b/drivers/gpu/drm/sti/Kconfig
@@ -9,9 +9,3 @@  config DRM_STI
 	select FW_LOADER_USER_HELPER_FALLBACK
 	help
 	  Choose this option to enable DRM on STM stiH41x chipset
-
-config DRM_STI_FBDEV
-	bool "DRM frame buffer device for STMicroelectronics SoC stiH41x Serie"
-	depends on DRM_STI
-	help
-	  Choose this option to enable FBDEV on top of DRM for STM stiH41x chipset
diff --git a/drivers/gpu/drm/sti/sti_drm_drv.c b/drivers/gpu/drm/sti/sti_drm_drv.c
index 59d558b..d0fb54a 100644
--- a/drivers/gpu/drm/sti/sti_drm_drv.c
+++ b/drivers/gpu/drm/sti/sti_drm_drv.c
@@ -30,6 +30,10 @@ 
 #define STI_MAX_FB_HEIGHT	4096
 #define STI_MAX_FB_WIDTH	4096
 
+static bool fbdev;
+MODULE_PARM_DESC(fbdev, "Enable fbdev compat layer");
+module_param(fbdev, bool, S_IRUGO | S_IWUSR);
+
 static void sti_drm_atomic_schedule(struct sti_drm_private *private,
 				  struct drm_atomic_state *state)
 {
@@ -160,11 +164,10 @@  static int sti_drm_load(struct drm_device *dev, unsigned long flags)
 
 	drm_mode_config_reset(dev);
 
-#ifdef CONFIG_DRM_STI_FBDEV
-	drm_fbdev_cma_init(dev, 32,
-		   dev->mode_config.num_crtc,
-		   dev->mode_config.num_connector);
-#endif
+	if (fbdev)
+		drm_fbdev_cma_init(dev, 32, dev->mode_config.num_crtc,
+				   dev->mode_config.num_connector);
+
 	return 0;
 }