All of lore.kernel.org
 help / color / mirror / Atom feed
* Misc. cleanups
@ 2011-11-07 20:03 Jesse Barnes
  2011-11-07 20:03 ` [PATCH 01/12] drm: remove unused connector_count field from drm_display_mode Jesse Barnes
                   ` (12 more replies)
  0 siblings, 13 replies; 16+ messages in thread
From: Jesse Barnes @ 2011-11-07 20:03 UTC (permalink / raw)
  To: dri-devel

Just some cleanups for unused fields in drm_crtc.h and some comment
corrections.  I also removed a few DRM_ERRORs from drm_crtc.c (things
actually weren't as bad as I feared).

Next step is to remove a whole slew of DRM_DEBUG calls unless people are
really attached to them.  I find them to just get in the way when I'm
debugging a display problem, so I convert the ones I care about to
DRM_ERROR temporarily and add several of my own...

Thanks,
Jesse

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH 01/12] drm: remove unused connector_count field from drm_display_mode
  2011-11-07 20:03 Misc. cleanups Jesse Barnes
@ 2011-11-07 20:03 ` Jesse Barnes
  2011-11-07 20:03 ` [PATCH 02/12] drm: remove unused save/restore functions from drm_crtc_funcs & fix comments Jesse Barnes
                   ` (11 subsequent siblings)
  12 siblings, 0 replies; 16+ messages in thread
From: Jesse Barnes @ 2011-11-07 20:03 UTC (permalink / raw)
  To: dri-devel

Doesn't really belong here anyway.

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
---
 include/drm/drm_crtc.h |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
index 8020798..b0df23a 100644
--- a/include/drm/drm_crtc.h
+++ b/include/drm/drm_crtc.h
@@ -118,7 +118,6 @@ struct drm_display_mode {
 
 	char name[DRM_DISPLAY_MODE_LEN];
 
-	int connector_count;
 	enum drm_mode_status status;
 	int type;
 
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 02/12] drm: remove unused save/restore functions from drm_crtc_funcs & fix comments
  2011-11-07 20:03 Misc. cleanups Jesse Barnes
  2011-11-07 20:03 ` [PATCH 01/12] drm: remove unused connector_count field from drm_display_mode Jesse Barnes
@ 2011-11-07 20:03 ` Jesse Barnes
  2011-11-07 20:03 ` [PATCH 03/12] drm: fix comments for drm_crtc struct Jesse Barnes
                   ` (10 subsequent siblings)
  12 siblings, 0 replies; 16+ messages in thread
From: Jesse Barnes @ 2011-11-07 20:03 UTC (permalink / raw)
  To: dri-devel

Remove two unused fields from this struct and cleanup/correct the comments.

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
---
 include/drm/drm_crtc.h |   18 ++++--------------
 1 files changed, 4 insertions(+), 14 deletions(-)

diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
index b0df23a..a960020 100644
--- a/include/drm/drm_crtc.h
+++ b/include/drm/drm_crtc.h
@@ -281,18 +281,12 @@ struct drm_pending_vblank_event;
 /**
  * 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
+ * @cursor_set: set new cursor params
+ * @cursor_move: move the cursor
  * @gamma_set: specify color ramp for CRTC
  * @destroy: deinit and free object.
+ * @set_config: apply a new configuration to this CRTC
+ * @page_flip: queue an asynchronous framebuffer 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
@@ -304,10 +298,6 @@ struct drm_pending_vblank_event;
  * bus accessors.
  */
 struct drm_crtc_funcs {
-	/* Save CRTC state */
-	void (*save)(struct drm_crtc *crtc); /* suspend? */
-	/* Restore CRTC state */
-	void (*restore)(struct drm_crtc *crtc); /* resume? */
 	/* Reset CRTC state */
 	void (*reset)(struct drm_crtc *crtc);
 
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 03/12] drm: fix comments for drm_crtc struct
  2011-11-07 20:03 Misc. cleanups Jesse Barnes
  2011-11-07 20:03 ` [PATCH 01/12] drm: remove unused connector_count field from drm_display_mode Jesse Barnes
  2011-11-07 20:03 ` [PATCH 02/12] drm: remove unused save/restore functions from drm_crtc_funcs & fix comments Jesse Barnes
@ 2011-11-07 20:03 ` Jesse Barnes
  2011-11-07 20:03 ` [PATCH 04/12] drm: remove unused save/restore fields from drm_connector & fix comments Jesse Barnes
                   ` (9 subsequent siblings)
  12 siblings, 0 replies; 16+ messages in thread
From: Jesse Barnes @ 2011-11-07 20:03 UTC (permalink / raw)
  To: dri-devel

Remove stale entries and update with the latest stuff.

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
---
 include/drm/drm_crtc.h |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
index a960020..ad2a605 100644
--- a/include/drm/drm_crtc.h
+++ b/include/drm/drm_crtc.h
@@ -330,10 +330,21 @@ struct drm_crtc_funcs {
 
 /**
  * drm_crtc - central CRTC control structure
+ * @dev: parent DRM device
+ * @head: list management
+ * @base: base KMS object for ID tracking etc.
  * @enabled: is this CRTC enabled?
+ * @mode: current mode timings
+ * @hwmode: mode timings as programmed to hw regs
  * @x: x position on screen
  * @y: y position on screen
  * @funcs: CRTC control functions
+ * @gamma_size: size of gamma ramp
+ * @gamma_store: gamma ramp values
+ * @framedur_ns: precise frame timing
+ * @framedur_ns: precise line timing
+ * @pixeldur_ns: precise pixel timing
+ * @helper_private: mid-layer private data
  *
  * Each CRTC may have one or more connectors associated with it.  This structure
  * allows the CRTC to be controlled.
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 04/12] drm: remove unused save/restore fields from drm_connector & fix comments
  2011-11-07 20:03 Misc. cleanups Jesse Barnes
                   ` (2 preceding siblings ...)
  2011-11-07 20:03 ` [PATCH 03/12] drm: fix comments for drm_crtc struct Jesse Barnes
@ 2011-11-07 20:03 ` Jesse Barnes
  2011-11-07 20:26   ` Chris Wilson
  2011-11-07 20:03 ` [PATCH 05/12] drm: add comments for drm_encoder_funcs Jesse Barnes
                   ` (8 subsequent siblings)
  12 siblings, 1 reply; 16+ messages in thread
From: Jesse Barnes @ 2011-11-07 20:03 UTC (permalink / raw)
  To: dri-devel

Also fix up the wrapping to 80 columns.

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
---
 include/drm/drm_crtc.h |   20 +++++++-------------
 1 files changed, 7 insertions(+), 13 deletions(-)

diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
index ad2a605..6ab20f8 100644
--- a/include/drm/drm_crtc.h
+++ b/include/drm/drm_crtc.h
@@ -386,26 +386,19 @@ struct drm_crtc {
 /**
  * drm_connector_funcs - control connectors on a given device
  * @dpms: set power state (see drm_crtc_funcs above)
- * @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: build a 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
  *
  * Each CRTC may have one or more connectors attached to it.  The functions
- * below allow the core DRM code to control connectors, enumerate available modes,
- * etc.
+ * below allow the core DRM code to control connectors, enumerate available
+ * modes, etc.
  */
 struct drm_connector_funcs {
 	void (*dpms)(struct drm_connector *connector, int mode);
-	void (*save)(struct drm_connector *connector);
-	void (*restore)(struct drm_connector *connector);
 	void (*reset)(struct drm_connector *connector);
 
 	/* Check to see if anything is attached to the connector.
@@ -416,9 +409,10 @@ struct drm_connector_funcs {
 	 */
 	enum drm_connector_status (*detect)(struct drm_connector *connector,
 					    bool force);
-	int (*fill_modes)(struct drm_connector *connector, uint32_t max_width, uint32_t max_height);
-	int (*set_property)(struct drm_connector *connector, struct drm_property *property,
-			     uint64_t val);
+	int (*fill_modes)(struct drm_connector *connector, uint32_t max_width,
+			  uint32_t max_height);
+	int (*set_property)(struct drm_connector *connector,
+			    struct drm_property *property, uint64_t val);
 	void (*destroy)(struct drm_connector *connector);
 	void (*force)(struct drm_connector *connector);
 };
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 05/12] drm: add comments for drm_encoder_funcs
  2011-11-07 20:03 Misc. cleanups Jesse Barnes
                   ` (3 preceding siblings ...)
  2011-11-07 20:03 ` [PATCH 04/12] drm: remove unused save/restore fields from drm_connector & fix comments Jesse Barnes
@ 2011-11-07 20:03 ` Jesse Barnes
  2011-11-07 20:03 ` [PATCH 06/12] drm: add drm_encoder comments Jesse Barnes
                   ` (7 subsequent siblings)
  12 siblings, 0 replies; 16+ messages in thread
From: Jesse Barnes @ 2011-11-07 20:03 UTC (permalink / raw)
  To: dri-devel

Just basic verbiage.

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
---
 include/drm/drm_crtc.h |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
index 6ab20f8..a1583d8 100644
--- a/include/drm/drm_crtc.h
+++ b/include/drm/drm_crtc.h
@@ -417,6 +417,13 @@ struct drm_connector_funcs {
 	void (*force)(struct drm_connector *connector);
 };
 
+/**
+ * drm_encoder_funcs - encoder controls
+ * @reset: reset state (e.g. at init or resume time)
+ * @destroy: cleanup and free associated data
+ *
+ * Encoders sit between CRTCs and connectors.
+ */
 struct drm_encoder_funcs {
 	void (*reset)(struct drm_encoder *encoder);
 	void (*destroy)(struct drm_encoder *encoder);
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 06/12] drm: add drm_encoder comments
  2011-11-07 20:03 Misc. cleanups Jesse Barnes
                   ` (4 preceding siblings ...)
  2011-11-07 20:03 ` [PATCH 05/12] drm: add comments for drm_encoder_funcs Jesse Barnes
@ 2011-11-07 20:03 ` Jesse Barnes
  2011-11-07 20:03 ` [PATCH 07/12] drm: remove unused fields in drm_connector and document the rest Jesse Barnes
                   ` (6 subsequent siblings)
  12 siblings, 0 replies; 16+ messages in thread
From: Jesse Barnes @ 2011-11-07 20:03 UTC (permalink / raw)
  To: dri-devel

Just some basic comments about the place and function of the structure
and fields.

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
---
 include/drm/drm_crtc.h |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
index a1583d8..a98433a 100644
--- a/include/drm/drm_crtc.h
+++ b/include/drm/drm_crtc.h
@@ -436,6 +436,18 @@ struct drm_encoder_funcs {
 
 /**
  * drm_encoder - central DRM encoder structure
+ * @dev: parent DRM device
+ * @head: list management
+ * @base: base KMS object
+ * @encoder_type: one of the %DRM_MODE_ENCODER_<foo> types in drm_mode.h
+ * @possible_crtcs: bitmask of potential CRTC bindings
+ * @possible_clones: bitmask of potential sibling encoders for cloning
+ * @crtc: currently bound CRTC
+ * @funcs: control functions
+ * @helper_private: mid-layer private data
+ *
+ * CRTCs drive pixels to encoders, which convert them into signals
+ * appropriate for a given connector or set of connectors.
  */
 struct drm_encoder {
 	struct drm_device *dev;
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 07/12] drm: remove unused fields in drm_connector and document the rest
  2011-11-07 20:03 Misc. cleanups Jesse Barnes
                   ` (5 preceding siblings ...)
  2011-11-07 20:03 ` [PATCH 06/12] drm: add drm_encoder comments Jesse Barnes
@ 2011-11-07 20:03 ` Jesse Barnes
  2011-11-07 20:03 ` [PATCH 08/12] drm: document drm_mode_set structure Jesse Barnes
                   ` (5 subsequent siblings)
  12 siblings, 0 replies; 16+ messages in thread
From: Jesse Barnes @ 2011-11-07 20:03 UTC (permalink / raw)
  To: dri-devel

We never used initial_x/y or the force_encoder_id, so drop those fields
and proide a basic description of the others.

Really, the ELD bits belong in drm_display_info rather than directly in
the connector, but that's a separate cleanup.

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
---
 include/drm/drm_crtc.h |   35 ++++++++++++++++++++++++++++-------
 1 files changed, 28 insertions(+), 7 deletions(-)

diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
index a98433a..e9f486d 100644
--- a/include/drm/drm_crtc.h
+++ b/include/drm/drm_crtc.h
@@ -483,14 +483,37 @@ enum drm_connector_force {
 
 /**
  * drm_connector - central DRM connector control structure
- * @crtc: CRTC this connector is currently connected to, NULL if none
+ * @dev: parent DRM device
+ * @kdev: kernel device for sysfs attributes
+ * @attr: sysfs attributes
+ * @head: list management
+ * @base: base KMS object
+ * @connector_type: one of the %DRM_MODE_CONNECTOR_<foo> types from drm_mode.h
+ * @connector_type_id: index into connector type enum
  * @interlace_allowed: can this connector handle interlaced modes?
  * @doublescan_allowed: can this connector handle doublescan?
- * @available_modes: modes available on this connector (from get_modes() + user)
- * @initial_x: initial x position for this connector
- * @initial_y: initial y position for this connector
- * @status: connector connected?
+ * @modes: modes available on this connector (from fill_modes() + user)
+ * @status: one of the drm_connector_status enums (connected, not, or unknown)
+ * @probed_modes: list of modes derived directly from the display
+ * @display_info: information about attached display (e.g. from EDID)
  * @funcs: connector control functions
+ * @user_modes: user added mode list
+ * @edid_blob_ptr: DRM property containing EDID if present
+ * @property_ids: property tracking for this connector
+ * @property_values: value pointers or data for properties
+ * @polled: a %DRM_CONNECTOR_POLL_<foo> value for core driven polling
+ * @dpms: current dpms state
+ * @helper_private: mid-layer private data
+ * @force: a %DRM_FORCE_<foo> state for forced mode sets
+ * @encoder_ids: valid encoders for this connector
+ * @encoder: encoder driving this connector, if any
+ * @eld: EDID-like data, if present
+ * @dvi_dual: dual link DVI, if found
+ * @max_tmds_clock: max clock rate, if found
+ * @latency_present: AV delay info from ELD, if found
+ * @video_latency: video latency info from ELD, if found
+ * @audio_latency: audio latency info from ELD, if found
+ * @null_edid_counter: track sinks that give us all zeros for the EDID
  *
  * Each connector may be connected to one or more CRTCs, or may be clonable by
  * another connector if they can share a CRTC.  Each connector also has a specific
@@ -511,7 +534,6 @@ struct drm_connector {
 	bool doublescan_allowed;
 	struct list_head modes; /* list of modes on this connector */
 
-	int initial_x, initial_y;
 	enum drm_connector_status status;
 
 	/* these are modes added by probing with DDC or the BIOS */
@@ -535,7 +557,6 @@ struct drm_connector {
 	/* forced on connector */
 	enum drm_connector_force force;
 	uint32_t encoder_ids[DRM_CONNECTOR_MAX_ENCODER];
-	uint32_t force_encoder_id;
 	struct drm_encoder *encoder; /* currently active encoder */
 
 	/* EDID bits */
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 08/12] drm: document drm_mode_set structure
  2011-11-07 20:03 Misc. cleanups Jesse Barnes
                   ` (6 preceding siblings ...)
  2011-11-07 20:03 ` [PATCH 07/12] drm: remove unused fields in drm_connector and document the rest Jesse Barnes
@ 2011-11-07 20:03 ` Jesse Barnes
  2011-11-07 20:03 ` [PATCH 09/12] drm: document and cleanup drm_mode_config_funcs Jesse Barnes
                   ` (4 subsequent siblings)
  12 siblings, 0 replies; 16+ messages in thread
From: Jesse Barnes @ 2011-11-07 20:03 UTC (permalink / raw)
  To: dri-devel

This is a core mode setting structure that deserves a little verbiage.

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
---
 include/drm/drm_crtc.h |   10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletions(-)

diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
index e9f486d..b33713b 100644
--- a/include/drm/drm_crtc.h
+++ b/include/drm/drm_crtc.h
@@ -570,7 +570,15 @@ struct drm_connector {
 };
 
 /**
- * struct drm_mode_set
+ * drm_mode_set - new values for a CRTC config change
+ * @head: list management
+ * @fb: framebuffer to use for new config
+ * @crtc: CRTC whose configuration we're about to change
+ * @mode: mode timings to use
+ * @x: position of this CRTC relative to @fb
+ * @y: position of this CRTC relative to @fb
+ * @connectors: array of connectors to drive with this CRTC if possible
+ * @num_connectors: size of @connectors array
  *
  * Represents a single crtc the connectors that it drives with what mode
  * and from which framebuffer it scans out from.
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 09/12] drm: document and cleanup drm_mode_config_funcs
  2011-11-07 20:03 Misc. cleanups Jesse Barnes
                   ` (7 preceding siblings ...)
  2011-11-07 20:03 ` [PATCH 08/12] drm: document drm_mode_set structure Jesse Barnes
@ 2011-11-07 20:03 ` Jesse Barnes
  2011-11-07 20:03 ` [PATCH 10/12] drm: document the drm_mode_group structure Jesse Barnes
                   ` (3 subsequent siblings)
  12 siblings, 0 replies; 16+ messages in thread
From: Jesse Barnes @ 2011-11-07 20:03 UTC (permalink / raw)
  To: dri-devel

Just fix the wrapping mostly.

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
---
 include/drm/drm_crtc.h |   11 +++++++++--
 1 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
index b33713b..a0c7dc6 100644
--- a/include/drm/drm_crtc.h
+++ b/include/drm/drm_crtc.h
@@ -600,10 +600,17 @@ struct drm_mode_set {
 };
 
 /**
- * struct drm_mode_config_funcs - configure CRTCs for a given screen layout
+ * struct drm_mode_config_funcs - basic driver provided mode setting functions
+ * @fb_create: create a new framebuffer object
+ * @output_poll_changed: function to handle output configuration changes
+ *
+ * Some global (i.e. not per-CRTC, connector, etc) mode setting functions that
+ * involve drivers.
  */
 struct drm_mode_config_funcs {
-	struct drm_framebuffer *(*fb_create)(struct drm_device *dev, struct drm_file *file_priv, struct drm_mode_fb_cmd *mode_cmd);
+	struct drm_framebuffer *(*fb_create)(struct drm_device *dev,
+					     struct drm_file *file_priv,
+					     struct drm_mode_fb_cmd *mode_cmd);
 	void (*output_poll_changed)(struct drm_device *dev);
 };
 
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 10/12] drm: document the drm_mode_group structure
  2011-11-07 20:03 Misc. cleanups Jesse Barnes
                   ` (8 preceding siblings ...)
  2011-11-07 20:03 ` [PATCH 09/12] drm: document and cleanup drm_mode_config_funcs Jesse Barnes
@ 2011-11-07 20:03 ` Jesse Barnes
  2011-11-07 20:03 ` [PATCH 11/12] drm: document the drm_mode_config structure Jesse Barnes
                   ` (2 subsequent siblings)
  12 siblings, 0 replies; 16+ messages in thread
From: Jesse Barnes @ 2011-11-07 20:03 UTC (permalink / raw)
  To: dri-devel

This is actually a core structure with a big future ahead of it.  Make
it a little less mysterious.

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
---
 include/drm/drm_crtc.h |   13 +++++++++++++
 1 files changed, 13 insertions(+), 0 deletions(-)

diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
index a0c7dc6..003cba2 100644
--- a/include/drm/drm_crtc.h
+++ b/include/drm/drm_crtc.h
@@ -614,6 +614,19 @@ struct drm_mode_config_funcs {
 	void (*output_poll_changed)(struct drm_device *dev);
 };
 
+/**
+ * drm_mode_group - group of mode setting resources for potential sub-grouping
+ * @num_crtcs: CRTC count
+ * @num_encoders: encoder count
+ * @num_connectors: connector count
+ * @id_list: list of KMS object IDs in this group
+ *
+ * Currently this simply tracks the global mode setting state.  But in the
+ * future it could allow groups of objects to be set aside into independent
+ * control groups for use by different user level processes (e.g. two X servers
+ * running simultaneously on different heads, each with their own mode
+ * configuration and freedom of mode setting).
+ */
 struct drm_mode_group {
 	uint32_t num_crtcs;
 	uint32_t num_encoders;
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 11/12] drm: document the drm_mode_config structure
  2011-11-07 20:03 Misc. cleanups Jesse Barnes
                   ` (9 preceding siblings ...)
  2011-11-07 20:03 ` [PATCH 10/12] drm: document the drm_mode_group structure Jesse Barnes
@ 2011-11-07 20:03 ` Jesse Barnes
  2011-11-07 20:03 ` [PATCH 12/12] drm: remove some potentially dangerous DRM_ERRORs Jesse Barnes
  2011-11-07 20:27 ` Misc. cleanups Alex Deucher
  12 siblings, 0 replies; 16+ messages in thread
From: Jesse Barnes @ 2011-11-07 20:03 UTC (permalink / raw)
  To: dri-devel

Including a comment about what the locks are for.

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
---
 include/drm/drm_crtc.h |   23 +++++++++++++++++++++++
 1 files changed, 23 insertions(+), 0 deletions(-)

diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
index 003cba2..58e6a996 100644
--- a/include/drm/drm_crtc.h
+++ b/include/drm/drm_crtc.h
@@ -638,7 +638,30 @@ struct drm_mode_group {
 
 /**
  * drm_mode_config - Mode configuration control structure
+ * @mutex: mutex protecting KMS related lists and structures
+ * @idr_mutex: mutex for KMS ID allocation and management
+ * @crtc_idr: main KMS ID tracking object
+ * @num_fb: number of fbs available
+ * @fb_list: list of framebuffers available
+ * @num_connector: number of connectors on this device
+ * @connector_list: list of connector objects
+ * @num_encoder: number of encoders on this device
+ * @encoder_list: list of encoder objects
+ * @num_crtc: number of CRTCs on this device
+ * @crtc_list: list of CRTC objects
+ * @min_width: minimum pixel width on this device
+ * @min_height: minimum pixel height on this device
+ * @max_width: maximum pixel width on this device
+ * @max_height: maximum pixel height on this device
+ * @funcs: core driver provided mode setting functions
+ * @fb_base: base address of the framebuffer
+ * @poll_enabled: track polling status for this device
+ * @output_poll_work: delayed work for polling in process context
+ * @*_property: core property tracking
  *
+ * Core mode resource tracking structure.  All CRTC, encoders, and connectors
+ * enumerated by the driver are added here, as are global properties.  Some
+ * global restrictions are also here, e.g. dimension restrictions.
  */
 struct drm_mode_config {
 	struct mutex mutex; /* protects configuration (mode lists etc.) */
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 12/12] drm: remove some potentially dangerous DRM_ERRORs
  2011-11-07 20:03 Misc. cleanups Jesse Barnes
                   ` (10 preceding siblings ...)
  2011-11-07 20:03 ` [PATCH 11/12] drm: document the drm_mode_config structure Jesse Barnes
@ 2011-11-07 20:03 ` Jesse Barnes
  2011-11-07 20:27 ` Misc. cleanups Alex Deucher
  12 siblings, 0 replies; 16+ messages in thread
From: Jesse Barnes @ 2011-11-07 20:03 UTC (permalink / raw)
  To: dri-devel

Each of these error messages can be caused by a broken or malicious
userspace wanting to spam the dmesg with useless info.  They're really
not worthy of DRM_DEBUG statements either; those are generally only
useful during bringup of new hardware or versions, and ought to be
removed before going upstream anyway.

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
---
 drivers/gpu/drm/drm_crtc.c |   19 ++++---------------
 1 files changed, 4 insertions(+), 15 deletions(-)

diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
index fe738f0..df6c01b 100644
--- a/drivers/gpu/drm/drm_crtc.c
+++ b/drivers/gpu/drm/drm_crtc.c
@@ -1620,10 +1620,8 @@ int drm_mode_cursor_ioctl(struct drm_device *dev,
 	if (!drm_core_check_feature(dev, DRIVER_MODESET))
 		return -EINVAL;
 
-	if (!req->flags) {
-		DRM_ERROR("no operation set\n");
+	if (!req->flags)
 		return -EINVAL;
-	}
 
 	mutex_lock(&dev->mode_config.mutex);
 	obj = drm_mode_object_find(dev, req->crtc_id, DRM_MODE_OBJECT_CRTC);
@@ -1636,7 +1634,6 @@ int drm_mode_cursor_ioctl(struct drm_device *dev,
 
 	if (req->flags & DRM_MODE_CURSOR_BO) {
 		if (!crtc->funcs->cursor_set) {
-			DRM_ERROR("crtc does not support cursor\n");
 			ret = -ENXIO;
 			goto out;
 		}
@@ -1649,7 +1646,6 @@ int drm_mode_cursor_ioctl(struct drm_device *dev,
 		if (crtc->funcs->cursor_move) {
 			ret = crtc->funcs->cursor_move(crtc, req->x, req->y);
 		} else {
-			DRM_ERROR("crtc does not support cursor\n");
 			ret = -EFAULT;
 			goto out;
 		}
@@ -1687,14 +1683,11 @@ int drm_mode_addfb(struct drm_device *dev,
 	if (!drm_core_check_feature(dev, DRIVER_MODESET))
 		return -EINVAL;
 
-	if ((config->min_width > r->width) || (r->width > config->max_width)) {
-		DRM_ERROR("mode new framebuffer width not within limits\n");
+	if ((config->min_width > r->width) || (r->width > config->max_width))
 		return -EINVAL;
-	}
-	if ((config->min_height > r->height) || (r->height > config->max_height)) {
-		DRM_ERROR("mode new framebuffer height not within limits\n");
+
+	if ((config->min_height > r->height) || (r->height > config->max_height))
 		return -EINVAL;
-	}
 
 	mutex_lock(&dev->mode_config.mutex);
 
@@ -1751,7 +1744,6 @@ int drm_mode_rmfb(struct drm_device *dev,
 	obj = drm_mode_object_find(dev, *id, DRM_MODE_OBJECT_FB);
 	/* TODO check that we really get a framebuffer back. */
 	if (!obj) {
-		DRM_ERROR("mode invalid framebuffer id\n");
 		ret = -EINVAL;
 		goto out;
 	}
@@ -1762,7 +1754,6 @@ int drm_mode_rmfb(struct drm_device *dev,
 			found = 1;
 
 	if (!found) {
-		DRM_ERROR("tried to remove a fb that we didn't own\n");
 		ret = -EINVAL;
 		goto out;
 	}
@@ -1809,7 +1800,6 @@ int drm_mode_getfb(struct drm_device *dev,
 	mutex_lock(&dev->mode_config.mutex);
 	obj = drm_mode_object_find(dev, r->fb_id, DRM_MODE_OBJECT_FB);
 	if (!obj) {
-		DRM_ERROR("invalid framebuffer id\n");
 		ret = -EINVAL;
 		goto out;
 	}
@@ -1845,7 +1835,6 @@ int drm_mode_dirtyfb_ioctl(struct drm_device *dev,
 	mutex_lock(&dev->mode_config.mutex);
 	obj = drm_mode_object_find(dev, r->fb_id, DRM_MODE_OBJECT_FB);
 	if (!obj) {
-		DRM_ERROR("invalid framebuffer id\n");
 		ret = -EINVAL;
 		goto out_err1;
 	}
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* Re: [PATCH 04/12] drm: remove unused save/restore fields from drm_connector & fix comments
  2011-11-07 20:03 ` [PATCH 04/12] drm: remove unused save/restore fields from drm_connector & fix comments Jesse Barnes
@ 2011-11-07 20:26   ` Chris Wilson
  2011-11-07 20:35     ` Jesse Barnes
  0 siblings, 1 reply; 16+ messages in thread
From: Chris Wilson @ 2011-11-07 20:26 UTC (permalink / raw)
  To: Jesse Barnes, dri-devel

On Mon,  7 Nov 2011 12:03:15 -0800, Jesse Barnes <jbarnes@virtuousgeek.org> wrote:
> Also fix up the wrapping to 80 columns.
> 
> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
> ---
>  include/drm/drm_crtc.h |   20 +++++++-------------
>  1 files changed, 7 insertions(+), 13 deletions(-)
> 
> diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
> index ad2a605..6ab20f8 100644
> --- a/include/drm/drm_crtc.h
> +++ b/include/drm/drm_crtc.h
> @@ -386,26 +386,19 @@ struct drm_crtc {
>  /**
>   * drm_connector_funcs - control connectors on a given device
>   * @dpms: set power state (see drm_crtc_funcs above)
> - * @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: build a 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
>   *
>   * Each CRTC may have one or more connectors attached to it.  The functions
> - * below allow the core DRM code to control connectors, enumerate available modes,
> - * etc.
> + * below allow the core DRM code to control connectors, enumerate available
> + * modes, etc.
>   */
>  struct drm_connector_funcs {
>  	void (*dpms)(struct drm_connector *connector, int mode);
> -	void (*save)(struct drm_connector *connector);
> -	void (*restore)(struct drm_connector *connector);
>  	void (*reset)(struct drm_connector *connector);
>  
>  	/* Check to see if anything is attached to the connector.
> @@ -416,9 +409,10 @@ struct drm_connector_funcs {
>  	 */
>  	enum drm_connector_status (*detect)(struct drm_connector *connector,
>  					    bool force);
> -	int (*fill_modes)(struct drm_connector *connector, uint32_t max_width, uint32_t max_height);
> -	int (*set_property)(struct drm_connector *connector, struct drm_property *property,
> -			     uint64_t val);
> +	int (*fill_modes)(struct drm_connector *connector, uint32_t max_width,
> +			  uint32_t max_height);

Attack of the random 80-column limit!

int (*fill_modes)(struct drm_connector *connector,
		  uint32_t max_width,  uint32_t max_height);

keeps the logically more connected width&height together.

What colour do you want your bikeshed today?
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Misc. cleanups
  2011-11-07 20:03 Misc. cleanups Jesse Barnes
                   ` (11 preceding siblings ...)
  2011-11-07 20:03 ` [PATCH 12/12] drm: remove some potentially dangerous DRM_ERRORs Jesse Barnes
@ 2011-11-07 20:27 ` Alex Deucher
  12 siblings, 0 replies; 16+ messages in thread
From: Alex Deucher @ 2011-11-07 20:27 UTC (permalink / raw)
  To: Jesse Barnes; +Cc: dri-devel

On Mon, Nov 7, 2011 at 3:03 PM, Jesse Barnes <jbarnes@virtuousgeek.org> wrote:
> Just some cleanups for unused fields in drm_crtc.h and some comment
> corrections.  I also removed a few DRM_ERRORs from drm_crtc.c (things
> actually weren't as bad as I feared).
>
> Next step is to remove a whole slew of DRM_DEBUG calls unless people are
> really attached to them.  I find them to just get in the way when I'm
> debugging a display problem, so I convert the ones I care about to
> DRM_ERROR temporarily and add several of my own...

For the series:

Reviewed-by: Alex Deucher <alexdeucher@gmail.com>


>
> Thanks,
> Jesse
>
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel
>

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 04/12] drm: remove unused save/restore fields from drm_connector & fix comments
  2011-11-07 20:26   ` Chris Wilson
@ 2011-11-07 20:35     ` Jesse Barnes
  0 siblings, 0 replies; 16+ messages in thread
From: Jesse Barnes @ 2011-11-07 20:35 UTC (permalink / raw)
  To: Chris Wilson; +Cc: dri-devel


[-- Attachment #1.1: Type: text/plain, Size: 2919 bytes --]

On Mon, 07 Nov 2011 20:26:59 +0000
Chris Wilson <chris@chris-wilson.co.uk> wrote:

> On Mon,  7 Nov 2011 12:03:15 -0800, Jesse Barnes <jbarnes@virtuousgeek.org> wrote:
> > Also fix up the wrapping to 80 columns.
> > 
> > Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
> > ---
> >  include/drm/drm_crtc.h |   20 +++++++-------------
> >  1 files changed, 7 insertions(+), 13 deletions(-)
> > 
> > diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
> > index ad2a605..6ab20f8 100644
> > --- a/include/drm/drm_crtc.h
> > +++ b/include/drm/drm_crtc.h
> > @@ -386,26 +386,19 @@ struct drm_crtc {
> >  /**
> >   * drm_connector_funcs - control connectors on a given device
> >   * @dpms: set power state (see drm_crtc_funcs above)
> > - * @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: build a 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
> >   *
> >   * Each CRTC may have one or more connectors attached to it.  The functions
> > - * below allow the core DRM code to control connectors, enumerate available modes,
> > - * etc.
> > + * below allow the core DRM code to control connectors, enumerate available
> > + * modes, etc.
> >   */
> >  struct drm_connector_funcs {
> >  	void (*dpms)(struct drm_connector *connector, int mode);
> > -	void (*save)(struct drm_connector *connector);
> > -	void (*restore)(struct drm_connector *connector);
> >  	void (*reset)(struct drm_connector *connector);
> >  
> >  	/* Check to see if anything is attached to the connector.
> > @@ -416,9 +409,10 @@ struct drm_connector_funcs {
> >  	 */
> >  	enum drm_connector_status (*detect)(struct drm_connector *connector,
> >  					    bool force);
> > -	int (*fill_modes)(struct drm_connector *connector, uint32_t max_width, uint32_t max_height);
> > -	int (*set_property)(struct drm_connector *connector, struct drm_property *property,
> > -			     uint64_t val);
> > +	int (*fill_modes)(struct drm_connector *connector, uint32_t max_width,
> > +			  uint32_t max_height);
> 
> Attack of the random 80-column limit!
> 
> int (*fill_modes)(struct drm_connector *connector,
> 		  uint32_t max_width,  uint32_t max_height);
> 
> keeps the logically more connected width&height together.
> 
> What colour do you want your bikeshed today?

/me burns down the bikeshed.

-- 
Jesse Barnes, Intel Open Source Technology Center

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2011-11-07 20:35 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-11-07 20:03 Misc. cleanups Jesse Barnes
2011-11-07 20:03 ` [PATCH 01/12] drm: remove unused connector_count field from drm_display_mode Jesse Barnes
2011-11-07 20:03 ` [PATCH 02/12] drm: remove unused save/restore functions from drm_crtc_funcs & fix comments Jesse Barnes
2011-11-07 20:03 ` [PATCH 03/12] drm: fix comments for drm_crtc struct Jesse Barnes
2011-11-07 20:03 ` [PATCH 04/12] drm: remove unused save/restore fields from drm_connector & fix comments Jesse Barnes
2011-11-07 20:26   ` Chris Wilson
2011-11-07 20:35     ` Jesse Barnes
2011-11-07 20:03 ` [PATCH 05/12] drm: add comments for drm_encoder_funcs Jesse Barnes
2011-11-07 20:03 ` [PATCH 06/12] drm: add drm_encoder comments Jesse Barnes
2011-11-07 20:03 ` [PATCH 07/12] drm: remove unused fields in drm_connector and document the rest Jesse Barnes
2011-11-07 20:03 ` [PATCH 08/12] drm: document drm_mode_set structure Jesse Barnes
2011-11-07 20:03 ` [PATCH 09/12] drm: document and cleanup drm_mode_config_funcs Jesse Barnes
2011-11-07 20:03 ` [PATCH 10/12] drm: document the drm_mode_group structure Jesse Barnes
2011-11-07 20:03 ` [PATCH 11/12] drm: document the drm_mode_config structure Jesse Barnes
2011-11-07 20:03 ` [PATCH 12/12] drm: remove some potentially dangerous DRM_ERRORs Jesse Barnes
2011-11-07 20:27 ` Misc. cleanups Alex Deucher

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.