From 4858a10f2fe0760a9db5192d508ad9cfd718b8bf 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(-) diff --git a/drivers/gpu/drm/vc4/vc4_firmware_kms.c b/drivers/gpu/drm/vc4/vc4_firmware_kms.c index 5193fd22311fbb..da52cea9951361 100644 --- 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" @@ -29,6 +31,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 }; @@ -1018,8 +1024,10 @@ vc4_crtc_mode_valid(struct drm_crtc *crtc, const struct drm_display_mode *mode) 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