[PATCH] drm: Set the plane's crtc before calling disable_plane.
Rob Clark
robdclark at gmail.com
Mon Mar 3 14:06:01 PST 2014
On Mon, Mar 3, 2014 at 4:45 PM, Jesse Barnes <jbarnes at virtuousgeek.org> wrote:
> On Mon, 3 Mar 2014 13:38:36 -0800
> Stéphane Marchesin <marcheu at chromium.org> wrote:
>
>> Some drivers like exynos need the crtc to be able to disable the plane,
>> so set it before calling disable_plane.
>>
>> Signed-off-by: Stéphane Marchesin <marcheu at chromium.org>
>> ---
>> drivers/gpu/drm/drm_crtc.c | 21 +++++++++++----------
>> 1 file changed, 11 insertions(+), 10 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
>> index 3b7d32d..0943316 100644
>> --- a/drivers/gpu/drm/drm_crtc.c
>> +++ b/drivers/gpu/drm/drm_crtc.c
>> @@ -1947,10 +1947,21 @@ int drm_mode_setplane(struct drm_device *dev, void *data,
>> }
>> plane = obj_to_plane(obj);
>>
>> + obj = drm_mode_object_find(dev, plane_req->crtc_id,
>> + DRM_MODE_OBJECT_CRTC);
>> + if (!obj) {
>> + DRM_DEBUG_KMS("Unknown crtc ID %d\n",
>> + plane_req->crtc_id);
>> + ret = -ENOENT;
>> + goto out;
>> + }
>> + crtc = obj_to_crtc(obj);
>> +
>> /* No fb means shut it down */
>> if (!plane_req->fb_id) {
>> drm_modeset_lock_all(dev);
>> old_fb = plane->fb;
>> + plane->crtc = crtc;
just curious, but how is the plane ending up enabled *without* a crtc?
That sounds a bit.. odd..
BR,
-R
>> plane->funcs->disable_plane(plane);
>> plane->crtc = NULL;
>> plane->fb = NULL;
>> @@ -1958,16 +1969,6 @@ int drm_mode_setplane(struct drm_device *dev, void *data,
>> goto out;
>> }
>>
>> - obj = drm_mode_object_find(dev, plane_req->crtc_id,
>> - DRM_MODE_OBJECT_CRTC);
>> - if (!obj) {
>> - DRM_DEBUG_KMS("Unknown crtc ID %d\n",
>> - plane_req->crtc_id);
>> - ret = -ENOENT;
>> - goto out;
>> - }
>> - crtc = obj_to_crtc(obj);
>> -
>> fb = drm_framebuffer_lookup(dev, plane_req->fb_id);
>> if (!fb) {
>> DRM_DEBUG_KMS("Unknown framebuffer ID %d\n",
>
> I'm pretty sure this is ok since we don't have much userspace using
> this that might fail to pass in a crtc when shutting down a plane...
>
> Reviewed-by: Jesse Barnes <jbarnes at virtuousgeek.org>
>
> --
> Jesse Barnes, Intel Open Source Technology Center
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel
More information about the dri-devel
mailing list