drm/nouveau: Display Nouveau boot options at launch
authorPierre Moreau <pierre.morrow@free.fr>
Mon, 18 Aug 2014 20:43:24 +0000 (22:43 +0200)
committerBen Skeggs <bskeggs@redhat.com>
Mon, 15 Sep 2014 12:24:58 +0000 (22:24 +1000)
It can help to remove any ambiguity about which options were passed to Nouveau,
especially in case the user had some options set in /etc/modprobe.d/*.conf that
he forgot about, as they won't appear in a dmesg.

Signed-off-by: Pierre Moreau <pierre.morrow@free.fr>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
drivers/gpu/drm/nouveau/nouveau_chan.c
drivers/gpu/drm/nouveau/nouveau_chan.h
drivers/gpu/drm/nouveau/nouveau_connector.c
drivers/gpu/drm/nouveau/nouveau_connector.h
drivers/gpu/drm/nouveau/nouveau_drm.c
drivers/gpu/drm/nouveau/nouveau_fbcon.c
drivers/gpu/drm/nouveau/nouveau_fbcon.h
drivers/gpu/drm/nouveau/nouveau_sysfs.c
drivers/gpu/drm/nouveau/nouveau_sysfs.h

index 99cd9e4a2aa6efde5c4c94154070cf593f552fb3..9a362ddd8225ad5afbf8b449f7ebbeab15943636 100644 (file)
@@ -36,7 +36,7 @@
 #include "nouveau_abi16.h"
 
 MODULE_PARM_DESC(vram_pushbuf, "Create DMA push buffers in VRAM");
-static int nouveau_vram_pushbuf;
+int nouveau_vram_pushbuf;
 module_param_named(vram_pushbuf, nouveau_vram_pushbuf, int, 0400);
 
 int
index 20163709d608c788707658000b51c019dbb4b7d5..8309c24ee6981f63e3dc5257235ce122e5840de5 100644 (file)
@@ -47,4 +47,6 @@ int  nouveau_channel_new(struct nouveau_drm *, struct nvif_device *,
 void nouveau_channel_del(struct nouveau_channel **);
 int  nouveau_channel_idle(struct nouveau_channel *);
 
+extern int nouveau_vram_pushbuf;
+
 #endif
index 1ec44c83e91932ffe82237143ea93ca6b94546c4..c8ac9482cf2ed12de114636b004bdd66813bc4ba 100644 (file)
 #include <nvif/event.h>
 
 MODULE_PARM_DESC(tv_disable, "Disable TV-out detection");
-static int nouveau_tv_disable = 0;
+int nouveau_tv_disable = 0;
 module_param_named(tv_disable, nouveau_tv_disable, int, 0400);
 
 MODULE_PARM_DESC(ignorelid, "Ignore ACPI lid status");
-static int nouveau_ignorelid = 0;
+int nouveau_ignorelid = 0;
 module_param_named(ignorelid, nouveau_ignorelid, int, 0400);
 
 MODULE_PARM_DESC(duallink, "Allow dual-link TMDS (default: enabled)");
-static int nouveau_duallink = 1;
+int nouveau_duallink = 1;
 module_param_named(duallink, nouveau_duallink, int, 0400);
 
 struct nouveau_encoder *
index 68029d041dd2fd856e636fe6e6b48a0971c625c4..629a380c708555b26522987036b458a01fb2983f 100644 (file)
@@ -105,4 +105,8 @@ nouveau_crtc_connector_get(struct nouveau_crtc *nv_crtc)
 struct drm_connector *
 nouveau_connector_create(struct drm_device *, int index);
 
+extern int nouveau_tv_disable;
+extern int nouveau_ignorelid;
+extern int nouveau_duallink;
+
 #endif /* __NOUVEAU_CONNECTOR_H__ */
index cee1eaf64117003526539c910fa7d875b25c0c64..244d78fc0cb534a1f6701ef36fe60a745e7f6648 100644 (file)
@@ -51,6 +51,7 @@
 #include "nouveau_fence.h"
 #include "nouveau_debugfs.h"
 #include "nouveau_usif.h"
+#include "nouveau_connector.h"
 
 MODULE_PARM_DESC(config, "option string to pass to driver core");
 static char *nouveau_config;
@@ -1028,6 +1029,23 @@ static int nouveau_pmops_runtime_idle(struct device *dev)
        return 1;
 }
 
+static void nouveau_display_options(void)
+{
+       DRM_DEBUG_DRIVER("Loading Nouveau with parameters:\n");
+
+       DRM_DEBUG_DRIVER("... tv_disable   : %d\n", nouveau_tv_disable);
+       DRM_DEBUG_DRIVER("... ignorelid    : %d\n", nouveau_ignorelid);
+       DRM_DEBUG_DRIVER("... duallink     : %d\n", nouveau_duallink);
+       DRM_DEBUG_DRIVER("... nofbaccel    : %d\n", nouveau_nofbaccel);
+       DRM_DEBUG_DRIVER("... config       : %s\n", nouveau_config);
+       DRM_DEBUG_DRIVER("... debug        : %s\n", nouveau_debug);
+       DRM_DEBUG_DRIVER("... noaccel      : %d\n", nouveau_noaccel);
+       DRM_DEBUG_DRIVER("... modeset      : %d\n", nouveau_modeset);
+       DRM_DEBUG_DRIVER("... runpm        : %d\n", nouveau_runtime_pm);
+       DRM_DEBUG_DRIVER("... vram_pushbuf : %d\n", nouveau_vram_pushbuf);
+       DRM_DEBUG_DRIVER("... pstate       : %d\n", nouveau_pstate);
+}
+
 static const struct dev_pm_ops nouveau_pm_ops = {
        .suspend = nouveau_pmops_suspend,
        .resume = nouveau_pmops_resume,
@@ -1093,6 +1111,8 @@ nouveau_drm_init(void)
        driver_platform = driver_stub;
        driver_platform.set_busid = drm_platform_set_busid;
 
+       nouveau_display_options();
+
        if (nouveau_modeset == -1) {
 #ifdef CONFIG_VGA_CONSOLE
                if (vgacon_text_force())
index 8bdd27091db8fd1aa7a34a3174b625c6a6d2a830..f0ae10ca3ba9d1446f42689eaec7061626f2db49 100644 (file)
@@ -52,7 +52,7 @@
 #include "nouveau_crtc.h"
 
 MODULE_PARM_DESC(nofbaccel, "Disable fbcon acceleration");
-static int nouveau_nofbaccel = 0;
+int nouveau_nofbaccel = 0;
 module_param_named(nofbaccel, nouveau_nofbaccel, int, 0400);
 
 static void
index 34658cfa8f5d4219c6bbc86bc04abf165271e9bd..1e2e9e27a03bbdfdbf215d14d22378f9607c4f76 100644 (file)
@@ -72,5 +72,8 @@ void nouveau_fbcon_accel_save_disable(struct drm_device *dev);
 void nouveau_fbcon_accel_restore(struct drm_device *dev);
 
 void nouveau_fbcon_output_poll_changed(struct drm_device *dev);
+
+extern int nouveau_nofbaccel;
+
 #endif /* __NV50_FBCON_H__ */
 
index 3c6962d15b26c2099bc4f2e1d840f5377b809227..8fbbf3093d8611e9497eaacdad73ec698bf42b10 100644 (file)
@@ -29,7 +29,7 @@
 #include "nouveau_sysfs.h"
 
 MODULE_PARM_DESC(pstate, "enable sysfs pstate file, which will be moved in the future");
-static int nouveau_pstate;
+int nouveau_pstate;
 module_param_named(pstate, nouveau_pstate, int, 0400);
 
 static inline struct drm_device *
index f973378160f8ca3410f06ad1fc1f4f7da6bd1816..4e5ea9241b2871bb2edcdf6a0dd9ef3d42e70933 100644 (file)
@@ -16,4 +16,6 @@ nouveau_sysfs(struct drm_device *dev)
 int  nouveau_sysfs_init(struct drm_device *);
 void nouveau_sysfs_fini(struct drm_device *);
 
+extern int nouveau_pstate;
+
 #endif