On Mon, 4 Jan 2021 16:07:58 -0500 Aurabindo Pillai <aurabindo.pillai@xxxxxxx> wrote: > [Why&How] > Adds a module parameter to enable experimental freesync video mode modeset > optimization. Enabling this mode allows the driver to skip a full modeset when > freesync compatible modes are requested by the userspace. This paramters also > adds some standard modes based on the connected monitor's VRR range. > > Signed-off-by: Aurabindo Pillai <aurabindo.pillai@xxxxxxx> > Acked-by: Christian König <christian.koenig at amd.com> > Reviewed-by: Shashank Sharma <shashank.sharma@xxxxxxx> > --- > drivers/gpu/drm/amd/amdgpu/amdgpu.h | 1 + > drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 12 ++++++++++++ > 2 files changed, 13 insertions(+) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h > index 100a431f0792..12b13a90eddf 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h > @@ -177,6 +177,7 @@ extern int amdgpu_gpu_recovery; > extern int amdgpu_emu_mode; > extern uint amdgpu_smu_memory_pool_size; > extern uint amdgpu_dc_feature_mask; > +extern uint amdgpu_exp_freesync_vid_mode; > extern uint amdgpu_dc_debug_mask; > extern uint amdgpu_dm_abm_level; > extern struct amdgpu_mgpu_info mgpu_info; > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c > index b48d7a3c2a11..2badbc8b2294 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c > @@ -158,6 +158,7 @@ int amdgpu_mes; > int amdgpu_noretry = -1; > int amdgpu_force_asic_type = -1; > int amdgpu_tmz; > +uint amdgpu_exp_freesync_vid_mode; > int amdgpu_reset_method = -1; /* auto */ > int amdgpu_num_kcq = -1; > > @@ -786,6 +787,17 @@ module_param_named(abmlevel, amdgpu_dm_abm_level, uint, 0444); > MODULE_PARM_DESC(tmz, "Enable TMZ feature (-1 = auto, 0 = off (default), 1 = on)"); > module_param_named(tmz, amdgpu_tmz, int, 0444); > > +/** > + * DOC: experimental_freesync_video (uint) > + * Enabled the optimization to adjust front porch timing to achieve seamless mode change experience > + * when setting a freesync supported mode for which full modeset is not needed. > + * The default value: 0 (off). > + */ > +MODULE_PARM_DESC( > + freesync_video, > + "Enable freesync modesetting optimization feature (0 = off (default), 1 = on)"); > +module_param_named(freesync_video, amdgpu_exp_freesync_vid_mode, uint, 0444); > + > /** > * DOC: reset_method (int) > * GPU reset method (-1 = auto (default), 0 = legacy, 1 = mode0, 2 = mode1, 3 = mode2, 4 = baco) Hi, please document somewhere that ends up in git history (commit message, code comments, description of the parameter would be the best but maybe there isn't enough space?) what Christian König explained in https://lists.freedesktop.org/archives/dri-devel/2020-December/291254.html that this is a stop-gap feature intended to be removed as soon as possible (when a better solution comes up, which could be years). So far I have not seen a single mention of this intention in your patch submissions, and I think it is very important to make known. I also did not see an explanation of why this instead of manufacturing these video modes in userspace (an idea mentioned by Christian in the referenced email). I think that too should be part of a commit message. Thanks, pq
Attachment:
pgpHO6j2slHHk.pgp
Description: OpenPGP digital signature
_______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel