• C
    drm: Don't assign fbs for universal cursor support to files · 9a6f5130
    Chris Wilson 提交于
    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: NMatt 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: NDave Airlie <airlied@redhat.com>
    9a6f5130
drm_crtc.c 150.6 KB