Currently, on the hikey board, we have the adv7511 bridge wired up to the kirin ade drm driver. Unfortunately, the kirin ade core cannot generate accurate byteclocks for all pixel clock values. Thus if a mode clock is selected that we cannot calculate a matching byteclock, the device will boot with a blank screen. Unfortunately, currently the only place we can properly check potential modes for this issue in the connector mode_valid helper. Again, hikey uses the adv7511 bridge, which is shared between a number of different devices, so its improper to put restrictions caused by the kirin drm driver in the adv7511 logic. So this patch set tries to fix this by adding some infrastructure and logic to the probe helpers so that drm_crtcs can filter the probed modes. And then adds a whitelist of valid modes for the kirin drm driver used on HiKey. This is a first pass attempt here, implementing a suggestion from Rob Clark on irc, so I'd really welcome any feedback or ideas for how to best do this. Thanks so much! -john Cc: Daniel Vetter <daniel.vetter@xxxxxxxxx> Cc: Jani Nikula <jani.nikula@xxxxxxxxxxxxxxx> Cc: Sean Paul <seanpaul@xxxxxxxxxxxx> Cc: David Airlie <airlied@xxxxxxxx> Cc: Rob Clark <robdclark@xxxxxxxxx> Cc: Xinliang Liu <xinliang.liu@xxxxxxxxxx> Cc: Xinliang Liu <z.liuxinliang@xxxxxxxxxxxxx> Cc: Rongrong Zou <zourongrong@xxxxxxxxx> Cc: Xinwei Kong <kong.kongxinwei@xxxxxxxxxxxxx> Cc: Chen Feng <puck.chen@xxxxxxxxxxxxx> Cc: Archit Taneja <architt@xxxxxxxxxxxxxx> Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx John Stultz (2): drm/probe-helper: Add mode_valid check to drm_crtc_helper_funcs drm: kirin: Restrict modes to known good mode clocks drivers/gpu/drm/drm_probe_helper.c | 24 ++++++++++++++++ drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c | 38 +++++++++++++++++++++++++ include/drm/drm_modeset_helper_vtables.h | 26 +++++++++++++++++ 3 files changed, 88 insertions(+) -- 2.7.4 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel