Skip to content

Commit 91ec9ab

Browse files
committed
drm/edid: abstract debugfs override EDID show better
Add a function to dump the override EDID in debugfs. This hides the override EDID management better in drm_edid.c. Signed-off-by: Jani Nikula <[email protected]> Reviewed-by: Ville Syrjälä <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/74defa7b595f51e6c1f2eacd9c799d567d29f053.1666614699.git.jani.nikula@intel.com
1 parent 2c9332d commit 91ec9ab

File tree

3 files changed

+15
-8
lines changed

3 files changed

+15
-8
lines changed

drivers/gpu/drm/drm_crtc_internal.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,10 @@ struct drm_plane;
5656
struct drm_plane_state;
5757
struct drm_property;
5858
struct edid;
59+
struct fwnode_handle;
5960
struct kref;
61+
struct seq_file;
6062
struct work_struct;
61-
struct fwnode_handle;
6263

6364
/* drm_crtc.c */
6465
int drm_mode_crtc_set_obj_prop(struct drm_mode_object *obj,
@@ -286,5 +287,6 @@ int drm_mode_page_flip_ioctl(struct drm_device *dev,
286287

287288
/* drm_edid.c */
288289
void drm_mode_fixup_1366x768(struct drm_display_mode *mode);
290+
int drm_edid_override_show(struct drm_connector *connector, struct seq_file *m);
289291
int drm_edid_override_set(struct drm_connector *connector, const void *edid, size_t size);
290292
int drm_edid_override_reset(struct drm_connector *connector);

drivers/gpu/drm/drm_debugfs.c

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -328,13 +328,7 @@ static ssize_t connector_write(struct file *file, const char __user *ubuf,
328328

329329
static int edid_show(struct seq_file *m, void *data)
330330
{
331-
struct drm_connector *connector = m->private;
332-
struct drm_property_blob *edid = connector->edid_blob_ptr;
333-
334-
if (connector->override_edid && edid)
335-
seq_write(m, edid->data, edid->length);
336-
337-
return 0;
331+
return drm_edid_override_show(m->private, m);
338332
}
339333

340334
static int edid_open(struct inode *inode, struct file *file)

drivers/gpu/drm/drm_edid.c

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2183,6 +2183,17 @@ static struct edid *drm_get_override_edid(struct drm_connector *connector,
21832183
return IS_ERR(override) ? NULL : override;
21842184
}
21852185

2186+
/* For debugfs edid_override implementation */
2187+
int drm_edid_override_show(struct drm_connector *connector, struct seq_file *m)
2188+
{
2189+
struct drm_property_blob *edid = connector->edid_blob_ptr;
2190+
2191+
if (connector->override_edid && edid)
2192+
seq_write(m, edid->data, edid->length);
2193+
2194+
return 0;
2195+
}
2196+
21862197
/* For debugfs edid_override implementation */
21872198
int drm_edid_override_set(struct drm_connector *connector, const void *edid,
21882199
size_t size)

0 commit comments

Comments
 (0)