[PATCH v2 0/2] Introduce crtc->mode_valid() callback

From: Jose Abreu
Date: Fri Apr 28 2017 - 09:47:47 EST


This patchset introduces a new callback for crtc, called mode_valid()
that is responsible to limit the number of probbed modes. Just like
connector->mode_valid(), this new callback is called at mode probbing
stage so that we can validate the mode.

This is specially useful because arcpgu crtc is responsible to set a
clock value in the commit() stage but unfortunatelly this clock does
not support all the needed ranges. This way we can restrict the number
of modes that are handed to userspace, so that we dont hand a mode
that will fail the commit() stage.

I guess this can also happen for other drivers so we introduce the
callback in the core.

The behaviour remains the same for crtcs that don't have the callback.
Also, for a given set of crtcs that can be bound to the connector, if
at least one can display the mode then the mode will be probbed.

For more info about why this is needed in arcpgu, please refer here [1].

[1] https://patchwork.kernel.org/patch/9694177/

Jose Abreu (2):
drm: Introduce crtc->mode_valid() callback
drm: arcpgu: Use crtc->mode_valid() callback

Cc: Carlos Palminha <palminha@xxxxxxxxxxxx>
Cc: Alexey Brodkin <abrodkin@xxxxxxxxxxxx>
Cc: Ville SyrjÃlà <ville.syrjala@xxxxxxxxxxxxxxx>
Cc: Daniel Vetter <daniel.vetter@xxxxxxxx>
Cc: Dave Airlie <airlied@xxxxxxxx>
Cc: Andrzej Hajda <a.hajda@xxxxxxxxxxx>

drivers/gpu/drm/arc/arcpgu_crtc.c | 28 ++++++++++++++++--
drivers/gpu/drm/drm_probe_helper.c | 50 ++++++++++++++++++++++++++++++--
include/drm/drm_modeset_helper_vtables.h | 26 +++++++++++++++++
3 files changed, 99 insertions(+), 5 deletions(-)

--
1.9.1