On Mon, Mar 10, 2014 at 10:54 AM, Matt Roper matthew.d.roper@intel.com wrote:
On Sun, Mar 09, 2014 at 05:12:31PM -0400, Rob Clark wrote:
On Fri, Mar 7, 2014 at 7:03 PM, Matt Roper matthew.d.roper@intel.com wrote:
Add primary plane as a parameter to drm_crtc_init() and update all existing DRM drivers to use a helper-provided primary plane.
Signed-off-by: Matt Roper matthew.d.roper@intel.com
[snip]
diff --git a/drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c b/drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c index 84c5b13..372670e 100644 --- a/drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c +++ b/drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c @@ -753,6 +753,7 @@ struct drm_crtc *mdp4_crtc_init(struct drm_device *dev, enum mdp4_dma dma_id) { struct drm_crtc *crtc = NULL;
struct drm_plane *primary; struct mdp4_crtc *mdp4_crtc; int ret;
@@ -791,7 +792,8 @@ struct drm_crtc *mdp4_crtc_init(struct drm_device *dev,
INIT_FENCE_CB(&mdp4_crtc->pageflip_cb, pageflip_cb);
drm_crtc_init(dev, crtc, &mdp4_crtc_funcs);
primary = drm_primary_helper_create_plane(dev);
drm_crtc_init(dev, crtc, primary, &mdp4_crtc_funcs);
note that msm, omap, and iirc exynos (and maybe even some others) already have their own private (now primary) planes. I suspect they should be using their existing plane, rather than creating a helper plane.
BR, -R
Yep, agreed. This is one of the items I called out as a TODO in the patch set cover letter. I just haven't had enough time to look at those drivers in detail yet to figure out how they work. Right now I believe they all register the same set of plane handler functions at drm_plane_init() that they do for their other overlay planes; I need to figure out whether those handler functions will actually operate properly on the private/primary planes, or whether the drivers were previously just assuming that the handlers would never get called on private planes and something different is needed.
ahh, I should have paid more attention to your cover letter. Well, omapdrm and msm are safe to convert (same set of plane handler fxns). I'll update and test msm when I rebase atomic, so their will be a patch that you can squash back in for that one.
BR, -R
Matt