Re: [RFC PATCH 02/11] drm/fb-helper: Skip writeback connectors

From: Brian Starkey
Date: Tue Oct 11 2016 - 12:47:59 EST

On Tue, Oct 11, 2016 at 05:44:48PM +0200, Daniel Vetter wrote:
On Tue, Oct 11, 2016 at 03:53:59PM +0100, Brian Starkey wrote:
Writeback connectors aren't much use to the fbdev helpers, as they won't
show anything to the user. Skip them when looking for candidate output

Signed-off-by: Brian Starkey <brian.starkey@xxxxxxx>
drivers/gpu/drm/drm_fb_helper.c | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/drivers/gpu/drm/drm_fb_helper.c b/drivers/gpu/drm/drm_fb_helper.c
index 03414bd..dedf6e7 100644
--- a/drivers/gpu/drm/drm_fb_helper.c
+++ b/drivers/gpu/drm/drm_fb_helper.c
@@ -2016,6 +2016,10 @@ static int drm_pick_crtcs(struct drm_fb_helper *fb_helper,
if (modes[n] == NULL)
return best_score;

+ /* Writeback connectors aren't much use for fbdev */
+ if (connector->connector_type == DRM_MODE_CONNECTOR_WRITEBACK)
+ return best_score;

I think we could handle this by always marking writeback connectors as
disconnected. Userspace and fbdev emulation should then avoid them,

Good idea; I'll need to take a closer look at how it would interact
with the probe helper (connector->force etc).

Are you thinking instead-of or in-addition-to the client cap? I'd be
worried about apps doing strange things and trying to use even
disconnected connectors.

crtcs = kzalloc(fb_helper->connector_count *
sizeof(struct drm_fb_helper_crtc *), GFP_KERNEL);
if (!crtcs)

Daniel Vetter
Software Engineer, Intel Corporation