• Chris Wilson's avatar
    drm: Don't assign fbs for universal cursor support to files · af6887e2
    Chris Wilson authored
    [ Upstream commit 9a6f5130 ]
    
    The internal framebuffers we create to remap legacy cursor ioctls to
    plane operations for the universal plane support shouldn't be linke to
    the file like normal userspace framebuffers. This bug goes back to the
    original universal cursor plane support introduced in
    
    commit 161d0dc1
    Author: Matt Roper <matthew.d.roper@intel.com>
    Date:   Tue Jun 10 08:28:10 2014 -0700
    
        drm: Support legacy cursor ioctls via universal planes when possible (v4)
    
    The isn't too disastrous since fbs are small, we only create one when the
    cursor bo gets changed and ultimately they'll be reaped when the window
    server restarts.
    
    Conceptually we'd want to just pass NULL for file_priv when creating it,
    but the driver needs the file to lookup the underlying buffer object for
    cursor id. Instead let's move the file_priv linking out of
    add_framebuffer_internal() into the addfb ioctl implementation, which is
    the only place it is needed. And also rename the function for a more
    accurate since it only creates the fb, but doesn't add it anywhere.
    
    Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> (fix & commit msg)
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> (provider of lipstick)
    Reviewed-by: default avatarMatt Roper <matthew.d.roper@intel.com>
    Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Cc: Matt Roper <matthew.d.roper@intel.com>
    Cc: Rob Clark <robdclark@gmail.com>
    Cc: stable@vger.kernel.org
    Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
    Signed-off-by: default avatarSasha Levin <sasha.levin@oracle.com>
    af6887e2
drm_crtc.c 138 KB