On 01/13/2014 07:21 AM, Thierry Reding wrote:
The mask of possible CRTCs that an output (DRM encoder) can be attached to is relative to the position within the DRM device's list of CRTCs. Deferred probing can cause this to not match the pipe number associated with a CRTC. Use the newly introduced drm_crtc_mask() to compute the mask by looking up the proper index of the given CRTC in the list.
diff --git a/drivers/gpu/drm/tegra/rgb.c b/drivers/gpu/drm/tegra/rgb.c
@@ -258,7 +258,7 @@ int tegra_dc_rgb_init(struct drm_device *drm, struct tegra_dc *dc)
- rgb->output.encoder.possible_crtcs = 1 << dc->pipe;
- rgb->output.encoder.possible_crtcs = drm_crtc_mask(&dc->base);
For me, on top of either next-20140109 or next-20140113, this causes:
drivers/gpu/drm/tegra/rgb.c: In function ‘tegra_dc_rgb_init’: drivers/gpu/drm/tegra/rgb.c:261:2: error: implicit declaration of function ‘drm_crtc_mask’ [-Werror=implicit-function-declaration]