From ff882e312a746a4a794a089e912e5e56baa8b5b4 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 3 Jul 2020 14:11:55 +0100 Subject: [PATCH] drm/vc4: Make FKMS max refresh rate a module parameter Some people want to use the high refresh rate modes for 1080p100 and 1080p120, but they're currently filtered out as generally they don't add anything. Make the filter threshold a module parameter so that it can be adjusted. https://github.com/raspberrypi/linux/issues/3677 Signed-off-by: Dave Stevenson --- drivers/gpu/drm/vc4/vc4_firmware_kms.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) --- a/drivers/gpu/drm/vc4/vc4_firmware_kms.c +++ b/drivers/gpu/drm/vc4/vc4_firmware_kms.c @@ -14,6 +14,8 @@ * Pi's firmware display stack. */ +#include + #include "drm/drm_atomic_helper.h" #include "drm/drm_gem_framebuffer_helper.h" #include "drm/drm_plane_helper.h" @@ -32,6 +34,10 @@ #include "vc_image_types.h" #include +int fkms_max_refresh_rate = 85; +module_param(fkms_max_refresh_rate, int, 0644); +MODULE_PARM_DESC(fkms_max_refresh_rate, "Max supported refresh rate"); + struct get_display_cfg { u32 max_pixel_clock[2]; //Max pixel clock for each display }; @@ -1069,8 +1075,10 @@ vc4_crtc_mode_valid(struct drm_crtc *crt return MODE_NO_DBLESCAN; } - /* Disable refresh rates > 85Hz as limited gain from them */ - if (drm_mode_vrefresh(mode) > 85) + /* Disable refresh rates > defined threshold (default 85Hz) as limited + * gain from them + */ + if (drm_mode_vrefresh(mode) > fkms_max_refresh_rate) return MODE_BAD_VVALUE; /* Limit the pixel clock based on the HDMI clock limits from the