// SPDX-License-Identifier: GPL-2.0-only /************************************************************************** * Copyright (c) 2007-2011, Intel Corporation. * All Rights Reserved. * **************************************************************************/ #include <drm/drm_framebuffer.h> #include <drm/drm_gem_framebuffer_helper.h> #include <drm/drm_modeset_helper.h> #include "framebuffer.h" #include "psb_drv.h" static const struct drm_framebuffer_funcs psb_fb_funcs = …; /** * psb_framebuffer_init - initialize a framebuffer * @dev: our DRM device * @fb: framebuffer to set up * @mode_cmd: mode description * @obj: backing object * * Configure and fill in the boilerplate for our frame buffer. Return * 0 on success or an error code if we fail. */ static int psb_framebuffer_init(struct drm_device *dev, struct drm_framebuffer *fb, const struct drm_mode_fb_cmd2 *mode_cmd, struct drm_gem_object *obj) { … } /** * psb_framebuffer_create - create a framebuffer backed by gt * @dev: our DRM device * @mode_cmd: the description of the requested mode * @obj: the backing object * * Create a framebuffer object backed by the gt, and fill in the * boilerplate required * * TODO: review object references */ struct drm_framebuffer *psb_framebuffer_create(struct drm_device *dev, const struct drm_mode_fb_cmd2 *mode_cmd, struct drm_gem_object *obj) { … } /** * psb_user_framebuffer_create - create framebuffer * @dev: our DRM device * @filp: client file * @cmd: mode request * * Create a new framebuffer backed by a userspace GEM object */ static struct drm_framebuffer *psb_user_framebuffer_create (struct drm_device *dev, struct drm_file *filp, const struct drm_mode_fb_cmd2 *cmd) { … } static const struct drm_mode_config_funcs psb_mode_funcs = …; static void psb_setup_outputs(struct drm_device *dev) { … } void psb_modeset_init(struct drm_device *dev) { … } void psb_modeset_cleanup(struct drm_device *dev) { … }