Loading drivers/gpu/drm/drm_crtc.c +1 −1 Original line number Diff line number Diff line Loading @@ -363,7 +363,7 @@ EXPORT_SYMBOL(drm_framebuffer_cleanup); * @funcs: callbacks for the new CRTC * * LOCKING: * Caller must hold mode config lock. * Takes mode_config lock. * * Inits a new object created as base part of an driver crtc object. * Loading drivers/gpu/drm/drm_sysfs.c +4 −4 Original line number Diff line number Diff line Loading @@ -347,17 +347,17 @@ static struct bin_attribute edid_attr = { }; /** * drm_sysfs_connector_add - add an connector to sysfs * drm_sysfs_connector_add - add a connector to sysfs * @connector: connector to add * * Create an connector device in sysfs, along with its associated connector * Create a connector device in sysfs, along with its associated connector * properties (so far, connection status, dpms, mode list & edid) and * generate a hotplug event so userspace knows there's a new connector * available. * * Note: * This routine should only be called *once* for each DRM minor registered. * A second call for an already registered device will trigger the BUG_ON * This routine should only be called *once* for each registered connector. * A second call for an already registered connector will trigger the BUG_ON * below. */ int drm_sysfs_connector_add(struct drm_connector *connector) Loading include/drm/drmP.h +5 −5 Original line number Diff line number Diff line Loading @@ -755,11 +755,11 @@ struct drm_driver { * @dev: DRM device * @crtc: counter to fetch * * Driver callback for fetching a raw hardware vblank counter * for @crtc. If a device doesn't have a hardware counter, the * driver can simply return the value of drm_vblank_count and * make the enable_vblank() and disable_vblank() hooks into no-ops, * leaving interrupts enabled at all times. * Driver callback for fetching a raw hardware vblank counter for @crtc. * If a device doesn't have a hardware counter, the driver can simply * return the value of drm_vblank_count. The DRM core will account for * missed vblank events while interrupts where disabled based on system * timestamps. * * Wraparound handling and loss of events due to modesetting is dealt * with in the DRM core code. Loading include/drm/drm_crtc.h +7 −14 Original line number Diff line number Diff line Loading @@ -294,20 +294,16 @@ struct drm_plane; /** * drm_crtc_funcs - control CRTCs for a given device * @reset: reset CRTC after state has been invalidate (e.g. resume) * @dpms: control display power levels * @save: save CRTC state * @resore: restore CRTC state * @lock: lock the CRTC * @unlock: unlock the CRTC * @shadow_allocate: allocate shadow pixmap * @shadow_create: create shadow pixmap for rotation support * @shadow_destroy: free shadow pixmap * @mode_fixup: fixup proposed mode * @mode_set: set the desired mode on the CRTC * @restore: restore CRTC state * @reset: reset CRTC after state has been invalidate (e.g. resume) * @cursor_set: setup the cursor * @cursor_move: move the cursor * @gamma_set: specify color ramp for CRTC * @destroy: deinit and free object * @set_property: called when a property is changed * @set_config: apply a new CRTC configuration * @page_flip: initiate a page flip * * The drm_crtc_funcs structure is the central CRTC management structure * in the DRM. Each CRTC controls one or more connectors (note that the name Loading Loading @@ -420,11 +416,8 @@ struct drm_crtc { * @save: save connector state * @restore: restore connector state * @reset: reset connector after state has been invalidate (e.g. resume) * @mode_valid: is this mode valid on the given connector? * @mode_fixup: try to fixup proposed mode for this connector * @mode_set: set this mode * @detect: is this connector active? * @get_modes: get mode list for this connector * @fill_modes: fill mode list for this connector * @set_property: property for this connector may need update * @destroy: make object go away * @force: notify the driver the connector is forced on Loading include/drm/drm_crtc_helper.h +21 −0 Original line number Diff line number Diff line Loading @@ -44,6 +44,13 @@ enum mode_set_atomic { ENTER_ATOMIC_MODE_SET, }; /** * drm_crtc_helper_funcs - helper operations for CRTCs * @mode_fixup: try to fixup proposed mode for this connector * @mode_set: set this mode * * The helper operations are called by the mid-layer CRTC helper. */ struct drm_crtc_helper_funcs { /* * Control power levels on the CRTC. If the mode passed in is Loading Loading @@ -76,6 +83,13 @@ struct drm_crtc_helper_funcs { void (*disable)(struct drm_crtc *crtc); }; /** * drm_encoder_helper_funcs - helper operations for encoders * @mode_fixup: try to fixup proposed mode for this connector * @mode_set: set this mode * * The helper operations are called by the mid-layer CRTC helper. */ struct drm_encoder_helper_funcs { void (*dpms)(struct drm_encoder *encoder, int mode); void (*save)(struct drm_encoder *encoder); Loading @@ -97,6 +111,13 @@ struct drm_encoder_helper_funcs { void (*disable)(struct drm_encoder *encoder); }; /** * drm_connector_helper_funcs - helper operations for connectors * @get_modes: get mode list for this connector * @mode_valid: is this mode valid on the given connector? * * The helper operations are called by the mid-layer CRTC helper. */ struct drm_connector_helper_funcs { int (*get_modes)(struct drm_connector *connector); int (*mode_valid)(struct drm_connector *connector, Loading Loading
drivers/gpu/drm/drm_crtc.c +1 −1 Original line number Diff line number Diff line Loading @@ -363,7 +363,7 @@ EXPORT_SYMBOL(drm_framebuffer_cleanup); * @funcs: callbacks for the new CRTC * * LOCKING: * Caller must hold mode config lock. * Takes mode_config lock. * * Inits a new object created as base part of an driver crtc object. * Loading
drivers/gpu/drm/drm_sysfs.c +4 −4 Original line number Diff line number Diff line Loading @@ -347,17 +347,17 @@ static struct bin_attribute edid_attr = { }; /** * drm_sysfs_connector_add - add an connector to sysfs * drm_sysfs_connector_add - add a connector to sysfs * @connector: connector to add * * Create an connector device in sysfs, along with its associated connector * Create a connector device in sysfs, along with its associated connector * properties (so far, connection status, dpms, mode list & edid) and * generate a hotplug event so userspace knows there's a new connector * available. * * Note: * This routine should only be called *once* for each DRM minor registered. * A second call for an already registered device will trigger the BUG_ON * This routine should only be called *once* for each registered connector. * A second call for an already registered connector will trigger the BUG_ON * below. */ int drm_sysfs_connector_add(struct drm_connector *connector) Loading
include/drm/drmP.h +5 −5 Original line number Diff line number Diff line Loading @@ -755,11 +755,11 @@ struct drm_driver { * @dev: DRM device * @crtc: counter to fetch * * Driver callback for fetching a raw hardware vblank counter * for @crtc. If a device doesn't have a hardware counter, the * driver can simply return the value of drm_vblank_count and * make the enable_vblank() and disable_vblank() hooks into no-ops, * leaving interrupts enabled at all times. * Driver callback for fetching a raw hardware vblank counter for @crtc. * If a device doesn't have a hardware counter, the driver can simply * return the value of drm_vblank_count. The DRM core will account for * missed vblank events while interrupts where disabled based on system * timestamps. * * Wraparound handling and loss of events due to modesetting is dealt * with in the DRM core code. Loading
include/drm/drm_crtc.h +7 −14 Original line number Diff line number Diff line Loading @@ -294,20 +294,16 @@ struct drm_plane; /** * drm_crtc_funcs - control CRTCs for a given device * @reset: reset CRTC after state has been invalidate (e.g. resume) * @dpms: control display power levels * @save: save CRTC state * @resore: restore CRTC state * @lock: lock the CRTC * @unlock: unlock the CRTC * @shadow_allocate: allocate shadow pixmap * @shadow_create: create shadow pixmap for rotation support * @shadow_destroy: free shadow pixmap * @mode_fixup: fixup proposed mode * @mode_set: set the desired mode on the CRTC * @restore: restore CRTC state * @reset: reset CRTC after state has been invalidate (e.g. resume) * @cursor_set: setup the cursor * @cursor_move: move the cursor * @gamma_set: specify color ramp for CRTC * @destroy: deinit and free object * @set_property: called when a property is changed * @set_config: apply a new CRTC configuration * @page_flip: initiate a page flip * * The drm_crtc_funcs structure is the central CRTC management structure * in the DRM. Each CRTC controls one or more connectors (note that the name Loading Loading @@ -420,11 +416,8 @@ struct drm_crtc { * @save: save connector state * @restore: restore connector state * @reset: reset connector after state has been invalidate (e.g. resume) * @mode_valid: is this mode valid on the given connector? * @mode_fixup: try to fixup proposed mode for this connector * @mode_set: set this mode * @detect: is this connector active? * @get_modes: get mode list for this connector * @fill_modes: fill mode list for this connector * @set_property: property for this connector may need update * @destroy: make object go away * @force: notify the driver the connector is forced on Loading
include/drm/drm_crtc_helper.h +21 −0 Original line number Diff line number Diff line Loading @@ -44,6 +44,13 @@ enum mode_set_atomic { ENTER_ATOMIC_MODE_SET, }; /** * drm_crtc_helper_funcs - helper operations for CRTCs * @mode_fixup: try to fixup proposed mode for this connector * @mode_set: set this mode * * The helper operations are called by the mid-layer CRTC helper. */ struct drm_crtc_helper_funcs { /* * Control power levels on the CRTC. If the mode passed in is Loading Loading @@ -76,6 +83,13 @@ struct drm_crtc_helper_funcs { void (*disable)(struct drm_crtc *crtc); }; /** * drm_encoder_helper_funcs - helper operations for encoders * @mode_fixup: try to fixup proposed mode for this connector * @mode_set: set this mode * * The helper operations are called by the mid-layer CRTC helper. */ struct drm_encoder_helper_funcs { void (*dpms)(struct drm_encoder *encoder, int mode); void (*save)(struct drm_encoder *encoder); Loading @@ -97,6 +111,13 @@ struct drm_encoder_helper_funcs { void (*disable)(struct drm_encoder *encoder); }; /** * drm_connector_helper_funcs - helper operations for connectors * @get_modes: get mode list for this connector * @mode_valid: is this mode valid on the given connector? * * The helper operations are called by the mid-layer CRTC helper. */ struct drm_connector_helper_funcs { int (*get_modes)(struct drm_connector *connector); int (*mode_valid)(struct drm_connector *connector, Loading