Re: [PATCH v4 05/27] drm: fix some kernel-doc markups

From: Daniel Vetter
Date: Mon Nov 16 2020 - 14:49:07 EST


On Mon, Nov 16, 2020 at 01:37:11PM +0200, Jani Nikula wrote:
> On Mon, 16 Nov 2020, Mauro Carvalho Chehab <mchehab+huawei@xxxxxxxxxx> wrote:
> > Some identifiers have different names between their prototypes
> > and the kernel-doc markup.
> >
> > Others need to be fixed, as kernel-doc markups should use this format:
> > identifier - description
> >
> > Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@xxxxxxxxxx>
> > ---
> > drivers/gpu/drm/drm_atomic_state_helper.c | 2 +-
> > drivers/gpu/drm/drm_connector.c | 3 ++-
> > drivers/gpu/drm/drm_dp_helper.c | 2 +-
> > drivers/gpu/drm/drm_framebuffer.c | 2 +-
> > drivers/gpu/drm/drm_gem.c | 4 ++--
> > drivers/gpu/drm/drm_gem_vram_helper.c | 2 +-
> > drivers/gpu/drm/drm_mode_object.c | 2 +-
> > drivers/gpu/drm/drm_modes.c | 4 ++--
> > drivers/gpu/drm/drm_scdc_helper.c | 2 +-
> > drivers/gpu/drm/i915/display/intel_dpll_mgr.c | 2 +-
> > drivers/gpu/drm/i915/i915_gem_evict.c | 2 +-
> > drivers/gpu/drm/i915/i915_perf.c | 8 +++++---
>
> For the i915 parts,
>
> Acked-by: Jani Nikula <jani.nikula@xxxxxxxxx>
>
> for merging via whichever tree.

Smashed into drm-misc-next.
-Daniel

>
> > drivers/gpu/drm/scheduler/sched_main.c | 2 +-
> > drivers/gpu/drm/v3d/v3d_sched.c | 2 +-
> > drivers/gpu/drm/vc4/vc4_bo.c | 2 +-
> > include/drm/drm_atomic_helper.h | 4 ++--
> > include/drm/drm_connector.h | 2 +-
> > include/drm/drm_device.h | 2 +-
> > include/drm/drm_dsc.h | 3 ++-
> > include/drm/drm_gem_vram_helper.h | 8 ++++----
> > 20 files changed, 32 insertions(+), 28 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/drm_atomic_state_helper.c b/drivers/gpu/drm/drm_atomic_state_helper.c
> > index 9ad74045158e..ddcf5c2c8e6a 100644
> > --- a/drivers/gpu/drm/drm_atomic_state_helper.c
> > +++ b/drivers/gpu/drm/drm_atomic_state_helper.c
> > @@ -526,41 +526,41 @@ __drm_atomic_helper_connector_destroy_state(struct drm_connector_state *state)
> > }
> > EXPORT_SYMBOL(__drm_atomic_helper_connector_destroy_state);
> >
> > /**
> > * drm_atomic_helper_connector_destroy_state - default state destroy hook
> > * @connector: drm connector
> > * @state: connector state object to release
> > *
> > * Default connector state destroy hook for drivers which don't have their own
> > * subclassed connector state structure.
> > */
> > void drm_atomic_helper_connector_destroy_state(struct drm_connector *connector,
> > struct drm_connector_state *state)
> > {
> > __drm_atomic_helper_connector_destroy_state(state);
> > kfree(state);
> > }
> > EXPORT_SYMBOL(drm_atomic_helper_connector_destroy_state);
> >
> > /**
> > - * __drm_atomic_helper_private_duplicate_state - copy atomic private state
> > + * __drm_atomic_helper_private_obj_duplicate_state - copy atomic private state
> > * @obj: CRTC object
> > * @state: new private object state
> > *
> > * Copies atomic state from a private objects's current state and resets inferred values.
> > * This is useful for drivers that subclass the private state.
> > */
> > void __drm_atomic_helper_private_obj_duplicate_state(struct drm_private_obj *obj,
> > struct drm_private_state *state)
> > {
> > memcpy(state, obj->state, sizeof(*state));
> > }
> > EXPORT_SYMBOL(__drm_atomic_helper_private_obj_duplicate_state);
> >
> > /**
> > * __drm_atomic_helper_bridge_duplicate_state() - Copy atomic bridge state
> > * @bridge: bridge object
> > * @state: atomic bridge state
> > *
> > * Copies atomic state from a bridge's current state and resets inferred values.
> > * This is useful for drivers that subclass the bridge state.
> > diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connector.c
> > index 1913d8b4e16a..98b6ec45ef96 100644
> > --- a/drivers/gpu/drm/drm_connector.c
> > +++ b/drivers/gpu/drm/drm_connector.c
> > @@ -1415,41 +1415,42 @@ void drm_hdmi_avi_infoframe_content_type(struct hdmi_avi_infoframe *frame,
> > break;
> > case DRM_MODE_CONTENT_TYPE_CINEMA:
> > frame->content_type = HDMI_CONTENT_TYPE_CINEMA;
> > break;
> > case DRM_MODE_CONTENT_TYPE_GAME:
> > frame->content_type = HDMI_CONTENT_TYPE_GAME;
> > break;
> > case DRM_MODE_CONTENT_TYPE_PHOTO:
> > frame->content_type = HDMI_CONTENT_TYPE_PHOTO;
> > break;
> > default:
> > /* Graphics is the default(0) */
> > frame->content_type = HDMI_CONTENT_TYPE_GRAPHICS;
> > }
> >
> > frame->itc = conn_state->content_type != DRM_MODE_CONTENT_TYPE_NO_DATA;
> > }
> > EXPORT_SYMBOL(drm_hdmi_avi_infoframe_content_type);
> >
> > /**
> > - * drm_mode_attach_tv_margin_properties - attach TV connector margin properties
> > + * drm_connector_attach_tv_margin_properties - attach TV connector margin
> > + * properties
> > * @connector: DRM connector
> > *
> > * Called by a driver when it needs to attach TV margin props to a connector.
> > * Typically used on SDTV and HDMI connectors.
> > */
> > void drm_connector_attach_tv_margin_properties(struct drm_connector *connector)
> > {
> > struct drm_device *dev = connector->dev;
> >
> > drm_object_attach_property(&connector->base,
> > dev->mode_config.tv_left_margin_property,
> > 0);
> > drm_object_attach_property(&connector->base,
> > dev->mode_config.tv_right_margin_property,
> > 0);
> > drm_object_attach_property(&connector->base,
> > dev->mode_config.tv_top_margin_property,
> > 0);
> > drm_object_attach_property(&connector->base,
> > dev->mode_config.tv_bottom_margin_property,
> > diff --git a/drivers/gpu/drm/drm_dp_helper.c b/drivers/gpu/drm/drm_dp_helper.c
> > index 37ec3b94389c..5bd0934004e3 100644
> > --- a/drivers/gpu/drm/drm_dp_helper.c
> > +++ b/drivers/gpu/drm/drm_dp_helper.c
> > @@ -1144,41 +1144,41 @@ drm_dp_subconnector_type(const u8 dpcd[DP_RECEIVER_CAP_SIZE],
> > switch (type) {
> > case DP_DS_PORT_TYPE_DP:
> > case DP_DS_PORT_TYPE_DP_DUALMODE:
> > return DRM_MODE_SUBCONNECTOR_DisplayPort;
> > case DP_DS_PORT_TYPE_VGA:
> > return DRM_MODE_SUBCONNECTOR_VGA;
> > case DP_DS_PORT_TYPE_DVI:
> > return DRM_MODE_SUBCONNECTOR_DVID;
> > case DP_DS_PORT_TYPE_HDMI:
> > return DRM_MODE_SUBCONNECTOR_HDMIA;
> > case DP_DS_PORT_TYPE_WIRELESS:
> > return DRM_MODE_SUBCONNECTOR_Wireless;
> > case DP_DS_PORT_TYPE_NON_EDID:
> > default:
> > return DRM_MODE_SUBCONNECTOR_Unknown;
> > }
> > }
> > EXPORT_SYMBOL(drm_dp_subconnector_type);
> >
> > /**
> > - * drm_mode_set_dp_subconnector_property - set subconnector for DP connector
> > + * drm_dp_set_subconnector_property - set subconnector for DP connector
> > * @connector: connector to set property on
> > * @status: connector status
> > * @dpcd: DisplayPort configuration data
> > * @port_cap: port capabilities
> > *
> > * Called by a driver on every detect event.
> > */
> > void drm_dp_set_subconnector_property(struct drm_connector *connector,
> > enum drm_connector_status status,
> > const u8 *dpcd,
> > const u8 port_cap[4])
> > {
> > enum drm_mode_subconnector subconnector = DRM_MODE_SUBCONNECTOR_Unknown;
> >
> > if (status == connector_status_connected)
> > subconnector = drm_dp_subconnector_type(dpcd, port_cap);
> > drm_object_property_set_value(&connector->base,
> > connector->dev->mode_config.dp_subconnector_property,
> > subconnector);
> > }
> > diff --git a/drivers/gpu/drm/drm_framebuffer.c b/drivers/gpu/drm/drm_framebuffer.c
> > index 2f5b0c2bb0fe..aca62ed51e82 100644
> > --- a/drivers/gpu/drm/drm_framebuffer.c
> > +++ b/drivers/gpu/drm/drm_framebuffer.c
> > @@ -535,41 +535,41 @@ int drm_mode_getfb(struct drm_device *dev,
> >
> > /* GET_FB() is an unprivileged ioctl so we must not return a
> > * buffer-handle to non-master processes! For
> > * backwards-compatibility reasons, we cannot make GET_FB() privileged,
> > * so just return an invalid handle for non-masters.
> > */
> > if (!drm_is_current_master(file_priv) && !capable(CAP_SYS_ADMIN)) {
> > r->handle = 0;
> > ret = 0;
> > goto out;
> > }
> >
> > ret = fb->funcs->create_handle(fb, file_priv, &r->handle);
> >
> > out:
> > drm_framebuffer_put(fb);
> > return ret;
> > }
> >
> > /**
> > - * drm_mode_getfb2 - get extended FB info
> > + * drm_mode_getfb2_ioctl - get extended FB info
> > * @dev: drm device for the ioctl
> > * @data: data pointer for the ioctl
> > * @file_priv: drm file for the ioctl call
> > *
> > * Lookup the FB given its ID and return info about it.
> > *
> > * Called by the user via ioctl.
> > *
> > * Returns:
> > * Zero on success, negative errno on failure.
> > */
> > int drm_mode_getfb2_ioctl(struct drm_device *dev,
> > void *data, struct drm_file *file_priv)
> > {
> > struct drm_mode_fb_cmd2 *r = data;
> > struct drm_framebuffer *fb;
> > unsigned int i;
> > int ret;
> >
> > if (!drm_core_check_feature(dev, DRIVER_MODESET))
> > diff --git a/drivers/gpu/drm/drm_gem.c b/drivers/gpu/drm/drm_gem.c
> > index eb2d23e04be9..92f89cee213e 100644
> > --- a/drivers/gpu/drm/drm_gem.c
> > +++ b/drivers/gpu/drm/drm_gem.c
> > @@ -850,41 +850,41 @@ drm_gem_flink_ioctl(struct drm_device *dev, void *data,
> > }
> >
> > if (!obj->name) {
> > ret = idr_alloc(&dev->object_name_idr, obj, 1, 0, GFP_KERNEL);
> > if (ret < 0)
> > goto err;
> >
> > obj->name = ret;
> > }
> >
> > args->name = (uint64_t) obj->name;
> > ret = 0;
> >
> > err:
> > mutex_unlock(&dev->object_name_lock);
> > drm_gem_object_put(obj);
> > return ret;
> > }
> >
> > /**
> > - * drm_gem_open - implementation of the GEM_OPEN ioctl
> > + * drm_gem_open_ioctl - implementation of the GEM_OPEN ioctl
> > * @dev: drm_device
> > * @data: ioctl data
> > * @file_priv: drm file-private structure
> > *
> > * Open an object using the global name, returning a handle and the size.
> > *
> > * This handle (of course) holds a reference to the object, so the object
> > * will not go away until the handle is deleted.
> > */
> > int
> > drm_gem_open_ioctl(struct drm_device *dev, void *data,
> > struct drm_file *file_priv)
> > {
> > struct drm_gem_open *args = data;
> > struct drm_gem_object *obj;
> > int ret;
> > u32 handle;
> >
> > if (!drm_core_check_feature(dev, DRIVER_GEM))
> > return -EOPNOTSUPP;
> > @@ -895,41 +895,41 @@ drm_gem_open_ioctl(struct drm_device *dev, void *data,
> > drm_gem_object_get(obj);
> > } else {
> > mutex_unlock(&dev->object_name_lock);
> > return -ENOENT;
> > }
> >
> > /* drm_gem_handle_create_tail unlocks dev->object_name_lock. */
> > ret = drm_gem_handle_create_tail(file_priv, obj, &handle);
> > if (ret)
> > goto err;
> >
> > args->handle = handle;
> > args->size = obj->size;
> >
> > err:
> > drm_gem_object_put(obj);
> > return ret;
> > }
> >
> > /**
> > - * gem_gem_open - initalizes GEM file-private structures at devnode open time
> > + * drm_gem_open - initalizes GEM file-private structures at devnode open time
> > * @dev: drm_device which is being opened by userspace
> > * @file_private: drm file-private structure to set up
> > *
> > * Called at device open time, sets up the structure for handling refcounting
> > * of mm objects.
> > */
> > void
> > drm_gem_open(struct drm_device *dev, struct drm_file *file_private)
> > {
> > idr_init_base(&file_private->object_idr, 1);
> > spin_lock_init(&file_private->table_lock);
> > }
> >
> > /**
> > * drm_gem_release - release file-private GEM resources
> > * @dev: drm_device which is being closed by userspace
> > * @file_private: drm file-private structure to clean up
> > *
> > * Called at close time when the filp is going away.
> > *
> > diff --git a/drivers/gpu/drm/drm_gem_vram_helper.c b/drivers/gpu/drm/drm_gem_vram_helper.c
> > index 889a06696f7e..02ca22e90290 100644
> > --- a/drivers/gpu/drm/drm_gem_vram_helper.c
> > +++ b/drivers/gpu/drm/drm_gem_vram_helper.c
> > @@ -600,41 +600,41 @@ static int drm_gem_vram_bo_driver_move(struct drm_gem_vram_object *gbo,
> > * Helpers for struct drm_gem_object_funcs
> > */
> >
> > /**
> > * drm_gem_vram_object_free() - \
> > Implements &struct drm_gem_object_funcs.free
> > * @gem: GEM object. Refers to &struct drm_gem_vram_object.gem
> > */
> > static void drm_gem_vram_object_free(struct drm_gem_object *gem)
> > {
> > struct drm_gem_vram_object *gbo = drm_gem_vram_of_gem(gem);
> >
> > drm_gem_vram_put(gbo);
> > }
> >
> > /*
> > * Helpers for dump buffers
> > */
> >
> > /**
> > - * drm_gem_vram_driver_create_dumb() - \
> > + * drm_gem_vram_driver_dumb_create() - \
> > Implements &struct drm_driver.dumb_create
> > * @file: the DRM file
> > * @dev: the DRM device
> > * @args: the arguments as provided to \
> > &struct drm_driver.dumb_create
> > *
> > * This function requires the driver to use @drm_device.vram_mm for its
> > * instance of VRAM MM.
> > *
> > * Returns:
> > * 0 on success, or
> > * a negative error code otherwise.
> > */
> > int drm_gem_vram_driver_dumb_create(struct drm_file *file,
> > struct drm_device *dev,
> > struct drm_mode_create_dumb *args)
> > {
> > if (WARN_ONCE(!dev->vram_mm, "VRAM MM not initialized"))
> > return -EINVAL;
> >
> > diff --git a/drivers/gpu/drm/drm_mode_object.c b/drivers/gpu/drm/drm_mode_object.c
> > index db05f386a709..b26588b52795 100644
> > --- a/drivers/gpu/drm/drm_mode_object.c
> > +++ b/drivers/gpu/drm/drm_mode_object.c
> > @@ -98,41 +98,41 @@ void drm_mode_object_register(struct drm_device *dev,
> > * Free @id from @dev's unique identifier pool.
> > * This function can be called multiple times, and guards against
> > * multiple removals.
> > * These modeset identifiers are _not_ reference counted. Hence don't use this
> > * for reference counted modeset objects like framebuffers.
> > */
> > void drm_mode_object_unregister(struct drm_device *dev,
> > struct drm_mode_object *object)
> > {
> > WARN_ON(!dev->driver->load && dev->registered && !object->free_cb);
> >
> > mutex_lock(&dev->mode_config.idr_mutex);
> > if (object->id) {
> > idr_remove(&dev->mode_config.object_idr, object->id);
> > object->id = 0;
> > }
> > mutex_unlock(&dev->mode_config.idr_mutex);
> > }
> >
> > /**
> > - * drm_lease_required - check types which must be leased to be used
> > + * drm_mode_object_lease_required - check types which must be leased to be used
> > * @type: type of object
> > *
> > * Returns whether the provided type of drm_mode_object must
> > * be owned or leased to be used by a process.
> > */
> > bool drm_mode_object_lease_required(uint32_t type)
> > {
> > switch(type) {
> > case DRM_MODE_OBJECT_CRTC:
> > case DRM_MODE_OBJECT_CONNECTOR:
> > case DRM_MODE_OBJECT_PLANE:
> > return true;
> > default:
> > return false;
> > }
> > }
> >
> > struct drm_mode_object *__drm_mode_object_find(struct drm_device *dev,
> > struct drm_file *file_priv,
> > uint32_t id, uint32_t type)
> > diff --git a/drivers/gpu/drm/drm_modes.c b/drivers/gpu/drm/drm_modes.c
> > index 501b4fe55a3d..33fb2f05ce66 100644
> > --- a/drivers/gpu/drm/drm_modes.c
> > +++ b/drivers/gpu/drm/drm_modes.c
> > @@ -1872,41 +1872,41 @@ drm_mode_create_from_cmdline_mode(struct drm_device *dev,
> > cmd->margins);
> > else
> > mode = drm_gtf_mode(dev,
> > cmd->xres, cmd->yres,
> > cmd->refresh_specified ? cmd->refresh : 60,
> > cmd->interlace,
> > cmd->margins);
> > if (!mode)
> > return NULL;
> >
> > mode->type |= DRM_MODE_TYPE_USERDEF;
> > /* fix up 1368x768: GFT/CVT can't express 1366 width due to alignment */
> > if (cmd->xres == 1366)
> > drm_mode_fixup_1366x768(mode);
> > drm_mode_set_crtcinfo(mode, CRTC_INTERLACE_HALVE_V);
> > return mode;
> > }
> > EXPORT_SYMBOL(drm_mode_create_from_cmdline_mode);
> >
> > /**
> > - * drm_crtc_convert_to_umode - convert a drm_display_mode into a modeinfo
> > + * drm_mode_convert_to_umode - convert a drm_display_mode into a modeinfo
> > * @out: drm_mode_modeinfo struct to return to the user
> > * @in: drm_display_mode to use
> > *
> > * Convert a drm_display_mode into a drm_mode_modeinfo structure to return to
> > * the user.
> > */
> > void drm_mode_convert_to_umode(struct drm_mode_modeinfo *out,
> > const struct drm_display_mode *in)
> > {
> > out->clock = in->clock;
> > out->hdisplay = in->hdisplay;
> > out->hsync_start = in->hsync_start;
> > out->hsync_end = in->hsync_end;
> > out->htotal = in->htotal;
> > out->hskew = in->hskew;
> > out->vdisplay = in->vdisplay;
> > out->vsync_start = in->vsync_start;
> > out->vsync_end = in->vsync_end;
> > out->vtotal = in->vtotal;
> > out->vscan = in->vscan;
> > @@ -1924,41 +1924,41 @@ void drm_mode_convert_to_umode(struct drm_mode_modeinfo *out,
> > case HDMI_PICTURE_ASPECT_64_27:
> > out->flags |= DRM_MODE_FLAG_PIC_AR_64_27;
> > break;
> > case HDMI_PICTURE_ASPECT_256_135:
> > out->flags |= DRM_MODE_FLAG_PIC_AR_256_135;
> > break;
> > default:
> > WARN(1, "Invalid aspect ratio (0%x) on mode\n",
> > in->picture_aspect_ratio);
> > fallthrough;
> > case HDMI_PICTURE_ASPECT_NONE:
> > out->flags |= DRM_MODE_FLAG_PIC_AR_NONE;
> > break;
> > }
> >
> > strncpy(out->name, in->name, DRM_DISPLAY_MODE_LEN);
> > out->name[DRM_DISPLAY_MODE_LEN-1] = 0;
> > }
> >
> > /**
> > - * drm_crtc_convert_umode - convert a modeinfo into a drm_display_mode
> > + * drm_mode_convert_umode - convert a modeinfo into a drm_display_mode
> > * @dev: drm device
> > * @out: drm_display_mode to return to the user
> > * @in: drm_mode_modeinfo to use
> > *
> > * Convert a drm_mode_modeinfo into a drm_display_mode structure to return to
> > * the caller.
> > *
> > * Returns:
> > * Zero on success, negative errno on failure.
> > */
> > int drm_mode_convert_umode(struct drm_device *dev,
> > struct drm_display_mode *out,
> > const struct drm_mode_modeinfo *in)
> > {
> > if (in->clock > INT_MAX || in->vrefresh > INT_MAX)
> > return -ERANGE;
> >
> > out->clock = in->clock;
> > out->hdisplay = in->hdisplay;
> > out->hsync_start = in->hsync_start;
> > diff --git a/drivers/gpu/drm/drm_scdc_helper.c b/drivers/gpu/drm/drm_scdc_helper.c
> > index 311e71bbba5b..991b8c86d78d 100644
> > --- a/drivers/gpu/drm/drm_scdc_helper.c
> > +++ b/drivers/gpu/drm/drm_scdc_helper.c
> > @@ -108,41 +108,41 @@ ssize_t drm_scdc_write(struct i2c_adapter *adapter, u8 offset,
> >
> > msg.buf = data;
> >
> > memcpy(data, &offset, sizeof(offset));
> > memcpy(data + 1, buffer, size);
> >
> > err = i2c_transfer(adapter, &msg, 1);
> >
> > kfree(data);
> >
> > if (err < 0)
> > return err;
> > if (err != 1)
> > return -EPROTO;
> >
> > return 0;
> > }
> > EXPORT_SYMBOL(drm_scdc_write);
> >
> > /**
> > - * drm_scdc_check_scrambling_status - what is status of scrambling?
> > + * drm_scdc_get_scrambling_status - what is status of scrambling?
> > * @adapter: I2C adapter for DDC channel
> > *
> > * Reads the scrambler status over SCDC, and checks the
> > * scrambling status.
> > *
> > * Returns:
> > * True if the scrambling is enabled, false otherwise.
> > */
> > bool drm_scdc_get_scrambling_status(struct i2c_adapter *adapter)
> > {
> > u8 status;
> > int ret;
> >
> > ret = drm_scdc_readb(adapter, SCDC_SCRAMBLER_STATUS, &status);
> > if (ret < 0) {
> > DRM_DEBUG_KMS("Failed to read scrambling status: %d\n", ret);
> > return false;
> > }
> >
> > return status & SCDC_SCRAMBLING_STATUS;
> > diff --git a/drivers/gpu/drm/i915/display/intel_dpll_mgr.c b/drivers/gpu/drm/i915/display/intel_dpll_mgr.c
> > index a95e6a2ac698..8753bab20ce8 100644
> > --- a/drivers/gpu/drm/i915/display/intel_dpll_mgr.c
> > +++ b/drivers/gpu/drm/i915/display/intel_dpll_mgr.c
> > @@ -4573,41 +4573,41 @@ static void sanitize_dpll_state(struct drm_i915_private *i915,
> > if (!pll->on || pll->active_mask)
> > return;
> >
> > drm_dbg_kms(&i915->drm,
> > "%s enabled but not in use, disabling\n",
> > pll->info->name);
> >
> > pll->info->funcs->disable(i915, pll);
> > pll->on = false;
> > }
> >
> > void intel_dpll_sanitize_state(struct drm_i915_private *i915)
> > {
> > int i;
> >
> > for (i = 0; i < i915->dpll.num_shared_dpll; i++)
> > sanitize_dpll_state(i915, &i915->dpll.shared_dplls[i]);
> > }
> >
> > /**
> > - * intel_shared_dpll_dump_hw_state - write hw_state to dmesg
> > + * intel_dpll_dump_hw_state - write hw_state to dmesg
> > * @dev_priv: i915 drm device
> > * @hw_state: hw state to be written to the log
> > *
> > * Write the relevant values in @hw_state to dmesg using drm_dbg_kms.
> > */
> > void intel_dpll_dump_hw_state(struct drm_i915_private *dev_priv,
> > const struct intel_dpll_hw_state *hw_state)
> > {
> > if (dev_priv->dpll.mgr) {
> > dev_priv->dpll.mgr->dump_hw_state(dev_priv, hw_state);
> > } else {
> > /* fallback for platforms that don't use the shared dpll
> > * infrastructure
> > */
> > drm_dbg_kms(&dev_priv->drm,
> > "dpll_hw_state: dpll: 0x%x, dpll_md: 0x%x, "
> > "fp0: 0x%x, fp1: 0x%x\n",
> > hw_state->dpll,
> > hw_state->dpll_md,
> > hw_state->fp0,
> > diff --git a/drivers/gpu/drm/i915/i915_gem_evict.c b/drivers/gpu/drm/i915/i915_gem_evict.c
> > index 6501939929d5..e1a66c8245b8 100644
> > --- a/drivers/gpu/drm/i915/i915_gem_evict.c
> > +++ b/drivers/gpu/drm/i915/i915_gem_evict.c
> > @@ -221,41 +221,41 @@ i915_gem_evict_something(struct i915_address_space *vm,
> > list_for_each_entry_safe(vma, next, &eviction_list, evict_link) {
> > __i915_vma_unpin(vma);
> > if (ret == 0)
> > ret = __i915_vma_unbind(vma);
> > }
> >
> > while (ret == 0 && (node = drm_mm_scan_color_evict(&scan))) {
> > vma = container_of(node, struct i915_vma, node);
> >
> > /* If we find any non-objects (!vma), we cannot evict them */
> > if (vma->node.color != I915_COLOR_UNEVICTABLE)
> > ret = __i915_vma_unbind(vma);
> > else
> > ret = -ENOSPC; /* XXX search failed, try again? */
> > }
> >
> > return ret;
> > }
> >
> > /**
> > - * i915_gem_evict_for_vma - Evict vmas to make room for binding a new one
> > + * i915_gem_evict_for_node - Evict vmas to make room for binding a new one
> > * @vm: address space to evict from
> > * @target: range (and color) to evict for
> > * @flags: additional flags to control the eviction algorithm
> > *
> > * This function will try to evict vmas that overlap the target node.
> > *
> > * To clarify: This is for freeing up virtual address space, not for freeing
> > * memory in e.g. the shrinker.
> > */
> > int i915_gem_evict_for_node(struct i915_address_space *vm,
> > struct drm_mm_node *target,
> > unsigned int flags)
> > {
> > LIST_HEAD(eviction_list);
> > struct drm_mm_node *node;
> > u64 start = target->start;
> > u64 end = start + target->size;
> > struct i915_vma *vma, *next;
> > int ret = 0;
> >
> > diff --git a/drivers/gpu/drm/i915/i915_perf.c b/drivers/gpu/drm/i915/i915_perf.c
> > index e94976976571..3ced82820483 100644
> > --- a/drivers/gpu/drm/i915/i915_perf.c
> > +++ b/drivers/gpu/drm/i915/i915_perf.c
> > @@ -608,41 +608,42 @@ static int append_oa_sample(struct i915_perf_stream *stream,
> >
> > if ((count - *offset) < header.size)
> > return -ENOSPC;
> >
> > buf += *offset;
> > if (copy_to_user(buf, &header, sizeof(header)))
> > return -EFAULT;
> > buf += sizeof(header);
> >
> > if (sample_flags & SAMPLE_OA_REPORT) {
> > if (copy_to_user(buf, report, report_size))
> > return -EFAULT;
> > }
> >
> > (*offset) += header.size;
> >
> > return 0;
> > }
> >
> > /**
> > - * Copies all buffered OA reports into userspace read() buffer.
> > + * gen8_append_oa_reports - Copies all buffered OA reports into
> > + * userspace read() buffer.
> > * @stream: An i915-perf stream opened for OA metrics
> > * @buf: destination buffer given by userspace
> > * @count: the number of bytes userspace wants to read
> > * @offset: (inout): the current position for writing into @buf
> > *
> > * Notably any error condition resulting in a short read (-%ENOSPC or
> > * -%EFAULT) will be returned even though one or more records may
> > * have been successfully copied. In this case it's up to the caller
> > * to decide if the error should be squashed before returning to
> > * userspace.
> > *
> > * Note: reports are consumed from the head, and appended to the
> > * tail, so the tail chases the head?... If you think that's mad
> > * and back-to-front you're not alone, but this follows the
> > * Gen PRM naming convention.
> > *
> > * Returns: 0 on success, negative error code on failure.
> > */
> > static int gen8_append_oa_reports(struct i915_perf_stream *stream,
> > char __user *buf,
> > @@ -900,41 +901,42 @@ static int gen8_oa_read(struct i915_perf_stream *stream,
> > /*
> > * Note: .oa_enable() is expected to re-init the oabuffer and
> > * reset GEN8_OASTATUS for us
> > */
> > oastatus = intel_uncore_read(uncore, oastatus_reg);
> > }
> >
> > if (oastatus & GEN8_OASTATUS_REPORT_LOST) {
> > ret = append_oa_status(stream, buf, count, offset,
> > DRM_I915_PERF_RECORD_OA_REPORT_LOST);
> > if (ret)
> > return ret;
> > intel_uncore_write(uncore, oastatus_reg,
> > oastatus & ~GEN8_OASTATUS_REPORT_LOST);
> > }
> >
> > return gen8_append_oa_reports(stream, buf, count, offset);
> > }
> >
> > /**
> > - * Copies all buffered OA reports into userspace read() buffer.
> > + * gen7_append_oa_reports - Copies all buffered OA reports into
> > + * userspace read() buffer.
> > * @stream: An i915-perf stream opened for OA metrics
> > * @buf: destination buffer given by userspace
> > * @count: the number of bytes userspace wants to read
> > * @offset: (inout): the current position for writing into @buf
> > *
> > * Notably any error condition resulting in a short read (-%ENOSPC or
> > * -%EFAULT) will be returned even though one or more records may
> > * have been successfully copied. In this case it's up to the caller
> > * to decide if the error should be squashed before returning to
> > * userspace.
> > *
> > * Note: reports are consumed from the head, and appended to the
> > * tail, so the tail chases the head?... If you think that's mad
> > * and back-to-front you're not alone, but this follows the
> > * Gen PRM naming convention.
> > *
> > * Returns: 0 on success, negative error code on failure.
> > */
> > static int gen7_append_oa_reports(struct i915_perf_stream *stream,
> > char __user *buf,
> > @@ -3210,41 +3212,41 @@ static long i915_perf_config_locked(struct i915_perf_stream *stream,
> > * reconfiguration inline from that context. The update
> > * will then be ordered with respect to submission on that
> > * context.
> > *
> > * When set globally, we use a low priority kernel context,
> > * so it will effectively take effect when idle.
> > */
> > err = emit_oa_config(stream, config, oa_context(stream), NULL);
> > if (!err)
> > config = xchg(&stream->oa_config, config);
> > else
> > ret = err;
> > }
> >
> > i915_oa_config_put(config);
> >
> > return ret;
> > }
> >
> > /**
> > - * i915_perf_ioctl - support ioctl() usage with i915 perf stream FDs
> > + * i915_perf_ioctl_locked - support ioctl() usage with i915 perf stream FDs
> > * @stream: An i915 perf stream
> > * @cmd: the ioctl request
> > * @arg: the ioctl data
> > *
> > * Note: The &perf->lock mutex has been taken to serialize
> > * with any non-file-operation driver hooks.
> > *
> > * Returns: zero on success or a negative error code. Returns -EINVAL for
> > * an unknown ioctl request.
> > */
> > static long i915_perf_ioctl_locked(struct i915_perf_stream *stream,
> > unsigned int cmd,
> > unsigned long arg)
> > {
> > switch (cmd) {
> > case I915_PERF_IOCTL_ENABLE:
> > i915_perf_enable_locked(stream);
> > return 0;
> > case I915_PERF_IOCTL_DISABLE:
> > i915_perf_disable_locked(stream);
> > diff --git a/drivers/gpu/drm/scheduler/sched_main.c b/drivers/gpu/drm/scheduler/sched_main.c
> > index da24c4e8b9fb..b498d474ef9e 100644
> > --- a/drivers/gpu/drm/scheduler/sched_main.c
> > +++ b/drivers/gpu/drm/scheduler/sched_main.c
> > @@ -430,41 +430,41 @@ void drm_sched_stop(struct drm_gpu_scheduler *sched, struct drm_sched_job *bad)
> > */
> > if (bad != s_job)
> > sched->ops->free_job(s_job);
> > else
> > sched->free_guilty = true;
> > }
> > }
> >
> > /*
> > * Stop pending timer in flight as we rearm it in drm_sched_start. This
> > * avoids the pending timeout work in progress to fire right away after
> > * this TDR finished and before the newly restarted jobs had a
> > * chance to complete.
> > */
> > cancel_delayed_work(&sched->work_tdr);
> > }
> >
> > EXPORT_SYMBOL(drm_sched_stop);
> >
> > /**
> > - * drm_sched_job_recovery - recover jobs after a reset
> > + * drm_sched_start - recover jobs after a reset
> > *
> > * @sched: scheduler instance
> > * @full_recovery: proceed with complete sched restart
> > *
> > */
> > void drm_sched_start(struct drm_gpu_scheduler *sched, bool full_recovery)
> > {
> > struct drm_sched_job *s_job, *tmp;
> > int r;
> >
> > /*
> > * Locking the list is not required here as the sched thread is parked
> > * so no new jobs are being inserted or removed. Also concurrent
> > * GPU recovers can't run in parallel.
> > */
> > list_for_each_entry_safe(s_job, tmp, &sched->ring_mirror_list, node) {
> > struct dma_fence *fence = s_job->s_fence->parent;
> >
> > atomic_inc(&sched->hw_rq_count);
> >
> > diff --git a/drivers/gpu/drm/v3d/v3d_sched.c b/drivers/gpu/drm/v3d/v3d_sched.c
> > index 0747614a78f0..f968f389633a 100644
> > --- a/drivers/gpu/drm/v3d/v3d_sched.c
> > +++ b/drivers/gpu/drm/v3d/v3d_sched.c
> > @@ -47,41 +47,41 @@ to_tfu_job(struct drm_sched_job *sched_job)
> > {
> > return container_of(sched_job, struct v3d_tfu_job, base.base);
> > }
> >
> > static struct v3d_csd_job *
> > to_csd_job(struct drm_sched_job *sched_job)
> > {
> > return container_of(sched_job, struct v3d_csd_job, base.base);
> > }
> >
> > static void
> > v3d_job_free(struct drm_sched_job *sched_job)
> > {
> > struct v3d_job *job = to_v3d_job(sched_job);
> >
> > drm_sched_job_cleanup(sched_job);
> > v3d_job_put(job);
> > }
> >
> > /**
> > - * Returns the fences that the job depends on, one by one.
> > + * v3d_job_dependency - Returns the fences that the job depends on, one by one.
> > *
> > * If placed in the scheduler's .dependency method, the corresponding
> > * .run_job won't be called until all of them have been signaled.
> > */
> > static struct dma_fence *
> > v3d_job_dependency(struct drm_sched_job *sched_job,
> > struct drm_sched_entity *s_entity)
> > {
> > struct v3d_job *job = to_v3d_job(sched_job);
> >
> > /* XXX: Wait on a fence for switching the GMP if necessary,
> > * and then do so.
> > */
> >
> > if (!xa_empty(&job->deps))
> > return xa_erase(&job->deps, job->last_dep++);
> >
> > return NULL;
> > }
> >
> > diff --git a/drivers/gpu/drm/vc4/vc4_bo.c b/drivers/gpu/drm/vc4/vc4_bo.c
> > index a21a6c53ffcf..469d1b4f2643 100644
> > --- a/drivers/gpu/drm/vc4/vc4_bo.c
> > +++ b/drivers/gpu/drm/vc4/vc4_bo.c
> > @@ -374,41 +374,41 @@ static struct vc4_bo *vc4_bo_get_from_cache(struct drm_device *dev,
> > vc4_bo_set_label(&bo->base.base, type);
> > mutex_unlock(&vc4->bo_lock);
> > return bo;
> > }
> >
> > static const struct vm_operations_struct vc4_vm_ops = {
> > .fault = vc4_fault,
> > .open = drm_gem_vm_open,
> > .close = drm_gem_vm_close,
> > };
> >
> > static const struct drm_gem_object_funcs vc4_gem_object_funcs = {
> > .free = vc4_free_object,
> > .export = vc4_prime_export,
> > .get_sg_table = drm_gem_cma_prime_get_sg_table,
> > .vmap = vc4_prime_vmap,
> > .vm_ops = &vc4_vm_ops,
> > };
> >
> > /**
> > - * vc4_gem_create_object - Implementation of driver->gem_create_object.
> > + * vc4_create_object - Implementation of driver->gem_create_object.
> > * @dev: DRM device
> > * @size: Size in bytes of the memory the object will reference
> > *
> > * This lets the CMA helpers allocate object structs for us, and keep
> > * our BO stats correct.
> > */
> > struct drm_gem_object *vc4_create_object(struct drm_device *dev, size_t size)
> > {
> > struct vc4_dev *vc4 = to_vc4_dev(dev);
> > struct vc4_bo *bo;
> >
> > bo = kzalloc(sizeof(*bo), GFP_KERNEL);
> > if (!bo)
> > return ERR_PTR(-ENOMEM);
> >
> > bo->madv = VC4_MADV_WILLNEED;
> > refcount_set(&bo->usecnt, 0);
> > mutex_init(&bo->madv_lock);
> > mutex_lock(&vc4->bo_lock);
> > bo->label = VC4_BO_TYPE_KERNEL;
> > diff --git a/include/drm/drm_atomic_helper.h b/include/drm/drm_atomic_helper.h
> > index 85df04c8e62f..5f47720440fa 100644
> > --- a/include/drm/drm_atomic_helper.h
> > +++ b/include/drm/drm_atomic_helper.h
> > @@ -150,54 +150,54 @@ int drm_atomic_helper_page_flip_target(
> > int drm_atomic_helper_legacy_gamma_set(struct drm_crtc *crtc,
> > u16 *red, u16 *green, u16 *blue,
> > uint32_t size,
> > struct drm_modeset_acquire_ctx *ctx);
> >
> > /**
> > * drm_atomic_crtc_for_each_plane - iterate over planes currently attached to CRTC
> > * @plane: the loop cursor
> > * @crtc: the CRTC whose planes are iterated
> > *
> > * This iterates over the current state, useful (for example) when applying
> > * atomic state after it has been checked and swapped. To iterate over the
> > * planes which *will* be attached (more useful in code called from
> > * &drm_mode_config_funcs.atomic_check) see
> > * drm_atomic_crtc_state_for_each_plane().
> > */
> > #define drm_atomic_crtc_for_each_plane(plane, crtc) \
> > drm_for_each_plane_mask(plane, (crtc)->dev, (crtc)->state->plane_mask)
> >
> > /**
> > - * drm_crtc_atomic_state_for_each_plane - iterate over attached planes in new state
> > + * drm_atomic_crtc_state_for_each_plane - iterate over attached planes in new state
> > * @plane: the loop cursor
> > * @crtc_state: the incoming CRTC state
> > *
> > * Similar to drm_crtc_for_each_plane(), but iterates the planes that will be
> > * attached if the specified state is applied. Useful during for example
> > * in code called from &drm_mode_config_funcs.atomic_check operations, to
> > * validate the incoming state.
> > */
> > #define drm_atomic_crtc_state_for_each_plane(plane, crtc_state) \
> > drm_for_each_plane_mask(plane, (crtc_state)->state->dev, (crtc_state)->plane_mask)
> >
> > /**
> > - * drm_crtc_atomic_state_for_each_plane_state - iterate over attached planes in new state
> > + * drm_atomic_crtc_state_for_each_plane_state - iterate over attached planes in new state
> > * @plane: the loop cursor
> > * @plane_state: loop cursor for the plane's state, must be const
> > * @crtc_state: the incoming CRTC state
> > *
> > * Similar to drm_crtc_for_each_plane(), but iterates the planes that will be
> > * attached if the specified state is applied. Useful during for example
> > * in code called from &drm_mode_config_funcs.atomic_check operations, to
> > * validate the incoming state.
> > *
> > * Compared to just drm_atomic_crtc_state_for_each_plane() this also fills in a
> > * const plane_state. This is useful when a driver just wants to peek at other
> > * active planes on this CRTC, but does not need to change it.
> > */
> > #define drm_atomic_crtc_state_for_each_plane_state(plane, plane_state, crtc_state) \
> > drm_for_each_plane_mask(plane, (crtc_state)->state->dev, (crtc_state)->plane_mask) \
> > for_each_if ((plane_state = \
> > __drm_atomic_get_current_plane_state((crtc_state)->state, \
> > plane)))
> >
> > /**
> > diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h
> > index 928136556174..fcdc58d8b88b 100644
> > --- a/include/drm/drm_connector.h
> > +++ b/include/drm/drm_connector.h
> > @@ -67,41 +67,41 @@ enum drm_connector_status {
> > * sink device which can be autodetect. For digital outputs like DP or
> > * HDMI (which can be realiable probed) this means there's really
> > * nothing there. It is driver-dependent whether a connector with this
> > * status can be lit up or not.
> > */
> > connector_status_disconnected = 2,
> > /**
> > * @connector_status_unknown: The connector's status could not be
> > * reliably detected. This happens when probing would either cause
> > * flicker (like load-detection when the connector is in use), or when a
> > * hardware resource isn't available (like when load-detection needs a
> > * free CRTC). It should be possible to light up the connector with one
> > * of the listed fallback modes. For default configuration userspace
> > * should only try to light up connectors with unknown status when
> > * there's not connector with @connector_status_connected.
> > */
> > connector_status_unknown = 3,
> > };
> >
> > /**
> > - * enum drm_connector_registration_status - userspace registration status for
> > + * enum drm_connector_registration_state - userspace registration status for
> > * a &drm_connector
> > *
> > * This enum is used to track the status of initializing a connector and
> > * registering it with userspace, so that DRM can prevent bogus modesets on
> > * connectors that no longer exist.
> > */
> > enum drm_connector_registration_state {
> > /**
> > * @DRM_CONNECTOR_INITIALIZING: The connector has just been created,
> > * but has yet to be exposed to userspace. There should be no
> > * additional restrictions to how the state of this connector may be
> > * modified.
> > */
> > DRM_CONNECTOR_INITIALIZING = 0,
> >
> > /**
> > * @DRM_CONNECTOR_REGISTERED: The connector has been fully initialized
> > * and registered with sysfs, as such it has been exposed to
> > * userspace. There should be no additional restrictions to how the
> > * state of this connector may be modified.
> > diff --git a/include/drm/drm_device.h b/include/drm/drm_device.h
> > index 2c361964aee7..283a93ce4617 100644
> > --- a/include/drm/drm_device.h
> > +++ b/include/drm/drm_device.h
> > @@ -10,41 +10,41 @@
> > #include <drm/drm_mode_config.h>
> >
> > struct drm_driver;
> > struct drm_minor;
> > struct drm_master;
> > struct drm_device_dma;
> > struct drm_vblank_crtc;
> > struct drm_sg_mem;
> > struct drm_local_map;
> > struct drm_vma_offset_manager;
> > struct drm_vram_mm;
> > struct drm_fb_helper;
> >
> > struct inode;
> >
> > struct pci_dev;
> > struct pci_controller;
> >
> >
> > /**
> > - * enum drm_switch_power - power state of drm device
> > + * enum switch_power_state - power state of drm device
> > */
> >
> > enum switch_power_state {
> > /** @DRM_SWITCH_POWER_ON: Power state is ON */
> > DRM_SWITCH_POWER_ON = 0,
> >
> > /** @DRM_SWITCH_POWER_OFF: Power state is OFF */
> > DRM_SWITCH_POWER_OFF = 1,
> >
> > /** @DRM_SWITCH_POWER_CHANGING: Power state is changing */
> > DRM_SWITCH_POWER_CHANGING = 2,
> >
> > /** @DRM_SWITCH_POWER_DYNAMIC_OFF: Suspended */
> > DRM_SWITCH_POWER_DYNAMIC_OFF = 3,
> > };
> >
> > /**
> > * struct drm_device - DRM device structure
> > *
> > * This structure represent a complete card that
> > diff --git a/include/drm/drm_dsc.h b/include/drm/drm_dsc.h
> > index 732f32740c86..53c51231b31c 100644
> > --- a/include/drm/drm_dsc.h
> > +++ b/include/drm/drm_dsc.h
> > @@ -256,41 +256,42 @@ struct drm_dsc_config {
> > bool native_420;
> > /**
> > * @second_line_bpg_offset:
> > * Additional bits/grp for seconnd line of slice for native 4:2:0
> > */
> > u8 second_line_bpg_offset;
> > /**
> > * @nsl_bpg_offset:
> > * Num of bits deallocated for each grp that is not in second line of
> > * slice
> > */
> > u16 nsl_bpg_offset;
> > /**
> > * @second_line_offset_adj:
> > * Offset adjustment for second line in Native 4:2:0 mode
> > */
> > u16 second_line_offset_adj;
> > };
> >
> > /**
> > - * struct picture_parameter_set - Represents 128 bytes of Picture Parameter Set
> > + * struct drm_dsc_picture_parameter_set - Represents 128 bytes of
> > + * Picture Parameter Set
> > *
> > * The VESA DSC standard defines picture parameter set (PPS) which display
> > * stream compression encoders must communicate to decoders.
> > * The PPS is encapsulated in 128 bytes (PPS 0 through PPS 127). The fields in
> > * this structure are as per Table 4.1 in Vesa DSC specification v1.1/v1.2.
> > * The PPS fields that span over more than a byte should be stored in Big Endian
> > * format.
> > */
> > struct drm_dsc_picture_parameter_set {
> > /**
> > * @dsc_version:
> > * PPS0[3:0] - dsc_version_minor: Contains Minor version of DSC
> > * PPS0[7:4] - dsc_version_major: Contains major version of DSC
> > */
> > u8 dsc_version;
> > /**
> > * @pps_identifier:
> > * PPS1[7:0] - Application specific identifier that can be
> > * used to differentiate between different PPS tables.
> > */
> > diff --git a/include/drm/drm_gem_vram_helper.h b/include/drm/drm_gem_vram_helper.h
> > index c0d28ba0f5c9..a4bac02249c2 100644
> > --- a/include/drm/drm_gem_vram_helper.h
> > +++ b/include/drm/drm_gem_vram_helper.h
> > @@ -49,54 +49,54 @@ struct vm_area_struct;
> > * drm_gem_vram_vmap() and drm_gem_vram_vunmap().
> > */
> > struct drm_gem_vram_object {
> > struct ttm_buffer_object bo;
> > struct dma_buf_map map;
> >
> > /**
> > * @vmap_use_count:
> > *
> > * Reference count on the virtual address.
> > * The address are un-mapped when the count reaches zero.
> > */
> > unsigned int vmap_use_count;
> >
> > /* Supported placements are %TTM_PL_VRAM and %TTM_PL_SYSTEM */
> > struct ttm_placement placement;
> > struct ttm_place placements[2];
> > };
> >
> > /**
> > - * Returns the container of type &struct drm_gem_vram_object
> > - * for field bo.
> > + * drm_gem_vram_of_bo - Returns the container of type
> > + * &struct drm_gem_vram_object for field bo.
> > * @bo: the VRAM buffer object
> > * Returns: The containing GEM VRAM object
> > */
> > static inline struct drm_gem_vram_object *drm_gem_vram_of_bo(
> > struct ttm_buffer_object *bo)
> > {
> > return container_of(bo, struct drm_gem_vram_object, bo);
> > }
> >
> > /**
> > - * Returns the container of type &struct drm_gem_vram_object
> > - * for field gem.
> > + * drm_gem_vram_of_gem - Returns the container of type
> > + * &struct drm_gem_vram_object for field gem.
> > * @gem: the GEM object
> > * Returns: The containing GEM VRAM object
> > */
> > static inline struct drm_gem_vram_object *drm_gem_vram_of_gem(
> > struct drm_gem_object *gem)
> > {
> > return container_of(gem, struct drm_gem_vram_object, bo.base);
> > }
> >
> > struct drm_gem_vram_object *drm_gem_vram_create(struct drm_device *dev,
> > size_t size,
> > unsigned long pg_align);
> > void drm_gem_vram_put(struct drm_gem_vram_object *gbo);
> > u64 drm_gem_vram_mmap_offset(struct drm_gem_vram_object *gbo);
> > s64 drm_gem_vram_offset(struct drm_gem_vram_object *gbo);
> > int drm_gem_vram_pin(struct drm_gem_vram_object *gbo, unsigned long pl_flag);
> > int drm_gem_vram_unpin(struct drm_gem_vram_object *gbo);
> > int drm_gem_vram_vmap(struct drm_gem_vram_object *gbo, struct dma_buf_map *map);
> > void drm_gem_vram_vunmap(struct drm_gem_vram_object *gbo, struct dma_buf_map *map);
>
> --
> Jani Nikula, Intel Open Source Graphics Center

--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch