All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v6 0/3] VRR capable attach prop in i915, DPCD helper, VRR debugfs
@ 2020-06-12 23:04 ` Manasi Navare
  0 siblings, 0 replies; 41+ messages in thread
From: Manasi Navare @ 2020-06-12 23:04 UTC (permalink / raw)
  To: intel-gfx, dri-devel; +Cc: Manasi Navare

This is an initial set of patches for enabling VRR support in i915.
This series has patches for:
1.  adding a drm dpcd helper to read ignore MSA
    bit in sink's DPCD indicating sink support for VRR
2. Attach and set VRR capable connector prop for Intel DP conn
3. Expose VRR min and max through debugfs

Aditya Swarup (1):
  drm/i915/dp: Attach and set drm connector VRR property

Bhanuprakash Modem (1):
  drm/i915/dp: Expose connector VRR monitor range via debugfs

Manasi Navare (1):
  drm/dp: DRM DP helper for reading Ignore MSA from DPCD

 .../drm/i915/display/intel_display_debugfs.c  | 20 ++++++++++++++
 drivers/gpu/drm/i915/display/intel_dp.c       | 27 +++++++++++++++++++
 drivers/gpu/drm/i915/display/intel_dp.h       |  2 ++
 include/drm/drm_dp_helper.h                   |  8 ++++++
 4 files changed, 57 insertions(+)

-- 
2.19.1

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

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

* [Intel-gfx] [PATCH v6 0/3] VRR capable attach prop in i915, DPCD helper, VRR debugfs
@ 2020-06-12 23:04 ` Manasi Navare
  0 siblings, 0 replies; 41+ messages in thread
From: Manasi Navare @ 2020-06-12 23:04 UTC (permalink / raw)
  To: intel-gfx, dri-devel

This is an initial set of patches for enabling VRR support in i915.
This series has patches for:
1.  adding a drm dpcd helper to read ignore MSA
    bit in sink's DPCD indicating sink support for VRR
2. Attach and set VRR capable connector prop for Intel DP conn
3. Expose VRR min and max through debugfs

Aditya Swarup (1):
  drm/i915/dp: Attach and set drm connector VRR property

Bhanuprakash Modem (1):
  drm/i915/dp: Expose connector VRR monitor range via debugfs

Manasi Navare (1):
  drm/dp: DRM DP helper for reading Ignore MSA from DPCD

 .../drm/i915/display/intel_display_debugfs.c  | 20 ++++++++++++++
 drivers/gpu/drm/i915/display/intel_dp.c       | 27 +++++++++++++++++++
 drivers/gpu/drm/i915/display/intel_dp.h       |  2 ++
 include/drm/drm_dp_helper.h                   |  8 ++++++
 4 files changed, 57 insertions(+)

-- 
2.19.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [PATCH v6 1/3] drm/dp: DRM DP helper for reading Ignore MSA from DPCD
  2020-06-12 23:04 ` [Intel-gfx] " Manasi Navare
@ 2020-06-12 23:04   ` Manasi Navare
  -1 siblings, 0 replies; 41+ messages in thread
From: Manasi Navare @ 2020-06-12 23:04 UTC (permalink / raw)
  To: intel-gfx, dri-devel; +Cc: Manasi Navare, Nicholas Kazlauskas

DP sink device sets the Ignore MSA bit in its
DP_DOWNSTREAM_PORT_COUNT register to indicate its ability to
ignore the MSA video timing parameters and its ability to support
seamless video timing change over a range of timing exposed by
DisplayID and EDID.
This is required for the sink to indicate that it is Adaptive sync
capable.

v3:
* Fi the typo in commit message (Manasi)
v2:
* Rename to describe what the function does (Jani Nikula)

Cc: Jani Nikula <jani.nikula@linux.intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Harry Wentland <harry.wentland@amd.com>
Cc: Nicholas Kazlauskas <Nicholas.Kazlauskas@amd.com>
Signed-off-by: Manasi Navare <manasi.d.navare@intel.com>
Reviewed-by: Harry Wentland <harry.wentland@amd.com>
---
 include/drm/drm_dp_helper.h | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/include/drm/drm_dp_helper.h b/include/drm/drm_dp_helper.h
index 1165ec105638..e47dc22ebf50 100644
--- a/include/drm/drm_dp_helper.h
+++ b/include/drm/drm_dp_helper.h
@@ -1457,6 +1457,14 @@ drm_dp_alternate_scrambler_reset_cap(const u8 dpcd[DP_RECEIVER_CAP_SIZE])
 			DP_ALTERNATE_SCRAMBLER_RESET_CAP;
 }
 
+/* Ignore MSA timing for Adaptive Sync support on DP 1.4 */
+static inline bool
+drm_dp_sink_can_do_video_without_timing_msa(const u8 dpcd[DP_RECEIVER_CAP_SIZE])
+{
+	return dpcd[DP_DOWN_STREAM_PORT_COUNT] &
+		DP_MSA_TIMING_PAR_IGNORED;
+}
+
 /*
  * DisplayPort AUX channel
  */
-- 
2.19.1

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

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

* [Intel-gfx] [PATCH v6 1/3] drm/dp: DRM DP helper for reading Ignore MSA from DPCD
@ 2020-06-12 23:04   ` Manasi Navare
  0 siblings, 0 replies; 41+ messages in thread
From: Manasi Navare @ 2020-06-12 23:04 UTC (permalink / raw)
  To: intel-gfx, dri-devel; +Cc: Harry Wentland, Nicholas Kazlauskas

DP sink device sets the Ignore MSA bit in its
DP_DOWNSTREAM_PORT_COUNT register to indicate its ability to
ignore the MSA video timing parameters and its ability to support
seamless video timing change over a range of timing exposed by
DisplayID and EDID.
This is required for the sink to indicate that it is Adaptive sync
capable.

v3:
* Fi the typo in commit message (Manasi)
v2:
* Rename to describe what the function does (Jani Nikula)

Cc: Jani Nikula <jani.nikula@linux.intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Harry Wentland <harry.wentland@amd.com>
Cc: Nicholas Kazlauskas <Nicholas.Kazlauskas@amd.com>
Signed-off-by: Manasi Navare <manasi.d.navare@intel.com>
Reviewed-by: Harry Wentland <harry.wentland@amd.com>
---
 include/drm/drm_dp_helper.h | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/include/drm/drm_dp_helper.h b/include/drm/drm_dp_helper.h
index 1165ec105638..e47dc22ebf50 100644
--- a/include/drm/drm_dp_helper.h
+++ b/include/drm/drm_dp_helper.h
@@ -1457,6 +1457,14 @@ drm_dp_alternate_scrambler_reset_cap(const u8 dpcd[DP_RECEIVER_CAP_SIZE])
 			DP_ALTERNATE_SCRAMBLER_RESET_CAP;
 }
 
+/* Ignore MSA timing for Adaptive Sync support on DP 1.4 */
+static inline bool
+drm_dp_sink_can_do_video_without_timing_msa(const u8 dpcd[DP_RECEIVER_CAP_SIZE])
+{
+	return dpcd[DP_DOWN_STREAM_PORT_COUNT] &
+		DP_MSA_TIMING_PAR_IGNORED;
+}
+
 /*
  * DisplayPort AUX channel
  */
-- 
2.19.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [PATCH v6 2/3] drm/i915/dp: Attach and set drm connector VRR property
  2020-06-12 23:04 ` [Intel-gfx] " Manasi Navare
@ 2020-06-12 23:04   ` Manasi Navare
  -1 siblings, 0 replies; 41+ messages in thread
From: Manasi Navare @ 2020-06-12 23:04 UTC (permalink / raw)
  To: intel-gfx, dri-devel; +Cc: Manasi Navare, Aditya Swarup

From: Aditya Swarup <aditya.swarup@intel.com>

This function sets the VRR property for connector based
on the platform support, EDID monitor range and DP sink
DPCD capability of outputing video without msa
timing information.

v5:
* Fix the vrr prop not being set in kernel (Manasi)
* Unset the prop on connector disconnect (Manasi)
v4:
* Rebase (Mansi)
v3:
* intel_dp_is_vrr_capable can be used for debugfs, make it
non static (Manasi)
v2:
* Just set this in intel_dp_get_modes instead of new hook (Jani)

Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Signed-off-by: Aditya Swarup <aditya.swarup@intel.com>
Signed-off-by: Manasi Navare <manasi.d.navare@intel.com>
---
 drivers/gpu/drm/i915/display/intel_dp.c | 27 +++++++++++++++++++++++++
 drivers/gpu/drm/i915/display/intel_dp.h |  2 ++
 2 files changed, 29 insertions(+)

diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index 42589cae766d..d0dba81cfb07 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -6149,6 +6149,9 @@ intel_dp_detect(struct drm_connector *connector,
 	if (status == connector_status_disconnected) {
 		memset(&intel_dp->compliance, 0, sizeof(intel_dp->compliance));
 		memset(intel_dp->dsc_dpcd, 0, sizeof(intel_dp->dsc_dpcd));
+		/*Reset the immutable VRR Capable property */
+		drm_connector_set_vrr_capable_property(connector,
+						       false);
 
 		if (intel_dp->is_mst) {
 			drm_dbg_kms(&dev_priv->drm,
@@ -6256,6 +6259,23 @@ intel_dp_force(struct drm_connector *connector)
 	intel_display_power_put(dev_priv, aux_domain, wakeref);
 }
 
+bool intel_dp_is_vrr_capable(struct drm_connector *connector)
+{
+	struct intel_dp *intel_dp = intel_attached_dp(to_intel_connector(connector));
+	const struct drm_display_info *info = &connector->display_info;
+	struct drm_i915_private *dev_priv = to_i915(connector->dev);
+
+	/*
+	 * DP Sink is capable of Variable refresh video timings if
+	 * Ignore MSA bit is set in DPCD.
+	 * EDID monitor range also should be atleast 10 for reasonable
+	 * Adaptive sync/ VRR end user experience.
+	 */
+	return INTEL_GEN(dev_priv) >= 12 &&
+		drm_dp_sink_can_do_video_without_timing_msa(intel_dp->dpcd) &&
+		info->monitor_range.max_vfreq - info->monitor_range.min_vfreq > 10;
+}
+
 static int intel_dp_get_modes(struct drm_connector *connector)
 {
 	struct intel_connector *intel_connector = to_intel_connector(connector);
@@ -6264,6 +6284,10 @@ static int intel_dp_get_modes(struct drm_connector *connector)
 	edid = intel_connector->detect_edid;
 	if (edid) {
 		int ret = intel_connector_update_modes(connector, edid);
+
+		if (intel_dp_is_vrr_capable(connector))
+			drm_connector_set_vrr_capable_property(connector,
+							       true);
 		if (ret)
 			return ret;
 	}
@@ -7325,6 +7349,9 @@ intel_dp_add_properties(struct intel_dp *intel_dp, struct drm_connector *connect
 		connector->state->scaling_mode = DRM_MODE_SCALE_ASPECT;
 
 	}
+
+	if (INTEL_GEN(dev_priv) >= 12)
+		drm_connector_attach_vrr_capable_property(connector);
 }
 
 static void intel_dp_init_panel_power_timestamps(struct intel_dp *intel_dp)
diff --git a/drivers/gpu/drm/i915/display/intel_dp.h b/drivers/gpu/drm/i915/display/intel_dp.h
index 0a8950f744f6..db895a3cd93f 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.h
+++ b/drivers/gpu/drm/i915/display/intel_dp.h
@@ -14,6 +14,7 @@ enum pipe;
 enum port;
 struct drm_connector_state;
 struct drm_encoder;
+struct drm_connector;
 struct drm_i915_private;
 struct drm_modeset_acquire_ctx;
 struct drm_dp_vsc_sdp;
@@ -120,6 +121,7 @@ void intel_read_dp_sdp(struct intel_encoder *encoder,
 		       unsigned int type);
 bool intel_digital_port_connected(struct intel_encoder *encoder);
 void intel_dp_process_phy_request(struct intel_dp *intel_dp);
+bool intel_dp_is_vrr_capable(struct drm_connector *connector);
 
 static inline unsigned int intel_dp_unused_lane_mask(int lane_count)
 {
-- 
2.19.1

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

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

* [Intel-gfx] [PATCH v6 2/3] drm/i915/dp: Attach and set drm connector VRR property
@ 2020-06-12 23:04   ` Manasi Navare
  0 siblings, 0 replies; 41+ messages in thread
From: Manasi Navare @ 2020-06-12 23:04 UTC (permalink / raw)
  To: intel-gfx, dri-devel

From: Aditya Swarup <aditya.swarup@intel.com>

This function sets the VRR property for connector based
on the platform support, EDID monitor range and DP sink
DPCD capability of outputing video without msa
timing information.

v5:
* Fix the vrr prop not being set in kernel (Manasi)
* Unset the prop on connector disconnect (Manasi)
v4:
* Rebase (Mansi)
v3:
* intel_dp_is_vrr_capable can be used for debugfs, make it
non static (Manasi)
v2:
* Just set this in intel_dp_get_modes instead of new hook (Jani)

Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Signed-off-by: Aditya Swarup <aditya.swarup@intel.com>
Signed-off-by: Manasi Navare <manasi.d.navare@intel.com>
---
 drivers/gpu/drm/i915/display/intel_dp.c | 27 +++++++++++++++++++++++++
 drivers/gpu/drm/i915/display/intel_dp.h |  2 ++
 2 files changed, 29 insertions(+)

diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index 42589cae766d..d0dba81cfb07 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -6149,6 +6149,9 @@ intel_dp_detect(struct drm_connector *connector,
 	if (status == connector_status_disconnected) {
 		memset(&intel_dp->compliance, 0, sizeof(intel_dp->compliance));
 		memset(intel_dp->dsc_dpcd, 0, sizeof(intel_dp->dsc_dpcd));
+		/*Reset the immutable VRR Capable property */
+		drm_connector_set_vrr_capable_property(connector,
+						       false);
 
 		if (intel_dp->is_mst) {
 			drm_dbg_kms(&dev_priv->drm,
@@ -6256,6 +6259,23 @@ intel_dp_force(struct drm_connector *connector)
 	intel_display_power_put(dev_priv, aux_domain, wakeref);
 }
 
+bool intel_dp_is_vrr_capable(struct drm_connector *connector)
+{
+	struct intel_dp *intel_dp = intel_attached_dp(to_intel_connector(connector));
+	const struct drm_display_info *info = &connector->display_info;
+	struct drm_i915_private *dev_priv = to_i915(connector->dev);
+
+	/*
+	 * DP Sink is capable of Variable refresh video timings if
+	 * Ignore MSA bit is set in DPCD.
+	 * EDID monitor range also should be atleast 10 for reasonable
+	 * Adaptive sync/ VRR end user experience.
+	 */
+	return INTEL_GEN(dev_priv) >= 12 &&
+		drm_dp_sink_can_do_video_without_timing_msa(intel_dp->dpcd) &&
+		info->monitor_range.max_vfreq - info->monitor_range.min_vfreq > 10;
+}
+
 static int intel_dp_get_modes(struct drm_connector *connector)
 {
 	struct intel_connector *intel_connector = to_intel_connector(connector);
@@ -6264,6 +6284,10 @@ static int intel_dp_get_modes(struct drm_connector *connector)
 	edid = intel_connector->detect_edid;
 	if (edid) {
 		int ret = intel_connector_update_modes(connector, edid);
+
+		if (intel_dp_is_vrr_capable(connector))
+			drm_connector_set_vrr_capable_property(connector,
+							       true);
 		if (ret)
 			return ret;
 	}
@@ -7325,6 +7349,9 @@ intel_dp_add_properties(struct intel_dp *intel_dp, struct drm_connector *connect
 		connector->state->scaling_mode = DRM_MODE_SCALE_ASPECT;
 
 	}
+
+	if (INTEL_GEN(dev_priv) >= 12)
+		drm_connector_attach_vrr_capable_property(connector);
 }
 
 static void intel_dp_init_panel_power_timestamps(struct intel_dp *intel_dp)
diff --git a/drivers/gpu/drm/i915/display/intel_dp.h b/drivers/gpu/drm/i915/display/intel_dp.h
index 0a8950f744f6..db895a3cd93f 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.h
+++ b/drivers/gpu/drm/i915/display/intel_dp.h
@@ -14,6 +14,7 @@ enum pipe;
 enum port;
 struct drm_connector_state;
 struct drm_encoder;
+struct drm_connector;
 struct drm_i915_private;
 struct drm_modeset_acquire_ctx;
 struct drm_dp_vsc_sdp;
@@ -120,6 +121,7 @@ void intel_read_dp_sdp(struct intel_encoder *encoder,
 		       unsigned int type);
 bool intel_digital_port_connected(struct intel_encoder *encoder);
 void intel_dp_process_phy_request(struct intel_dp *intel_dp);
+bool intel_dp_is_vrr_capable(struct drm_connector *connector);
 
 static inline unsigned int intel_dp_unused_lane_mask(int lane_count)
 {
-- 
2.19.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [PATCH v6 3/3] drm/i915/dp: Expose connector VRR monitor range via debugfs
  2020-06-12 23:04 ` [Intel-gfx] " Manasi Navare
@ 2020-06-12 23:04   ` Manasi Navare
  -1 siblings, 0 replies; 41+ messages in thread
From: Manasi Navare @ 2020-06-12 23:04 UTC (permalink / raw)
  To: intel-gfx, dri-devel; +Cc: Manasi Navare, Bhanuprakash Modem

From: Bhanuprakash Modem <bhanuprakash.modem@intel.com>

[Why]
It's useful to know the min and max vrr range for IGT testing.

[How]
Expose the min and max vfreq for the connector via a debugfs file
on the connector, "vrr_range".

Example usage: cat /sys/kernel/debug/dri/0/DP-1/vrr_range

v6:
* Rebase (manasi)
v5:
* Rename to vrr_range to match AMD debugfs
v4:
* Rebase
v3:
* Remove the unnecessary debug print (Manasi)
v2:
* Fix the typo in max_vfreq (Manasi)
* Change the name of node to i915_vrr_info so we can add
other vrr info for more debug info (Manasi)
* Change the VRR capable to display Yes or No (Manasi)
* Fix indentation checkpatch errors (Manasi)

Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
Signed-off-by: Manasi Navare <manasi.d.navare@intel.com>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Tested-by: Manasi Navare <manasi.d.navare@intel.com>
---
 .../drm/i915/display/intel_display_debugfs.c  | 20 +++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
index 28dd717e943a..fc05d3468a7b 100644
--- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
+++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
@@ -2185,6 +2185,21 @@ static const struct file_operations i915_dsc_fec_support_fops = {
 	.write = i915_dsc_fec_support_write
 };
 
+static int vrr_range_show(struct seq_file *m, void *data)
+{
+	struct drm_connector *connector = m->private;
+
+	if (connector->status != connector_status_connected)
+		return -ENODEV;
+
+	seq_printf(m, "Vrr_capable: %s\n", yesno(intel_dp_is_vrr_capable(connector)));
+	seq_printf(m, "Min: %u\n", (u8)connector->display_info.monitor_range.min_vfreq);
+	seq_printf(m, "Max: %u\n", (u8)connector->display_info.monitor_range.max_vfreq);
+
+	return 0;
+}
+DEFINE_SHOW_ATTRIBUTE(vrr_range);
+
 /**
  * intel_connector_debugfs_add - add i915 specific connector debugfs files
  * @connector: pointer to a registered drm_connector
@@ -2224,6 +2239,11 @@ int intel_connector_debugfs_add(struct drm_connector *connector)
 		debugfs_create_file("i915_dsc_fec_support", S_IRUGO, root,
 				    connector, &i915_dsc_fec_support_fops);
 
+		if (INTEL_GEN(dev_priv) >= 12)
+			debugfs_create_file("vrr_range", S_IRUGO,
+					    root, connector, &vrr_range_fops);
+	}
+
 	/* Legacy panels doesn't lpsp on any platform */
 	if ((INTEL_GEN(dev_priv) >= 9 || IS_HASWELL(dev_priv) ||
 	     IS_BROADWELL(dev_priv)) &&
-- 
2.19.1

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

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

* [Intel-gfx] [PATCH v6 3/3] drm/i915/dp: Expose connector VRR monitor range via debugfs
@ 2020-06-12 23:04   ` Manasi Navare
  0 siblings, 0 replies; 41+ messages in thread
From: Manasi Navare @ 2020-06-12 23:04 UTC (permalink / raw)
  To: intel-gfx, dri-devel; +Cc: Bhanuprakash Modem

From: Bhanuprakash Modem <bhanuprakash.modem@intel.com>

[Why]
It's useful to know the min and max vrr range for IGT testing.

[How]
Expose the min and max vfreq for the connector via a debugfs file
on the connector, "vrr_range".

Example usage: cat /sys/kernel/debug/dri/0/DP-1/vrr_range

v6:
* Rebase (manasi)
v5:
* Rename to vrr_range to match AMD debugfs
v4:
* Rebase
v3:
* Remove the unnecessary debug print (Manasi)
v2:
* Fix the typo in max_vfreq (Manasi)
* Change the name of node to i915_vrr_info so we can add
other vrr info for more debug info (Manasi)
* Change the VRR capable to display Yes or No (Manasi)
* Fix indentation checkpatch errors (Manasi)

Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
Signed-off-by: Manasi Navare <manasi.d.navare@intel.com>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Tested-by: Manasi Navare <manasi.d.navare@intel.com>
---
 .../drm/i915/display/intel_display_debugfs.c  | 20 +++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
index 28dd717e943a..fc05d3468a7b 100644
--- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
+++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
@@ -2185,6 +2185,21 @@ static const struct file_operations i915_dsc_fec_support_fops = {
 	.write = i915_dsc_fec_support_write
 };
 
+static int vrr_range_show(struct seq_file *m, void *data)
+{
+	struct drm_connector *connector = m->private;
+
+	if (connector->status != connector_status_connected)
+		return -ENODEV;
+
+	seq_printf(m, "Vrr_capable: %s\n", yesno(intel_dp_is_vrr_capable(connector)));
+	seq_printf(m, "Min: %u\n", (u8)connector->display_info.monitor_range.min_vfreq);
+	seq_printf(m, "Max: %u\n", (u8)connector->display_info.monitor_range.max_vfreq);
+
+	return 0;
+}
+DEFINE_SHOW_ATTRIBUTE(vrr_range);
+
 /**
  * intel_connector_debugfs_add - add i915 specific connector debugfs files
  * @connector: pointer to a registered drm_connector
@@ -2224,6 +2239,11 @@ int intel_connector_debugfs_add(struct drm_connector *connector)
 		debugfs_create_file("i915_dsc_fec_support", S_IRUGO, root,
 				    connector, &i915_dsc_fec_support_fops);
 
+		if (INTEL_GEN(dev_priv) >= 12)
+			debugfs_create_file("vrr_range", S_IRUGO,
+					    root, connector, &vrr_range_fops);
+	}
+
 	/* Legacy panels doesn't lpsp on any platform */
 	if ((INTEL_GEN(dev_priv) >= 9 || IS_HASWELL(dev_priv) ||
 	     IS_BROADWELL(dev_priv)) &&
-- 
2.19.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [Intel-gfx] ✗ Fi.CI.BUILD: failure for VRR capable attach prop in i915, DPCD helper, VRR debugfs
  2020-06-12 23:04 ` [Intel-gfx] " Manasi Navare
                   ` (3 preceding siblings ...)
  (?)
@ 2020-06-12 23:16 ` Patchwork
  -1 siblings, 0 replies; 41+ messages in thread
From: Patchwork @ 2020-06-12 23:16 UTC (permalink / raw)
  To: Manasi Navare; +Cc: intel-gfx

== Series Details ==

Series: VRR capable attach prop in i915, DPCD helper, VRR debugfs
URL   : https://patchwork.freedesktop.org/series/78278/
State : failure

== Summary ==

CALL    scripts/checksyscalls.sh
  CALL    scripts/atomic/check-atomics.sh
  DESCEND  objtool
  CHK     include/generated/compile.h
  CC [M]  drivers/gpu/drm/i915/display/intel_display_debugfs.o
drivers/gpu/drm/i915/display/intel_display_debugfs.c: In function ‘intel_connector_debugfs_add’:
drivers/gpu/drm/i915/display/intel_display_debugfs.c:2235:2: error: this ‘if’ clause does not guard... [-Werror=misleading-indentation]
  if (INTEL_GEN(dev_priv) >= 10 &&
  ^~
drivers/gpu/drm/i915/display/intel_display_debugfs.c:2242:3: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
   if (INTEL_GEN(dev_priv) >= 12)
   ^~
drivers/gpu/drm/i915/display/intel_display_debugfs.c: At top level:
drivers/gpu/drm/i915/display/intel_display_debugfs.c:2248:2: error: expected identifier or ‘(’ before ‘if’
  if ((INTEL_GEN(dev_priv) >= 9 || IS_HASWELL(dev_priv) ||
  ^~
drivers/gpu/drm/i915/display/intel_display_debugfs.c:2258:2: error: expected identifier or ‘(’ before ‘return’
  return 0;
  ^~~~~~
drivers/gpu/drm/i915/display/intel_display_debugfs.c:2259:1: error: expected identifier or ‘(’ before ‘}’ token
 }
 ^
drivers/gpu/drm/i915/display/intel_display_debugfs.c: In function ‘intel_connector_debugfs_add’:
drivers/gpu/drm/i915/display/intel_display_debugfs.c:2245:2: error: control reaches end of non-void function [-Werror=return-type]
  }
  ^
cc1: all warnings being treated as errors
scripts/Makefile.build:266: recipe for target 'drivers/gpu/drm/i915/display/intel_display_debugfs.o' failed
make[4]: *** [drivers/gpu/drm/i915/display/intel_display_debugfs.o] Error 1
scripts/Makefile.build:488: recipe for target 'drivers/gpu/drm/i915' failed
make[3]: *** [drivers/gpu/drm/i915] Error 2
scripts/Makefile.build:488: recipe for target 'drivers/gpu/drm' failed
make[2]: *** [drivers/gpu/drm] Error 2
scripts/Makefile.build:488: recipe for target 'drivers/gpu' failed
make[1]: *** [drivers/gpu] Error 2
Makefile:1729: recipe for target 'drivers' failed
make: *** [drivers] Error 2

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [PATCH v7 3/3] drm/i915/dp: Expose connector VRR monitor range via debugfs
  2020-06-12 23:04   ` [Intel-gfx] " Manasi Navare
@ 2020-06-12 23:56     ` Manasi Navare
  -1 siblings, 0 replies; 41+ messages in thread
From: Manasi Navare @ 2020-06-12 23:56 UTC (permalink / raw)
  To: intel-gfx, dri-devel; +Cc: Manasi Navare, Bhanuprakash Modem

From: Bhanuprakash Modem <bhanuprakash.modem@intel.com>

[Why]
It's useful to know the min and max vrr range for IGT testing.

[How]
Expose the min and max vfreq for the connector via a debugfs file
on the connector, "vrr_range".

Example usage: cat /sys/kernel/debug/dri/0/DP-1/vrr_range

v7:
* Fix cmpilation due to rebase
v6:
* Rebase (manasi)
v5:
* Rename to vrr_range to match AMD debugfs
v4:
* Rebase
v3:
* Remove the unnecessary debug print (Manasi)
v2:
* Fix the typo in max_vfreq (Manasi)
* Change the name of node to i915_vrr_info so we can add
other vrr info for more debug info (Manasi)
* Change the VRR capable to display Yes or No (Manasi)
* Fix indentation checkpatch errors (Manasi)

Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
Signed-off-by: Manasi Navare <manasi.d.navare@intel.com>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Tested-by: Manasi Navare <manasi.d.navare@intel.com>
---
 .../drm/i915/display/intel_display_debugfs.c  | 22 ++++++++++++++++++-
 1 file changed, 21 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
index 28dd717e943a..2921f7d2a26e 100644
--- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
+++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
@@ -2185,6 +2185,21 @@ static const struct file_operations i915_dsc_fec_support_fops = {
 	.write = i915_dsc_fec_support_write
 };
 
+static int vrr_range_show(struct seq_file *m, void *data)
+{
+	struct drm_connector *connector = m->private;
+
+	if (connector->status != connector_status_connected)
+		return -ENODEV;
+
+	seq_printf(m, "Vrr_capable: %s\n", yesno(intel_dp_is_vrr_capable(connector)));
+	seq_printf(m, "Min: %u\n", (u8)connector->display_info.monitor_range.min_vfreq);
+	seq_printf(m, "Max: %u\n", (u8)connector->display_info.monitor_range.max_vfreq);
+
+	return 0;
+}
+DEFINE_SHOW_ATTRIBUTE(vrr_range);
+
 /**
  * intel_connector_debugfs_add - add i915 specific connector debugfs files
  * @connector: pointer to a registered drm_connector
@@ -2220,10 +2235,15 @@ int intel_connector_debugfs_add(struct drm_connector *connector)
 	if (INTEL_GEN(dev_priv) >= 10 &&
 	    ((connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort &&
 	      !to_intel_connector(connector)->mst_port) ||
-	     connector->connector_type == DRM_MODE_CONNECTOR_eDP))
+	     connector->connector_type == DRM_MODE_CONNECTOR_eDP)) {
 		debugfs_create_file("i915_dsc_fec_support", S_IRUGO, root,
 				    connector, &i915_dsc_fec_support_fops);
 
+		if (INTEL_GEN(dev_priv) >= 12)
+			debugfs_create_file("vrr_range", S_IRUGO,
+					    root, connector, &vrr_range_fops);
+	}
+
 	/* Legacy panels doesn't lpsp on any platform */
 	if ((INTEL_GEN(dev_priv) >= 9 || IS_HASWELL(dev_priv) ||
 	     IS_BROADWELL(dev_priv)) &&
-- 
2.19.1

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

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

* [Intel-gfx] [PATCH v7 3/3] drm/i915/dp: Expose connector VRR monitor range via debugfs
@ 2020-06-12 23:56     ` Manasi Navare
  0 siblings, 0 replies; 41+ messages in thread
From: Manasi Navare @ 2020-06-12 23:56 UTC (permalink / raw)
  To: intel-gfx, dri-devel; +Cc: Bhanuprakash Modem

From: Bhanuprakash Modem <bhanuprakash.modem@intel.com>

[Why]
It's useful to know the min and max vrr range for IGT testing.

[How]
Expose the min and max vfreq for the connector via a debugfs file
on the connector, "vrr_range".

Example usage: cat /sys/kernel/debug/dri/0/DP-1/vrr_range

v7:
* Fix cmpilation due to rebase
v6:
* Rebase (manasi)
v5:
* Rename to vrr_range to match AMD debugfs
v4:
* Rebase
v3:
* Remove the unnecessary debug print (Manasi)
v2:
* Fix the typo in max_vfreq (Manasi)
* Change the name of node to i915_vrr_info so we can add
other vrr info for more debug info (Manasi)
* Change the VRR capable to display Yes or No (Manasi)
* Fix indentation checkpatch errors (Manasi)

Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
Signed-off-by: Manasi Navare <manasi.d.navare@intel.com>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Tested-by: Manasi Navare <manasi.d.navare@intel.com>
---
 .../drm/i915/display/intel_display_debugfs.c  | 22 ++++++++++++++++++-
 1 file changed, 21 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
index 28dd717e943a..2921f7d2a26e 100644
--- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
+++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
@@ -2185,6 +2185,21 @@ static const struct file_operations i915_dsc_fec_support_fops = {
 	.write = i915_dsc_fec_support_write
 };
 
+static int vrr_range_show(struct seq_file *m, void *data)
+{
+	struct drm_connector *connector = m->private;
+
+	if (connector->status != connector_status_connected)
+		return -ENODEV;
+
+	seq_printf(m, "Vrr_capable: %s\n", yesno(intel_dp_is_vrr_capable(connector)));
+	seq_printf(m, "Min: %u\n", (u8)connector->display_info.monitor_range.min_vfreq);
+	seq_printf(m, "Max: %u\n", (u8)connector->display_info.monitor_range.max_vfreq);
+
+	return 0;
+}
+DEFINE_SHOW_ATTRIBUTE(vrr_range);
+
 /**
  * intel_connector_debugfs_add - add i915 specific connector debugfs files
  * @connector: pointer to a registered drm_connector
@@ -2220,10 +2235,15 @@ int intel_connector_debugfs_add(struct drm_connector *connector)
 	if (INTEL_GEN(dev_priv) >= 10 &&
 	    ((connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort &&
 	      !to_intel_connector(connector)->mst_port) ||
-	     connector->connector_type == DRM_MODE_CONNECTOR_eDP))
+	     connector->connector_type == DRM_MODE_CONNECTOR_eDP)) {
 		debugfs_create_file("i915_dsc_fec_support", S_IRUGO, root,
 				    connector, &i915_dsc_fec_support_fops);
 
+		if (INTEL_GEN(dev_priv) >= 12)
+			debugfs_create_file("vrr_range", S_IRUGO,
+					    root, connector, &vrr_range_fops);
+	}
+
 	/* Legacy panels doesn't lpsp on any platform */
 	if ((INTEL_GEN(dev_priv) >= 9 || IS_HASWELL(dev_priv) ||
 	     IS_BROADWELL(dev_priv)) &&
-- 
2.19.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for VRR capable attach prop in i915, DPCD helper, VRR debugfs (rev2)
  2020-06-12 23:04 ` [Intel-gfx] " Manasi Navare
                   ` (4 preceding siblings ...)
  (?)
@ 2020-06-13  0:07 ` Patchwork
  -1 siblings, 0 replies; 41+ messages in thread
From: Patchwork @ 2020-06-13  0:07 UTC (permalink / raw)
  To: Manasi Navare; +Cc: intel-gfx

== Series Details ==

Series: VRR capable attach prop in i915, DPCD helper, VRR debugfs (rev2)
URL   : https://patchwork.freedesktop.org/series/78278/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
46b7d1d313bd drm/dp: DRM DP helper for reading Ignore MSA from DPCD
b0b10c7d0ea5 drm/i915/dp: Attach and set drm connector VRR property
bb21c069cdf4 drm/i915/dp: Expose connector VRR monitor range via debugfs
-:77: WARNING:SYMBOLIC_PERMS: Symbolic permissions 'S_IRUGO' are not preferred. Consider using octal permissions '0444'.
#77: FILE: drivers/gpu/drm/i915/display/intel_display_debugfs.c:2243:
+			debugfs_create_file("vrr_range", S_IRUGO,

total: 0 errors, 1 warnings, 0 checks, 37 lines checked

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [Intel-gfx] ✗ Fi.CI.SPARSE: warning for VRR capable attach prop in i915, DPCD helper, VRR debugfs (rev2)
  2020-06-12 23:04 ` [Intel-gfx] " Manasi Navare
                   ` (5 preceding siblings ...)
  (?)
@ 2020-06-13  0:09 ` Patchwork
  -1 siblings, 0 replies; 41+ messages in thread
From: Patchwork @ 2020-06-13  0:09 UTC (permalink / raw)
  To: Manasi Navare; +Cc: intel-gfx

== Series Details ==

Series: VRR capable attach prop in i915, DPCD helper, VRR debugfs (rev2)
URL   : https://patchwork.freedesktop.org/series/78278/
State : warning

== Summary ==

$ dim sparse --fast origin/drm-tip
Sparse version: v0.6.0
Fast mode used, each commit won't be checked separately.
-
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:1019:47:    expected unsigned int [addressable] [usertype] ulClockParams
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:1019:47:    got restricted __le32 [usertype]
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:1019:47: warning: incorrect type in assignment (different base types)
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:1028:50: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:1029:49: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:1037:47: warning: too many warnings
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:184:44: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:283:14: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:320:14: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:323:14: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:326:14: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:329:18: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:330:26: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:338:30: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:340:38: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:342:30: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:346:30: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:348:30: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:353:33: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:367:43: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:369:38: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:374:67: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:375:53: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:378:66: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:389:80: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:395:57: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:402:69: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:403:53: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:406:66: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:414:66: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:423:69: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:424:69: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:473:30: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:476:45: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:477:45: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:484:54: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:52:28: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:531:35: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:53:29: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:533:25: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:54:26: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:55:27: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:56:25: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:57:26: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:577:21: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:581:25: warning: cast to restricted __le32
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:58:25: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:583:21: warning: cast to restricted __le32
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:586:25: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:590:25: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:59:26: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:598:21: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:600:21: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:617:25: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:621:21: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:623:21: warning: cast to restricted __le32
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:630:21: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:632:21: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:644:25: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:648:21: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:650:21: warning: cast to restricted __le32
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:657:21: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:659:21: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:662:21: warning: cast to restricted __le32
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:664:21: warning: cast to restricted __le32
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:676:25: warning: cast to restricted __le32
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:688:25: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:691:47: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:697:25: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:796:46: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:797:40: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:800:46: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:801:40: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:804:46: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:805:40: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:812:46: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:813:40: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:816:46: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:817:40: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:820:46: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:821:40: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:828:46: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:829:40: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:832:46: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:833:40: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:836:46: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:837:40: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:844:46: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:845:40: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:848:46: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:849:40: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:852:46: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:853:40: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:916:47: warning: cast to restricted __le32
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:918:49: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:920:52: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:934:47: warning: cast to restricted __le32
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:936:49: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:938:52: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:956:47: warning: cast to restricted __le32
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:958:49: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c:960:52: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c:296:34: warning: cast to restricted __le32
+drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c:330:34: warning: cast to restricted __le32
+drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c:360:25: warning: cast to restricted __le32
+drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c:362:25: warning: cast to restricted __le32
+drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c:369:25: warning: cast to restricted __le32
+drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c:383:40: warning: cast to restricted __le32
+drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c:406:40: warning: cast to restricted __le32
+drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c:44:21: warning: cast to restricted __le32
+drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c:447:53: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c:451:33: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c:454:61: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c:455:64: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c:457:54: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c:483:17: warning: cast to restricted __le32
+drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c:486:21: warning: cast to restricted __le32
+drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c:64:25: warning: cast to restricted __le32
+drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c:80:17: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c:80:17: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c:80:17: warning: cast to restricted __le32
+drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c:85:30: warning: cast to restricted __le32
+drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c:86:24: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c:98:39: warning: cast to restricted __le16
+drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c:222:29: warning: cast to restricted __le32
+drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c:226:37: warning: cast to restricted __le32
+drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c:226:37: warning: cast to restricted __le32
+drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c:226:37: warning: cast to restricted __le32
+drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c:227:37: warning: cast to restricted __le32
+drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c:233:43: warning: cast to restricted __le32
+drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c:236:44: warning: cast to restricted __le32
+drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c:239:51: warning: cast to restricted __le32
+drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c:458:41: warning: cast to restricted __le32
+drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c:458:41: warning: cast to restricted __le32
+drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c:458:41: warning: cast to restricted __le32
+drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c:464:39: warning: cast to restricted __le32
+drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c:465:30: warning: cast to restricted __le32
+drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c:466:39: warning: cast to restricted __le32
+drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c:468:24: warning: cast to restricted __le32
+drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c:140:26:    expected unsigned long long [usertype] *chunk_array_user
+drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c:140:26:    got void [noderef] <asn:1> *
+drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c:140:26: warning: incorrect type in assignment (different address spaces)
+drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c:141:41:    expected void const [noderef] <asn:1> *from
+drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c:141:41:    got unsigned long long [usertype] *chunk_array_user
+drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c:141:41: warning: incorrect type in argument 2 (different address spaces)
+drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c:160:27:    expected struct drm_amdgpu_cs_chunk [noderef] <asn:1> **chunk_ptr
+drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c:160:27:    got void [noderef] <asn:1> *
+drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c:160:27: warning: incorrect type in assignment (different address spaces)
+drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c:1613:21:    expected struct drm_amdgpu_fence *fences_user
+drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c:1613:21:    got void [noderef] <asn:1> *
+drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c:1613:21: warning: incorrect type in assignment (different address spaces)
+drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c:1614:36:    expected void const [noderef] <asn:1> *from
+drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c:1614:36:    got struct drm_amdgpu_fence *fences_user
+drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c:1614:36: warning: incorrect type in argument 2 (different address spaces)
+drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c:161:49:    expected void const [noderef] <asn:1> *from
+drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c:161:49:    got struct drm_amdgpu_cs_chunk [noderef] <asn:1> **chunk_ptr
+drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c:161:49: warning: incorrect type in argument 2 (different address spaces)
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1256:25: error: incompatible types in comparison expression (different address spaces)
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1257:17: error: incompatible types in comparison expression (different address spaces)
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1313:17: error: incompatible types in comparison expression (different address spaces)
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:138:17:    expected restricted __poll_t ( *poll )( ... )
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:138:17:    got unsigned int ( * )( ... )
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:138:17: warning: incorrect type in initializer (different base types)
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:257:29:    expected void const volatile [noderef] <asn:1> *
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:257:29:    got unsigned int [usertype] *
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:257:29: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:257:29: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:257:29: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:257:29: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:257:29: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:257:29: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:257:29: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:257:29: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:257:29: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:257:29: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:257:29: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:257:29: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:257:29: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:257:29: warning: incorrect type in argument 1 (different address spaces)
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:259:29:    expected void const volatile [noderef] <asn:1> *
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:259:29:    got unsigned int [usertype] *
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:259:29: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:259:29: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:259:29: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:259:29: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:259:29: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:259:29: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:259:29: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:259:29: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:259:29: warning: incorrect type in argument 1 (different address spaces)
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:346:21:    expected void const volatile [noderef] <asn:1> *
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:346:21:    got unsigned int [usertype] *
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:346:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:346:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:346:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:346:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:346:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:346:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:346:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:346:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:346:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:346:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:346:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:346:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:346:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:346:21: warning: incorrect type in argument 1 (different address spaces)
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:400:21:    expected void const volatile [noderef] <asn:1> *
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:400:21:    got unsigned int [usertype] *
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:400:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:400:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:400:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:400:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:400:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:400:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:400:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:400:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:400:21: warning: incorrect type in argument 1 (different address spaces)
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:457:21:    expected void const volatile [noderef] <asn:1> *
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:457:21:    got unsigned int [usertype] *
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:457:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:457:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:457:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:457:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:457:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:457:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:457:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:457:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:457:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:457:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:457:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:457:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:457:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:457:21: warning: incorrect type in argument 1 (different address spaces)
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:511:21:    expected void const volatile [noderef] <asn:1> *
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:511:21:    got unsigned int [usertype] *
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:511:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:511:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:511:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:511:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:511:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:511:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:511:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:511:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:511:21: warning: incorrect type in argument 1 (different address spaces)
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:568:21:    expected void const volatile [noderef] <asn:1> *
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:568:21:    got unsigned int [usertype] *
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:568:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:568:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:568:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:568:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:568:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:568:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:568:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:568:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:568:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:568:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:568:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:568:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:568:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:568:21: warning: incorrect type in argument 1 (different address spaces)
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:622:21:    expected void const volatile [noderef] <asn:1> *
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:622:21:    got unsigned int [usertype] *
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:622:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:622:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:622:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:622:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:622:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:622:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:622:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:622:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:622:21: warning: incorrect type in argument 1 (different address spaces)
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:719:21:    expected void const volatile [noderef] <asn:1> *
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:719:21:    got unsigned int [usertype] *
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:719:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:719:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:719:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:719:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:719:21: warning: cast removes address space '<asn:1>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:719:21: warning: incorrect type in argument 1 (different address spaces)
+drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:719:21: warning: too many warnings
+drivers/gpu/drm/amd/amdgpu/amdgpu_device.c:1618:65: warning: cast to restricted __le32
+drivers/gpu/drm/amd/amdgpu/amdgpu_device.c:1625:55: warning: cast to restricted __le32
+drivers/gpu/drm/amd/amdgpu/amdgpu_device.c:1626:50: warning: cast to restricted __le32
+drivers/gpu/drm/amd/amdgpu/amdgpu_device.c:1627:50: warning: cast to restricted __le32
+drivers/gpu/drm/amd/amdgpu/amdgpu_device.c:1628:56: warning: cast to restricted __le32
+drivers/gpu/drm/amd/amdgpu/amdgpu_device.c:1630:25: warning: cast to restricted __le32
+drivers/gpu/drm/amd/amdgpu/amdgpu_device.c:1631:45: warning: cast to restricted __le32
+drivers/gpu/drm/amd/amdgpu/amdgpu_device.c:1632:51: warning: cast to restricted __le32
+drivers/gpu/drm/amd/amdgpu/amdgpu_device.c:1633:55: warning: cast to restricted __le32
+drivers/gpu/drm/amd/amdgpu/amdgpu_device.c:1634:57: warning: cast to restricted __le32
+drivers/gpu/drm/amd/amdgpu/amdgpu_device.c:1636:25: warning: cast to restricted __le32
+drivers/gpu/drm/amd/amdgpu/amdgpu_device.c:1637:53: warning: cast to restricted __le32
+drivers/gpu/drm/amd/amdgpu/amdgpu_device.c:1639:25: warning: cast to restricted __le32
+drivers/gpu/drm/amd/amdgpu/amdgpu_device.c:1641:25: warning: cast to restricted __le32
+drivers/gpu/drm/amd/amdgpu/amdgpu_device.c:1642:46: warning: cast to restricted __le32
+drivers/gpu/drm/amd/amdgpu/amdgpu_device.c:1646:73: warning: cast to restricted __le32
+drivers/gpu/drm/amd/amdgpu/amdgpu_device.c:1648:33: warning: cast to restricted __le32
+drivers/gpu/drm/amd/amdgpu/amdgpu_device.c:1650:33: warning: cast to restricted __le32
+drivers/gpu/drm/amd/amdgpu/amdgpu_device.c:1661:73: warning: cast to restricted __le32
+drivers/gpu/drm/amd/amdgpu/amdgpu_device.c:260:16: error: incompatible types in comparison expression (different type sizes)
+drivers/gpu/drm/amd/amdgpu/amdgpu_device.c:507:39: warning: cast removes address space '<asn:2>' of expression
+drivers/gpu/drm/amd/amdgpu/amdgpu_device.c:527:31: warning: cast removes address space '<asn:2>

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [Intel-gfx] ✗ Fi.CI.BAT: failure for VRR capable attach prop in i915, DPCD helper, VRR debugfs (rev2)
  2020-06-12 23:04 ` [Intel-gfx] " Manasi Navare
                   ` (6 preceding siblings ...)
  (?)
@ 2020-06-13  0:39 ` Patchwork
  -1 siblings, 0 replies; 41+ messages in thread
From: Patchwork @ 2020-06-13  0:39 UTC (permalink / raw)
  To: Manasi Navare; +Cc: intel-gfx

== Series Details ==

Series: VRR capable attach prop in i915, DPCD helper, VRR debugfs (rev2)
URL   : https://patchwork.freedesktop.org/series/78278/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_8621 -> Patchwork_17946
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with Patchwork_17946 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_17946, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17946/index.html

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in Patchwork_17946:

### IGT changes ###

#### Possible regressions ####

  * igt@kms_chamelium@dp-hpd-fast:
    - fi-cml-u2:          [PASS][1] -> [INCOMPLETE][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8621/fi-cml-u2/igt@kms_chamelium@dp-hpd-fast.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17946/fi-cml-u2/igt@kms_chamelium@dp-hpd-fast.html
    - fi-kbl-7500u:       [PASS][3] -> [INCOMPLETE][4]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8621/fi-kbl-7500u/igt@kms_chamelium@dp-hpd-fast.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17946/fi-kbl-7500u/igt@kms_chamelium@dp-hpd-fast.html

  
Known issues
------------

  Here are the changes found in Patchwork_17946 that come from known issues:

### IGT changes ###

  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [i915#1569]: https://gitlab.freedesktop.org/drm/intel/issues/1569
  [i915#192]: https://gitlab.freedesktop.org/drm/intel/issues/192
  [i915#193]: https://gitlab.freedesktop.org/drm/intel/issues/193
  [i915#194]: https://gitlab.freedesktop.org/drm/intel/issues/194


Participating hosts (49 -> 12)
------------------------------

  ERROR: It appears as if the changes made in Patchwork_17946 prevented too many machines from booting.

  Additional (1): fi-tgl-u2 
  Missing    (38): fi-kbl-soraka fi-icl-u2 fi-apl-guc fi-snb-2520m fi-icl-y fi-skl-lmem fi-byt-n2820 fi-icl-guc fi-icl-dsi fi-skl-6600u fi-snb-2600 fi-bxt-dsi fi-bdw-5557u fi-cml-s fi-bsw-n3050 fi-byt-j1900 fi-glk-dsi fi-ctg-p8600 fi-hsw-4770 fi-ivb-3770 fi-elk-e7500 fi-bsw-nick fi-skl-6700k2 fi-kbl-r fi-ilk-m540 fi-ehl-1 fi-skl-guc fi-cfl-8700k fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-cfl-guc fi-kbl-guc fi-whl-u fi-kbl-x1275 fi-bsw-kefka fi-byt-clapper fi-bdw-samus 


Build changes
-------------

  * Linux: CI_DRM_8621 -> Patchwork_17946

  CI-20190529: 20190529
  CI_DRM_8621: acd803311fbd1e6adc38d10ca382a60c6c190be9 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5708: f66c71e29de50bae880bc81ceb0517d4e3e2dfd8 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_17946: bb21c069cdf462d6136836633baa6945a5dafc82 @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

bb21c069cdf4 drm/i915/dp: Expose connector VRR monitor range via debugfs
b0b10c7d0ea5 drm/i915/dp: Attach and set drm connector VRR property
46b7d1d313bd drm/dp: DRM DP helper for reading Ignore MSA from DPCD

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17946/index.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [Intel-gfx] [PATCH v6 3/3] drm/i915/dp: Expose connector VRR monitor range via debugfs
  2020-06-12 23:04   ` [Intel-gfx] " Manasi Navare
  (?)
@ 2020-06-13  2:00     ` kernel test robot
  -1 siblings, 0 replies; 41+ messages in thread
From: kernel test robot @ 2020-06-13  2:00 UTC (permalink / raw)
  To: Manasi Navare, intel-gfx, dri-devel; +Cc: kbuild-all, Bhanuprakash Modem

[-- Attachment #1: Type: text/plain, Size: 8455 bytes --]

Hi Manasi,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on drm-intel/for-linux-next]
[also build test ERROR on drm-tip/drm-tip drm-exynos/exynos-drm-next linus/master next-20200612]
[cannot apply to tegra-drm/drm/tegra/for-next drm/drm-next v5.7]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:    https://github.com/0day-ci/linux/commits/Manasi-Navare/VRR-capable-attach-prop-in-i915-DPCD-helper-VRR-debugfs/20200613-070517
base:   git://anongit.freedesktop.org/drm-intel for-linux-next
config: x86_64-rhel (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0
reproduce (this is a W=1 build):
        # save the attached .config to linux build tree
        make W=1 ARCH=x86_64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All error/warnings (new ones prefixed by >>, old ones prefixed by <<):

drivers/gpu/drm/i915/display/intel_display_debugfs.c: In function 'intel_connector_debugfs_add':
>> drivers/gpu/drm/i915/display/intel_display_debugfs.c:2235:2: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
2235 |  if (INTEL_GEN(dev_priv) >= 10 &&
|  ^~
drivers/gpu/drm/i915/display/intel_display_debugfs.c:2241:3: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
2241 |   if (INTEL_GEN(dev_priv) >= 12)
|   ^~
drivers/gpu/drm/i915/display/intel_display_debugfs.c: At top level:
>> drivers/gpu/drm/i915/display/intel_display_debugfs.c:2247:2: error: expected identifier or '(' before 'if'
2247 |  if ((INTEL_GEN(dev_priv) >= 9 || IS_HASWELL(dev_priv) ||
|  ^~
>> drivers/gpu/drm/i915/display/intel_display_debugfs.c:2257:2: error: expected identifier or '(' before 'return'
2257 |  return 0;
|  ^~~~~~
>> drivers/gpu/drm/i915/display/intel_display_debugfs.c:2258:1: error: expected identifier or '(' before '}' token
2258 | }
| ^
drivers/gpu/drm/i915/display/intel_display_debugfs.c: In function 'intel_connector_debugfs_add':
>> drivers/gpu/drm/i915/display/intel_display_debugfs.c:2244:2: warning: control reaches end of non-void function [-Wreturn-type]
2244 |  }
|  ^
In file included from include/drm/drm_debugfs.h:36,
from drivers/gpu/drm/i915/display/intel_display_debugfs.c:6:
At top level:
drivers/gpu/drm/i915/display/intel_display_debugfs.c:2081:23: warning: 'i915_lpsp_capability_fops' defined but not used [-Wunused-const-variable=]
2081 | DEFINE_SHOW_ATTRIBUTE(i915_lpsp_capability);
|                       ^~~~~~~~~~~~~~~~~~~~
include/linux/seq_file.h:154:37: note: in definition of macro 'DEFINE_SHOW_ATTRIBUTE'
154 | static const struct file_operations __name ## _fops = {            |                                     ^~~~~~

vim +2247 drivers/gpu/drm/i915/display/intel_display_debugfs.c

670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2202  
926b005cd8c4e3 Jani Nikula        2020-02-11  2203  /**
926b005cd8c4e3 Jani Nikula        2020-02-11  2204   * intel_connector_debugfs_add - add i915 specific connector debugfs files
926b005cd8c4e3 Jani Nikula        2020-02-11  2205   * @connector: pointer to a registered drm_connector
926b005cd8c4e3 Jani Nikula        2020-02-11  2206   *
926b005cd8c4e3 Jani Nikula        2020-02-11  2207   * Cleanup will be done by drm_connector_unregister() through a call to
926b005cd8c4e3 Jani Nikula        2020-02-11  2208   * drm_debugfs_connector_remove().
926b005cd8c4e3 Jani Nikula        2020-02-11  2209   *
926b005cd8c4e3 Jani Nikula        2020-02-11  2210   * Returns 0 on success, negative error codes on error.
926b005cd8c4e3 Jani Nikula        2020-02-11  2211   */
926b005cd8c4e3 Jani Nikula        2020-02-11  2212  int intel_connector_debugfs_add(struct drm_connector *connector)
926b005cd8c4e3 Jani Nikula        2020-02-11  2213  {
926b005cd8c4e3 Jani Nikula        2020-02-11  2214  	struct dentry *root = connector->debugfs_entry;
926b005cd8c4e3 Jani Nikula        2020-02-11  2215  	struct drm_i915_private *dev_priv = to_i915(connector->dev);
926b005cd8c4e3 Jani Nikula        2020-02-11  2216  
926b005cd8c4e3 Jani Nikula        2020-02-11  2217  	/* The connector must have been registered beforehands. */
926b005cd8c4e3 Jani Nikula        2020-02-11  2218  	if (!root)
926b005cd8c4e3 Jani Nikula        2020-02-11  2219  		return -ENODEV;
926b005cd8c4e3 Jani Nikula        2020-02-11  2220  
926b005cd8c4e3 Jani Nikula        2020-02-11  2221  	if (connector->connector_type == DRM_MODE_CONNECTOR_eDP) {
926b005cd8c4e3 Jani Nikula        2020-02-11  2222  		debugfs_create_file("i915_panel_timings", S_IRUGO, root,
926b005cd8c4e3 Jani Nikula        2020-02-11  2223  				    connector, &i915_panel_fops);
926b005cd8c4e3 Jani Nikula        2020-02-11  2224  		debugfs_create_file("i915_psr_sink_status", S_IRUGO, root,
926b005cd8c4e3 Jani Nikula        2020-02-11  2225  				    connector, &i915_psr_sink_status_fops);
926b005cd8c4e3 Jani Nikula        2020-02-11  2226  	}
926b005cd8c4e3 Jani Nikula        2020-02-11  2227  
926b005cd8c4e3 Jani Nikula        2020-02-11  2228  	if (connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort ||
926b005cd8c4e3 Jani Nikula        2020-02-11  2229  	    connector->connector_type == DRM_MODE_CONNECTOR_HDMIA ||
926b005cd8c4e3 Jani Nikula        2020-02-11  2230  	    connector->connector_type == DRM_MODE_CONNECTOR_HDMIB) {
926b005cd8c4e3 Jani Nikula        2020-02-11  2231  		debugfs_create_file("i915_hdcp_sink_capability", S_IRUGO, root,
926b005cd8c4e3 Jani Nikula        2020-02-11  2232  				    connector, &i915_hdcp_sink_capability_fops);
926b005cd8c4e3 Jani Nikula        2020-02-11  2233  	}
926b005cd8c4e3 Jani Nikula        2020-02-11  2234  
926b005cd8c4e3 Jani Nikula        2020-02-11 @2235  	if (INTEL_GEN(dev_priv) >= 10 &&
926b005cd8c4e3 Jani Nikula        2020-02-11  2236  	    (connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort ||
926b005cd8c4e3 Jani Nikula        2020-02-11  2237  	     connector->connector_type == DRM_MODE_CONNECTOR_eDP))
926b005cd8c4e3 Jani Nikula        2020-02-11  2238  		debugfs_create_file("i915_dsc_fec_support", S_IRUGO, root,
926b005cd8c4e3 Jani Nikula        2020-02-11  2239  				    connector, &i915_dsc_fec_support_fops);
926b005cd8c4e3 Jani Nikula        2020-02-11  2240  
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12 @2241  		if (INTEL_GEN(dev_priv) >= 12)
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2242  			debugfs_create_file("vrr_range", S_IRUGO,
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2243  					    root, connector, &vrr_range_fops);
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12 @2244  	}
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2245  
8806211fe7b306 Anshuman Gupta     2020-04-15  2246  	/* Legacy panels doesn't lpsp on any platform */
8806211fe7b306 Anshuman Gupta     2020-04-15 @2247  	if ((INTEL_GEN(dev_priv) >= 9 || IS_HASWELL(dev_priv) ||
8806211fe7b306 Anshuman Gupta     2020-04-15  2248  	     IS_BROADWELL(dev_priv)) &&
8806211fe7b306 Anshuman Gupta     2020-04-15  2249  	     (connector->connector_type == DRM_MODE_CONNECTOR_DSI ||
8806211fe7b306 Anshuman Gupta     2020-04-15  2250  	     connector->connector_type == DRM_MODE_CONNECTOR_eDP ||
8806211fe7b306 Anshuman Gupta     2020-04-15  2251  	     connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort ||
8806211fe7b306 Anshuman Gupta     2020-04-15  2252  	     connector->connector_type == DRM_MODE_CONNECTOR_HDMIA ||
8806211fe7b306 Anshuman Gupta     2020-04-15  2253  	     connector->connector_type == DRM_MODE_CONNECTOR_HDMIB))
8806211fe7b306 Anshuman Gupta     2020-04-15  2254  		debugfs_create_file("i915_lpsp_capability", 0444, root,
8806211fe7b306 Anshuman Gupta     2020-04-15  2255  				    connector, &i915_lpsp_capability_fops);
8806211fe7b306 Anshuman Gupta     2020-04-15  2256  
926b005cd8c4e3 Jani Nikula        2020-02-11 @2257  	return 0;
926b005cd8c4e3 Jani Nikula        2020-02-11 @2258  }

:::::: The code at line 2247 was first introduced by commit
:::::: 8806211fe7b30696c1fcae54b73c94abfdf55893 drm/i915: Add i915_lpsp_capability debugfs

:::::: TO: Anshuman Gupta <anshuman.gupta@intel.com>
:::::: CC: Uma Shankar <uma.shankar@intel.com>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 44816 bytes --]

[-- Attachment #3: Type: text/plain, Size: 160 bytes --]

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

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

* Re: [Intel-gfx] [PATCH v6 3/3] drm/i915/dp: Expose connector VRR monitor range via debugfs
@ 2020-06-13  2:00     ` kernel test robot
  0 siblings, 0 replies; 41+ messages in thread
From: kernel test robot @ 2020-06-13  2:00 UTC (permalink / raw)
  To: Manasi Navare, intel-gfx, dri-devel; +Cc: kbuild-all, Bhanuprakash Modem

[-- Attachment #1: Type: text/plain, Size: 8455 bytes --]

Hi Manasi,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on drm-intel/for-linux-next]
[also build test ERROR on drm-tip/drm-tip drm-exynos/exynos-drm-next linus/master next-20200612]
[cannot apply to tegra-drm/drm/tegra/for-next drm/drm-next v5.7]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:    https://github.com/0day-ci/linux/commits/Manasi-Navare/VRR-capable-attach-prop-in-i915-DPCD-helper-VRR-debugfs/20200613-070517
base:   git://anongit.freedesktop.org/drm-intel for-linux-next
config: x86_64-rhel (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0
reproduce (this is a W=1 build):
        # save the attached .config to linux build tree
        make W=1 ARCH=x86_64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All error/warnings (new ones prefixed by >>, old ones prefixed by <<):

drivers/gpu/drm/i915/display/intel_display_debugfs.c: In function 'intel_connector_debugfs_add':
>> drivers/gpu/drm/i915/display/intel_display_debugfs.c:2235:2: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
2235 |  if (INTEL_GEN(dev_priv) >= 10 &&
|  ^~
drivers/gpu/drm/i915/display/intel_display_debugfs.c:2241:3: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
2241 |   if (INTEL_GEN(dev_priv) >= 12)
|   ^~
drivers/gpu/drm/i915/display/intel_display_debugfs.c: At top level:
>> drivers/gpu/drm/i915/display/intel_display_debugfs.c:2247:2: error: expected identifier or '(' before 'if'
2247 |  if ((INTEL_GEN(dev_priv) >= 9 || IS_HASWELL(dev_priv) ||
|  ^~
>> drivers/gpu/drm/i915/display/intel_display_debugfs.c:2257:2: error: expected identifier or '(' before 'return'
2257 |  return 0;
|  ^~~~~~
>> drivers/gpu/drm/i915/display/intel_display_debugfs.c:2258:1: error: expected identifier or '(' before '}' token
2258 | }
| ^
drivers/gpu/drm/i915/display/intel_display_debugfs.c: In function 'intel_connector_debugfs_add':
>> drivers/gpu/drm/i915/display/intel_display_debugfs.c:2244:2: warning: control reaches end of non-void function [-Wreturn-type]
2244 |  }
|  ^
In file included from include/drm/drm_debugfs.h:36,
from drivers/gpu/drm/i915/display/intel_display_debugfs.c:6:
At top level:
drivers/gpu/drm/i915/display/intel_display_debugfs.c:2081:23: warning: 'i915_lpsp_capability_fops' defined but not used [-Wunused-const-variable=]
2081 | DEFINE_SHOW_ATTRIBUTE(i915_lpsp_capability);
|                       ^~~~~~~~~~~~~~~~~~~~
include/linux/seq_file.h:154:37: note: in definition of macro 'DEFINE_SHOW_ATTRIBUTE'
154 | static const struct file_operations __name ## _fops = {            |                                     ^~~~~~

vim +2247 drivers/gpu/drm/i915/display/intel_display_debugfs.c

670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2202  
926b005cd8c4e3 Jani Nikula        2020-02-11  2203  /**
926b005cd8c4e3 Jani Nikula        2020-02-11  2204   * intel_connector_debugfs_add - add i915 specific connector debugfs files
926b005cd8c4e3 Jani Nikula        2020-02-11  2205   * @connector: pointer to a registered drm_connector
926b005cd8c4e3 Jani Nikula        2020-02-11  2206   *
926b005cd8c4e3 Jani Nikula        2020-02-11  2207   * Cleanup will be done by drm_connector_unregister() through a call to
926b005cd8c4e3 Jani Nikula        2020-02-11  2208   * drm_debugfs_connector_remove().
926b005cd8c4e3 Jani Nikula        2020-02-11  2209   *
926b005cd8c4e3 Jani Nikula        2020-02-11  2210   * Returns 0 on success, negative error codes on error.
926b005cd8c4e3 Jani Nikula        2020-02-11  2211   */
926b005cd8c4e3 Jani Nikula        2020-02-11  2212  int intel_connector_debugfs_add(struct drm_connector *connector)
926b005cd8c4e3 Jani Nikula        2020-02-11  2213  {
926b005cd8c4e3 Jani Nikula        2020-02-11  2214  	struct dentry *root = connector->debugfs_entry;
926b005cd8c4e3 Jani Nikula        2020-02-11  2215  	struct drm_i915_private *dev_priv = to_i915(connector->dev);
926b005cd8c4e3 Jani Nikula        2020-02-11  2216  
926b005cd8c4e3 Jani Nikula        2020-02-11  2217  	/* The connector must have been registered beforehands. */
926b005cd8c4e3 Jani Nikula        2020-02-11  2218  	if (!root)
926b005cd8c4e3 Jani Nikula        2020-02-11  2219  		return -ENODEV;
926b005cd8c4e3 Jani Nikula        2020-02-11  2220  
926b005cd8c4e3 Jani Nikula        2020-02-11  2221  	if (connector->connector_type == DRM_MODE_CONNECTOR_eDP) {
926b005cd8c4e3 Jani Nikula        2020-02-11  2222  		debugfs_create_file("i915_panel_timings", S_IRUGO, root,
926b005cd8c4e3 Jani Nikula        2020-02-11  2223  				    connector, &i915_panel_fops);
926b005cd8c4e3 Jani Nikula        2020-02-11  2224  		debugfs_create_file("i915_psr_sink_status", S_IRUGO, root,
926b005cd8c4e3 Jani Nikula        2020-02-11  2225  				    connector, &i915_psr_sink_status_fops);
926b005cd8c4e3 Jani Nikula        2020-02-11  2226  	}
926b005cd8c4e3 Jani Nikula        2020-02-11  2227  
926b005cd8c4e3 Jani Nikula        2020-02-11  2228  	if (connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort ||
926b005cd8c4e3 Jani Nikula        2020-02-11  2229  	    connector->connector_type == DRM_MODE_CONNECTOR_HDMIA ||
926b005cd8c4e3 Jani Nikula        2020-02-11  2230  	    connector->connector_type == DRM_MODE_CONNECTOR_HDMIB) {
926b005cd8c4e3 Jani Nikula        2020-02-11  2231  		debugfs_create_file("i915_hdcp_sink_capability", S_IRUGO, root,
926b005cd8c4e3 Jani Nikula        2020-02-11  2232  				    connector, &i915_hdcp_sink_capability_fops);
926b005cd8c4e3 Jani Nikula        2020-02-11  2233  	}
926b005cd8c4e3 Jani Nikula        2020-02-11  2234  
926b005cd8c4e3 Jani Nikula        2020-02-11 @2235  	if (INTEL_GEN(dev_priv) >= 10 &&
926b005cd8c4e3 Jani Nikula        2020-02-11  2236  	    (connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort ||
926b005cd8c4e3 Jani Nikula        2020-02-11  2237  	     connector->connector_type == DRM_MODE_CONNECTOR_eDP))
926b005cd8c4e3 Jani Nikula        2020-02-11  2238  		debugfs_create_file("i915_dsc_fec_support", S_IRUGO, root,
926b005cd8c4e3 Jani Nikula        2020-02-11  2239  				    connector, &i915_dsc_fec_support_fops);
926b005cd8c4e3 Jani Nikula        2020-02-11  2240  
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12 @2241  		if (INTEL_GEN(dev_priv) >= 12)
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2242  			debugfs_create_file("vrr_range", S_IRUGO,
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2243  					    root, connector, &vrr_range_fops);
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12 @2244  	}
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2245  
8806211fe7b306 Anshuman Gupta     2020-04-15  2246  	/* Legacy panels doesn't lpsp on any platform */
8806211fe7b306 Anshuman Gupta     2020-04-15 @2247  	if ((INTEL_GEN(dev_priv) >= 9 || IS_HASWELL(dev_priv) ||
8806211fe7b306 Anshuman Gupta     2020-04-15  2248  	     IS_BROADWELL(dev_priv)) &&
8806211fe7b306 Anshuman Gupta     2020-04-15  2249  	     (connector->connector_type == DRM_MODE_CONNECTOR_DSI ||
8806211fe7b306 Anshuman Gupta     2020-04-15  2250  	     connector->connector_type == DRM_MODE_CONNECTOR_eDP ||
8806211fe7b306 Anshuman Gupta     2020-04-15  2251  	     connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort ||
8806211fe7b306 Anshuman Gupta     2020-04-15  2252  	     connector->connector_type == DRM_MODE_CONNECTOR_HDMIA ||
8806211fe7b306 Anshuman Gupta     2020-04-15  2253  	     connector->connector_type == DRM_MODE_CONNECTOR_HDMIB))
8806211fe7b306 Anshuman Gupta     2020-04-15  2254  		debugfs_create_file("i915_lpsp_capability", 0444, root,
8806211fe7b306 Anshuman Gupta     2020-04-15  2255  				    connector, &i915_lpsp_capability_fops);
8806211fe7b306 Anshuman Gupta     2020-04-15  2256  
926b005cd8c4e3 Jani Nikula        2020-02-11 @2257  	return 0;
926b005cd8c4e3 Jani Nikula        2020-02-11 @2258  }

:::::: The code at line 2247 was first introduced by commit
:::::: 8806211fe7b30696c1fcae54b73c94abfdf55893 drm/i915: Add i915_lpsp_capability debugfs

:::::: TO: Anshuman Gupta <anshuman.gupta@intel.com>
:::::: CC: Uma Shankar <uma.shankar@intel.com>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 44816 bytes --]

[-- Attachment #3: Type: text/plain, Size: 160 bytes --]

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [Intel-gfx] [PATCH v6 3/3] drm/i915/dp: Expose connector VRR monitor range via debugfs
@ 2020-06-13  2:00     ` kernel test robot
  0 siblings, 0 replies; 41+ messages in thread
From: kernel test robot @ 2020-06-13  2:00 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 8580 bytes --]

Hi Manasi,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on drm-intel/for-linux-next]
[also build test ERROR on drm-tip/drm-tip drm-exynos/exynos-drm-next linus/master next-20200612]
[cannot apply to tegra-drm/drm/tegra/for-next drm/drm-next v5.7]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:    https://github.com/0day-ci/linux/commits/Manasi-Navare/VRR-capable-attach-prop-in-i915-DPCD-helper-VRR-debugfs/20200613-070517
base:   git://anongit.freedesktop.org/drm-intel for-linux-next
config: x86_64-rhel (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0
reproduce (this is a W=1 build):
        # save the attached .config to linux build tree
        make W=1 ARCH=x86_64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All error/warnings (new ones prefixed by >>, old ones prefixed by <<):

drivers/gpu/drm/i915/display/intel_display_debugfs.c: In function 'intel_connector_debugfs_add':
>> drivers/gpu/drm/i915/display/intel_display_debugfs.c:2235:2: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
2235 |  if (INTEL_GEN(dev_priv) >= 10 &&
|  ^~
drivers/gpu/drm/i915/display/intel_display_debugfs.c:2241:3: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
2241 |   if (INTEL_GEN(dev_priv) >= 12)
|   ^~
drivers/gpu/drm/i915/display/intel_display_debugfs.c: At top level:
>> drivers/gpu/drm/i915/display/intel_display_debugfs.c:2247:2: error: expected identifier or '(' before 'if'
2247 |  if ((INTEL_GEN(dev_priv) >= 9 || IS_HASWELL(dev_priv) ||
|  ^~
>> drivers/gpu/drm/i915/display/intel_display_debugfs.c:2257:2: error: expected identifier or '(' before 'return'
2257 |  return 0;
|  ^~~~~~
>> drivers/gpu/drm/i915/display/intel_display_debugfs.c:2258:1: error: expected identifier or '(' before '}' token
2258 | }
| ^
drivers/gpu/drm/i915/display/intel_display_debugfs.c: In function 'intel_connector_debugfs_add':
>> drivers/gpu/drm/i915/display/intel_display_debugfs.c:2244:2: warning: control reaches end of non-void function [-Wreturn-type]
2244 |  }
|  ^
In file included from include/drm/drm_debugfs.h:36,
from drivers/gpu/drm/i915/display/intel_display_debugfs.c:6:
At top level:
drivers/gpu/drm/i915/display/intel_display_debugfs.c:2081:23: warning: 'i915_lpsp_capability_fops' defined but not used [-Wunused-const-variable=]
2081 | DEFINE_SHOW_ATTRIBUTE(i915_lpsp_capability);
|                       ^~~~~~~~~~~~~~~~~~~~
include/linux/seq_file.h:154:37: note: in definition of macro 'DEFINE_SHOW_ATTRIBUTE'
154 | static const struct file_operations __name ## _fops = {            |                                     ^~~~~~

vim +2247 drivers/gpu/drm/i915/display/intel_display_debugfs.c

670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2202  
926b005cd8c4e3 Jani Nikula        2020-02-11  2203  /**
926b005cd8c4e3 Jani Nikula        2020-02-11  2204   * intel_connector_debugfs_add - add i915 specific connector debugfs files
926b005cd8c4e3 Jani Nikula        2020-02-11  2205   * @connector: pointer to a registered drm_connector
926b005cd8c4e3 Jani Nikula        2020-02-11  2206   *
926b005cd8c4e3 Jani Nikula        2020-02-11  2207   * Cleanup will be done by drm_connector_unregister() through a call to
926b005cd8c4e3 Jani Nikula        2020-02-11  2208   * drm_debugfs_connector_remove().
926b005cd8c4e3 Jani Nikula        2020-02-11  2209   *
926b005cd8c4e3 Jani Nikula        2020-02-11  2210   * Returns 0 on success, negative error codes on error.
926b005cd8c4e3 Jani Nikula        2020-02-11  2211   */
926b005cd8c4e3 Jani Nikula        2020-02-11  2212  int intel_connector_debugfs_add(struct drm_connector *connector)
926b005cd8c4e3 Jani Nikula        2020-02-11  2213  {
926b005cd8c4e3 Jani Nikula        2020-02-11  2214  	struct dentry *root = connector->debugfs_entry;
926b005cd8c4e3 Jani Nikula        2020-02-11  2215  	struct drm_i915_private *dev_priv = to_i915(connector->dev);
926b005cd8c4e3 Jani Nikula        2020-02-11  2216  
926b005cd8c4e3 Jani Nikula        2020-02-11  2217  	/* The connector must have been registered beforehands. */
926b005cd8c4e3 Jani Nikula        2020-02-11  2218  	if (!root)
926b005cd8c4e3 Jani Nikula        2020-02-11  2219  		return -ENODEV;
926b005cd8c4e3 Jani Nikula        2020-02-11  2220  
926b005cd8c4e3 Jani Nikula        2020-02-11  2221  	if (connector->connector_type == DRM_MODE_CONNECTOR_eDP) {
926b005cd8c4e3 Jani Nikula        2020-02-11  2222  		debugfs_create_file("i915_panel_timings", S_IRUGO, root,
926b005cd8c4e3 Jani Nikula        2020-02-11  2223  				    connector, &i915_panel_fops);
926b005cd8c4e3 Jani Nikula        2020-02-11  2224  		debugfs_create_file("i915_psr_sink_status", S_IRUGO, root,
926b005cd8c4e3 Jani Nikula        2020-02-11  2225  				    connector, &i915_psr_sink_status_fops);
926b005cd8c4e3 Jani Nikula        2020-02-11  2226  	}
926b005cd8c4e3 Jani Nikula        2020-02-11  2227  
926b005cd8c4e3 Jani Nikula        2020-02-11  2228  	if (connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort ||
926b005cd8c4e3 Jani Nikula        2020-02-11  2229  	    connector->connector_type == DRM_MODE_CONNECTOR_HDMIA ||
926b005cd8c4e3 Jani Nikula        2020-02-11  2230  	    connector->connector_type == DRM_MODE_CONNECTOR_HDMIB) {
926b005cd8c4e3 Jani Nikula        2020-02-11  2231  		debugfs_create_file("i915_hdcp_sink_capability", S_IRUGO, root,
926b005cd8c4e3 Jani Nikula        2020-02-11  2232  				    connector, &i915_hdcp_sink_capability_fops);
926b005cd8c4e3 Jani Nikula        2020-02-11  2233  	}
926b005cd8c4e3 Jani Nikula        2020-02-11  2234  
926b005cd8c4e3 Jani Nikula        2020-02-11 @2235  	if (INTEL_GEN(dev_priv) >= 10 &&
926b005cd8c4e3 Jani Nikula        2020-02-11  2236  	    (connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort ||
926b005cd8c4e3 Jani Nikula        2020-02-11  2237  	     connector->connector_type == DRM_MODE_CONNECTOR_eDP))
926b005cd8c4e3 Jani Nikula        2020-02-11  2238  		debugfs_create_file("i915_dsc_fec_support", S_IRUGO, root,
926b005cd8c4e3 Jani Nikula        2020-02-11  2239  				    connector, &i915_dsc_fec_support_fops);
926b005cd8c4e3 Jani Nikula        2020-02-11  2240  
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12 @2241  		if (INTEL_GEN(dev_priv) >= 12)
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2242  			debugfs_create_file("vrr_range", S_IRUGO,
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2243  					    root, connector, &vrr_range_fops);
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12 @2244  	}
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2245  
8806211fe7b306 Anshuman Gupta     2020-04-15  2246  	/* Legacy panels doesn't lpsp on any platform */
8806211fe7b306 Anshuman Gupta     2020-04-15 @2247  	if ((INTEL_GEN(dev_priv) >= 9 || IS_HASWELL(dev_priv) ||
8806211fe7b306 Anshuman Gupta     2020-04-15  2248  	     IS_BROADWELL(dev_priv)) &&
8806211fe7b306 Anshuman Gupta     2020-04-15  2249  	     (connector->connector_type == DRM_MODE_CONNECTOR_DSI ||
8806211fe7b306 Anshuman Gupta     2020-04-15  2250  	     connector->connector_type == DRM_MODE_CONNECTOR_eDP ||
8806211fe7b306 Anshuman Gupta     2020-04-15  2251  	     connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort ||
8806211fe7b306 Anshuman Gupta     2020-04-15  2252  	     connector->connector_type == DRM_MODE_CONNECTOR_HDMIA ||
8806211fe7b306 Anshuman Gupta     2020-04-15  2253  	     connector->connector_type == DRM_MODE_CONNECTOR_HDMIB))
8806211fe7b306 Anshuman Gupta     2020-04-15  2254  		debugfs_create_file("i915_lpsp_capability", 0444, root,
8806211fe7b306 Anshuman Gupta     2020-04-15  2255  				    connector, &i915_lpsp_capability_fops);
8806211fe7b306 Anshuman Gupta     2020-04-15  2256  
926b005cd8c4e3 Jani Nikula        2020-02-11 @2257  	return 0;
926b005cd8c4e3 Jani Nikula        2020-02-11 @2258  }

:::::: The code at line 2247 was first introduced by commit
:::::: 8806211fe7b30696c1fcae54b73c94abfdf55893 drm/i915: Add i915_lpsp_capability debugfs

:::::: TO: Anshuman Gupta <anshuman.gupta@intel.com>
:::::: CC: Uma Shankar <uma.shankar@intel.com>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 44816 bytes --]

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

* Re: [Intel-gfx] [PATCH v6 3/3] drm/i915/dp: Expose connector VRR monitor range via debugfs
  2020-06-12 23:04   ` [Intel-gfx] " Manasi Navare
  (?)
@ 2020-06-13  5:41     ` kernel test robot
  -1 siblings, 0 replies; 41+ messages in thread
From: kernel test robot @ 2020-06-13  5:41 UTC (permalink / raw)
  To: Manasi Navare, intel-gfx, dri-devel; +Cc: kbuild-all, Bhanuprakash Modem

[-- Attachment #1: Type: text/plain, Size: 19285 bytes --]

Hi Manasi,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on drm-intel/for-linux-next]
[also build test ERROR on drm-tip/drm-tip drm-exynos/exynos-drm-next linus/master next-20200612]
[cannot apply to tegra-drm/drm/tegra/for-next drm/drm-next v5.7]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:    https://github.com/0day-ci/linux/commits/Manasi-Navare/VRR-capable-attach-prop-in-i915-DPCD-helper-VRR-debugfs/20200613-070517
base:   git://anongit.freedesktop.org/drm-intel for-linux-next
config: x86_64-randconfig-a014-20200613 (attached as .config)
compiler: gcc-7 (Ubuntu 7.5.0-6ubuntu2) 7.5.0
reproduce (this is a W=1 build):
        # save the attached .config to linux build tree
        make W=1 ARCH=x86_64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>, old ones prefixed by <<):

drivers/gpu/drm/i915/display/intel_display_debugfs.c: In function 'intel_connector_debugfs_add':
>> drivers/gpu/drm/i915/display/intel_display_debugfs.c:2235:2: error: this 'if' clause does not guard... [-Werror=misleading-indentation]
if (INTEL_GEN(dev_priv) >= 10 &&
^~
drivers/gpu/drm/i915/display/intel_display_debugfs.c:2241:3: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
if (INTEL_GEN(dev_priv) >= 12)
^~
drivers/gpu/drm/i915/display/intel_display_debugfs.c: At top level:
drivers/gpu/drm/i915/display/intel_display_debugfs.c:2247:2: error: expected identifier or '(' before 'if'
if ((INTEL_GEN(dev_priv) >= 9 || IS_HASWELL(dev_priv) ||
^~
drivers/gpu/drm/i915/display/intel_display_debugfs.c:2257:2: error: expected identifier or '(' before 'return'
return 0;
^~~~~~
drivers/gpu/drm/i915/display/intel_display_debugfs.c:2258:1: error: expected identifier or '(' before '}' token
}
^
drivers/gpu/drm/i915/display/intel_display_debugfs.c: In function 'intel_connector_debugfs_add':
drivers/gpu/drm/i915/display/intel_display_debugfs.c:2244:2: error: control reaches end of non-void function [-Werror=return-type]
}
^
In file included from include/drm/drm_debugfs.h:36:0,
from drivers/gpu/drm/i915/display/intel_display_debugfs.c:6:
At top level:
>> drivers/gpu/drm/i915/display/intel_display_debugfs.c:2081:23: error: 'i915_lpsp_capability_fops' defined but not used [-Werror=unused-const-variable=]
DEFINE_SHOW_ATTRIBUTE(i915_lpsp_capability);
^
include/linux/seq_file.h:154:37: note: in definition of macro 'DEFINE_SHOW_ATTRIBUTE'
static const struct file_operations __name ## _fops = {                                           ^~~~~~
cc1: all warnings being treated as errors

vim +/if +2235 drivers/gpu/drm/i915/display/intel_display_debugfs.c

926b005cd8c4e3 Jani Nikula        2020-02-11  2040  
8806211fe7b306 Anshuman Gupta     2020-04-15  2041  #define LPSP_CAPABLE(COND) (COND ? seq_puts(m, "LPSP: capable\n") : \
8806211fe7b306 Anshuman Gupta     2020-04-15  2042  				seq_puts(m, "LPSP: incapable\n"))
8806211fe7b306 Anshuman Gupta     2020-04-15  2043  
8806211fe7b306 Anshuman Gupta     2020-04-15  2044  static int i915_lpsp_capability_show(struct seq_file *m, void *data)
8806211fe7b306 Anshuman Gupta     2020-04-15  2045  {
8806211fe7b306 Anshuman Gupta     2020-04-15  2046  	struct drm_connector *connector = m->private;
8806211fe7b306 Anshuman Gupta     2020-04-15  2047  	struct intel_encoder *encoder =
8806211fe7b306 Anshuman Gupta     2020-04-15  2048  			intel_attached_encoder(to_intel_connector(connector));
8806211fe7b306 Anshuman Gupta     2020-04-15  2049  	struct drm_i915_private *i915 = to_i915(connector->dev);
8806211fe7b306 Anshuman Gupta     2020-04-15  2050  
8806211fe7b306 Anshuman Gupta     2020-04-15  2051  	if (connector->status != connector_status_connected)
8806211fe7b306 Anshuman Gupta     2020-04-15  2052  		return -ENODEV;
8806211fe7b306 Anshuman Gupta     2020-04-15  2053  
8806211fe7b306 Anshuman Gupta     2020-04-15  2054  	switch (INTEL_GEN(i915)) {
8806211fe7b306 Anshuman Gupta     2020-04-15  2055  	case 12:
8806211fe7b306 Anshuman Gupta     2020-04-15  2056  		/*
8806211fe7b306 Anshuman Gupta     2020-04-15  2057  		 * Actually TGL can drive LPSP on port till DDI_C
8806211fe7b306 Anshuman Gupta     2020-04-15  2058  		 * but there is no physical connected DDI_C on TGL sku's,
8806211fe7b306 Anshuman Gupta     2020-04-15  2059  		 * even driver is not initilizing DDI_C port for gen12.
8806211fe7b306 Anshuman Gupta     2020-04-15  2060  		 */
8806211fe7b306 Anshuman Gupta     2020-04-15  2061  		LPSP_CAPABLE(encoder->port <= PORT_B);
8806211fe7b306 Anshuman Gupta     2020-04-15  2062  		break;
8806211fe7b306 Anshuman Gupta     2020-04-15  2063  	case 11:
8806211fe7b306 Anshuman Gupta     2020-04-15  2064  		LPSP_CAPABLE(connector->connector_type == DRM_MODE_CONNECTOR_DSI ||
8806211fe7b306 Anshuman Gupta     2020-04-15  2065  			     connector->connector_type == DRM_MODE_CONNECTOR_eDP);
8806211fe7b306 Anshuman Gupta     2020-04-15  2066  		break;
8806211fe7b306 Anshuman Gupta     2020-04-15  2067  	case 10:
8806211fe7b306 Anshuman Gupta     2020-04-15  2068  	case 9:
8806211fe7b306 Anshuman Gupta     2020-04-15  2069  		LPSP_CAPABLE(encoder->port == PORT_A &&
8806211fe7b306 Anshuman Gupta     2020-04-15  2070  			     (connector->connector_type == DRM_MODE_CONNECTOR_DSI ||
8806211fe7b306 Anshuman Gupta     2020-04-15  2071  			     connector->connector_type == DRM_MODE_CONNECTOR_eDP  ||
8806211fe7b306 Anshuman Gupta     2020-04-15  2072  			     connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort));
8806211fe7b306 Anshuman Gupta     2020-04-15  2073  		break;
8806211fe7b306 Anshuman Gupta     2020-04-15  2074  	default:
8806211fe7b306 Anshuman Gupta     2020-04-15  2075  		if (IS_HASWELL(i915) || IS_BROADWELL(i915))
8806211fe7b306 Anshuman Gupta     2020-04-15  2076  			LPSP_CAPABLE(connector->connector_type == DRM_MODE_CONNECTOR_eDP);
8806211fe7b306 Anshuman Gupta     2020-04-15  2077  	}
8806211fe7b306 Anshuman Gupta     2020-04-15  2078  
8806211fe7b306 Anshuman Gupta     2020-04-15  2079  	return 0;
8806211fe7b306 Anshuman Gupta     2020-04-15  2080  }
8806211fe7b306 Anshuman Gupta     2020-04-15 @2081  DEFINE_SHOW_ATTRIBUTE(i915_lpsp_capability);
8806211fe7b306 Anshuman Gupta     2020-04-15  2082  
926b005cd8c4e3 Jani Nikula        2020-02-11  2083  static int i915_dsc_fec_support_show(struct seq_file *m, void *data)
926b005cd8c4e3 Jani Nikula        2020-02-11  2084  {
926b005cd8c4e3 Jani Nikula        2020-02-11  2085  	struct drm_connector *connector = m->private;
926b005cd8c4e3 Jani Nikula        2020-02-11  2086  	struct drm_device *dev = connector->dev;
926b005cd8c4e3 Jani Nikula        2020-02-11  2087  	struct drm_crtc *crtc;
926b005cd8c4e3 Jani Nikula        2020-02-11  2088  	struct intel_dp *intel_dp;
926b005cd8c4e3 Jani Nikula        2020-02-11  2089  	struct drm_modeset_acquire_ctx ctx;
926b005cd8c4e3 Jani Nikula        2020-02-11  2090  	struct intel_crtc_state *crtc_state = NULL;
926b005cd8c4e3 Jani Nikula        2020-02-11  2091  	int ret = 0;
926b005cd8c4e3 Jani Nikula        2020-02-11  2092  	bool try_again = false;
926b005cd8c4e3 Jani Nikula        2020-02-11  2093  
926b005cd8c4e3 Jani Nikula        2020-02-11  2094  	drm_modeset_acquire_init(&ctx, DRM_MODESET_ACQUIRE_INTERRUPTIBLE);
926b005cd8c4e3 Jani Nikula        2020-02-11  2095  
926b005cd8c4e3 Jani Nikula        2020-02-11  2096  	do {
926b005cd8c4e3 Jani Nikula        2020-02-11  2097  		try_again = false;
926b005cd8c4e3 Jani Nikula        2020-02-11  2098  		ret = drm_modeset_lock(&dev->mode_config.connection_mutex,
926b005cd8c4e3 Jani Nikula        2020-02-11  2099  				       &ctx);
926b005cd8c4e3 Jani Nikula        2020-02-11  2100  		if (ret) {
926b005cd8c4e3 Jani Nikula        2020-02-11  2101  			if (ret == -EDEADLK && !drm_modeset_backoff(&ctx)) {
926b005cd8c4e3 Jani Nikula        2020-02-11  2102  				try_again = true;
926b005cd8c4e3 Jani Nikula        2020-02-11  2103  				continue;
926b005cd8c4e3 Jani Nikula        2020-02-11  2104  			}
926b005cd8c4e3 Jani Nikula        2020-02-11  2105  			break;
926b005cd8c4e3 Jani Nikula        2020-02-11  2106  		}
926b005cd8c4e3 Jani Nikula        2020-02-11  2107  		crtc = connector->state->crtc;
926b005cd8c4e3 Jani Nikula        2020-02-11  2108  		if (connector->status != connector_status_connected || !crtc) {
926b005cd8c4e3 Jani Nikula        2020-02-11  2109  			ret = -ENODEV;
926b005cd8c4e3 Jani Nikula        2020-02-11  2110  			break;
926b005cd8c4e3 Jani Nikula        2020-02-11  2111  		}
926b005cd8c4e3 Jani Nikula        2020-02-11  2112  		ret = drm_modeset_lock(&crtc->mutex, &ctx);
926b005cd8c4e3 Jani Nikula        2020-02-11  2113  		if (ret == -EDEADLK) {
926b005cd8c4e3 Jani Nikula        2020-02-11  2114  			ret = drm_modeset_backoff(&ctx);
926b005cd8c4e3 Jani Nikula        2020-02-11  2115  			if (!ret) {
926b005cd8c4e3 Jani Nikula        2020-02-11  2116  				try_again = true;
926b005cd8c4e3 Jani Nikula        2020-02-11  2117  				continue;
926b005cd8c4e3 Jani Nikula        2020-02-11  2118  			}
926b005cd8c4e3 Jani Nikula        2020-02-11  2119  			break;
926b005cd8c4e3 Jani Nikula        2020-02-11  2120  		} else if (ret) {
926b005cd8c4e3 Jani Nikula        2020-02-11  2121  			break;
926b005cd8c4e3 Jani Nikula        2020-02-11  2122  		}
926b005cd8c4e3 Jani Nikula        2020-02-11  2123  		intel_dp = intel_attached_dp(to_intel_connector(connector));
926b005cd8c4e3 Jani Nikula        2020-02-11  2124  		crtc_state = to_intel_crtc_state(crtc->state);
926b005cd8c4e3 Jani Nikula        2020-02-11  2125  		seq_printf(m, "DSC_Enabled: %s\n",
926b005cd8c4e3 Jani Nikula        2020-02-11  2126  			   yesno(crtc_state->dsc.compression_enable));
926b005cd8c4e3 Jani Nikula        2020-02-11  2127  		seq_printf(m, "DSC_Sink_Support: %s\n",
926b005cd8c4e3 Jani Nikula        2020-02-11  2128  			   yesno(drm_dp_sink_supports_dsc(intel_dp->dsc_dpcd)));
926b005cd8c4e3 Jani Nikula        2020-02-11  2129  		seq_printf(m, "Force_DSC_Enable: %s\n",
926b005cd8c4e3 Jani Nikula        2020-02-11  2130  			   yesno(intel_dp->force_dsc_en));
926b005cd8c4e3 Jani Nikula        2020-02-11  2131  		if (!intel_dp_is_edp(intel_dp))
926b005cd8c4e3 Jani Nikula        2020-02-11  2132  			seq_printf(m, "FEC_Sink_Support: %s\n",
926b005cd8c4e3 Jani Nikula        2020-02-11  2133  				   yesno(drm_dp_sink_supports_fec(intel_dp->fec_capable)));
926b005cd8c4e3 Jani Nikula        2020-02-11  2134  	} while (try_again);
926b005cd8c4e3 Jani Nikula        2020-02-11  2135  
926b005cd8c4e3 Jani Nikula        2020-02-11  2136  	drm_modeset_drop_locks(&ctx);
926b005cd8c4e3 Jani Nikula        2020-02-11  2137  	drm_modeset_acquire_fini(&ctx);
926b005cd8c4e3 Jani Nikula        2020-02-11  2138  
926b005cd8c4e3 Jani Nikula        2020-02-11  2139  	return ret;
926b005cd8c4e3 Jani Nikula        2020-02-11  2140  }
926b005cd8c4e3 Jani Nikula        2020-02-11  2141  
926b005cd8c4e3 Jani Nikula        2020-02-11  2142  static ssize_t i915_dsc_fec_support_write(struct file *file,
926b005cd8c4e3 Jani Nikula        2020-02-11  2143  					  const char __user *ubuf,
926b005cd8c4e3 Jani Nikula        2020-02-11  2144  					  size_t len, loff_t *offp)
926b005cd8c4e3 Jani Nikula        2020-02-11  2145  {
926b005cd8c4e3 Jani Nikula        2020-02-11  2146  	bool dsc_enable = false;
926b005cd8c4e3 Jani Nikula        2020-02-11  2147  	int ret;
926b005cd8c4e3 Jani Nikula        2020-02-11  2148  	struct drm_connector *connector =
926b005cd8c4e3 Jani Nikula        2020-02-11  2149  		((struct seq_file *)file->private_data)->private;
926b005cd8c4e3 Jani Nikula        2020-02-11  2150  	struct intel_encoder *encoder = intel_attached_encoder(to_intel_connector(connector));
926b005cd8c4e3 Jani Nikula        2020-02-11  2151  	struct drm_i915_private *i915 = to_i915(encoder->base.dev);
926b005cd8c4e3 Jani Nikula        2020-02-11  2152  	struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
926b005cd8c4e3 Jani Nikula        2020-02-11  2153  
926b005cd8c4e3 Jani Nikula        2020-02-11  2154  	if (len == 0)
926b005cd8c4e3 Jani Nikula        2020-02-11  2155  		return 0;
926b005cd8c4e3 Jani Nikula        2020-02-11  2156  
926b005cd8c4e3 Jani Nikula        2020-02-11  2157  	drm_dbg(&i915->drm,
926b005cd8c4e3 Jani Nikula        2020-02-11  2158  		"Copied %zu bytes from user to force DSC\n", len);
926b005cd8c4e3 Jani Nikula        2020-02-11  2159  
926b005cd8c4e3 Jani Nikula        2020-02-11  2160  	ret = kstrtobool_from_user(ubuf, len, &dsc_enable);
926b005cd8c4e3 Jani Nikula        2020-02-11  2161  	if (ret < 0)
926b005cd8c4e3 Jani Nikula        2020-02-11  2162  		return ret;
926b005cd8c4e3 Jani Nikula        2020-02-11  2163  
926b005cd8c4e3 Jani Nikula        2020-02-11  2164  	drm_dbg(&i915->drm, "Got %s for DSC Enable\n",
926b005cd8c4e3 Jani Nikula        2020-02-11  2165  		(dsc_enable) ? "true" : "false");
926b005cd8c4e3 Jani Nikula        2020-02-11  2166  	intel_dp->force_dsc_en = dsc_enable;
926b005cd8c4e3 Jani Nikula        2020-02-11  2167  
926b005cd8c4e3 Jani Nikula        2020-02-11  2168  	*offp += len;
926b005cd8c4e3 Jani Nikula        2020-02-11  2169  	return len;
926b005cd8c4e3 Jani Nikula        2020-02-11  2170  }
926b005cd8c4e3 Jani Nikula        2020-02-11  2171  
926b005cd8c4e3 Jani Nikula        2020-02-11  2172  static int i915_dsc_fec_support_open(struct inode *inode,
926b005cd8c4e3 Jani Nikula        2020-02-11  2173  				     struct file *file)
926b005cd8c4e3 Jani Nikula        2020-02-11  2174  {
926b005cd8c4e3 Jani Nikula        2020-02-11  2175  	return single_open(file, i915_dsc_fec_support_show,
926b005cd8c4e3 Jani Nikula        2020-02-11  2176  			   inode->i_private);
926b005cd8c4e3 Jani Nikula        2020-02-11  2177  }
926b005cd8c4e3 Jani Nikula        2020-02-11  2178  
926b005cd8c4e3 Jani Nikula        2020-02-11  2179  static const struct file_operations i915_dsc_fec_support_fops = {
926b005cd8c4e3 Jani Nikula        2020-02-11  2180  	.owner = THIS_MODULE,
926b005cd8c4e3 Jani Nikula        2020-02-11  2181  	.open = i915_dsc_fec_support_open,
926b005cd8c4e3 Jani Nikula        2020-02-11  2182  	.read = seq_read,
926b005cd8c4e3 Jani Nikula        2020-02-11  2183  	.llseek = seq_lseek,
926b005cd8c4e3 Jani Nikula        2020-02-11  2184  	.release = single_release,
926b005cd8c4e3 Jani Nikula        2020-02-11  2185  	.write = i915_dsc_fec_support_write
926b005cd8c4e3 Jani Nikula        2020-02-11  2186  };
926b005cd8c4e3 Jani Nikula        2020-02-11  2187  
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2188  static int vrr_range_show(struct seq_file *m, void *data)
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2189  {
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2190  	struct drm_connector *connector = m->private;
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2191  
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2192  	if (connector->status != connector_status_connected)
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2193  		return -ENODEV;
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2194  
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2195  	seq_printf(m, "Vrr_capable: %s\n", yesno(intel_dp_is_vrr_capable(connector)));
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2196  	seq_printf(m, "Min: %u\n", (u8)connector->display_info.monitor_range.min_vfreq);
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2197  	seq_printf(m, "Max: %u\n", (u8)connector->display_info.monitor_range.max_vfreq);
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2198  
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2199  	return 0;
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2200  }
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2201  DEFINE_SHOW_ATTRIBUTE(vrr_range);
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2202  
926b005cd8c4e3 Jani Nikula        2020-02-11  2203  /**
926b005cd8c4e3 Jani Nikula        2020-02-11  2204   * intel_connector_debugfs_add - add i915 specific connector debugfs files
926b005cd8c4e3 Jani Nikula        2020-02-11  2205   * @connector: pointer to a registered drm_connector
926b005cd8c4e3 Jani Nikula        2020-02-11  2206   *
926b005cd8c4e3 Jani Nikula        2020-02-11  2207   * Cleanup will be done by drm_connector_unregister() through a call to
926b005cd8c4e3 Jani Nikula        2020-02-11  2208   * drm_debugfs_connector_remove().
926b005cd8c4e3 Jani Nikula        2020-02-11  2209   *
926b005cd8c4e3 Jani Nikula        2020-02-11  2210   * Returns 0 on success, negative error codes on error.
926b005cd8c4e3 Jani Nikula        2020-02-11  2211   */
926b005cd8c4e3 Jani Nikula        2020-02-11  2212  int intel_connector_debugfs_add(struct drm_connector *connector)
926b005cd8c4e3 Jani Nikula        2020-02-11  2213  {
926b005cd8c4e3 Jani Nikula        2020-02-11  2214  	struct dentry *root = connector->debugfs_entry;
926b005cd8c4e3 Jani Nikula        2020-02-11  2215  	struct drm_i915_private *dev_priv = to_i915(connector->dev);
926b005cd8c4e3 Jani Nikula        2020-02-11  2216  
926b005cd8c4e3 Jani Nikula        2020-02-11  2217  	/* The connector must have been registered beforehands. */
926b005cd8c4e3 Jani Nikula        2020-02-11  2218  	if (!root)
926b005cd8c4e3 Jani Nikula        2020-02-11  2219  		return -ENODEV;
926b005cd8c4e3 Jani Nikula        2020-02-11  2220  
926b005cd8c4e3 Jani Nikula        2020-02-11  2221  	if (connector->connector_type == DRM_MODE_CONNECTOR_eDP) {
926b005cd8c4e3 Jani Nikula        2020-02-11  2222  		debugfs_create_file("i915_panel_timings", S_IRUGO, root,
926b005cd8c4e3 Jani Nikula        2020-02-11  2223  				    connector, &i915_panel_fops);
926b005cd8c4e3 Jani Nikula        2020-02-11  2224  		debugfs_create_file("i915_psr_sink_status", S_IRUGO, root,
926b005cd8c4e3 Jani Nikula        2020-02-11  2225  				    connector, &i915_psr_sink_status_fops);
926b005cd8c4e3 Jani Nikula        2020-02-11  2226  	}
926b005cd8c4e3 Jani Nikula        2020-02-11  2227  
926b005cd8c4e3 Jani Nikula        2020-02-11  2228  	if (connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort ||
926b005cd8c4e3 Jani Nikula        2020-02-11  2229  	    connector->connector_type == DRM_MODE_CONNECTOR_HDMIA ||
926b005cd8c4e3 Jani Nikula        2020-02-11  2230  	    connector->connector_type == DRM_MODE_CONNECTOR_HDMIB) {
926b005cd8c4e3 Jani Nikula        2020-02-11  2231  		debugfs_create_file("i915_hdcp_sink_capability", S_IRUGO, root,
926b005cd8c4e3 Jani Nikula        2020-02-11  2232  				    connector, &i915_hdcp_sink_capability_fops);
926b005cd8c4e3 Jani Nikula        2020-02-11  2233  	}
926b005cd8c4e3 Jani Nikula        2020-02-11  2234  
926b005cd8c4e3 Jani Nikula        2020-02-11 @2235  	if (INTEL_GEN(dev_priv) >= 10 &&

:::::: The code at line 2235 was first introduced by commit
:::::: 926b005cd8c4e325ab918edea0fbdd1d25d1ba28 drm/i915: split out display debugfs to a separate file

:::::: TO: Jani Nikula <jani.nikula@intel.com>
:::::: CC: Jani Nikula <jani.nikula@intel.com>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 31500 bytes --]

[-- Attachment #3: Type: text/plain, Size: 160 bytes --]

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

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

* Re: [Intel-gfx] [PATCH v6 3/3] drm/i915/dp: Expose connector VRR monitor range via debugfs
@ 2020-06-13  5:41     ` kernel test robot
  0 siblings, 0 replies; 41+ messages in thread
From: kernel test robot @ 2020-06-13  5:41 UTC (permalink / raw)
  To: Manasi Navare, intel-gfx, dri-devel; +Cc: kbuild-all, Bhanuprakash Modem

[-- Attachment #1: Type: text/plain, Size: 19285 bytes --]

Hi Manasi,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on drm-intel/for-linux-next]
[also build test ERROR on drm-tip/drm-tip drm-exynos/exynos-drm-next linus/master next-20200612]
[cannot apply to tegra-drm/drm/tegra/for-next drm/drm-next v5.7]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:    https://github.com/0day-ci/linux/commits/Manasi-Navare/VRR-capable-attach-prop-in-i915-DPCD-helper-VRR-debugfs/20200613-070517
base:   git://anongit.freedesktop.org/drm-intel for-linux-next
config: x86_64-randconfig-a014-20200613 (attached as .config)
compiler: gcc-7 (Ubuntu 7.5.0-6ubuntu2) 7.5.0
reproduce (this is a W=1 build):
        # save the attached .config to linux build tree
        make W=1 ARCH=x86_64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>, old ones prefixed by <<):

drivers/gpu/drm/i915/display/intel_display_debugfs.c: In function 'intel_connector_debugfs_add':
>> drivers/gpu/drm/i915/display/intel_display_debugfs.c:2235:2: error: this 'if' clause does not guard... [-Werror=misleading-indentation]
if (INTEL_GEN(dev_priv) >= 10 &&
^~
drivers/gpu/drm/i915/display/intel_display_debugfs.c:2241:3: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
if (INTEL_GEN(dev_priv) >= 12)
^~
drivers/gpu/drm/i915/display/intel_display_debugfs.c: At top level:
drivers/gpu/drm/i915/display/intel_display_debugfs.c:2247:2: error: expected identifier or '(' before 'if'
if ((INTEL_GEN(dev_priv) >= 9 || IS_HASWELL(dev_priv) ||
^~
drivers/gpu/drm/i915/display/intel_display_debugfs.c:2257:2: error: expected identifier or '(' before 'return'
return 0;
^~~~~~
drivers/gpu/drm/i915/display/intel_display_debugfs.c:2258:1: error: expected identifier or '(' before '}' token
}
^
drivers/gpu/drm/i915/display/intel_display_debugfs.c: In function 'intel_connector_debugfs_add':
drivers/gpu/drm/i915/display/intel_display_debugfs.c:2244:2: error: control reaches end of non-void function [-Werror=return-type]
}
^
In file included from include/drm/drm_debugfs.h:36:0,
from drivers/gpu/drm/i915/display/intel_display_debugfs.c:6:
At top level:
>> drivers/gpu/drm/i915/display/intel_display_debugfs.c:2081:23: error: 'i915_lpsp_capability_fops' defined but not used [-Werror=unused-const-variable=]
DEFINE_SHOW_ATTRIBUTE(i915_lpsp_capability);
^
include/linux/seq_file.h:154:37: note: in definition of macro 'DEFINE_SHOW_ATTRIBUTE'
static const struct file_operations __name ## _fops = {                                           ^~~~~~
cc1: all warnings being treated as errors

vim +/if +2235 drivers/gpu/drm/i915/display/intel_display_debugfs.c

926b005cd8c4e3 Jani Nikula        2020-02-11  2040  
8806211fe7b306 Anshuman Gupta     2020-04-15  2041  #define LPSP_CAPABLE(COND) (COND ? seq_puts(m, "LPSP: capable\n") : \
8806211fe7b306 Anshuman Gupta     2020-04-15  2042  				seq_puts(m, "LPSP: incapable\n"))
8806211fe7b306 Anshuman Gupta     2020-04-15  2043  
8806211fe7b306 Anshuman Gupta     2020-04-15  2044  static int i915_lpsp_capability_show(struct seq_file *m, void *data)
8806211fe7b306 Anshuman Gupta     2020-04-15  2045  {
8806211fe7b306 Anshuman Gupta     2020-04-15  2046  	struct drm_connector *connector = m->private;
8806211fe7b306 Anshuman Gupta     2020-04-15  2047  	struct intel_encoder *encoder =
8806211fe7b306 Anshuman Gupta     2020-04-15  2048  			intel_attached_encoder(to_intel_connector(connector));
8806211fe7b306 Anshuman Gupta     2020-04-15  2049  	struct drm_i915_private *i915 = to_i915(connector->dev);
8806211fe7b306 Anshuman Gupta     2020-04-15  2050  
8806211fe7b306 Anshuman Gupta     2020-04-15  2051  	if (connector->status != connector_status_connected)
8806211fe7b306 Anshuman Gupta     2020-04-15  2052  		return -ENODEV;
8806211fe7b306 Anshuman Gupta     2020-04-15  2053  
8806211fe7b306 Anshuman Gupta     2020-04-15  2054  	switch (INTEL_GEN(i915)) {
8806211fe7b306 Anshuman Gupta     2020-04-15  2055  	case 12:
8806211fe7b306 Anshuman Gupta     2020-04-15  2056  		/*
8806211fe7b306 Anshuman Gupta     2020-04-15  2057  		 * Actually TGL can drive LPSP on port till DDI_C
8806211fe7b306 Anshuman Gupta     2020-04-15  2058  		 * but there is no physical connected DDI_C on TGL sku's,
8806211fe7b306 Anshuman Gupta     2020-04-15  2059  		 * even driver is not initilizing DDI_C port for gen12.
8806211fe7b306 Anshuman Gupta     2020-04-15  2060  		 */
8806211fe7b306 Anshuman Gupta     2020-04-15  2061  		LPSP_CAPABLE(encoder->port <= PORT_B);
8806211fe7b306 Anshuman Gupta     2020-04-15  2062  		break;
8806211fe7b306 Anshuman Gupta     2020-04-15  2063  	case 11:
8806211fe7b306 Anshuman Gupta     2020-04-15  2064  		LPSP_CAPABLE(connector->connector_type == DRM_MODE_CONNECTOR_DSI ||
8806211fe7b306 Anshuman Gupta     2020-04-15  2065  			     connector->connector_type == DRM_MODE_CONNECTOR_eDP);
8806211fe7b306 Anshuman Gupta     2020-04-15  2066  		break;
8806211fe7b306 Anshuman Gupta     2020-04-15  2067  	case 10:
8806211fe7b306 Anshuman Gupta     2020-04-15  2068  	case 9:
8806211fe7b306 Anshuman Gupta     2020-04-15  2069  		LPSP_CAPABLE(encoder->port == PORT_A &&
8806211fe7b306 Anshuman Gupta     2020-04-15  2070  			     (connector->connector_type == DRM_MODE_CONNECTOR_DSI ||
8806211fe7b306 Anshuman Gupta     2020-04-15  2071  			     connector->connector_type == DRM_MODE_CONNECTOR_eDP  ||
8806211fe7b306 Anshuman Gupta     2020-04-15  2072  			     connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort));
8806211fe7b306 Anshuman Gupta     2020-04-15  2073  		break;
8806211fe7b306 Anshuman Gupta     2020-04-15  2074  	default:
8806211fe7b306 Anshuman Gupta     2020-04-15  2075  		if (IS_HASWELL(i915) || IS_BROADWELL(i915))
8806211fe7b306 Anshuman Gupta     2020-04-15  2076  			LPSP_CAPABLE(connector->connector_type == DRM_MODE_CONNECTOR_eDP);
8806211fe7b306 Anshuman Gupta     2020-04-15  2077  	}
8806211fe7b306 Anshuman Gupta     2020-04-15  2078  
8806211fe7b306 Anshuman Gupta     2020-04-15  2079  	return 0;
8806211fe7b306 Anshuman Gupta     2020-04-15  2080  }
8806211fe7b306 Anshuman Gupta     2020-04-15 @2081  DEFINE_SHOW_ATTRIBUTE(i915_lpsp_capability);
8806211fe7b306 Anshuman Gupta     2020-04-15  2082  
926b005cd8c4e3 Jani Nikula        2020-02-11  2083  static int i915_dsc_fec_support_show(struct seq_file *m, void *data)
926b005cd8c4e3 Jani Nikula        2020-02-11  2084  {
926b005cd8c4e3 Jani Nikula        2020-02-11  2085  	struct drm_connector *connector = m->private;
926b005cd8c4e3 Jani Nikula        2020-02-11  2086  	struct drm_device *dev = connector->dev;
926b005cd8c4e3 Jani Nikula        2020-02-11  2087  	struct drm_crtc *crtc;
926b005cd8c4e3 Jani Nikula        2020-02-11  2088  	struct intel_dp *intel_dp;
926b005cd8c4e3 Jani Nikula        2020-02-11  2089  	struct drm_modeset_acquire_ctx ctx;
926b005cd8c4e3 Jani Nikula        2020-02-11  2090  	struct intel_crtc_state *crtc_state = NULL;
926b005cd8c4e3 Jani Nikula        2020-02-11  2091  	int ret = 0;
926b005cd8c4e3 Jani Nikula        2020-02-11  2092  	bool try_again = false;
926b005cd8c4e3 Jani Nikula        2020-02-11  2093  
926b005cd8c4e3 Jani Nikula        2020-02-11  2094  	drm_modeset_acquire_init(&ctx, DRM_MODESET_ACQUIRE_INTERRUPTIBLE);
926b005cd8c4e3 Jani Nikula        2020-02-11  2095  
926b005cd8c4e3 Jani Nikula        2020-02-11  2096  	do {
926b005cd8c4e3 Jani Nikula        2020-02-11  2097  		try_again = false;
926b005cd8c4e3 Jani Nikula        2020-02-11  2098  		ret = drm_modeset_lock(&dev->mode_config.connection_mutex,
926b005cd8c4e3 Jani Nikula        2020-02-11  2099  				       &ctx);
926b005cd8c4e3 Jani Nikula        2020-02-11  2100  		if (ret) {
926b005cd8c4e3 Jani Nikula        2020-02-11  2101  			if (ret == -EDEADLK && !drm_modeset_backoff(&ctx)) {
926b005cd8c4e3 Jani Nikula        2020-02-11  2102  				try_again = true;
926b005cd8c4e3 Jani Nikula        2020-02-11  2103  				continue;
926b005cd8c4e3 Jani Nikula        2020-02-11  2104  			}
926b005cd8c4e3 Jani Nikula        2020-02-11  2105  			break;
926b005cd8c4e3 Jani Nikula        2020-02-11  2106  		}
926b005cd8c4e3 Jani Nikula        2020-02-11  2107  		crtc = connector->state->crtc;
926b005cd8c4e3 Jani Nikula        2020-02-11  2108  		if (connector->status != connector_status_connected || !crtc) {
926b005cd8c4e3 Jani Nikula        2020-02-11  2109  			ret = -ENODEV;
926b005cd8c4e3 Jani Nikula        2020-02-11  2110  			break;
926b005cd8c4e3 Jani Nikula        2020-02-11  2111  		}
926b005cd8c4e3 Jani Nikula        2020-02-11  2112  		ret = drm_modeset_lock(&crtc->mutex, &ctx);
926b005cd8c4e3 Jani Nikula        2020-02-11  2113  		if (ret == -EDEADLK) {
926b005cd8c4e3 Jani Nikula        2020-02-11  2114  			ret = drm_modeset_backoff(&ctx);
926b005cd8c4e3 Jani Nikula        2020-02-11  2115  			if (!ret) {
926b005cd8c4e3 Jani Nikula        2020-02-11  2116  				try_again = true;
926b005cd8c4e3 Jani Nikula        2020-02-11  2117  				continue;
926b005cd8c4e3 Jani Nikula        2020-02-11  2118  			}
926b005cd8c4e3 Jani Nikula        2020-02-11  2119  			break;
926b005cd8c4e3 Jani Nikula        2020-02-11  2120  		} else if (ret) {
926b005cd8c4e3 Jani Nikula        2020-02-11  2121  			break;
926b005cd8c4e3 Jani Nikula        2020-02-11  2122  		}
926b005cd8c4e3 Jani Nikula        2020-02-11  2123  		intel_dp = intel_attached_dp(to_intel_connector(connector));
926b005cd8c4e3 Jani Nikula        2020-02-11  2124  		crtc_state = to_intel_crtc_state(crtc->state);
926b005cd8c4e3 Jani Nikula        2020-02-11  2125  		seq_printf(m, "DSC_Enabled: %s\n",
926b005cd8c4e3 Jani Nikula        2020-02-11  2126  			   yesno(crtc_state->dsc.compression_enable));
926b005cd8c4e3 Jani Nikula        2020-02-11  2127  		seq_printf(m, "DSC_Sink_Support: %s\n",
926b005cd8c4e3 Jani Nikula        2020-02-11  2128  			   yesno(drm_dp_sink_supports_dsc(intel_dp->dsc_dpcd)));
926b005cd8c4e3 Jani Nikula        2020-02-11  2129  		seq_printf(m, "Force_DSC_Enable: %s\n",
926b005cd8c4e3 Jani Nikula        2020-02-11  2130  			   yesno(intel_dp->force_dsc_en));
926b005cd8c4e3 Jani Nikula        2020-02-11  2131  		if (!intel_dp_is_edp(intel_dp))
926b005cd8c4e3 Jani Nikula        2020-02-11  2132  			seq_printf(m, "FEC_Sink_Support: %s\n",
926b005cd8c4e3 Jani Nikula        2020-02-11  2133  				   yesno(drm_dp_sink_supports_fec(intel_dp->fec_capable)));
926b005cd8c4e3 Jani Nikula        2020-02-11  2134  	} while (try_again);
926b005cd8c4e3 Jani Nikula        2020-02-11  2135  
926b005cd8c4e3 Jani Nikula        2020-02-11  2136  	drm_modeset_drop_locks(&ctx);
926b005cd8c4e3 Jani Nikula        2020-02-11  2137  	drm_modeset_acquire_fini(&ctx);
926b005cd8c4e3 Jani Nikula        2020-02-11  2138  
926b005cd8c4e3 Jani Nikula        2020-02-11  2139  	return ret;
926b005cd8c4e3 Jani Nikula        2020-02-11  2140  }
926b005cd8c4e3 Jani Nikula        2020-02-11  2141  
926b005cd8c4e3 Jani Nikula        2020-02-11  2142  static ssize_t i915_dsc_fec_support_write(struct file *file,
926b005cd8c4e3 Jani Nikula        2020-02-11  2143  					  const char __user *ubuf,
926b005cd8c4e3 Jani Nikula        2020-02-11  2144  					  size_t len, loff_t *offp)
926b005cd8c4e3 Jani Nikula        2020-02-11  2145  {
926b005cd8c4e3 Jani Nikula        2020-02-11  2146  	bool dsc_enable = false;
926b005cd8c4e3 Jani Nikula        2020-02-11  2147  	int ret;
926b005cd8c4e3 Jani Nikula        2020-02-11  2148  	struct drm_connector *connector =
926b005cd8c4e3 Jani Nikula        2020-02-11  2149  		((struct seq_file *)file->private_data)->private;
926b005cd8c4e3 Jani Nikula        2020-02-11  2150  	struct intel_encoder *encoder = intel_attached_encoder(to_intel_connector(connector));
926b005cd8c4e3 Jani Nikula        2020-02-11  2151  	struct drm_i915_private *i915 = to_i915(encoder->base.dev);
926b005cd8c4e3 Jani Nikula        2020-02-11  2152  	struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
926b005cd8c4e3 Jani Nikula        2020-02-11  2153  
926b005cd8c4e3 Jani Nikula        2020-02-11  2154  	if (len == 0)
926b005cd8c4e3 Jani Nikula        2020-02-11  2155  		return 0;
926b005cd8c4e3 Jani Nikula        2020-02-11  2156  
926b005cd8c4e3 Jani Nikula        2020-02-11  2157  	drm_dbg(&i915->drm,
926b005cd8c4e3 Jani Nikula        2020-02-11  2158  		"Copied %zu bytes from user to force DSC\n", len);
926b005cd8c4e3 Jani Nikula        2020-02-11  2159  
926b005cd8c4e3 Jani Nikula        2020-02-11  2160  	ret = kstrtobool_from_user(ubuf, len, &dsc_enable);
926b005cd8c4e3 Jani Nikula        2020-02-11  2161  	if (ret < 0)
926b005cd8c4e3 Jani Nikula        2020-02-11  2162  		return ret;
926b005cd8c4e3 Jani Nikula        2020-02-11  2163  
926b005cd8c4e3 Jani Nikula        2020-02-11  2164  	drm_dbg(&i915->drm, "Got %s for DSC Enable\n",
926b005cd8c4e3 Jani Nikula        2020-02-11  2165  		(dsc_enable) ? "true" : "false");
926b005cd8c4e3 Jani Nikula        2020-02-11  2166  	intel_dp->force_dsc_en = dsc_enable;
926b005cd8c4e3 Jani Nikula        2020-02-11  2167  
926b005cd8c4e3 Jani Nikula        2020-02-11  2168  	*offp += len;
926b005cd8c4e3 Jani Nikula        2020-02-11  2169  	return len;
926b005cd8c4e3 Jani Nikula        2020-02-11  2170  }
926b005cd8c4e3 Jani Nikula        2020-02-11  2171  
926b005cd8c4e3 Jani Nikula        2020-02-11  2172  static int i915_dsc_fec_support_open(struct inode *inode,
926b005cd8c4e3 Jani Nikula        2020-02-11  2173  				     struct file *file)
926b005cd8c4e3 Jani Nikula        2020-02-11  2174  {
926b005cd8c4e3 Jani Nikula        2020-02-11  2175  	return single_open(file, i915_dsc_fec_support_show,
926b005cd8c4e3 Jani Nikula        2020-02-11  2176  			   inode->i_private);
926b005cd8c4e3 Jani Nikula        2020-02-11  2177  }
926b005cd8c4e3 Jani Nikula        2020-02-11  2178  
926b005cd8c4e3 Jani Nikula        2020-02-11  2179  static const struct file_operations i915_dsc_fec_support_fops = {
926b005cd8c4e3 Jani Nikula        2020-02-11  2180  	.owner = THIS_MODULE,
926b005cd8c4e3 Jani Nikula        2020-02-11  2181  	.open = i915_dsc_fec_support_open,
926b005cd8c4e3 Jani Nikula        2020-02-11  2182  	.read = seq_read,
926b005cd8c4e3 Jani Nikula        2020-02-11  2183  	.llseek = seq_lseek,
926b005cd8c4e3 Jani Nikula        2020-02-11  2184  	.release = single_release,
926b005cd8c4e3 Jani Nikula        2020-02-11  2185  	.write = i915_dsc_fec_support_write
926b005cd8c4e3 Jani Nikula        2020-02-11  2186  };
926b005cd8c4e3 Jani Nikula        2020-02-11  2187  
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2188  static int vrr_range_show(struct seq_file *m, void *data)
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2189  {
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2190  	struct drm_connector *connector = m->private;
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2191  
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2192  	if (connector->status != connector_status_connected)
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2193  		return -ENODEV;
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2194  
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2195  	seq_printf(m, "Vrr_capable: %s\n", yesno(intel_dp_is_vrr_capable(connector)));
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2196  	seq_printf(m, "Min: %u\n", (u8)connector->display_info.monitor_range.min_vfreq);
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2197  	seq_printf(m, "Max: %u\n", (u8)connector->display_info.monitor_range.max_vfreq);
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2198  
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2199  	return 0;
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2200  }
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2201  DEFINE_SHOW_ATTRIBUTE(vrr_range);
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2202  
926b005cd8c4e3 Jani Nikula        2020-02-11  2203  /**
926b005cd8c4e3 Jani Nikula        2020-02-11  2204   * intel_connector_debugfs_add - add i915 specific connector debugfs files
926b005cd8c4e3 Jani Nikula        2020-02-11  2205   * @connector: pointer to a registered drm_connector
926b005cd8c4e3 Jani Nikula        2020-02-11  2206   *
926b005cd8c4e3 Jani Nikula        2020-02-11  2207   * Cleanup will be done by drm_connector_unregister() through a call to
926b005cd8c4e3 Jani Nikula        2020-02-11  2208   * drm_debugfs_connector_remove().
926b005cd8c4e3 Jani Nikula        2020-02-11  2209   *
926b005cd8c4e3 Jani Nikula        2020-02-11  2210   * Returns 0 on success, negative error codes on error.
926b005cd8c4e3 Jani Nikula        2020-02-11  2211   */
926b005cd8c4e3 Jani Nikula        2020-02-11  2212  int intel_connector_debugfs_add(struct drm_connector *connector)
926b005cd8c4e3 Jani Nikula        2020-02-11  2213  {
926b005cd8c4e3 Jani Nikula        2020-02-11  2214  	struct dentry *root = connector->debugfs_entry;
926b005cd8c4e3 Jani Nikula        2020-02-11  2215  	struct drm_i915_private *dev_priv = to_i915(connector->dev);
926b005cd8c4e3 Jani Nikula        2020-02-11  2216  
926b005cd8c4e3 Jani Nikula        2020-02-11  2217  	/* The connector must have been registered beforehands. */
926b005cd8c4e3 Jani Nikula        2020-02-11  2218  	if (!root)
926b005cd8c4e3 Jani Nikula        2020-02-11  2219  		return -ENODEV;
926b005cd8c4e3 Jani Nikula        2020-02-11  2220  
926b005cd8c4e3 Jani Nikula        2020-02-11  2221  	if (connector->connector_type == DRM_MODE_CONNECTOR_eDP) {
926b005cd8c4e3 Jani Nikula        2020-02-11  2222  		debugfs_create_file("i915_panel_timings", S_IRUGO, root,
926b005cd8c4e3 Jani Nikula        2020-02-11  2223  				    connector, &i915_panel_fops);
926b005cd8c4e3 Jani Nikula        2020-02-11  2224  		debugfs_create_file("i915_psr_sink_status", S_IRUGO, root,
926b005cd8c4e3 Jani Nikula        2020-02-11  2225  				    connector, &i915_psr_sink_status_fops);
926b005cd8c4e3 Jani Nikula        2020-02-11  2226  	}
926b005cd8c4e3 Jani Nikula        2020-02-11  2227  
926b005cd8c4e3 Jani Nikula        2020-02-11  2228  	if (connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort ||
926b005cd8c4e3 Jani Nikula        2020-02-11  2229  	    connector->connector_type == DRM_MODE_CONNECTOR_HDMIA ||
926b005cd8c4e3 Jani Nikula        2020-02-11  2230  	    connector->connector_type == DRM_MODE_CONNECTOR_HDMIB) {
926b005cd8c4e3 Jani Nikula        2020-02-11  2231  		debugfs_create_file("i915_hdcp_sink_capability", S_IRUGO, root,
926b005cd8c4e3 Jani Nikula        2020-02-11  2232  				    connector, &i915_hdcp_sink_capability_fops);
926b005cd8c4e3 Jani Nikula        2020-02-11  2233  	}
926b005cd8c4e3 Jani Nikula        2020-02-11  2234  
926b005cd8c4e3 Jani Nikula        2020-02-11 @2235  	if (INTEL_GEN(dev_priv) >= 10 &&

:::::: The code at line 2235 was first introduced by commit
:::::: 926b005cd8c4e325ab918edea0fbdd1d25d1ba28 drm/i915: split out display debugfs to a separate file

:::::: TO: Jani Nikula <jani.nikula@intel.com>
:::::: CC: Jani Nikula <jani.nikula@intel.com>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 31500 bytes --]

[-- Attachment #3: Type: text/plain, Size: 160 bytes --]

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [Intel-gfx] [PATCH v6 3/3] drm/i915/dp: Expose connector VRR monitor range via debugfs
@ 2020-06-13  5:41     ` kernel test robot
  0 siblings, 0 replies; 41+ messages in thread
From: kernel test robot @ 2020-06-13  5:41 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 19550 bytes --]

Hi Manasi,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on drm-intel/for-linux-next]
[also build test ERROR on drm-tip/drm-tip drm-exynos/exynos-drm-next linus/master next-20200612]
[cannot apply to tegra-drm/drm/tegra/for-next drm/drm-next v5.7]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:    https://github.com/0day-ci/linux/commits/Manasi-Navare/VRR-capable-attach-prop-in-i915-DPCD-helper-VRR-debugfs/20200613-070517
base:   git://anongit.freedesktop.org/drm-intel for-linux-next
config: x86_64-randconfig-a014-20200613 (attached as .config)
compiler: gcc-7 (Ubuntu 7.5.0-6ubuntu2) 7.5.0
reproduce (this is a W=1 build):
        # save the attached .config to linux build tree
        make W=1 ARCH=x86_64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>, old ones prefixed by <<):

drivers/gpu/drm/i915/display/intel_display_debugfs.c: In function 'intel_connector_debugfs_add':
>> drivers/gpu/drm/i915/display/intel_display_debugfs.c:2235:2: error: this 'if' clause does not guard... [-Werror=misleading-indentation]
if (INTEL_GEN(dev_priv) >= 10 &&
^~
drivers/gpu/drm/i915/display/intel_display_debugfs.c:2241:3: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
if (INTEL_GEN(dev_priv) >= 12)
^~
drivers/gpu/drm/i915/display/intel_display_debugfs.c: At top level:
drivers/gpu/drm/i915/display/intel_display_debugfs.c:2247:2: error: expected identifier or '(' before 'if'
if ((INTEL_GEN(dev_priv) >= 9 || IS_HASWELL(dev_priv) ||
^~
drivers/gpu/drm/i915/display/intel_display_debugfs.c:2257:2: error: expected identifier or '(' before 'return'
return 0;
^~~~~~
drivers/gpu/drm/i915/display/intel_display_debugfs.c:2258:1: error: expected identifier or '(' before '}' token
}
^
drivers/gpu/drm/i915/display/intel_display_debugfs.c: In function 'intel_connector_debugfs_add':
drivers/gpu/drm/i915/display/intel_display_debugfs.c:2244:2: error: control reaches end of non-void function [-Werror=return-type]
}
^
In file included from include/drm/drm_debugfs.h:36:0,
from drivers/gpu/drm/i915/display/intel_display_debugfs.c:6:
At top level:
>> drivers/gpu/drm/i915/display/intel_display_debugfs.c:2081:23: error: 'i915_lpsp_capability_fops' defined but not used [-Werror=unused-const-variable=]
DEFINE_SHOW_ATTRIBUTE(i915_lpsp_capability);
^
include/linux/seq_file.h:154:37: note: in definition of macro 'DEFINE_SHOW_ATTRIBUTE'
static const struct file_operations __name ## _fops = {                                           ^~~~~~
cc1: all warnings being treated as errors

vim +/if +2235 drivers/gpu/drm/i915/display/intel_display_debugfs.c

926b005cd8c4e3 Jani Nikula        2020-02-11  2040  
8806211fe7b306 Anshuman Gupta     2020-04-15  2041  #define LPSP_CAPABLE(COND) (COND ? seq_puts(m, "LPSP: capable\n") : \
8806211fe7b306 Anshuman Gupta     2020-04-15  2042  				seq_puts(m, "LPSP: incapable\n"))
8806211fe7b306 Anshuman Gupta     2020-04-15  2043  
8806211fe7b306 Anshuman Gupta     2020-04-15  2044  static int i915_lpsp_capability_show(struct seq_file *m, void *data)
8806211fe7b306 Anshuman Gupta     2020-04-15  2045  {
8806211fe7b306 Anshuman Gupta     2020-04-15  2046  	struct drm_connector *connector = m->private;
8806211fe7b306 Anshuman Gupta     2020-04-15  2047  	struct intel_encoder *encoder =
8806211fe7b306 Anshuman Gupta     2020-04-15  2048  			intel_attached_encoder(to_intel_connector(connector));
8806211fe7b306 Anshuman Gupta     2020-04-15  2049  	struct drm_i915_private *i915 = to_i915(connector->dev);
8806211fe7b306 Anshuman Gupta     2020-04-15  2050  
8806211fe7b306 Anshuman Gupta     2020-04-15  2051  	if (connector->status != connector_status_connected)
8806211fe7b306 Anshuman Gupta     2020-04-15  2052  		return -ENODEV;
8806211fe7b306 Anshuman Gupta     2020-04-15  2053  
8806211fe7b306 Anshuman Gupta     2020-04-15  2054  	switch (INTEL_GEN(i915)) {
8806211fe7b306 Anshuman Gupta     2020-04-15  2055  	case 12:
8806211fe7b306 Anshuman Gupta     2020-04-15  2056  		/*
8806211fe7b306 Anshuman Gupta     2020-04-15  2057  		 * Actually TGL can drive LPSP on port till DDI_C
8806211fe7b306 Anshuman Gupta     2020-04-15  2058  		 * but there is no physical connected DDI_C on TGL sku's,
8806211fe7b306 Anshuman Gupta     2020-04-15  2059  		 * even driver is not initilizing DDI_C port for gen12.
8806211fe7b306 Anshuman Gupta     2020-04-15  2060  		 */
8806211fe7b306 Anshuman Gupta     2020-04-15  2061  		LPSP_CAPABLE(encoder->port <= PORT_B);
8806211fe7b306 Anshuman Gupta     2020-04-15  2062  		break;
8806211fe7b306 Anshuman Gupta     2020-04-15  2063  	case 11:
8806211fe7b306 Anshuman Gupta     2020-04-15  2064  		LPSP_CAPABLE(connector->connector_type == DRM_MODE_CONNECTOR_DSI ||
8806211fe7b306 Anshuman Gupta     2020-04-15  2065  			     connector->connector_type == DRM_MODE_CONNECTOR_eDP);
8806211fe7b306 Anshuman Gupta     2020-04-15  2066  		break;
8806211fe7b306 Anshuman Gupta     2020-04-15  2067  	case 10:
8806211fe7b306 Anshuman Gupta     2020-04-15  2068  	case 9:
8806211fe7b306 Anshuman Gupta     2020-04-15  2069  		LPSP_CAPABLE(encoder->port == PORT_A &&
8806211fe7b306 Anshuman Gupta     2020-04-15  2070  			     (connector->connector_type == DRM_MODE_CONNECTOR_DSI ||
8806211fe7b306 Anshuman Gupta     2020-04-15  2071  			     connector->connector_type == DRM_MODE_CONNECTOR_eDP  ||
8806211fe7b306 Anshuman Gupta     2020-04-15  2072  			     connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort));
8806211fe7b306 Anshuman Gupta     2020-04-15  2073  		break;
8806211fe7b306 Anshuman Gupta     2020-04-15  2074  	default:
8806211fe7b306 Anshuman Gupta     2020-04-15  2075  		if (IS_HASWELL(i915) || IS_BROADWELL(i915))
8806211fe7b306 Anshuman Gupta     2020-04-15  2076  			LPSP_CAPABLE(connector->connector_type == DRM_MODE_CONNECTOR_eDP);
8806211fe7b306 Anshuman Gupta     2020-04-15  2077  	}
8806211fe7b306 Anshuman Gupta     2020-04-15  2078  
8806211fe7b306 Anshuman Gupta     2020-04-15  2079  	return 0;
8806211fe7b306 Anshuman Gupta     2020-04-15  2080  }
8806211fe7b306 Anshuman Gupta     2020-04-15 @2081  DEFINE_SHOW_ATTRIBUTE(i915_lpsp_capability);
8806211fe7b306 Anshuman Gupta     2020-04-15  2082  
926b005cd8c4e3 Jani Nikula        2020-02-11  2083  static int i915_dsc_fec_support_show(struct seq_file *m, void *data)
926b005cd8c4e3 Jani Nikula        2020-02-11  2084  {
926b005cd8c4e3 Jani Nikula        2020-02-11  2085  	struct drm_connector *connector = m->private;
926b005cd8c4e3 Jani Nikula        2020-02-11  2086  	struct drm_device *dev = connector->dev;
926b005cd8c4e3 Jani Nikula        2020-02-11  2087  	struct drm_crtc *crtc;
926b005cd8c4e3 Jani Nikula        2020-02-11  2088  	struct intel_dp *intel_dp;
926b005cd8c4e3 Jani Nikula        2020-02-11  2089  	struct drm_modeset_acquire_ctx ctx;
926b005cd8c4e3 Jani Nikula        2020-02-11  2090  	struct intel_crtc_state *crtc_state = NULL;
926b005cd8c4e3 Jani Nikula        2020-02-11  2091  	int ret = 0;
926b005cd8c4e3 Jani Nikula        2020-02-11  2092  	bool try_again = false;
926b005cd8c4e3 Jani Nikula        2020-02-11  2093  
926b005cd8c4e3 Jani Nikula        2020-02-11  2094  	drm_modeset_acquire_init(&ctx, DRM_MODESET_ACQUIRE_INTERRUPTIBLE);
926b005cd8c4e3 Jani Nikula        2020-02-11  2095  
926b005cd8c4e3 Jani Nikula        2020-02-11  2096  	do {
926b005cd8c4e3 Jani Nikula        2020-02-11  2097  		try_again = false;
926b005cd8c4e3 Jani Nikula        2020-02-11  2098  		ret = drm_modeset_lock(&dev->mode_config.connection_mutex,
926b005cd8c4e3 Jani Nikula        2020-02-11  2099  				       &ctx);
926b005cd8c4e3 Jani Nikula        2020-02-11  2100  		if (ret) {
926b005cd8c4e3 Jani Nikula        2020-02-11  2101  			if (ret == -EDEADLK && !drm_modeset_backoff(&ctx)) {
926b005cd8c4e3 Jani Nikula        2020-02-11  2102  				try_again = true;
926b005cd8c4e3 Jani Nikula        2020-02-11  2103  				continue;
926b005cd8c4e3 Jani Nikula        2020-02-11  2104  			}
926b005cd8c4e3 Jani Nikula        2020-02-11  2105  			break;
926b005cd8c4e3 Jani Nikula        2020-02-11  2106  		}
926b005cd8c4e3 Jani Nikula        2020-02-11  2107  		crtc = connector->state->crtc;
926b005cd8c4e3 Jani Nikula        2020-02-11  2108  		if (connector->status != connector_status_connected || !crtc) {
926b005cd8c4e3 Jani Nikula        2020-02-11  2109  			ret = -ENODEV;
926b005cd8c4e3 Jani Nikula        2020-02-11  2110  			break;
926b005cd8c4e3 Jani Nikula        2020-02-11  2111  		}
926b005cd8c4e3 Jani Nikula        2020-02-11  2112  		ret = drm_modeset_lock(&crtc->mutex, &ctx);
926b005cd8c4e3 Jani Nikula        2020-02-11  2113  		if (ret == -EDEADLK) {
926b005cd8c4e3 Jani Nikula        2020-02-11  2114  			ret = drm_modeset_backoff(&ctx);
926b005cd8c4e3 Jani Nikula        2020-02-11  2115  			if (!ret) {
926b005cd8c4e3 Jani Nikula        2020-02-11  2116  				try_again = true;
926b005cd8c4e3 Jani Nikula        2020-02-11  2117  				continue;
926b005cd8c4e3 Jani Nikula        2020-02-11  2118  			}
926b005cd8c4e3 Jani Nikula        2020-02-11  2119  			break;
926b005cd8c4e3 Jani Nikula        2020-02-11  2120  		} else if (ret) {
926b005cd8c4e3 Jani Nikula        2020-02-11  2121  			break;
926b005cd8c4e3 Jani Nikula        2020-02-11  2122  		}
926b005cd8c4e3 Jani Nikula        2020-02-11  2123  		intel_dp = intel_attached_dp(to_intel_connector(connector));
926b005cd8c4e3 Jani Nikula        2020-02-11  2124  		crtc_state = to_intel_crtc_state(crtc->state);
926b005cd8c4e3 Jani Nikula        2020-02-11  2125  		seq_printf(m, "DSC_Enabled: %s\n",
926b005cd8c4e3 Jani Nikula        2020-02-11  2126  			   yesno(crtc_state->dsc.compression_enable));
926b005cd8c4e3 Jani Nikula        2020-02-11  2127  		seq_printf(m, "DSC_Sink_Support: %s\n",
926b005cd8c4e3 Jani Nikula        2020-02-11  2128  			   yesno(drm_dp_sink_supports_dsc(intel_dp->dsc_dpcd)));
926b005cd8c4e3 Jani Nikula        2020-02-11  2129  		seq_printf(m, "Force_DSC_Enable: %s\n",
926b005cd8c4e3 Jani Nikula        2020-02-11  2130  			   yesno(intel_dp->force_dsc_en));
926b005cd8c4e3 Jani Nikula        2020-02-11  2131  		if (!intel_dp_is_edp(intel_dp))
926b005cd8c4e3 Jani Nikula        2020-02-11  2132  			seq_printf(m, "FEC_Sink_Support: %s\n",
926b005cd8c4e3 Jani Nikula        2020-02-11  2133  				   yesno(drm_dp_sink_supports_fec(intel_dp->fec_capable)));
926b005cd8c4e3 Jani Nikula        2020-02-11  2134  	} while (try_again);
926b005cd8c4e3 Jani Nikula        2020-02-11  2135  
926b005cd8c4e3 Jani Nikula        2020-02-11  2136  	drm_modeset_drop_locks(&ctx);
926b005cd8c4e3 Jani Nikula        2020-02-11  2137  	drm_modeset_acquire_fini(&ctx);
926b005cd8c4e3 Jani Nikula        2020-02-11  2138  
926b005cd8c4e3 Jani Nikula        2020-02-11  2139  	return ret;
926b005cd8c4e3 Jani Nikula        2020-02-11  2140  }
926b005cd8c4e3 Jani Nikula        2020-02-11  2141  
926b005cd8c4e3 Jani Nikula        2020-02-11  2142  static ssize_t i915_dsc_fec_support_write(struct file *file,
926b005cd8c4e3 Jani Nikula        2020-02-11  2143  					  const char __user *ubuf,
926b005cd8c4e3 Jani Nikula        2020-02-11  2144  					  size_t len, loff_t *offp)
926b005cd8c4e3 Jani Nikula        2020-02-11  2145  {
926b005cd8c4e3 Jani Nikula        2020-02-11  2146  	bool dsc_enable = false;
926b005cd8c4e3 Jani Nikula        2020-02-11  2147  	int ret;
926b005cd8c4e3 Jani Nikula        2020-02-11  2148  	struct drm_connector *connector =
926b005cd8c4e3 Jani Nikula        2020-02-11  2149  		((struct seq_file *)file->private_data)->private;
926b005cd8c4e3 Jani Nikula        2020-02-11  2150  	struct intel_encoder *encoder = intel_attached_encoder(to_intel_connector(connector));
926b005cd8c4e3 Jani Nikula        2020-02-11  2151  	struct drm_i915_private *i915 = to_i915(encoder->base.dev);
926b005cd8c4e3 Jani Nikula        2020-02-11  2152  	struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
926b005cd8c4e3 Jani Nikula        2020-02-11  2153  
926b005cd8c4e3 Jani Nikula        2020-02-11  2154  	if (len == 0)
926b005cd8c4e3 Jani Nikula        2020-02-11  2155  		return 0;
926b005cd8c4e3 Jani Nikula        2020-02-11  2156  
926b005cd8c4e3 Jani Nikula        2020-02-11  2157  	drm_dbg(&i915->drm,
926b005cd8c4e3 Jani Nikula        2020-02-11  2158  		"Copied %zu bytes from user to force DSC\n", len);
926b005cd8c4e3 Jani Nikula        2020-02-11  2159  
926b005cd8c4e3 Jani Nikula        2020-02-11  2160  	ret = kstrtobool_from_user(ubuf, len, &dsc_enable);
926b005cd8c4e3 Jani Nikula        2020-02-11  2161  	if (ret < 0)
926b005cd8c4e3 Jani Nikula        2020-02-11  2162  		return ret;
926b005cd8c4e3 Jani Nikula        2020-02-11  2163  
926b005cd8c4e3 Jani Nikula        2020-02-11  2164  	drm_dbg(&i915->drm, "Got %s for DSC Enable\n",
926b005cd8c4e3 Jani Nikula        2020-02-11  2165  		(dsc_enable) ? "true" : "false");
926b005cd8c4e3 Jani Nikula        2020-02-11  2166  	intel_dp->force_dsc_en = dsc_enable;
926b005cd8c4e3 Jani Nikula        2020-02-11  2167  
926b005cd8c4e3 Jani Nikula        2020-02-11  2168  	*offp += len;
926b005cd8c4e3 Jani Nikula        2020-02-11  2169  	return len;
926b005cd8c4e3 Jani Nikula        2020-02-11  2170  }
926b005cd8c4e3 Jani Nikula        2020-02-11  2171  
926b005cd8c4e3 Jani Nikula        2020-02-11  2172  static int i915_dsc_fec_support_open(struct inode *inode,
926b005cd8c4e3 Jani Nikula        2020-02-11  2173  				     struct file *file)
926b005cd8c4e3 Jani Nikula        2020-02-11  2174  {
926b005cd8c4e3 Jani Nikula        2020-02-11  2175  	return single_open(file, i915_dsc_fec_support_show,
926b005cd8c4e3 Jani Nikula        2020-02-11  2176  			   inode->i_private);
926b005cd8c4e3 Jani Nikula        2020-02-11  2177  }
926b005cd8c4e3 Jani Nikula        2020-02-11  2178  
926b005cd8c4e3 Jani Nikula        2020-02-11  2179  static const struct file_operations i915_dsc_fec_support_fops = {
926b005cd8c4e3 Jani Nikula        2020-02-11  2180  	.owner = THIS_MODULE,
926b005cd8c4e3 Jani Nikula        2020-02-11  2181  	.open = i915_dsc_fec_support_open,
926b005cd8c4e3 Jani Nikula        2020-02-11  2182  	.read = seq_read,
926b005cd8c4e3 Jani Nikula        2020-02-11  2183  	.llseek = seq_lseek,
926b005cd8c4e3 Jani Nikula        2020-02-11  2184  	.release = single_release,
926b005cd8c4e3 Jani Nikula        2020-02-11  2185  	.write = i915_dsc_fec_support_write
926b005cd8c4e3 Jani Nikula        2020-02-11  2186  };
926b005cd8c4e3 Jani Nikula        2020-02-11  2187  
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2188  static int vrr_range_show(struct seq_file *m, void *data)
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2189  {
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2190  	struct drm_connector *connector = m->private;
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2191  
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2192  	if (connector->status != connector_status_connected)
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2193  		return -ENODEV;
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2194  
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2195  	seq_printf(m, "Vrr_capable: %s\n", yesno(intel_dp_is_vrr_capable(connector)));
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2196  	seq_printf(m, "Min: %u\n", (u8)connector->display_info.monitor_range.min_vfreq);
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2197  	seq_printf(m, "Max: %u\n", (u8)connector->display_info.monitor_range.max_vfreq);
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2198  
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2199  	return 0;
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2200  }
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2201  DEFINE_SHOW_ATTRIBUTE(vrr_range);
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2202  
926b005cd8c4e3 Jani Nikula        2020-02-11  2203  /**
926b005cd8c4e3 Jani Nikula        2020-02-11  2204   * intel_connector_debugfs_add - add i915 specific connector debugfs files
926b005cd8c4e3 Jani Nikula        2020-02-11  2205   * @connector: pointer to a registered drm_connector
926b005cd8c4e3 Jani Nikula        2020-02-11  2206   *
926b005cd8c4e3 Jani Nikula        2020-02-11  2207   * Cleanup will be done by drm_connector_unregister() through a call to
926b005cd8c4e3 Jani Nikula        2020-02-11  2208   * drm_debugfs_connector_remove().
926b005cd8c4e3 Jani Nikula        2020-02-11  2209   *
926b005cd8c4e3 Jani Nikula        2020-02-11  2210   * Returns 0 on success, negative error codes on error.
926b005cd8c4e3 Jani Nikula        2020-02-11  2211   */
926b005cd8c4e3 Jani Nikula        2020-02-11  2212  int intel_connector_debugfs_add(struct drm_connector *connector)
926b005cd8c4e3 Jani Nikula        2020-02-11  2213  {
926b005cd8c4e3 Jani Nikula        2020-02-11  2214  	struct dentry *root = connector->debugfs_entry;
926b005cd8c4e3 Jani Nikula        2020-02-11  2215  	struct drm_i915_private *dev_priv = to_i915(connector->dev);
926b005cd8c4e3 Jani Nikula        2020-02-11  2216  
926b005cd8c4e3 Jani Nikula        2020-02-11  2217  	/* The connector must have been registered beforehands. */
926b005cd8c4e3 Jani Nikula        2020-02-11  2218  	if (!root)
926b005cd8c4e3 Jani Nikula        2020-02-11  2219  		return -ENODEV;
926b005cd8c4e3 Jani Nikula        2020-02-11  2220  
926b005cd8c4e3 Jani Nikula        2020-02-11  2221  	if (connector->connector_type == DRM_MODE_CONNECTOR_eDP) {
926b005cd8c4e3 Jani Nikula        2020-02-11  2222  		debugfs_create_file("i915_panel_timings", S_IRUGO, root,
926b005cd8c4e3 Jani Nikula        2020-02-11  2223  				    connector, &i915_panel_fops);
926b005cd8c4e3 Jani Nikula        2020-02-11  2224  		debugfs_create_file("i915_psr_sink_status", S_IRUGO, root,
926b005cd8c4e3 Jani Nikula        2020-02-11  2225  				    connector, &i915_psr_sink_status_fops);
926b005cd8c4e3 Jani Nikula        2020-02-11  2226  	}
926b005cd8c4e3 Jani Nikula        2020-02-11  2227  
926b005cd8c4e3 Jani Nikula        2020-02-11  2228  	if (connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort ||
926b005cd8c4e3 Jani Nikula        2020-02-11  2229  	    connector->connector_type == DRM_MODE_CONNECTOR_HDMIA ||
926b005cd8c4e3 Jani Nikula        2020-02-11  2230  	    connector->connector_type == DRM_MODE_CONNECTOR_HDMIB) {
926b005cd8c4e3 Jani Nikula        2020-02-11  2231  		debugfs_create_file("i915_hdcp_sink_capability", S_IRUGO, root,
926b005cd8c4e3 Jani Nikula        2020-02-11  2232  				    connector, &i915_hdcp_sink_capability_fops);
926b005cd8c4e3 Jani Nikula        2020-02-11  2233  	}
926b005cd8c4e3 Jani Nikula        2020-02-11  2234  
926b005cd8c4e3 Jani Nikula        2020-02-11 @2235  	if (INTEL_GEN(dev_priv) >= 10 &&

:::::: The code at line 2235 was first introduced by commit
:::::: 926b005cd8c4e325ab918edea0fbdd1d25d1ba28 drm/i915: split out display debugfs to a separate file

:::::: TO: Jani Nikula <jani.nikula@intel.com>
:::::: CC: Jani Nikula <jani.nikula@intel.com>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 31500 bytes --]

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

* Re: [PATCH v7 3/3] drm/i915/dp: Expose connector VRR monitor range via debugfs
  2020-06-12 23:56     ` [Intel-gfx] " Manasi Navare
@ 2020-06-15 21:36       ` Emil Velikov
  -1 siblings, 0 replies; 41+ messages in thread
From: Emil Velikov @ 2020-06-15 21:36 UTC (permalink / raw)
  To: Manasi Navare
  Cc: Intel Graphics Development, ML dri-devel, Bhanuprakash Modem

Hi Manasi,

On Sat, 13 Jun 2020 at 00:55, Manasi Navare <manasi.d.navare@intel.com> wrote:
>
> From: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
>
> [Why]
> It's useful to know the min and max vrr range for IGT testing.
>
> [How]
> Expose the min and max vfreq for the connector via a debugfs file
> on the connector, "vrr_range".
>
> Example usage: cat /sys/kernel/debug/dri/0/DP-1/vrr_range
>
> v7:
> * Fix cmpilation due to rebase
> v6:
> * Rebase (manasi)
> v5:
> * Rename to vrr_range to match AMD debugfs
> v4:
> * Rebase
> v3:
> * Remove the unnecessary debug print (Manasi)
> v2:
> * Fix the typo in max_vfreq (Manasi)
> * Change the name of node to i915_vrr_info so we can add
> other vrr info for more debug info (Manasi)
> * Change the VRR capable to display Yes or No (Manasi)
> * Fix indentation checkpatch errors (Manasi)
>
Nit: generally revision log is listed in v2 -> v6 order.

> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
> Signed-off-by: Manasi Navare <manasi.d.navare@intel.com>
> Cc: Jani Nikula <jani.nikula@linux.intel.com>
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Tested-by: Manasi Navare <manasi.d.navare@intel.com>
> ---
>  .../drm/i915/display/intel_display_debugfs.c  | 22 ++++++++++++++++++-
>  1 file changed, 21 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> index 28dd717e943a..2921f7d2a26e 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> @@ -2185,6 +2185,21 @@ static const struct file_operations i915_dsc_fec_support_fops = {
>         .write = i915_dsc_fec_support_write
>  };
>
> +static int vrr_range_show(struct seq_file *m, void *data)
> +{
> +       struct drm_connector *connector = m->private;
> +
> +       if (connector->status != connector_status_connected)
> +               return -ENODEV;
> +
> +       seq_printf(m, "Vrr_capable: %s\n", yesno(intel_dp_is_vrr_capable(connector)));
> +       seq_printf(m, "Min: %u\n", (u8)connector->display_info.monitor_range.min_vfreq);
> +       seq_printf(m, "Max: %u\n", (u8)connector->display_info.monitor_range.max_vfreq);
> +
> +       return 0;
> +}
> +DEFINE_SHOW_ATTRIBUTE(vrr_range);
> +
>  /**
>   * intel_connector_debugfs_add - add i915 specific connector debugfs files
>   * @connector: pointer to a registered drm_connector
> @@ -2220,10 +2235,15 @@ int intel_connector_debugfs_add(struct drm_connector *connector)
>         if (INTEL_GEN(dev_priv) >= 10 &&
>             ((connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort &&
>               !to_intel_connector(connector)->mst_port) ||
> -            connector->connector_type == DRM_MODE_CONNECTOR_eDP))
> +            connector->connector_type == DRM_MODE_CONNECTOR_eDP)) {
>                 debugfs_create_file("i915_dsc_fec_support", S_IRUGO, root,
>                                     connector, &i915_dsc_fec_support_fops);
>
> +               if (INTEL_GEN(dev_priv) >= 12)
> +                       debugfs_create_file("vrr_range", S_IRUGO,
> +                                           root, connector, &vrr_range_fops);
> +       }
> +

I think this should be added by core drm. Ideally drm will add it
automatically for each connector that the driver has called
drm_connector_attach_vrr_capable_property() upon.

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

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

* Re: [Intel-gfx] [PATCH v7 3/3] drm/i915/dp: Expose connector VRR monitor range via debugfs
@ 2020-06-15 21:36       ` Emil Velikov
  0 siblings, 0 replies; 41+ messages in thread
From: Emil Velikov @ 2020-06-15 21:36 UTC (permalink / raw)
  To: Manasi Navare
  Cc: Intel Graphics Development, ML dri-devel, Bhanuprakash Modem

Hi Manasi,

On Sat, 13 Jun 2020 at 00:55, Manasi Navare <manasi.d.navare@intel.com> wrote:
>
> From: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
>
> [Why]
> It's useful to know the min and max vrr range for IGT testing.
>
> [How]
> Expose the min and max vfreq for the connector via a debugfs file
> on the connector, "vrr_range".
>
> Example usage: cat /sys/kernel/debug/dri/0/DP-1/vrr_range
>
> v7:
> * Fix cmpilation due to rebase
> v6:
> * Rebase (manasi)
> v5:
> * Rename to vrr_range to match AMD debugfs
> v4:
> * Rebase
> v3:
> * Remove the unnecessary debug print (Manasi)
> v2:
> * Fix the typo in max_vfreq (Manasi)
> * Change the name of node to i915_vrr_info so we can add
> other vrr info for more debug info (Manasi)
> * Change the VRR capable to display Yes or No (Manasi)
> * Fix indentation checkpatch errors (Manasi)
>
Nit: generally revision log is listed in v2 -> v6 order.

> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
> Signed-off-by: Manasi Navare <manasi.d.navare@intel.com>
> Cc: Jani Nikula <jani.nikula@linux.intel.com>
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Tested-by: Manasi Navare <manasi.d.navare@intel.com>
> ---
>  .../drm/i915/display/intel_display_debugfs.c  | 22 ++++++++++++++++++-
>  1 file changed, 21 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> index 28dd717e943a..2921f7d2a26e 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> @@ -2185,6 +2185,21 @@ static const struct file_operations i915_dsc_fec_support_fops = {
>         .write = i915_dsc_fec_support_write
>  };
>
> +static int vrr_range_show(struct seq_file *m, void *data)
> +{
> +       struct drm_connector *connector = m->private;
> +
> +       if (connector->status != connector_status_connected)
> +               return -ENODEV;
> +
> +       seq_printf(m, "Vrr_capable: %s\n", yesno(intel_dp_is_vrr_capable(connector)));
> +       seq_printf(m, "Min: %u\n", (u8)connector->display_info.monitor_range.min_vfreq);
> +       seq_printf(m, "Max: %u\n", (u8)connector->display_info.monitor_range.max_vfreq);
> +
> +       return 0;
> +}
> +DEFINE_SHOW_ATTRIBUTE(vrr_range);
> +
>  /**
>   * intel_connector_debugfs_add - add i915 specific connector debugfs files
>   * @connector: pointer to a registered drm_connector
> @@ -2220,10 +2235,15 @@ int intel_connector_debugfs_add(struct drm_connector *connector)
>         if (INTEL_GEN(dev_priv) >= 10 &&
>             ((connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort &&
>               !to_intel_connector(connector)->mst_port) ||
> -            connector->connector_type == DRM_MODE_CONNECTOR_eDP))
> +            connector->connector_type == DRM_MODE_CONNECTOR_eDP)) {
>                 debugfs_create_file("i915_dsc_fec_support", S_IRUGO, root,
>                                     connector, &i915_dsc_fec_support_fops);
>
> +               if (INTEL_GEN(dev_priv) >= 12)
> +                       debugfs_create_file("vrr_range", S_IRUGO,
> +                                           root, connector, &vrr_range_fops);
> +       }
> +

I think this should be added by core drm. Ideally drm will add it
automatically for each connector that the driver has called
drm_connector_attach_vrr_capable_property() upon.

-Emil
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH v7 3/3] drm/i915/dp: Expose connector VRR monitor range via debugfs
  2020-06-15 21:36       ` [Intel-gfx] " Emil Velikov
@ 2020-06-15 21:48         ` Manasi Navare
  -1 siblings, 0 replies; 41+ messages in thread
From: Manasi Navare @ 2020-06-15 21:48 UTC (permalink / raw)
  To: Emil Velikov; +Cc: Intel Graphics Development, ML dri-devel, Bhanuprakash Modem

On Mon, Jun 15, 2020 at 10:36:28PM +0100, Emil Velikov wrote:
> Hi Manasi,
> 
> On Sat, 13 Jun 2020 at 00:55, Manasi Navare <manasi.d.navare@intel.com> wrote:
> >
> > From: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
> >
> > [Why]
> > It's useful to know the min and max vrr range for IGT testing.
> >
> > [How]
> > Expose the min and max vfreq for the connector via a debugfs file
> > on the connector, "vrr_range".
> >
> > Example usage: cat /sys/kernel/debug/dri/0/DP-1/vrr_range
> >
> > v7:
> > * Fix cmpilation due to rebase
> > v6:
> > * Rebase (manasi)
> > v5:
> > * Rename to vrr_range to match AMD debugfs
> > v4:
> > * Rebase
> > v3:
> > * Remove the unnecessary debug print (Manasi)
> > v2:
> > * Fix the typo in max_vfreq (Manasi)
> > * Change the name of node to i915_vrr_info so we can add
> > other vrr info for more debug info (Manasi)
> > * Change the VRR capable to display Yes or No (Manasi)
> > * Fix indentation checkpatch errors (Manasi)
> >
> Nit: generally revision log is listed in v2 -> v6 order.

Okay point noted. Will update this in the next rev

> 
> > Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
> > Signed-off-by: Manasi Navare <manasi.d.navare@intel.com>
> > Cc: Jani Nikula <jani.nikula@linux.intel.com>
> > Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > Tested-by: Manasi Navare <manasi.d.navare@intel.com>
> > ---
> >  .../drm/i915/display/intel_display_debugfs.c  | 22 ++++++++++++++++++-
> >  1 file changed, 21 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> > index 28dd717e943a..2921f7d2a26e 100644
> > --- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> > +++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> > @@ -2185,6 +2185,21 @@ static const struct file_operations i915_dsc_fec_support_fops = {
> >         .write = i915_dsc_fec_support_write
> >  };
> >
> > +static int vrr_range_show(struct seq_file *m, void *data)
> > +{
> > +       struct drm_connector *connector = m->private;
> > +
> > +       if (connector->status != connector_status_connected)
> > +               return -ENODEV;
> > +
> > +       seq_printf(m, "Vrr_capable: %s\n", yesno(intel_dp_is_vrr_capable(connector)));
> > +       seq_printf(m, "Min: %u\n", (u8)connector->display_info.monitor_range.min_vfreq);
> > +       seq_printf(m, "Max: %u\n", (u8)connector->display_info.monitor_range.max_vfreq);
> > +
> > +       return 0;
> > +}
> > +DEFINE_SHOW_ATTRIBUTE(vrr_range);
> > +
> >  /**
> >   * intel_connector_debugfs_add - add i915 specific connector debugfs files
> >   * @connector: pointer to a registered drm_connector
> > @@ -2220,10 +2235,15 @@ int intel_connector_debugfs_add(struct drm_connector *connector)
> >         if (INTEL_GEN(dev_priv) >= 10 &&
> >             ((connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort &&
> >               !to_intel_connector(connector)->mst_port) ||
> > -            connector->connector_type == DRM_MODE_CONNECTOR_eDP))
> > +            connector->connector_type == DRM_MODE_CONNECTOR_eDP)) {
> >                 debugfs_create_file("i915_dsc_fec_support", S_IRUGO, root,
> >                                     connector, &i915_dsc_fec_support_fops);
> >
> > +               if (INTEL_GEN(dev_priv) >= 12)
> > +                       debugfs_create_file("vrr_range", S_IRUGO,
> > +                                           root, connector, &vrr_range_fops);
> > +       }
> > +
> 
> I think this should be added by core drm. Ideally drm will add it
> automatically for each connector that the driver has called
> drm_connector_attach_vrr_capable_property() upon.
>

But in this case drm_connector_attach_vrr_capable_property() is called by individual
driver since its an optional connector property. So we call this inside i915.
Also currently AMD sets this debugfs inside AMD IMO, so setting this here for now.
But I agree that can be moved to drm core may be when drm_display_info gets populated
with min and max, thats where drm can add this?

Manasi
  
> -Emil
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* Re: [Intel-gfx] [PATCH v7 3/3] drm/i915/dp: Expose connector VRR monitor range via debugfs
@ 2020-06-15 21:48         ` Manasi Navare
  0 siblings, 0 replies; 41+ messages in thread
From: Manasi Navare @ 2020-06-15 21:48 UTC (permalink / raw)
  To: Emil Velikov; +Cc: Intel Graphics Development, ML dri-devel, Bhanuprakash Modem

On Mon, Jun 15, 2020 at 10:36:28PM +0100, Emil Velikov wrote:
> Hi Manasi,
> 
> On Sat, 13 Jun 2020 at 00:55, Manasi Navare <manasi.d.navare@intel.com> wrote:
> >
> > From: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
> >
> > [Why]
> > It's useful to know the min and max vrr range for IGT testing.
> >
> > [How]
> > Expose the min and max vfreq for the connector via a debugfs file
> > on the connector, "vrr_range".
> >
> > Example usage: cat /sys/kernel/debug/dri/0/DP-1/vrr_range
> >
> > v7:
> > * Fix cmpilation due to rebase
> > v6:
> > * Rebase (manasi)
> > v5:
> > * Rename to vrr_range to match AMD debugfs
> > v4:
> > * Rebase
> > v3:
> > * Remove the unnecessary debug print (Manasi)
> > v2:
> > * Fix the typo in max_vfreq (Manasi)
> > * Change the name of node to i915_vrr_info so we can add
> > other vrr info for more debug info (Manasi)
> > * Change the VRR capable to display Yes or No (Manasi)
> > * Fix indentation checkpatch errors (Manasi)
> >
> Nit: generally revision log is listed in v2 -> v6 order.

Okay point noted. Will update this in the next rev

> 
> > Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
> > Signed-off-by: Manasi Navare <manasi.d.navare@intel.com>
> > Cc: Jani Nikula <jani.nikula@linux.intel.com>
> > Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > Tested-by: Manasi Navare <manasi.d.navare@intel.com>
> > ---
> >  .../drm/i915/display/intel_display_debugfs.c  | 22 ++++++++++++++++++-
> >  1 file changed, 21 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> > index 28dd717e943a..2921f7d2a26e 100644
> > --- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> > +++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> > @@ -2185,6 +2185,21 @@ static const struct file_operations i915_dsc_fec_support_fops = {
> >         .write = i915_dsc_fec_support_write
> >  };
> >
> > +static int vrr_range_show(struct seq_file *m, void *data)
> > +{
> > +       struct drm_connector *connector = m->private;
> > +
> > +       if (connector->status != connector_status_connected)
> > +               return -ENODEV;
> > +
> > +       seq_printf(m, "Vrr_capable: %s\n", yesno(intel_dp_is_vrr_capable(connector)));
> > +       seq_printf(m, "Min: %u\n", (u8)connector->display_info.monitor_range.min_vfreq);
> > +       seq_printf(m, "Max: %u\n", (u8)connector->display_info.monitor_range.max_vfreq);
> > +
> > +       return 0;
> > +}
> > +DEFINE_SHOW_ATTRIBUTE(vrr_range);
> > +
> >  /**
> >   * intel_connector_debugfs_add - add i915 specific connector debugfs files
> >   * @connector: pointer to a registered drm_connector
> > @@ -2220,10 +2235,15 @@ int intel_connector_debugfs_add(struct drm_connector *connector)
> >         if (INTEL_GEN(dev_priv) >= 10 &&
> >             ((connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort &&
> >               !to_intel_connector(connector)->mst_port) ||
> > -            connector->connector_type == DRM_MODE_CONNECTOR_eDP))
> > +            connector->connector_type == DRM_MODE_CONNECTOR_eDP)) {
> >                 debugfs_create_file("i915_dsc_fec_support", S_IRUGO, root,
> >                                     connector, &i915_dsc_fec_support_fops);
> >
> > +               if (INTEL_GEN(dev_priv) >= 12)
> > +                       debugfs_create_file("vrr_range", S_IRUGO,
> > +                                           root, connector, &vrr_range_fops);
> > +       }
> > +
> 
> I think this should be added by core drm. Ideally drm will add it
> automatically for each connector that the driver has called
> drm_connector_attach_vrr_capable_property() upon.
>

But in this case drm_connector_attach_vrr_capable_property() is called by individual
driver since its an optional connector property. So we call this inside i915.
Also currently AMD sets this debugfs inside AMD IMO, so setting this here for now.
But I agree that can be moved to drm core may be when drm_display_info gets populated
with min and max, thats where drm can add this?

Manasi
  
> -Emil
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [Intel-gfx] [PATCH v6 3/3] drm/i915/dp: Expose connector VRR monitor range via debugfs
  2020-06-12 23:04   ` [Intel-gfx] " Manasi Navare
  (?)
@ 2020-06-16  5:43     ` kernel test robot
  -1 siblings, 0 replies; 41+ messages in thread
From: kernel test robot @ 2020-06-16  5:43 UTC (permalink / raw)
  To: Manasi Navare, intel-gfx, dri-devel; +Cc: kbuild-all, Bhanuprakash Modem

Hi Manasi,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on drm-intel/for-linux-next]
[also build test WARNING on drm-tip/drm-tip drm-exynos/exynos-drm-next linus/master next-20200613]
[cannot apply to tegra-drm/drm/tegra/for-next drm/drm-next v5.7]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:    https://github.com/0day-ci/linux/commits/Manasi-Navare/VRR-capable-attach-prop-in-i915-DPCD-helper-VRR-debugfs/20200613-070517
base:   git://anongit.freedesktop.org/drm-intel for-linux-next
:::::: branch date: 2 days ago
:::::: commit date: 2 days ago
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>


cppcheck warnings: (new ones prefixed by >>)

>> drivers/gpu/drm/i915/display/intel_display_debugfs.c:2258:0: warning: Invalid number of character '{' when no macros are defined. [syntaxError]
   
   ^
>> drivers/gpu/drm/i915/display/intel_display_debugfs.c:2258:0: warning: Invalid number of character '{' when these macros are defined: 'CONFIG_DEBUG_FS'. [syntaxError]
   
   ^
>> drivers/gpu/drm/i915/display/intel_display_debugfs.c:2258:0: warning: Invalid number of character '{' when these macros are defined: 'CONFIG_DRM_FBDEV_EMULATION'. [syntaxError]
   
   ^

# https://github.com/0day-ci/linux/commit/670af3cf7a3a36bb87776fbfd7f913cd33681bbc
git remote add linux-review https://github.com/0day-ci/linux
git remote update linux-review
git checkout 670af3cf7a3a36bb87776fbfd7f913cd33681bbc
vim +2258 drivers/gpu/drm/i915/display/intel_display_debugfs.c

670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2202  
926b005cd8c4e3 Jani Nikula        2020-02-11  2203  /**
926b005cd8c4e3 Jani Nikula        2020-02-11  2204   * intel_connector_debugfs_add - add i915 specific connector debugfs files
926b005cd8c4e3 Jani Nikula        2020-02-11  2205   * @connector: pointer to a registered drm_connector
926b005cd8c4e3 Jani Nikula        2020-02-11  2206   *
926b005cd8c4e3 Jani Nikula        2020-02-11  2207   * Cleanup will be done by drm_connector_unregister() through a call to
926b005cd8c4e3 Jani Nikula        2020-02-11  2208   * drm_debugfs_connector_remove().
926b005cd8c4e3 Jani Nikula        2020-02-11  2209   *
926b005cd8c4e3 Jani Nikula        2020-02-11  2210   * Returns 0 on success, negative error codes on error.
926b005cd8c4e3 Jani Nikula        2020-02-11  2211   */
926b005cd8c4e3 Jani Nikula        2020-02-11  2212  int intel_connector_debugfs_add(struct drm_connector *connector)
926b005cd8c4e3 Jani Nikula        2020-02-11  2213  {
926b005cd8c4e3 Jani Nikula        2020-02-11  2214  	struct dentry *root = connector->debugfs_entry;
926b005cd8c4e3 Jani Nikula        2020-02-11  2215  	struct drm_i915_private *dev_priv = to_i915(connector->dev);
926b005cd8c4e3 Jani Nikula        2020-02-11  2216  
926b005cd8c4e3 Jani Nikula        2020-02-11  2217  	/* The connector must have been registered beforehands. */
926b005cd8c4e3 Jani Nikula        2020-02-11  2218  	if (!root)
926b005cd8c4e3 Jani Nikula        2020-02-11  2219  		return -ENODEV;
926b005cd8c4e3 Jani Nikula        2020-02-11  2220  
926b005cd8c4e3 Jani Nikula        2020-02-11  2221  	if (connector->connector_type == DRM_MODE_CONNECTOR_eDP) {
926b005cd8c4e3 Jani Nikula        2020-02-11  2222  		debugfs_create_file("i915_panel_timings", S_IRUGO, root,
926b005cd8c4e3 Jani Nikula        2020-02-11  2223  				    connector, &i915_panel_fops);
926b005cd8c4e3 Jani Nikula        2020-02-11  2224  		debugfs_create_file("i915_psr_sink_status", S_IRUGO, root,
926b005cd8c4e3 Jani Nikula        2020-02-11  2225  				    connector, &i915_psr_sink_status_fops);
926b005cd8c4e3 Jani Nikula        2020-02-11  2226  	}
926b005cd8c4e3 Jani Nikula        2020-02-11  2227  
926b005cd8c4e3 Jani Nikula        2020-02-11  2228  	if (connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort ||
926b005cd8c4e3 Jani Nikula        2020-02-11  2229  	    connector->connector_type == DRM_MODE_CONNECTOR_HDMIA ||
926b005cd8c4e3 Jani Nikula        2020-02-11  2230  	    connector->connector_type == DRM_MODE_CONNECTOR_HDMIB) {
926b005cd8c4e3 Jani Nikula        2020-02-11  2231  		debugfs_create_file("i915_hdcp_sink_capability", S_IRUGO, root,
926b005cd8c4e3 Jani Nikula        2020-02-11  2232  				    connector, &i915_hdcp_sink_capability_fops);
926b005cd8c4e3 Jani Nikula        2020-02-11  2233  	}
926b005cd8c4e3 Jani Nikula        2020-02-11  2234  
926b005cd8c4e3 Jani Nikula        2020-02-11  2235  	if (INTEL_GEN(dev_priv) >= 10 &&
926b005cd8c4e3 Jani Nikula        2020-02-11  2236  	    (connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort ||
926b005cd8c4e3 Jani Nikula        2020-02-11  2237  	     connector->connector_type == DRM_MODE_CONNECTOR_eDP))
926b005cd8c4e3 Jani Nikula        2020-02-11  2238  		debugfs_create_file("i915_dsc_fec_support", S_IRUGO, root,
926b005cd8c4e3 Jani Nikula        2020-02-11  2239  				    connector, &i915_dsc_fec_support_fops);
926b005cd8c4e3 Jani Nikula        2020-02-11  2240  
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2241  		if (INTEL_GEN(dev_priv) >= 12)
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2242  			debugfs_create_file("vrr_range", S_IRUGO,
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2243  					    root, connector, &vrr_range_fops);
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2244  	}
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2245  
8806211fe7b306 Anshuman Gupta     2020-04-15  2246  	/* Legacy panels doesn't lpsp on any platform */
8806211fe7b306 Anshuman Gupta     2020-04-15  2247  	if ((INTEL_GEN(dev_priv) >= 9 || IS_HASWELL(dev_priv) ||
8806211fe7b306 Anshuman Gupta     2020-04-15  2248  	     IS_BROADWELL(dev_priv)) &&
8806211fe7b306 Anshuman Gupta     2020-04-15  2249  	     (connector->connector_type == DRM_MODE_CONNECTOR_DSI ||
8806211fe7b306 Anshuman Gupta     2020-04-15  2250  	     connector->connector_type == DRM_MODE_CONNECTOR_eDP ||
8806211fe7b306 Anshuman Gupta     2020-04-15  2251  	     connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort ||
8806211fe7b306 Anshuman Gupta     2020-04-15  2252  	     connector->connector_type == DRM_MODE_CONNECTOR_HDMIA ||
8806211fe7b306 Anshuman Gupta     2020-04-15  2253  	     connector->connector_type == DRM_MODE_CONNECTOR_HDMIB))
8806211fe7b306 Anshuman Gupta     2020-04-15  2254  		debugfs_create_file("i915_lpsp_capability", 0444, root,
8806211fe7b306 Anshuman Gupta     2020-04-15  2255  				    connector, &i915_lpsp_capability_fops);
8806211fe7b306 Anshuman Gupta     2020-04-15  2256  
926b005cd8c4e3 Jani Nikula        2020-02-11  2257  	return 0;
926b005cd8c4e3 Jani Nikula        2020-02-11 @2258  }

:::::: The code at line 2258 was first introduced by commit
:::::: 926b005cd8c4e325ab918edea0fbdd1d25d1ba28 drm/i915: split out display debugfs to a separate file

:::::: TO: Jani Nikula <jani.nikula@intel.com>
:::::: CC: Jani Nikula <jani.nikula@intel.com>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

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

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

* Re: [Intel-gfx] [PATCH v6 3/3] drm/i915/dp: Expose connector VRR monitor range via debugfs
@ 2020-06-16  5:43     ` kernel test robot
  0 siblings, 0 replies; 41+ messages in thread
From: kernel test robot @ 2020-06-16  5:43 UTC (permalink / raw)
  To: Manasi Navare, intel-gfx, dri-devel; +Cc: kbuild-all, Bhanuprakash Modem

Hi Manasi,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on drm-intel/for-linux-next]
[also build test WARNING on drm-tip/drm-tip drm-exynos/exynos-drm-next linus/master next-20200613]
[cannot apply to tegra-drm/drm/tegra/for-next drm/drm-next v5.7]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:    https://github.com/0day-ci/linux/commits/Manasi-Navare/VRR-capable-attach-prop-in-i915-DPCD-helper-VRR-debugfs/20200613-070517
base:   git://anongit.freedesktop.org/drm-intel for-linux-next
:::::: branch date: 2 days ago
:::::: commit date: 2 days ago
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>


cppcheck warnings: (new ones prefixed by >>)

>> drivers/gpu/drm/i915/display/intel_display_debugfs.c:2258:0: warning: Invalid number of character '{' when no macros are defined. [syntaxError]
   
   ^
>> drivers/gpu/drm/i915/display/intel_display_debugfs.c:2258:0: warning: Invalid number of character '{' when these macros are defined: 'CONFIG_DEBUG_FS'. [syntaxError]
   
   ^
>> drivers/gpu/drm/i915/display/intel_display_debugfs.c:2258:0: warning: Invalid number of character '{' when these macros are defined: 'CONFIG_DRM_FBDEV_EMULATION'. [syntaxError]
   
   ^

# https://github.com/0day-ci/linux/commit/670af3cf7a3a36bb87776fbfd7f913cd33681bbc
git remote add linux-review https://github.com/0day-ci/linux
git remote update linux-review
git checkout 670af3cf7a3a36bb87776fbfd7f913cd33681bbc
vim +2258 drivers/gpu/drm/i915/display/intel_display_debugfs.c

670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2202  
926b005cd8c4e3 Jani Nikula        2020-02-11  2203  /**
926b005cd8c4e3 Jani Nikula        2020-02-11  2204   * intel_connector_debugfs_add - add i915 specific connector debugfs files
926b005cd8c4e3 Jani Nikula        2020-02-11  2205   * @connector: pointer to a registered drm_connector
926b005cd8c4e3 Jani Nikula        2020-02-11  2206   *
926b005cd8c4e3 Jani Nikula        2020-02-11  2207   * Cleanup will be done by drm_connector_unregister() through a call to
926b005cd8c4e3 Jani Nikula        2020-02-11  2208   * drm_debugfs_connector_remove().
926b005cd8c4e3 Jani Nikula        2020-02-11  2209   *
926b005cd8c4e3 Jani Nikula        2020-02-11  2210   * Returns 0 on success, negative error codes on error.
926b005cd8c4e3 Jani Nikula        2020-02-11  2211   */
926b005cd8c4e3 Jani Nikula        2020-02-11  2212  int intel_connector_debugfs_add(struct drm_connector *connector)
926b005cd8c4e3 Jani Nikula        2020-02-11  2213  {
926b005cd8c4e3 Jani Nikula        2020-02-11  2214  	struct dentry *root = connector->debugfs_entry;
926b005cd8c4e3 Jani Nikula        2020-02-11  2215  	struct drm_i915_private *dev_priv = to_i915(connector->dev);
926b005cd8c4e3 Jani Nikula        2020-02-11  2216  
926b005cd8c4e3 Jani Nikula        2020-02-11  2217  	/* The connector must have been registered beforehands. */
926b005cd8c4e3 Jani Nikula        2020-02-11  2218  	if (!root)
926b005cd8c4e3 Jani Nikula        2020-02-11  2219  		return -ENODEV;
926b005cd8c4e3 Jani Nikula        2020-02-11  2220  
926b005cd8c4e3 Jani Nikula        2020-02-11  2221  	if (connector->connector_type == DRM_MODE_CONNECTOR_eDP) {
926b005cd8c4e3 Jani Nikula        2020-02-11  2222  		debugfs_create_file("i915_panel_timings", S_IRUGO, root,
926b005cd8c4e3 Jani Nikula        2020-02-11  2223  				    connector, &i915_panel_fops);
926b005cd8c4e3 Jani Nikula        2020-02-11  2224  		debugfs_create_file("i915_psr_sink_status", S_IRUGO, root,
926b005cd8c4e3 Jani Nikula        2020-02-11  2225  				    connector, &i915_psr_sink_status_fops);
926b005cd8c4e3 Jani Nikula        2020-02-11  2226  	}
926b005cd8c4e3 Jani Nikula        2020-02-11  2227  
926b005cd8c4e3 Jani Nikula        2020-02-11  2228  	if (connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort ||
926b005cd8c4e3 Jani Nikula        2020-02-11  2229  	    connector->connector_type == DRM_MODE_CONNECTOR_HDMIA ||
926b005cd8c4e3 Jani Nikula        2020-02-11  2230  	    connector->connector_type == DRM_MODE_CONNECTOR_HDMIB) {
926b005cd8c4e3 Jani Nikula        2020-02-11  2231  		debugfs_create_file("i915_hdcp_sink_capability", S_IRUGO, root,
926b005cd8c4e3 Jani Nikula        2020-02-11  2232  				    connector, &i915_hdcp_sink_capability_fops);
926b005cd8c4e3 Jani Nikula        2020-02-11  2233  	}
926b005cd8c4e3 Jani Nikula        2020-02-11  2234  
926b005cd8c4e3 Jani Nikula        2020-02-11  2235  	if (INTEL_GEN(dev_priv) >= 10 &&
926b005cd8c4e3 Jani Nikula        2020-02-11  2236  	    (connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort ||
926b005cd8c4e3 Jani Nikula        2020-02-11  2237  	     connector->connector_type == DRM_MODE_CONNECTOR_eDP))
926b005cd8c4e3 Jani Nikula        2020-02-11  2238  		debugfs_create_file("i915_dsc_fec_support", S_IRUGO, root,
926b005cd8c4e3 Jani Nikula        2020-02-11  2239  				    connector, &i915_dsc_fec_support_fops);
926b005cd8c4e3 Jani Nikula        2020-02-11  2240  
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2241  		if (INTEL_GEN(dev_priv) >= 12)
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2242  			debugfs_create_file("vrr_range", S_IRUGO,
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2243  					    root, connector, &vrr_range_fops);
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2244  	}
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2245  
8806211fe7b306 Anshuman Gupta     2020-04-15  2246  	/* Legacy panels doesn't lpsp on any platform */
8806211fe7b306 Anshuman Gupta     2020-04-15  2247  	if ((INTEL_GEN(dev_priv) >= 9 || IS_HASWELL(dev_priv) ||
8806211fe7b306 Anshuman Gupta     2020-04-15  2248  	     IS_BROADWELL(dev_priv)) &&
8806211fe7b306 Anshuman Gupta     2020-04-15  2249  	     (connector->connector_type == DRM_MODE_CONNECTOR_DSI ||
8806211fe7b306 Anshuman Gupta     2020-04-15  2250  	     connector->connector_type == DRM_MODE_CONNECTOR_eDP ||
8806211fe7b306 Anshuman Gupta     2020-04-15  2251  	     connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort ||
8806211fe7b306 Anshuman Gupta     2020-04-15  2252  	     connector->connector_type == DRM_MODE_CONNECTOR_HDMIA ||
8806211fe7b306 Anshuman Gupta     2020-04-15  2253  	     connector->connector_type == DRM_MODE_CONNECTOR_HDMIB))
8806211fe7b306 Anshuman Gupta     2020-04-15  2254  		debugfs_create_file("i915_lpsp_capability", 0444, root,
8806211fe7b306 Anshuman Gupta     2020-04-15  2255  				    connector, &i915_lpsp_capability_fops);
8806211fe7b306 Anshuman Gupta     2020-04-15  2256  
926b005cd8c4e3 Jani Nikula        2020-02-11  2257  	return 0;
926b005cd8c4e3 Jani Nikula        2020-02-11 @2258  }

:::::: The code at line 2258 was first introduced by commit
:::::: 926b005cd8c4e325ab918edea0fbdd1d25d1ba28 drm/i915: split out display debugfs to a separate file

:::::: TO: Jani Nikula <jani.nikula@intel.com>
:::::: CC: Jani Nikula <jani.nikula@intel.com>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [Intel-gfx] [PATCH v6 3/3] drm/i915/dp: Expose connector VRR monitor range via debugfs
@ 2020-06-16  5:43     ` kernel test robot
  0 siblings, 0 replies; 41+ messages in thread
From: kernel test robot @ 2020-06-16  5:43 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 7383 bytes --]

Hi Manasi,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on drm-intel/for-linux-next]
[also build test WARNING on drm-tip/drm-tip drm-exynos/exynos-drm-next linus/master next-20200613]
[cannot apply to tegra-drm/drm/tegra/for-next drm/drm-next v5.7]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:    https://github.com/0day-ci/linux/commits/Manasi-Navare/VRR-capable-attach-prop-in-i915-DPCD-helper-VRR-debugfs/20200613-070517
base:   git://anongit.freedesktop.org/drm-intel for-linux-next
:::::: branch date: 2 days ago
:::::: commit date: 2 days ago
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>


cppcheck warnings: (new ones prefixed by >>)

>> drivers/gpu/drm/i915/display/intel_display_debugfs.c:2258:0: warning: Invalid number of character '{' when no macros are defined. [syntaxError]
   
   ^
>> drivers/gpu/drm/i915/display/intel_display_debugfs.c:2258:0: warning: Invalid number of character '{' when these macros are defined: 'CONFIG_DEBUG_FS'. [syntaxError]
   
   ^
>> drivers/gpu/drm/i915/display/intel_display_debugfs.c:2258:0: warning: Invalid number of character '{' when these macros are defined: 'CONFIG_DRM_FBDEV_EMULATION'. [syntaxError]
   
   ^

# https://github.com/0day-ci/linux/commit/670af3cf7a3a36bb87776fbfd7f913cd33681bbc
git remote add linux-review https://github.com/0day-ci/linux
git remote update linux-review
git checkout 670af3cf7a3a36bb87776fbfd7f913cd33681bbc
vim +2258 drivers/gpu/drm/i915/display/intel_display_debugfs.c

670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2202  
926b005cd8c4e3 Jani Nikula        2020-02-11  2203  /**
926b005cd8c4e3 Jani Nikula        2020-02-11  2204   * intel_connector_debugfs_add - add i915 specific connector debugfs files
926b005cd8c4e3 Jani Nikula        2020-02-11  2205   * @connector: pointer to a registered drm_connector
926b005cd8c4e3 Jani Nikula        2020-02-11  2206   *
926b005cd8c4e3 Jani Nikula        2020-02-11  2207   * Cleanup will be done by drm_connector_unregister() through a call to
926b005cd8c4e3 Jani Nikula        2020-02-11  2208   * drm_debugfs_connector_remove().
926b005cd8c4e3 Jani Nikula        2020-02-11  2209   *
926b005cd8c4e3 Jani Nikula        2020-02-11  2210   * Returns 0 on success, negative error codes on error.
926b005cd8c4e3 Jani Nikula        2020-02-11  2211   */
926b005cd8c4e3 Jani Nikula        2020-02-11  2212  int intel_connector_debugfs_add(struct drm_connector *connector)
926b005cd8c4e3 Jani Nikula        2020-02-11  2213  {
926b005cd8c4e3 Jani Nikula        2020-02-11  2214  	struct dentry *root = connector->debugfs_entry;
926b005cd8c4e3 Jani Nikula        2020-02-11  2215  	struct drm_i915_private *dev_priv = to_i915(connector->dev);
926b005cd8c4e3 Jani Nikula        2020-02-11  2216  
926b005cd8c4e3 Jani Nikula        2020-02-11  2217  	/* The connector must have been registered beforehands. */
926b005cd8c4e3 Jani Nikula        2020-02-11  2218  	if (!root)
926b005cd8c4e3 Jani Nikula        2020-02-11  2219  		return -ENODEV;
926b005cd8c4e3 Jani Nikula        2020-02-11  2220  
926b005cd8c4e3 Jani Nikula        2020-02-11  2221  	if (connector->connector_type == DRM_MODE_CONNECTOR_eDP) {
926b005cd8c4e3 Jani Nikula        2020-02-11  2222  		debugfs_create_file("i915_panel_timings", S_IRUGO, root,
926b005cd8c4e3 Jani Nikula        2020-02-11  2223  				    connector, &i915_panel_fops);
926b005cd8c4e3 Jani Nikula        2020-02-11  2224  		debugfs_create_file("i915_psr_sink_status", S_IRUGO, root,
926b005cd8c4e3 Jani Nikula        2020-02-11  2225  				    connector, &i915_psr_sink_status_fops);
926b005cd8c4e3 Jani Nikula        2020-02-11  2226  	}
926b005cd8c4e3 Jani Nikula        2020-02-11  2227  
926b005cd8c4e3 Jani Nikula        2020-02-11  2228  	if (connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort ||
926b005cd8c4e3 Jani Nikula        2020-02-11  2229  	    connector->connector_type == DRM_MODE_CONNECTOR_HDMIA ||
926b005cd8c4e3 Jani Nikula        2020-02-11  2230  	    connector->connector_type == DRM_MODE_CONNECTOR_HDMIB) {
926b005cd8c4e3 Jani Nikula        2020-02-11  2231  		debugfs_create_file("i915_hdcp_sink_capability", S_IRUGO, root,
926b005cd8c4e3 Jani Nikula        2020-02-11  2232  				    connector, &i915_hdcp_sink_capability_fops);
926b005cd8c4e3 Jani Nikula        2020-02-11  2233  	}
926b005cd8c4e3 Jani Nikula        2020-02-11  2234  
926b005cd8c4e3 Jani Nikula        2020-02-11  2235  	if (INTEL_GEN(dev_priv) >= 10 &&
926b005cd8c4e3 Jani Nikula        2020-02-11  2236  	    (connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort ||
926b005cd8c4e3 Jani Nikula        2020-02-11  2237  	     connector->connector_type == DRM_MODE_CONNECTOR_eDP))
926b005cd8c4e3 Jani Nikula        2020-02-11  2238  		debugfs_create_file("i915_dsc_fec_support", S_IRUGO, root,
926b005cd8c4e3 Jani Nikula        2020-02-11  2239  				    connector, &i915_dsc_fec_support_fops);
926b005cd8c4e3 Jani Nikula        2020-02-11  2240  
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2241  		if (INTEL_GEN(dev_priv) >= 12)
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2242  			debugfs_create_file("vrr_range", S_IRUGO,
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2243  					    root, connector, &vrr_range_fops);
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2244  	}
670af3cf7a3a36 Bhanuprakash Modem 2020-06-12  2245  
8806211fe7b306 Anshuman Gupta     2020-04-15  2246  	/* Legacy panels doesn't lpsp on any platform */
8806211fe7b306 Anshuman Gupta     2020-04-15  2247  	if ((INTEL_GEN(dev_priv) >= 9 || IS_HASWELL(dev_priv) ||
8806211fe7b306 Anshuman Gupta     2020-04-15  2248  	     IS_BROADWELL(dev_priv)) &&
8806211fe7b306 Anshuman Gupta     2020-04-15  2249  	     (connector->connector_type == DRM_MODE_CONNECTOR_DSI ||
8806211fe7b306 Anshuman Gupta     2020-04-15  2250  	     connector->connector_type == DRM_MODE_CONNECTOR_eDP ||
8806211fe7b306 Anshuman Gupta     2020-04-15  2251  	     connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort ||
8806211fe7b306 Anshuman Gupta     2020-04-15  2252  	     connector->connector_type == DRM_MODE_CONNECTOR_HDMIA ||
8806211fe7b306 Anshuman Gupta     2020-04-15  2253  	     connector->connector_type == DRM_MODE_CONNECTOR_HDMIB))
8806211fe7b306 Anshuman Gupta     2020-04-15  2254  		debugfs_create_file("i915_lpsp_capability", 0444, root,
8806211fe7b306 Anshuman Gupta     2020-04-15  2255  				    connector, &i915_lpsp_capability_fops);
8806211fe7b306 Anshuman Gupta     2020-04-15  2256  
926b005cd8c4e3 Jani Nikula        2020-02-11  2257  	return 0;
926b005cd8c4e3 Jani Nikula        2020-02-11 @2258  }

:::::: The code at line 2258 was first introduced by commit
:::::: 926b005cd8c4e325ab918edea0fbdd1d25d1ba28 drm/i915: split out display debugfs to a separate file

:::::: TO: Jani Nikula <jani.nikula@intel.com>
:::::: CC: Jani Nikula <jani.nikula@intel.com>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

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

* Re: [PATCH v7 3/3] drm/i915/dp: Expose connector VRR monitor range via debugfs
  2020-06-15 21:48         ` [Intel-gfx] " Manasi Navare
@ 2020-06-16 15:34           ` Emil Velikov
  -1 siblings, 0 replies; 41+ messages in thread
From: Emil Velikov @ 2020-06-16 15:34 UTC (permalink / raw)
  To: Manasi Navare
  Cc: Intel Graphics Development, ML dri-devel, Bhanuprakash Modem

On Mon, 15 Jun 2020 at 22:47, Manasi Navare <manasi.d.navare@intel.com> wrote:
>
> On Mon, Jun 15, 2020 at 10:36:28PM +0100, Emil Velikov wrote:
> > Hi Manasi,
> >
> > On Sat, 13 Jun 2020 at 00:55, Manasi Navare <manasi.d.navare@intel.com> wrote:
> > >
> > > From: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
> > >
> > > [Why]
> > > It's useful to know the min and max vrr range for IGT testing.
> > >
> > > [How]
> > > Expose the min and max vfreq for the connector via a debugfs file
> > > on the connector, "vrr_range".
> > >
> > > Example usage: cat /sys/kernel/debug/dri/0/DP-1/vrr_range
> > >
> > > v7:
> > > * Fix cmpilation due to rebase
> > > v6:
> > > * Rebase (manasi)
> > > v5:
> > > * Rename to vrr_range to match AMD debugfs
> > > v4:
> > > * Rebase
> > > v3:
> > > * Remove the unnecessary debug print (Manasi)
> > > v2:
> > > * Fix the typo in max_vfreq (Manasi)
> > > * Change the name of node to i915_vrr_info so we can add
> > > other vrr info for more debug info (Manasi)
> > > * Change the VRR capable to display Yes or No (Manasi)
> > > * Fix indentation checkpatch errors (Manasi)
> > >
> > Nit: generally revision log is listed in v2 -> v6 order.
>
> Okay point noted. Will update this in the next rev
>
> >
> > > Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
> > > Signed-off-by: Manasi Navare <manasi.d.navare@intel.com>
> > > Cc: Jani Nikula <jani.nikula@linux.intel.com>
> > > Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > > Tested-by: Manasi Navare <manasi.d.navare@intel.com>
> > > ---
> > >  .../drm/i915/display/intel_display_debugfs.c  | 22 ++++++++++++++++++-
> > >  1 file changed, 21 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> > > index 28dd717e943a..2921f7d2a26e 100644
> > > --- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> > > +++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> > > @@ -2185,6 +2185,21 @@ static const struct file_operations i915_dsc_fec_support_fops = {
> > >         .write = i915_dsc_fec_support_write
> > >  };
> > >
> > > +static int vrr_range_show(struct seq_file *m, void *data)
> > > +{
> > > +       struct drm_connector *connector = m->private;
> > > +
> > > +       if (connector->status != connector_status_connected)
> > > +               return -ENODEV;
> > > +
> > > +       seq_printf(m, "Vrr_capable: %s\n", yesno(intel_dp_is_vrr_capable(connector)));
> > > +       seq_printf(m, "Min: %u\n", (u8)connector->display_info.monitor_range.min_vfreq);
> > > +       seq_printf(m, "Max: %u\n", (u8)connector->display_info.monitor_range.max_vfreq);
> > > +
> > > +       return 0;
> > > +}
> > > +DEFINE_SHOW_ATTRIBUTE(vrr_range);
> > > +
> > >  /**
> > >   * intel_connector_debugfs_add - add i915 specific connector debugfs files
> > >   * @connector: pointer to a registered drm_connector
> > > @@ -2220,10 +2235,15 @@ int intel_connector_debugfs_add(struct drm_connector *connector)
> > >         if (INTEL_GEN(dev_priv) >= 10 &&
> > >             ((connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort &&
> > >               !to_intel_connector(connector)->mst_port) ||
> > > -            connector->connector_type == DRM_MODE_CONNECTOR_eDP))
> > > +            connector->connector_type == DRM_MODE_CONNECTOR_eDP)) {
> > >                 debugfs_create_file("i915_dsc_fec_support", S_IRUGO, root,
> > >                                     connector, &i915_dsc_fec_support_fops);
> > >
> > > +               if (INTEL_GEN(dev_priv) >= 12)
> > > +                       debugfs_create_file("vrr_range", S_IRUGO,
> > > +                                           root, connector, &vrr_range_fops);
> > > +       }
> > > +
> >
> > I think this should be added by core drm. Ideally drm will add it
> > automatically for each connector that the driver has called
> > drm_connector_attach_vrr_capable_property() upon.
> >
>
> But in this case drm_connector_attach_vrr_capable_property() is called by individual
> driver since its an optional connector property. So we call this inside i915.

I'm _not_ suggesting that one moves the
drm_connector_attach_vrr_capable_property() call. Simply create the
debugfs file in drm itself.

> Also currently AMD sets this debugfs inside AMD IMO, so setting this here for now.
Let's do the better thing of a) make drm create the file, and b)
remove the AMDGPU specific one.

We're talking about 20-30 lines worth of a patch. Postponing it sounds silly.

> But I agree that can be moved to drm core may be when drm_display_info gets populated
> with min and max, thats where drm can add this?
>
Both min and max are already part of drm_display_info. On the question
of how - check the existing properties (edid_override, force) for
examples.

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

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

* Re: [Intel-gfx] [PATCH v7 3/3] drm/i915/dp: Expose connector VRR monitor range via debugfs
@ 2020-06-16 15:34           ` Emil Velikov
  0 siblings, 0 replies; 41+ messages in thread
From: Emil Velikov @ 2020-06-16 15:34 UTC (permalink / raw)
  To: Manasi Navare
  Cc: Intel Graphics Development, ML dri-devel, Bhanuprakash Modem

On Mon, 15 Jun 2020 at 22:47, Manasi Navare <manasi.d.navare@intel.com> wrote:
>
> On Mon, Jun 15, 2020 at 10:36:28PM +0100, Emil Velikov wrote:
> > Hi Manasi,
> >
> > On Sat, 13 Jun 2020 at 00:55, Manasi Navare <manasi.d.navare@intel.com> wrote:
> > >
> > > From: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
> > >
> > > [Why]
> > > It's useful to know the min and max vrr range for IGT testing.
> > >
> > > [How]
> > > Expose the min and max vfreq for the connector via a debugfs file
> > > on the connector, "vrr_range".
> > >
> > > Example usage: cat /sys/kernel/debug/dri/0/DP-1/vrr_range
> > >
> > > v7:
> > > * Fix cmpilation due to rebase
> > > v6:
> > > * Rebase (manasi)
> > > v5:
> > > * Rename to vrr_range to match AMD debugfs
> > > v4:
> > > * Rebase
> > > v3:
> > > * Remove the unnecessary debug print (Manasi)
> > > v2:
> > > * Fix the typo in max_vfreq (Manasi)
> > > * Change the name of node to i915_vrr_info so we can add
> > > other vrr info for more debug info (Manasi)
> > > * Change the VRR capable to display Yes or No (Manasi)
> > > * Fix indentation checkpatch errors (Manasi)
> > >
> > Nit: generally revision log is listed in v2 -> v6 order.
>
> Okay point noted. Will update this in the next rev
>
> >
> > > Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
> > > Signed-off-by: Manasi Navare <manasi.d.navare@intel.com>
> > > Cc: Jani Nikula <jani.nikula@linux.intel.com>
> > > Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > > Tested-by: Manasi Navare <manasi.d.navare@intel.com>
> > > ---
> > >  .../drm/i915/display/intel_display_debugfs.c  | 22 ++++++++++++++++++-
> > >  1 file changed, 21 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> > > index 28dd717e943a..2921f7d2a26e 100644
> > > --- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> > > +++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> > > @@ -2185,6 +2185,21 @@ static const struct file_operations i915_dsc_fec_support_fops = {
> > >         .write = i915_dsc_fec_support_write
> > >  };
> > >
> > > +static int vrr_range_show(struct seq_file *m, void *data)
> > > +{
> > > +       struct drm_connector *connector = m->private;
> > > +
> > > +       if (connector->status != connector_status_connected)
> > > +               return -ENODEV;
> > > +
> > > +       seq_printf(m, "Vrr_capable: %s\n", yesno(intel_dp_is_vrr_capable(connector)));
> > > +       seq_printf(m, "Min: %u\n", (u8)connector->display_info.monitor_range.min_vfreq);
> > > +       seq_printf(m, "Max: %u\n", (u8)connector->display_info.monitor_range.max_vfreq);
> > > +
> > > +       return 0;
> > > +}
> > > +DEFINE_SHOW_ATTRIBUTE(vrr_range);
> > > +
> > >  /**
> > >   * intel_connector_debugfs_add - add i915 specific connector debugfs files
> > >   * @connector: pointer to a registered drm_connector
> > > @@ -2220,10 +2235,15 @@ int intel_connector_debugfs_add(struct drm_connector *connector)
> > >         if (INTEL_GEN(dev_priv) >= 10 &&
> > >             ((connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort &&
> > >               !to_intel_connector(connector)->mst_port) ||
> > > -            connector->connector_type == DRM_MODE_CONNECTOR_eDP))
> > > +            connector->connector_type == DRM_MODE_CONNECTOR_eDP)) {
> > >                 debugfs_create_file("i915_dsc_fec_support", S_IRUGO, root,
> > >                                     connector, &i915_dsc_fec_support_fops);
> > >
> > > +               if (INTEL_GEN(dev_priv) >= 12)
> > > +                       debugfs_create_file("vrr_range", S_IRUGO,
> > > +                                           root, connector, &vrr_range_fops);
> > > +       }
> > > +
> >
> > I think this should be added by core drm. Ideally drm will add it
> > automatically for each connector that the driver has called
> > drm_connector_attach_vrr_capable_property() upon.
> >
>
> But in this case drm_connector_attach_vrr_capable_property() is called by individual
> driver since its an optional connector property. So we call this inside i915.

I'm _not_ suggesting that one moves the
drm_connector_attach_vrr_capable_property() call. Simply create the
debugfs file in drm itself.

> Also currently AMD sets this debugfs inside AMD IMO, so setting this here for now.
Let's do the better thing of a) make drm create the file, and b)
remove the AMDGPU specific one.

We're talking about 20-30 lines worth of a patch. Postponing it sounds silly.

> But I agree that can be moved to drm core may be when drm_display_info gets populated
> with min and max, thats where drm can add this?
>
Both min and max are already part of drm_display_info. On the question
of how - check the existing properties (edid_override, force) for
examples.

-Emil
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH v7 3/3] drm/i915/dp: Expose connector VRR monitor range via debugfs
  2020-06-16 15:34           ` [Intel-gfx] " Emil Velikov
@ 2020-06-18 18:35             ` Manasi Navare
  -1 siblings, 0 replies; 41+ messages in thread
From: Manasi Navare @ 2020-06-18 18:35 UTC (permalink / raw)
  To: Emil Velikov; +Cc: Intel Graphics Development, ML dri-devel, Bhanuprakash Modem

On Tue, Jun 16, 2020 at 04:34:07PM +0100, Emil Velikov wrote:
> On Mon, 15 Jun 2020 at 22:47, Manasi Navare <manasi.d.navare@intel.com> wrote:
> >
> > On Mon, Jun 15, 2020 at 10:36:28PM +0100, Emil Velikov wrote:
> > > Hi Manasi,
> > >
> > > On Sat, 13 Jun 2020 at 00:55, Manasi Navare <manasi.d.navare@intel.com> wrote:
> > > >
> > > > From: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
> > > >
> > > > [Why]
> > > > It's useful to know the min and max vrr range for IGT testing.
> > > >
> > > > [How]
> > > > Expose the min and max vfreq for the connector via a debugfs file
> > > > on the connector, "vrr_range".
> > > >
> > > > Example usage: cat /sys/kernel/debug/dri/0/DP-1/vrr_range
> > > >
> > > > v7:
> > > > * Fix cmpilation due to rebase
> > > > v6:
> > > > * Rebase (manasi)
> > > > v5:
> > > > * Rename to vrr_range to match AMD debugfs
> > > > v4:
> > > > * Rebase
> > > > v3:
> > > > * Remove the unnecessary debug print (Manasi)
> > > > v2:
> > > > * Fix the typo in max_vfreq (Manasi)
> > > > * Change the name of node to i915_vrr_info so we can add
> > > > other vrr info for more debug info (Manasi)
> > > > * Change the VRR capable to display Yes or No (Manasi)
> > > > * Fix indentation checkpatch errors (Manasi)
> > > >
> > > Nit: generally revision log is listed in v2 -> v6 order.
> >
> > Okay point noted. Will update this in the next rev
> >
> > >
> > > > Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
> > > > Signed-off-by: Manasi Navare <manasi.d.navare@intel.com>
> > > > Cc: Jani Nikula <jani.nikula@linux.intel.com>
> > > > Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > > > Tested-by: Manasi Navare <manasi.d.navare@intel.com>
> > > > ---
> > > >  .../drm/i915/display/intel_display_debugfs.c  | 22 ++++++++++++++++++-
> > > >  1 file changed, 21 insertions(+), 1 deletion(-)
> > > >
> > > > diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> > > > index 28dd717e943a..2921f7d2a26e 100644
> > > > --- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> > > > +++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> > > > @@ -2185,6 +2185,21 @@ static const struct file_operations i915_dsc_fec_support_fops = {
> > > >         .write = i915_dsc_fec_support_write
> > > >  };
> > > >
> > > > +static int vrr_range_show(struct seq_file *m, void *data)
> > > > +{
> > > > +       struct drm_connector *connector = m->private;
> > > > +
> > > > +       if (connector->status != connector_status_connected)
> > > > +               return -ENODEV;
> > > > +
> > > > +       seq_printf(m, "Vrr_capable: %s\n", yesno(intel_dp_is_vrr_capable(connector)));
> > > > +       seq_printf(m, "Min: %u\n", (u8)connector->display_info.monitor_range.min_vfreq);
> > > > +       seq_printf(m, "Max: %u\n", (u8)connector->display_info.monitor_range.max_vfreq);
> > > > +
> > > > +       return 0;
> > > > +}
> > > > +DEFINE_SHOW_ATTRIBUTE(vrr_range);
> > > > +
> > > >  /**
> > > >   * intel_connector_debugfs_add - add i915 specific connector debugfs files
> > > >   * @connector: pointer to a registered drm_connector
> > > > @@ -2220,10 +2235,15 @@ int intel_connector_debugfs_add(struct drm_connector *connector)
> > > >         if (INTEL_GEN(dev_priv) >= 10 &&
> > > >             ((connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort &&
> > > >               !to_intel_connector(connector)->mst_port) ||
> > > > -            connector->connector_type == DRM_MODE_CONNECTOR_eDP))
> > > > +            connector->connector_type == DRM_MODE_CONNECTOR_eDP)) {
> > > >                 debugfs_create_file("i915_dsc_fec_support", S_IRUGO, root,
> > > >                                     connector, &i915_dsc_fec_support_fops);
> > > >
> > > > +               if (INTEL_GEN(dev_priv) >= 12)
> > > > +                       debugfs_create_file("vrr_range", S_IRUGO,
> > > > +                                           root, connector, &vrr_range_fops);
> > > > +       }
> > > > +
> > >
> > > I think this should be added by core drm. Ideally drm will add it
> > > automatically for each connector that the driver has called
> > > drm_connector_attach_vrr_capable_property() upon.
> > >
> >
> > But in this case drm_connector_attach_vrr_capable_property() is called by individual
> > driver since its an optional connector property. So we call this inside i915.
> 
> I'm _not_ suggesting that one moves the
> drm_connector_attach_vrr_capable_property() call. Simply create the
> debugfs file in drm itself.
> 
> > Also currently AMD sets this debugfs inside AMD IMO, so setting this here for now.
> Let's do the better thing of a) make drm create the file, and b)
> remove the AMDGPU specific one.
> 
> We're talking about 20-30 lines worth of a patch. Postponing it sounds silly.
> 
> > But I agree that can be moved to drm core may be when drm_display_info gets populated
> > with min and max, thats where drm can add this?
> >
> Both min and max are already part of drm_display_info. On the question
> of how - check the existing properties (edid_override, force) for
> examples.
>

Okay makes sense. Will move the vrr_range to drm debugfs node.
Thanks for your feedback.

Regards
Manasi
 
> -Emil
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* Re: [Intel-gfx] [PATCH v7 3/3] drm/i915/dp: Expose connector VRR monitor range via debugfs
@ 2020-06-18 18:35             ` Manasi Navare
  0 siblings, 0 replies; 41+ messages in thread
From: Manasi Navare @ 2020-06-18 18:35 UTC (permalink / raw)
  To: Emil Velikov; +Cc: Intel Graphics Development, ML dri-devel, Bhanuprakash Modem

On Tue, Jun 16, 2020 at 04:34:07PM +0100, Emil Velikov wrote:
> On Mon, 15 Jun 2020 at 22:47, Manasi Navare <manasi.d.navare@intel.com> wrote:
> >
> > On Mon, Jun 15, 2020 at 10:36:28PM +0100, Emil Velikov wrote:
> > > Hi Manasi,
> > >
> > > On Sat, 13 Jun 2020 at 00:55, Manasi Navare <manasi.d.navare@intel.com> wrote:
> > > >
> > > > From: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
> > > >
> > > > [Why]
> > > > It's useful to know the min and max vrr range for IGT testing.
> > > >
> > > > [How]
> > > > Expose the min and max vfreq for the connector via a debugfs file
> > > > on the connector, "vrr_range".
> > > >
> > > > Example usage: cat /sys/kernel/debug/dri/0/DP-1/vrr_range
> > > >
> > > > v7:
> > > > * Fix cmpilation due to rebase
> > > > v6:
> > > > * Rebase (manasi)
> > > > v5:
> > > > * Rename to vrr_range to match AMD debugfs
> > > > v4:
> > > > * Rebase
> > > > v3:
> > > > * Remove the unnecessary debug print (Manasi)
> > > > v2:
> > > > * Fix the typo in max_vfreq (Manasi)
> > > > * Change the name of node to i915_vrr_info so we can add
> > > > other vrr info for more debug info (Manasi)
> > > > * Change the VRR capable to display Yes or No (Manasi)
> > > > * Fix indentation checkpatch errors (Manasi)
> > > >
> > > Nit: generally revision log is listed in v2 -> v6 order.
> >
> > Okay point noted. Will update this in the next rev
> >
> > >
> > > > Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
> > > > Signed-off-by: Manasi Navare <manasi.d.navare@intel.com>
> > > > Cc: Jani Nikula <jani.nikula@linux.intel.com>
> > > > Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > > > Tested-by: Manasi Navare <manasi.d.navare@intel.com>
> > > > ---
> > > >  .../drm/i915/display/intel_display_debugfs.c  | 22 ++++++++++++++++++-
> > > >  1 file changed, 21 insertions(+), 1 deletion(-)
> > > >
> > > > diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> > > > index 28dd717e943a..2921f7d2a26e 100644
> > > > --- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> > > > +++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> > > > @@ -2185,6 +2185,21 @@ static const struct file_operations i915_dsc_fec_support_fops = {
> > > >         .write = i915_dsc_fec_support_write
> > > >  };
> > > >
> > > > +static int vrr_range_show(struct seq_file *m, void *data)
> > > > +{
> > > > +       struct drm_connector *connector = m->private;
> > > > +
> > > > +       if (connector->status != connector_status_connected)
> > > > +               return -ENODEV;
> > > > +
> > > > +       seq_printf(m, "Vrr_capable: %s\n", yesno(intel_dp_is_vrr_capable(connector)));
> > > > +       seq_printf(m, "Min: %u\n", (u8)connector->display_info.monitor_range.min_vfreq);
> > > > +       seq_printf(m, "Max: %u\n", (u8)connector->display_info.monitor_range.max_vfreq);
> > > > +
> > > > +       return 0;
> > > > +}
> > > > +DEFINE_SHOW_ATTRIBUTE(vrr_range);
> > > > +
> > > >  /**
> > > >   * intel_connector_debugfs_add - add i915 specific connector debugfs files
> > > >   * @connector: pointer to a registered drm_connector
> > > > @@ -2220,10 +2235,15 @@ int intel_connector_debugfs_add(struct drm_connector *connector)
> > > >         if (INTEL_GEN(dev_priv) >= 10 &&
> > > >             ((connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort &&
> > > >               !to_intel_connector(connector)->mst_port) ||
> > > > -            connector->connector_type == DRM_MODE_CONNECTOR_eDP))
> > > > +            connector->connector_type == DRM_MODE_CONNECTOR_eDP)) {
> > > >                 debugfs_create_file("i915_dsc_fec_support", S_IRUGO, root,
> > > >                                     connector, &i915_dsc_fec_support_fops);
> > > >
> > > > +               if (INTEL_GEN(dev_priv) >= 12)
> > > > +                       debugfs_create_file("vrr_range", S_IRUGO,
> > > > +                                           root, connector, &vrr_range_fops);
> > > > +       }
> > > > +
> > >
> > > I think this should be added by core drm. Ideally drm will add it
> > > automatically for each connector that the driver has called
> > > drm_connector_attach_vrr_capable_property() upon.
> > >
> >
> > But in this case drm_connector_attach_vrr_capable_property() is called by individual
> > driver since its an optional connector property. So we call this inside i915.
> 
> I'm _not_ suggesting that one moves the
> drm_connector_attach_vrr_capable_property() call. Simply create the
> debugfs file in drm itself.
> 
> > Also currently AMD sets this debugfs inside AMD IMO, so setting this here for now.
> Let's do the better thing of a) make drm create the file, and b)
> remove the AMDGPU specific one.
> 
> We're talking about 20-30 lines worth of a patch. Postponing it sounds silly.
> 
> > But I agree that can be moved to drm core may be when drm_display_info gets populated
> > with min and max, thats where drm can add this?
> >
> Both min and max are already part of drm_display_info. On the question
> of how - check the existing properties (edid_override, force) for
> examples.
>

Okay makes sense. Will move the vrr_range to drm debugfs node.
Thanks for your feedback.

Regards
Manasi
 
> -Emil
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH v6 1/3] drm/dp: DRM DP helper for reading Ignore MSA from DPCD
  2020-06-12 23:04   ` [Intel-gfx] " Manasi Navare
@ 2020-06-18 23:23     ` Manasi Navare
  -1 siblings, 0 replies; 41+ messages in thread
From: Manasi Navare @ 2020-06-18 23:23 UTC (permalink / raw)
  To: intel-gfx, dri-devel; +Cc: Nicholas Kazlauskas

@Jani N, could you give an ACK on this if this looks okay, addressed
your review comments regarding the name of the function.
Else I have a r-b functionality wise so good to get merged?

Regards
Manasi

On Fri, Jun 12, 2020 at 04:04:42PM -0700, Manasi Navare wrote:
> DP sink device sets the Ignore MSA bit in its
> DP_DOWNSTREAM_PORT_COUNT register to indicate its ability to
> ignore the MSA video timing parameters and its ability to support
> seamless video timing change over a range of timing exposed by
> DisplayID and EDID.
> This is required for the sink to indicate that it is Adaptive sync
> capable.
> 
> v3:
> * Fi the typo in commit message (Manasi)
> v2:
> * Rename to describe what the function does (Jani Nikula)
> 
> Cc: Jani Nikula <jani.nikula@linux.intel.com>
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Cc: Harry Wentland <harry.wentland@amd.com>
> Cc: Nicholas Kazlauskas <Nicholas.Kazlauskas@amd.com>
> Signed-off-by: Manasi Navare <manasi.d.navare@intel.com>
> Reviewed-by: Harry Wentland <harry.wentland@amd.com>
> ---
>  include/drm/drm_dp_helper.h | 8 ++++++++
>  1 file changed, 8 insertions(+)
> 
> diff --git a/include/drm/drm_dp_helper.h b/include/drm/drm_dp_helper.h
> index 1165ec105638..e47dc22ebf50 100644
> --- a/include/drm/drm_dp_helper.h
> +++ b/include/drm/drm_dp_helper.h
> @@ -1457,6 +1457,14 @@ drm_dp_alternate_scrambler_reset_cap(const u8 dpcd[DP_RECEIVER_CAP_SIZE])
>  			DP_ALTERNATE_SCRAMBLER_RESET_CAP;
>  }
>  
> +/* Ignore MSA timing for Adaptive Sync support on DP 1.4 */
> +static inline bool
> +drm_dp_sink_can_do_video_without_timing_msa(const u8 dpcd[DP_RECEIVER_CAP_SIZE])
> +{
> +	return dpcd[DP_DOWN_STREAM_PORT_COUNT] &
> +		DP_MSA_TIMING_PAR_IGNORED;
> +}
> +
>  /*
>   * DisplayPort AUX channel
>   */
> -- 
> 2.19.1
> 
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* Re: [Intel-gfx] [PATCH v6 1/3] drm/dp: DRM DP helper for reading Ignore MSA from DPCD
@ 2020-06-18 23:23     ` Manasi Navare
  0 siblings, 0 replies; 41+ messages in thread
From: Manasi Navare @ 2020-06-18 23:23 UTC (permalink / raw)
  To: intel-gfx, dri-devel; +Cc: Harry Wentland, Nicholas Kazlauskas

@Jani N, could you give an ACK on this if this looks okay, addressed
your review comments regarding the name of the function.
Else I have a r-b functionality wise so good to get merged?

Regards
Manasi

On Fri, Jun 12, 2020 at 04:04:42PM -0700, Manasi Navare wrote:
> DP sink device sets the Ignore MSA bit in its
> DP_DOWNSTREAM_PORT_COUNT register to indicate its ability to
> ignore the MSA video timing parameters and its ability to support
> seamless video timing change over a range of timing exposed by
> DisplayID and EDID.
> This is required for the sink to indicate that it is Adaptive sync
> capable.
> 
> v3:
> * Fi the typo in commit message (Manasi)
> v2:
> * Rename to describe what the function does (Jani Nikula)
> 
> Cc: Jani Nikula <jani.nikula@linux.intel.com>
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Cc: Harry Wentland <harry.wentland@amd.com>
> Cc: Nicholas Kazlauskas <Nicholas.Kazlauskas@amd.com>
> Signed-off-by: Manasi Navare <manasi.d.navare@intel.com>
> Reviewed-by: Harry Wentland <harry.wentland@amd.com>
> ---
>  include/drm/drm_dp_helper.h | 8 ++++++++
>  1 file changed, 8 insertions(+)
> 
> diff --git a/include/drm/drm_dp_helper.h b/include/drm/drm_dp_helper.h
> index 1165ec105638..e47dc22ebf50 100644
> --- a/include/drm/drm_dp_helper.h
> +++ b/include/drm/drm_dp_helper.h
> @@ -1457,6 +1457,14 @@ drm_dp_alternate_scrambler_reset_cap(const u8 dpcd[DP_RECEIVER_CAP_SIZE])
>  			DP_ALTERNATE_SCRAMBLER_RESET_CAP;
>  }
>  
> +/* Ignore MSA timing for Adaptive Sync support on DP 1.4 */
> +static inline bool
> +drm_dp_sink_can_do_video_without_timing_msa(const u8 dpcd[DP_RECEIVER_CAP_SIZE])
> +{
> +	return dpcd[DP_DOWN_STREAM_PORT_COUNT] &
> +		DP_MSA_TIMING_PAR_IGNORED;
> +}
> +
>  /*
>   * DisplayPort AUX channel
>   */
> -- 
> 2.19.1
> 
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [v6 0/3] VRR capable attach prop in i915, DPCD helper, VRR debugfs
  2020-06-12 23:04 ` [Intel-gfx] " Manasi Navare
@ 2020-06-19 21:11   ` Bhanuprakash Modem
  -1 siblings, 0 replies; 41+ messages in thread
From: Bhanuprakash Modem @ 2020-06-19 21:11 UTC (permalink / raw)
  To: bhanuprakash.modem, dri-devel, intel-gfx

This is an initial set of patches for enabling VRR support in i915.
This series has patches for:
1. adding a drm dpcd helper to read ignore MSA
   bit in sink's DPCD indicating sink support for VRR
2. Attach and set VRR capable connector prop for Intel DP conn
3. Expose VRR min and max through debugfs

Aditya Swarup (1):
  drm/i915/dp: Attach and set drm connector VRR property

Bhanuprakash Modem (1):
  drm/debug: Expose connector VRR monitor range via debugfs

Manasi Navare (1):
  drm/dp: DRM DP helper for reading Ignore MSA from DPCD

 .../amd/display/amdgpu_dm/amdgpu_dm_debugfs.c | 20 --------------
 drivers/gpu/drm/drm_debugfs.c                 | 22 +++++++++++++++
 drivers/gpu/drm/i915/display/intel_dp.c       | 27 +++++++++++++++++++
 drivers/gpu/drm/i915/display/intel_dp.h       |  2 ++
 include/drm/drm_dp_helper.h                   |  8 ++++++
 5 files changed, 59 insertions(+), 20 deletions(-)

-- 
2.20.1

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

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

* [Intel-gfx] [v6 0/3] VRR capable attach prop in i915, DPCD helper, VRR debugfs
@ 2020-06-19 21:11   ` Bhanuprakash Modem
  0 siblings, 0 replies; 41+ messages in thread
From: Bhanuprakash Modem @ 2020-06-19 21:11 UTC (permalink / raw)
  To: bhanuprakash.modem, dri-devel, intel-gfx

This is an initial set of patches for enabling VRR support in i915.
This series has patches for:
1. adding a drm dpcd helper to read ignore MSA
   bit in sink's DPCD indicating sink support for VRR
2. Attach and set VRR capable connector prop for Intel DP conn
3. Expose VRR min and max through debugfs

Aditya Swarup (1):
  drm/i915/dp: Attach and set drm connector VRR property

Bhanuprakash Modem (1):
  drm/debug: Expose connector VRR monitor range via debugfs

Manasi Navare (1):
  drm/dp: DRM DP helper for reading Ignore MSA from DPCD

 .../amd/display/amdgpu_dm/amdgpu_dm_debugfs.c | 20 --------------
 drivers/gpu/drm/drm_debugfs.c                 | 22 +++++++++++++++
 drivers/gpu/drm/i915/display/intel_dp.c       | 27 +++++++++++++++++++
 drivers/gpu/drm/i915/display/intel_dp.h       |  2 ++
 include/drm/drm_dp_helper.h                   |  8 ++++++
 5 files changed, 59 insertions(+), 20 deletions(-)

-- 
2.20.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [v6 1/3] drm/dp: DRM DP helper for reading Ignore MSA from DPCD
  2020-06-12 23:04 ` [Intel-gfx] " Manasi Navare
@ 2020-06-19 21:11   ` Bhanuprakash Modem
  -1 siblings, 0 replies; 41+ messages in thread
From: Bhanuprakash Modem @ 2020-06-19 21:11 UTC (permalink / raw)
  To: bhanuprakash.modem, dri-devel, intel-gfx

From: Manasi Navare <manasi.d.navare@intel.com>

DP sink device sets the Ignore MSA bit in its
DP_DOWNSTREAM_PORT_COUNT register to indicate its ability to
ignore the MSA video timing parameters and its ability to support
seamless video timing change over a range of timing exposed by
DisplayID and EDID.
This is required for the sink to indicate that it is Adaptive sync
capable.

v3:
* Fi the typo in commit message (Manasi)
v2:
* Rename to describe what the function does (Jani Nikula)

Cc: Jani Nikula <jani.nikula@linux.intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Harry Wentland <harry.wentland@amd.com>
Cc: Nicholas Kazlauskas <Nicholas.Kazlauskas@amd.com>
Signed-off-by: Manasi Navare <manasi.d.navare@intel.com>
Reviewed-by: Harry Wentland <harry.wentland@amd.com>
---
 include/drm/drm_dp_helper.h | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/include/drm/drm_dp_helper.h b/include/drm/drm_dp_helper.h
index 1165ec105638..e47dc22ebf50 100644
--- a/include/drm/drm_dp_helper.h
+++ b/include/drm/drm_dp_helper.h
@@ -1457,6 +1457,14 @@ drm_dp_alternate_scrambler_reset_cap(const u8 dpcd[DP_RECEIVER_CAP_SIZE])
 			DP_ALTERNATE_SCRAMBLER_RESET_CAP;
 }
 
+/* Ignore MSA timing for Adaptive Sync support on DP 1.4 */
+static inline bool
+drm_dp_sink_can_do_video_without_timing_msa(const u8 dpcd[DP_RECEIVER_CAP_SIZE])
+{
+	return dpcd[DP_DOWN_STREAM_PORT_COUNT] &
+		DP_MSA_TIMING_PAR_IGNORED;
+}
+
 /*
  * DisplayPort AUX channel
  */
-- 
2.20.1

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

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

* [Intel-gfx] [v6 1/3] drm/dp: DRM DP helper for reading Ignore MSA from DPCD
@ 2020-06-19 21:11   ` Bhanuprakash Modem
  0 siblings, 0 replies; 41+ messages in thread
From: Bhanuprakash Modem @ 2020-06-19 21:11 UTC (permalink / raw)
  To: bhanuprakash.modem, dri-devel, intel-gfx

From: Manasi Navare <manasi.d.navare@intel.com>

DP sink device sets the Ignore MSA bit in its
DP_DOWNSTREAM_PORT_COUNT register to indicate its ability to
ignore the MSA video timing parameters and its ability to support
seamless video timing change over a range of timing exposed by
DisplayID and EDID.
This is required for the sink to indicate that it is Adaptive sync
capable.

v3:
* Fi the typo in commit message (Manasi)
v2:
* Rename to describe what the function does (Jani Nikula)

Cc: Jani Nikula <jani.nikula@linux.intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Harry Wentland <harry.wentland@amd.com>
Cc: Nicholas Kazlauskas <Nicholas.Kazlauskas@amd.com>
Signed-off-by: Manasi Navare <manasi.d.navare@intel.com>
Reviewed-by: Harry Wentland <harry.wentland@amd.com>
---
 include/drm/drm_dp_helper.h | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/include/drm/drm_dp_helper.h b/include/drm/drm_dp_helper.h
index 1165ec105638..e47dc22ebf50 100644
--- a/include/drm/drm_dp_helper.h
+++ b/include/drm/drm_dp_helper.h
@@ -1457,6 +1457,14 @@ drm_dp_alternate_scrambler_reset_cap(const u8 dpcd[DP_RECEIVER_CAP_SIZE])
 			DP_ALTERNATE_SCRAMBLER_RESET_CAP;
 }
 
+/* Ignore MSA timing for Adaptive Sync support on DP 1.4 */
+static inline bool
+drm_dp_sink_can_do_video_without_timing_msa(const u8 dpcd[DP_RECEIVER_CAP_SIZE])
+{
+	return dpcd[DP_DOWN_STREAM_PORT_COUNT] &
+		DP_MSA_TIMING_PAR_IGNORED;
+}
+
 /*
  * DisplayPort AUX channel
  */
-- 
2.20.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [v6 2/3] drm/i915/dp: Attach and set drm connector VRR property
  2020-06-12 23:04 ` [Intel-gfx] " Manasi Navare
@ 2020-06-19 21:11   ` Bhanuprakash Modem
  -1 siblings, 0 replies; 41+ messages in thread
From: Bhanuprakash Modem @ 2020-06-19 21:11 UTC (permalink / raw)
  To: bhanuprakash.modem, dri-devel, intel-gfx

From: Aditya Swarup <aditya.swarup@intel.com>

This function sets the VRR property for connector based
on the platform support, EDID monitor range and DP sink
DPCD capability of outputing video without msa
timing information.

v5:
* Fix the vrr prop not being set in kernel (Manasi)
* Unset the prop on connector disconnect (Manasi)
v4:
* Rebase (Mansi)
v3:
* intel_dp_is_vrr_capable can be used for debugfs, make it
non static (Manasi)
v2:
* Just set this in intel_dp_get_modes instead of new hook (Jani)

Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Signed-off-by: Aditya Swarup <aditya.swarup@intel.com>
Signed-off-by: Manasi Navare <manasi.d.navare@intel.com>
---
 drivers/gpu/drm/i915/display/intel_dp.c | 27 +++++++++++++++++++++++++
 drivers/gpu/drm/i915/display/intel_dp.h |  2 ++
 2 files changed, 29 insertions(+)

diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index 42589cae766d..d0dba81cfb07 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -6149,6 +6149,9 @@ intel_dp_detect(struct drm_connector *connector,
 	if (status == connector_status_disconnected) {
 		memset(&intel_dp->compliance, 0, sizeof(intel_dp->compliance));
 		memset(intel_dp->dsc_dpcd, 0, sizeof(intel_dp->dsc_dpcd));
+		/*Reset the immutable VRR Capable property */
+		drm_connector_set_vrr_capable_property(connector,
+						       false);
 
 		if (intel_dp->is_mst) {
 			drm_dbg_kms(&dev_priv->drm,
@@ -6256,6 +6259,23 @@ intel_dp_force(struct drm_connector *connector)
 	intel_display_power_put(dev_priv, aux_domain, wakeref);
 }
 
+bool intel_dp_is_vrr_capable(struct drm_connector *connector)
+{
+	struct intel_dp *intel_dp = intel_attached_dp(to_intel_connector(connector));
+	const struct drm_display_info *info = &connector->display_info;
+	struct drm_i915_private *dev_priv = to_i915(connector->dev);
+
+	/*
+	 * DP Sink is capable of Variable refresh video timings if
+	 * Ignore MSA bit is set in DPCD.
+	 * EDID monitor range also should be atleast 10 for reasonable
+	 * Adaptive sync/ VRR end user experience.
+	 */
+	return INTEL_GEN(dev_priv) >= 12 &&
+		drm_dp_sink_can_do_video_without_timing_msa(intel_dp->dpcd) &&
+		info->monitor_range.max_vfreq - info->monitor_range.min_vfreq > 10;
+}
+
 static int intel_dp_get_modes(struct drm_connector *connector)
 {
 	struct intel_connector *intel_connector = to_intel_connector(connector);
@@ -6264,6 +6284,10 @@ static int intel_dp_get_modes(struct drm_connector *connector)
 	edid = intel_connector->detect_edid;
 	if (edid) {
 		int ret = intel_connector_update_modes(connector, edid);
+
+		if (intel_dp_is_vrr_capable(connector))
+			drm_connector_set_vrr_capable_property(connector,
+							       true);
 		if (ret)
 			return ret;
 	}
@@ -7325,6 +7349,9 @@ intel_dp_add_properties(struct intel_dp *intel_dp, struct drm_connector *connect
 		connector->state->scaling_mode = DRM_MODE_SCALE_ASPECT;
 
 	}
+
+	if (INTEL_GEN(dev_priv) >= 12)
+		drm_connector_attach_vrr_capable_property(connector);
 }
 
 static void intel_dp_init_panel_power_timestamps(struct intel_dp *intel_dp)
diff --git a/drivers/gpu/drm/i915/display/intel_dp.h b/drivers/gpu/drm/i915/display/intel_dp.h
index 0a8950f744f6..db895a3cd93f 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.h
+++ b/drivers/gpu/drm/i915/display/intel_dp.h
@@ -14,6 +14,7 @@ enum pipe;
 enum port;
 struct drm_connector_state;
 struct drm_encoder;
+struct drm_connector;
 struct drm_i915_private;
 struct drm_modeset_acquire_ctx;
 struct drm_dp_vsc_sdp;
@@ -120,6 +121,7 @@ void intel_read_dp_sdp(struct intel_encoder *encoder,
 		       unsigned int type);
 bool intel_digital_port_connected(struct intel_encoder *encoder);
 void intel_dp_process_phy_request(struct intel_dp *intel_dp);
+bool intel_dp_is_vrr_capable(struct drm_connector *connector);
 
 static inline unsigned int intel_dp_unused_lane_mask(int lane_count)
 {
-- 
2.20.1

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

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

* [Intel-gfx] [v6 2/3] drm/i915/dp: Attach and set drm connector VRR property
@ 2020-06-19 21:11   ` Bhanuprakash Modem
  0 siblings, 0 replies; 41+ messages in thread
From: Bhanuprakash Modem @ 2020-06-19 21:11 UTC (permalink / raw)
  To: bhanuprakash.modem, dri-devel, intel-gfx

From: Aditya Swarup <aditya.swarup@intel.com>

This function sets the VRR property for connector based
on the platform support, EDID monitor range and DP sink
DPCD capability of outputing video without msa
timing information.

v5:
* Fix the vrr prop not being set in kernel (Manasi)
* Unset the prop on connector disconnect (Manasi)
v4:
* Rebase (Mansi)
v3:
* intel_dp_is_vrr_capable can be used for debugfs, make it
non static (Manasi)
v2:
* Just set this in intel_dp_get_modes instead of new hook (Jani)

Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Signed-off-by: Aditya Swarup <aditya.swarup@intel.com>
Signed-off-by: Manasi Navare <manasi.d.navare@intel.com>
---
 drivers/gpu/drm/i915/display/intel_dp.c | 27 +++++++++++++++++++++++++
 drivers/gpu/drm/i915/display/intel_dp.h |  2 ++
 2 files changed, 29 insertions(+)

diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index 42589cae766d..d0dba81cfb07 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -6149,6 +6149,9 @@ intel_dp_detect(struct drm_connector *connector,
 	if (status == connector_status_disconnected) {
 		memset(&intel_dp->compliance, 0, sizeof(intel_dp->compliance));
 		memset(intel_dp->dsc_dpcd, 0, sizeof(intel_dp->dsc_dpcd));
+		/*Reset the immutable VRR Capable property */
+		drm_connector_set_vrr_capable_property(connector,
+						       false);
 
 		if (intel_dp->is_mst) {
 			drm_dbg_kms(&dev_priv->drm,
@@ -6256,6 +6259,23 @@ intel_dp_force(struct drm_connector *connector)
 	intel_display_power_put(dev_priv, aux_domain, wakeref);
 }
 
+bool intel_dp_is_vrr_capable(struct drm_connector *connector)
+{
+	struct intel_dp *intel_dp = intel_attached_dp(to_intel_connector(connector));
+	const struct drm_display_info *info = &connector->display_info;
+	struct drm_i915_private *dev_priv = to_i915(connector->dev);
+
+	/*
+	 * DP Sink is capable of Variable refresh video timings if
+	 * Ignore MSA bit is set in DPCD.
+	 * EDID monitor range also should be atleast 10 for reasonable
+	 * Adaptive sync/ VRR end user experience.
+	 */
+	return INTEL_GEN(dev_priv) >= 12 &&
+		drm_dp_sink_can_do_video_without_timing_msa(intel_dp->dpcd) &&
+		info->monitor_range.max_vfreq - info->monitor_range.min_vfreq > 10;
+}
+
 static int intel_dp_get_modes(struct drm_connector *connector)
 {
 	struct intel_connector *intel_connector = to_intel_connector(connector);
@@ -6264,6 +6284,10 @@ static int intel_dp_get_modes(struct drm_connector *connector)
 	edid = intel_connector->detect_edid;
 	if (edid) {
 		int ret = intel_connector_update_modes(connector, edid);
+
+		if (intel_dp_is_vrr_capable(connector))
+			drm_connector_set_vrr_capable_property(connector,
+							       true);
 		if (ret)
 			return ret;
 	}
@@ -7325,6 +7349,9 @@ intel_dp_add_properties(struct intel_dp *intel_dp, struct drm_connector *connect
 		connector->state->scaling_mode = DRM_MODE_SCALE_ASPECT;
 
 	}
+
+	if (INTEL_GEN(dev_priv) >= 12)
+		drm_connector_attach_vrr_capable_property(connector);
 }
 
 static void intel_dp_init_panel_power_timestamps(struct intel_dp *intel_dp)
diff --git a/drivers/gpu/drm/i915/display/intel_dp.h b/drivers/gpu/drm/i915/display/intel_dp.h
index 0a8950f744f6..db895a3cd93f 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.h
+++ b/drivers/gpu/drm/i915/display/intel_dp.h
@@ -14,6 +14,7 @@ enum pipe;
 enum port;
 struct drm_connector_state;
 struct drm_encoder;
+struct drm_connector;
 struct drm_i915_private;
 struct drm_modeset_acquire_ctx;
 struct drm_dp_vsc_sdp;
@@ -120,6 +121,7 @@ void intel_read_dp_sdp(struct intel_encoder *encoder,
 		       unsigned int type);
 bool intel_digital_port_connected(struct intel_encoder *encoder);
 void intel_dp_process_phy_request(struct intel_dp *intel_dp);
+bool intel_dp_is_vrr_capable(struct drm_connector *connector);
 
 static inline unsigned int intel_dp_unused_lane_mask(int lane_count)
 {
-- 
2.20.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [v8 3/3] drm/debug: Expose connector VRR monitor range via debugfs
  2020-06-12 23:04 ` [Intel-gfx] " Manasi Navare
@ 2020-06-19 21:11   ` Bhanuprakash Modem
  -1 siblings, 0 replies; 41+ messages in thread
From: Bhanuprakash Modem @ 2020-06-19 21:11 UTC (permalink / raw)
  To: bhanuprakash.modem, dri-devel, intel-gfx

[Why]
It's useful to know the min and max vrr range for IGT testing.

[How]
Expose the min and max vfreq for the connector via a debugfs file
on the connector, "vrr_range".

Example usage: cat /sys/kernel/debug/dri/0/DP-1/vrr_range

v2:
* Fix the typo in max_vfreq (Manasi)
* Change the name of node to i915_vrr_info so we can add
other vrr info for more debug info (Manasi)
* Change the VRR capable to display Yes or No (Manasi)
* Fix indentation checkpatch errors (Manasi)
v3:
* Remove the unnecessary debug print (Manasi)
v4:
* Rebase
v5:
* Rename to vrr_range to match AMD debugfs
v6:
* Rebase (manasi)
v7:
* Fix cmpilation due to rebase
v8:
* Move debugfs node creation logic to DRM
* Remove AMD specific logic

Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
Signed-off-by: Manasi Navare <manasi.d.navare@intel.com>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Harry Wentland <harry.wentland@amd.com>
---
 .../amd/display/amdgpu_dm/amdgpu_dm_debugfs.c | 20 -----------------
 drivers/gpu/drm/drm_debugfs.c                 | 22 +++++++++++++++++++
 2 files changed, 22 insertions(+), 20 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c
index 076af267b488..71387d2af2ed 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c
@@ -820,24 +820,6 @@ static int output_bpc_show(struct seq_file *m, void *data)
 	return res;
 }
 
-/*
- * Returns the min and max vrr vfreq through the connector's debugfs file.
- * Example usage: cat /sys/kernel/debug/dri/0/DP-1/vrr_range
- */
-static int vrr_range_show(struct seq_file *m, void *data)
-{
-	struct drm_connector *connector = m->private;
-	struct amdgpu_dm_connector *aconnector = to_amdgpu_dm_connector(connector);
-
-	if (connector->status != connector_status_connected)
-		return -ENODEV;
-
-	seq_printf(m, "Min: %u\n", (unsigned int)aconnector->min_vfreq);
-	seq_printf(m, "Max: %u\n", (unsigned int)aconnector->max_vfreq);
-
-	return 0;
-}
-
 #ifdef CONFIG_DRM_AMD_DC_HDCP
 /*
  * Returns the HDCP capability of the Display (1.4 for now).
@@ -1001,7 +983,6 @@ static ssize_t dp_dpcd_data_read(struct file *f, char __user *buf,
 DEFINE_SHOW_ATTRIBUTE(dmub_fw_state);
 DEFINE_SHOW_ATTRIBUTE(dmub_tracebuffer);
 DEFINE_SHOW_ATTRIBUTE(output_bpc);
-DEFINE_SHOW_ATTRIBUTE(vrr_range);
 #ifdef CONFIG_DRM_AMD_DC_HDCP
 DEFINE_SHOW_ATTRIBUTE(hdcp_sink_capability);
 #endif
@@ -1059,7 +1040,6 @@ static const struct {
 		{"phy_settings", &dp_phy_settings_debugfs_fop},
 		{"test_pattern", &dp_phy_test_pattern_fops},
 		{"output_bpc", &output_bpc_fops},
-		{"vrr_range", &vrr_range_fops},
 #ifdef CONFIG_DRM_AMD_DC_HDCP
 		{"hdcp_sink_capability", &hdcp_sink_capability_fops},
 #endif
diff --git a/drivers/gpu/drm/drm_debugfs.c b/drivers/gpu/drm/drm_debugfs.c
index bfe4602f206b..3d7182001004 100644
--- a/drivers/gpu/drm/drm_debugfs.c
+++ b/drivers/gpu/drm/drm_debugfs.c
@@ -376,6 +376,24 @@ static ssize_t edid_write(struct file *file, const char __user *ubuf,
 	return (ret) ? ret : len;
 }
 
+/*
+ * Returns the min and max vrr vfreq through the connector's debugfs file.
+ * Example usage: cat /sys/kernel/debug/dri/0/DP-1/vrr_range
+ */
+static int vrr_range_show(struct seq_file *m, void *data)
+{
+	struct drm_connector *connector = m->private;
+
+	if (connector->status != connector_status_connected)
+		return -ENODEV;
+
+	seq_printf(m, "Min: %u\n", (u8)connector->display_info.monitor_range.min_vfreq);
+	seq_printf(m, "Max: %u\n", (u8)connector->display_info.monitor_range.max_vfreq);
+
+	return 0;
+}
+DEFINE_SHOW_ATTRIBUTE(vrr_range);
+
 static const struct file_operations drm_edid_fops = {
 	.owner = THIS_MODULE,
 	.open = edid_open,
@@ -413,6 +431,10 @@ void drm_debugfs_connector_add(struct drm_connector *connector)
 	/* edid */
 	debugfs_create_file("edid_override", S_IRUGO | S_IWUSR, root, connector,
 			    &drm_edid_fops);
+
+	/* vrr range */
+	debugfs_create_file("vrr_range", S_IRUGO, root, connector,
+			    &vrr_range_fops);
 }
 
 void drm_debugfs_connector_remove(struct drm_connector *connector)
-- 
2.20.1

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

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

* [Intel-gfx] [v8 3/3] drm/debug: Expose connector VRR monitor range via debugfs
@ 2020-06-19 21:11   ` Bhanuprakash Modem
  0 siblings, 0 replies; 41+ messages in thread
From: Bhanuprakash Modem @ 2020-06-19 21:11 UTC (permalink / raw)
  To: bhanuprakash.modem, dri-devel, intel-gfx

[Why]
It's useful to know the min and max vrr range for IGT testing.

[How]
Expose the min and max vfreq for the connector via a debugfs file
on the connector, "vrr_range".

Example usage: cat /sys/kernel/debug/dri/0/DP-1/vrr_range

v2:
* Fix the typo in max_vfreq (Manasi)
* Change the name of node to i915_vrr_info so we can add
other vrr info for more debug info (Manasi)
* Change the VRR capable to display Yes or No (Manasi)
* Fix indentation checkpatch errors (Manasi)
v3:
* Remove the unnecessary debug print (Manasi)
v4:
* Rebase
v5:
* Rename to vrr_range to match AMD debugfs
v6:
* Rebase (manasi)
v7:
* Fix cmpilation due to rebase
v8:
* Move debugfs node creation logic to DRM
* Remove AMD specific logic

Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
Signed-off-by: Manasi Navare <manasi.d.navare@intel.com>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Harry Wentland <harry.wentland@amd.com>
---
 .../amd/display/amdgpu_dm/amdgpu_dm_debugfs.c | 20 -----------------
 drivers/gpu/drm/drm_debugfs.c                 | 22 +++++++++++++++++++
 2 files changed, 22 insertions(+), 20 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c
index 076af267b488..71387d2af2ed 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c
@@ -820,24 +820,6 @@ static int output_bpc_show(struct seq_file *m, void *data)
 	return res;
 }
 
-/*
- * Returns the min and max vrr vfreq through the connector's debugfs file.
- * Example usage: cat /sys/kernel/debug/dri/0/DP-1/vrr_range
- */
-static int vrr_range_show(struct seq_file *m, void *data)
-{
-	struct drm_connector *connector = m->private;
-	struct amdgpu_dm_connector *aconnector = to_amdgpu_dm_connector(connector);
-
-	if (connector->status != connector_status_connected)
-		return -ENODEV;
-
-	seq_printf(m, "Min: %u\n", (unsigned int)aconnector->min_vfreq);
-	seq_printf(m, "Max: %u\n", (unsigned int)aconnector->max_vfreq);
-
-	return 0;
-}
-
 #ifdef CONFIG_DRM_AMD_DC_HDCP
 /*
  * Returns the HDCP capability of the Display (1.4 for now).
@@ -1001,7 +983,6 @@ static ssize_t dp_dpcd_data_read(struct file *f, char __user *buf,
 DEFINE_SHOW_ATTRIBUTE(dmub_fw_state);
 DEFINE_SHOW_ATTRIBUTE(dmub_tracebuffer);
 DEFINE_SHOW_ATTRIBUTE(output_bpc);
-DEFINE_SHOW_ATTRIBUTE(vrr_range);
 #ifdef CONFIG_DRM_AMD_DC_HDCP
 DEFINE_SHOW_ATTRIBUTE(hdcp_sink_capability);
 #endif
@@ -1059,7 +1040,6 @@ static const struct {
 		{"phy_settings", &dp_phy_settings_debugfs_fop},
 		{"test_pattern", &dp_phy_test_pattern_fops},
 		{"output_bpc", &output_bpc_fops},
-		{"vrr_range", &vrr_range_fops},
 #ifdef CONFIG_DRM_AMD_DC_HDCP
 		{"hdcp_sink_capability", &hdcp_sink_capability_fops},
 #endif
diff --git a/drivers/gpu/drm/drm_debugfs.c b/drivers/gpu/drm/drm_debugfs.c
index bfe4602f206b..3d7182001004 100644
--- a/drivers/gpu/drm/drm_debugfs.c
+++ b/drivers/gpu/drm/drm_debugfs.c
@@ -376,6 +376,24 @@ static ssize_t edid_write(struct file *file, const char __user *ubuf,
 	return (ret) ? ret : len;
 }
 
+/*
+ * Returns the min and max vrr vfreq through the connector's debugfs file.
+ * Example usage: cat /sys/kernel/debug/dri/0/DP-1/vrr_range
+ */
+static int vrr_range_show(struct seq_file *m, void *data)
+{
+	struct drm_connector *connector = m->private;
+
+	if (connector->status != connector_status_connected)
+		return -ENODEV;
+
+	seq_printf(m, "Min: %u\n", (u8)connector->display_info.monitor_range.min_vfreq);
+	seq_printf(m, "Max: %u\n", (u8)connector->display_info.monitor_range.max_vfreq);
+
+	return 0;
+}
+DEFINE_SHOW_ATTRIBUTE(vrr_range);
+
 static const struct file_operations drm_edid_fops = {
 	.owner = THIS_MODULE,
 	.open = edid_open,
@@ -413,6 +431,10 @@ void drm_debugfs_connector_add(struct drm_connector *connector)
 	/* edid */
 	debugfs_create_file("edid_override", S_IRUGO | S_IWUSR, root, connector,
 			    &drm_edid_fops);
+
+	/* vrr range */
+	debugfs_create_file("vrr_range", S_IRUGO, root, connector,
+			    &vrr_range_fops);
 }
 
 void drm_debugfs_connector_remove(struct drm_connector *connector)
-- 
2.20.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

end of thread, other threads:[~2020-06-19 13:15 UTC | newest]

Thread overview: 41+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-12 23:04 [PATCH v6 0/3] VRR capable attach prop in i915, DPCD helper, VRR debugfs Manasi Navare
2020-06-12 23:04 ` [Intel-gfx] " Manasi Navare
2020-06-12 23:04 ` [PATCH v6 1/3] drm/dp: DRM DP helper for reading Ignore MSA from DPCD Manasi Navare
2020-06-12 23:04   ` [Intel-gfx] " Manasi Navare
2020-06-18 23:23   ` Manasi Navare
2020-06-18 23:23     ` [Intel-gfx] " Manasi Navare
2020-06-12 23:04 ` [PATCH v6 2/3] drm/i915/dp: Attach and set drm connector VRR property Manasi Navare
2020-06-12 23:04   ` [Intel-gfx] " Manasi Navare
2020-06-12 23:04 ` [PATCH v6 3/3] drm/i915/dp: Expose connector VRR monitor range via debugfs Manasi Navare
2020-06-12 23:04   ` [Intel-gfx] " Manasi Navare
2020-06-12 23:56   ` [PATCH v7 " Manasi Navare
2020-06-12 23:56     ` [Intel-gfx] " Manasi Navare
2020-06-15 21:36     ` Emil Velikov
2020-06-15 21:36       ` [Intel-gfx] " Emil Velikov
2020-06-15 21:48       ` Manasi Navare
2020-06-15 21:48         ` [Intel-gfx] " Manasi Navare
2020-06-16 15:34         ` Emil Velikov
2020-06-16 15:34           ` [Intel-gfx] " Emil Velikov
2020-06-18 18:35           ` Manasi Navare
2020-06-18 18:35             ` [Intel-gfx] " Manasi Navare
2020-06-13  2:00   ` [Intel-gfx] [PATCH v6 " kernel test robot
2020-06-13  2:00     ` kernel test robot
2020-06-13  2:00     ` kernel test robot
2020-06-13  5:41   ` kernel test robot
2020-06-13  5:41     ` kernel test robot
2020-06-13  5:41     ` kernel test robot
2020-06-16  5:43   ` kernel test robot
2020-06-16  5:43     ` kernel test robot
2020-06-16  5:43     ` kernel test robot
2020-06-12 23:16 ` [Intel-gfx] ✗ Fi.CI.BUILD: failure for VRR capable attach prop in i915, DPCD helper, VRR debugfs Patchwork
2020-06-13  0:07 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for VRR capable attach prop in i915, DPCD helper, VRR debugfs (rev2) Patchwork
2020-06-13  0:09 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
2020-06-13  0:39 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork
2020-06-19 21:11 ` [v6 0/3] VRR capable attach prop in i915, DPCD helper, VRR debugfs Bhanuprakash Modem
2020-06-19 21:11   ` [Intel-gfx] " Bhanuprakash Modem
2020-06-19 21:11 ` [v6 1/3] drm/dp: DRM DP helper for reading Ignore MSA from DPCD Bhanuprakash Modem
2020-06-19 21:11   ` [Intel-gfx] " Bhanuprakash Modem
2020-06-19 21:11 ` [v6 2/3] drm/i915/dp: Attach and set drm connector VRR property Bhanuprakash Modem
2020-06-19 21:11   ` [Intel-gfx] " Bhanuprakash Modem
2020-06-19 21:11 ` [v8 3/3] drm/debug: Expose connector VRR monitor range via debugfs Bhanuprakash Modem
2020-06-19 21:11   ` [Intel-gfx] " Bhanuprakash Modem

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.