All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC v2 0/1] drm/i915/display: New Property Creation for HDMI
@ 2021-05-07  6:50 Nischal Varide
  2021-05-07  6:50 ` [RFC v2 1/1] " Nischal Varide
  0 siblings, 1 reply; 4+ messages in thread
From: Nischal Varide @ 2021-05-07  6:50 UTC (permalink / raw)
  To: dri-devel, nischal.varide, uma.shankar, ankit.k.nautiyal


Right now the HDMI properties like vendor and product ids are hardcoded
in the function "intel_hdmi_compute_spd_infoframe()".

ret = hdmi_spd_infoframe_init(frame, "Intel", "Integrated gfx").

This patch enables the possibility of setting vendor and product id fields
of the Infoframe structure in the userspace instead of hardcoding in
the kernel, and this will help display manufacturers preload picture
configurations for the devices.

The changes has been Tested by an IGT testcase which got floated.
https://patchwork.freedesktop.org/series/89852/.


Nischal Varide (1):
  drm/i915/display: New Property Creation for HDMI

 drivers/gpu/drm/i915/display/intel_atomic.c   | 14 +++++++++++++
 .../gpu/drm/i915/display/intel_connector.c    | 20 +++++++++++++++++++
 .../gpu/drm/i915/display/intel_connector.h    |  1 +
 .../drm/i915/display/intel_display_types.h    |  5 +++++
 drivers/gpu/drm/i915/display/intel_hdmi.c     | 14 ++++++++++++-
 drivers/gpu/drm/i915/display/intel_hdmi.h     |  5 +++++
 drivers/gpu/drm/i915/i915_drv.h               |  1 +
 7 files changed, 59 insertions(+), 1 deletion(-)

-- 
2.29.2


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

* [RFC v2 1/1] drm/i915/display: New Property Creation for HDMI
  2021-05-07  6:50 [RFC v2 0/1] drm/i915/display: New Property Creation for HDMI Nischal Varide
@ 2021-05-07  6:50 ` Nischal Varide
  0 siblings, 0 replies; 4+ messages in thread
From: Nischal Varide @ 2021-05-07  6:50 UTC (permalink / raw)
  To: dri-devel, nischal.varide, uma.shankar, ankit.k.nautiyal

Right now the HDMI properties like vendor and product ids are hardcoded
in the function "intel_hdmi_compute_spd_infoframe()".

ret = hdmi_spd_infoframe_init(frame, "Intel", "Integrated gfx").

This patch enables the possibility of setting vendor and product id fields
of the Infoframe structure in the userspace instead of hardcoding in
the kernel, and this will help display manufacturers preload picture
configurations for the devices.

The changes has been tested by an IGT testcase which got floated.

v2: Edited the commit message on comments received (Ville, Jani)
v1: Create new property for vendor and product id of HDMI.

Signed-off-by: Nischal Varide <nischal.varide@intel.com>
---
 drivers/gpu/drm/i915/display/intel_atomic.c   | 14 +++++++++++++
 .../gpu/drm/i915/display/intel_connector.c    | 20 +++++++++++++++++++
 .../gpu/drm/i915/display/intel_connector.h    |  1 +
 .../drm/i915/display/intel_display_types.h    |  5 +++++
 drivers/gpu/drm/i915/display/intel_hdmi.c     | 14 ++++++++++++-
 drivers/gpu/drm/i915/display/intel_hdmi.h     |  5 +++++
 drivers/gpu/drm/i915/i915_drv.h               |  1 +
 7 files changed, 59 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/display/intel_atomic.c b/drivers/gpu/drm/i915/display/intel_atomic.c
index 45feaaddab26..4d38eeb9dd33 100644
--- a/drivers/gpu/drm/i915/display/intel_atomic.c
+++ b/drivers/gpu/drm/i915/display/intel_atomic.c
@@ -65,6 +65,9 @@ int intel_digital_connector_atomic_get_property(struct drm_connector *connector,
 		*val = intel_conn_state->force_audio;
 	else if (property == dev_priv->broadcast_rgb_property)
 		*val = intel_conn_state->broadcast_rgb;
+	else if (property ==  dev_priv->hdmi_vendor_product_property)
+		*val = (intel_conn_state->hdmi_vendor_product_blob)
+			? (intel_conn_state->hdmi_vendor_product_blob->base.id) : 0;
 	else {
 		drm_dbg_atomic(&dev_priv->drm,
 			       "Unknown property [PROP:%d:%s]\n",
@@ -93,6 +96,7 @@ int intel_digital_connector_atomic_set_property(struct drm_connector *connector,
 	struct drm_i915_private *dev_priv = to_i915(dev);
 	struct intel_digital_connector_state *intel_conn_state =
 		to_intel_digital_connector_state(state);
+	struct drm_property_blob *new_blob = NULL;
 
 	if (property == dev_priv->force_audio_property) {
 		intel_conn_state->force_audio = val;
@@ -104,6 +108,16 @@ int intel_digital_connector_atomic_set_property(struct drm_connector *connector,
 		return 0;
 	}
 
+	if (property ==  dev_priv->hdmi_vendor_product_property) {
+		new_blob = drm_property_lookup_blob(dev, val);
+		if (new_blob == NULL)
+			return -EINVAL;
+		if (drm_property_replace_blob
+			(&intel_conn_state->hdmi_vendor_product_blob, new_blob)) {
+			drm_property_blob_put(new_blob);
+			return 0;
+		}
+	}
 	drm_dbg_atomic(&dev_priv->drm, "Unknown property [PROP:%d:%s]\n",
 		       property->base.id, property->name);
 	return -EINVAL;
diff --git a/drivers/gpu/drm/i915/display/intel_connector.c b/drivers/gpu/drm/i915/display/intel_connector.c
index d5ceb7bdc14b..c4ce8f70e752 100644
--- a/drivers/gpu/drm/i915/display/intel_connector.c
+++ b/drivers/gpu/drm/i915/display/intel_connector.c
@@ -269,6 +269,26 @@ intel_attach_broadcast_rgb_property(struct drm_connector *connector)
 	drm_object_attach_property(&connector->base, prop, 0);
 }
 
+void
+intel_attach_hdmi_vendor_product_property(struct drm_connector *connector)
+{
+	struct drm_device *dev = connector->dev;
+	struct drm_i915_private *dev_priv = to_i915(dev);
+	struct drm_property *prop;
+
+	prop = dev_priv->hdmi_vendor_product_property;
+	if (!prop) {
+		prop = drm_property_create(dev, DRM_MODE_PROP_BLOB |
+			DRM_MODE_PROP_ATOMIC, "hdmi_vendor_product", 0);
+		if (!prop)
+			return;
+
+		dev_priv->hdmi_vendor_product_property = prop;
+	}
+
+	drm_object_attach_property(&connector->base, prop, 0);
+}
+
 void
 intel_attach_aspect_ratio_property(struct drm_connector *connector)
 {
diff --git a/drivers/gpu/drm/i915/display/intel_connector.h b/drivers/gpu/drm/i915/display/intel_connector.h
index 661a37a3c6d8..9e16e098f53a 100644
--- a/drivers/gpu/drm/i915/display/intel_connector.h
+++ b/drivers/gpu/drm/i915/display/intel_connector.h
@@ -27,6 +27,7 @@ enum pipe intel_connector_get_pipe(struct intel_connector *connector);
 int intel_connector_update_modes(struct drm_connector *connector,
 				 struct edid *edid);
 int intel_ddc_get_modes(struct drm_connector *c, struct i2c_adapter *adapter);
+void intel_attach_hdmi_vendor_product_property(struct drm_connector *connector);
 void intel_attach_force_audio_property(struct drm_connector *connector);
 void intel_attach_broadcast_rgb_property(struct drm_connector *connector);
 void intel_attach_aspect_ratio_property(struct drm_connector *connector);
diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
index 6d8cdaa36748..d29f54163044 100644
--- a/drivers/gpu/drm/i915/display/intel_display_types.h
+++ b/drivers/gpu/drm/i915/display/intel_display_types.h
@@ -549,6 +549,11 @@ struct intel_digital_connector_state {
 
 	enum hdmi_force_audio force_audio;
 	int broadcast_rgb;
+	/*
+	 * hdmi_infoframe metadata
+	 * DRM blob with hdmi vendor and product info
+	 */
+	struct drm_property_blob *hdmi_vendor_product_blob;
 };
 
 #define to_intel_digital_connector_state(x) container_of(x, struct intel_digital_connector_state, base)
diff --git a/drivers/gpu/drm/i915/display/intel_hdmi.c b/drivers/gpu/drm/i915/display/intel_hdmi.c
index 28e297296160..6bda096b411d 100644
--- a/drivers/gpu/drm/i915/display/intel_hdmi.c
+++ b/drivers/gpu/drm/i915/display/intel_hdmi.c
@@ -762,6 +762,9 @@ intel_hdmi_compute_spd_infoframe(struct intel_encoder *encoder,
 {
 	struct hdmi_spd_infoframe *frame = &crtc_state->infoframes.spd.spd;
 	int ret;
+	struct hdmi_vendor_product_info *hdmi_vp_info;
+	struct intel_digital_connector_state *intel_conn_state =
+		to_intel_digital_connector_state(conn_state);
 
 	if (!crtc_state->has_infoframe)
 		return true;
@@ -769,7 +772,15 @@ intel_hdmi_compute_spd_infoframe(struct intel_encoder *encoder,
 	crtc_state->infoframes.enable |=
 		intel_hdmi_infoframe_enable(HDMI_INFOFRAME_TYPE_SPD);
 
-	ret = hdmi_spd_infoframe_init(frame, "Intel", "Integrated gfx");
+	if (!intel_conn_state->hdmi_vendor_product_blob) {
+		ret = hdmi_spd_infoframe_init(frame, "intel", "Integrated gfx");
+	} else {
+		if (intel_conn_state->hdmi_vendor_product_blob->data) {
+			hdmi_vp_info = intel_conn_state->hdmi_vendor_product_blob->data;
+			ret = hdmi_spd_infoframe_init(frame, hdmi_vp_info->vendor,
+					hdmi_vp_info->product);
+		}
+	}
 	if (drm_WARN_ON(encoder->base.dev, ret))
 		return false;
 
@@ -2456,6 +2467,7 @@ intel_hdmi_add_properties(struct intel_hdmi *intel_hdmi, struct drm_connector *c
 	intel_attach_force_audio_property(connector);
 	intel_attach_broadcast_rgb_property(connector);
 	intel_attach_aspect_ratio_property(connector);
+	intel_attach_hdmi_vendor_product_property(connector);
 
 	intel_attach_hdmi_colorspace_property(connector);
 	drm_connector_attach_content_type_property(connector);
diff --git a/drivers/gpu/drm/i915/display/intel_hdmi.h b/drivers/gpu/drm/i915/display/intel_hdmi.h
index b43a180d007e..5be7179389d1 100644
--- a/drivers/gpu/drm/i915/display/intel_hdmi.h
+++ b/drivers/gpu/drm/i915/display/intel_hdmi.h
@@ -23,6 +23,11 @@ struct drm_connector_state;
 union hdmi_infoframe;
 enum port;
 
+/*Vendor Id and Product Id for the Hdmi property exported to Userspace*/
+struct hdmi_vendor_product_info {
+	char vendor[30];
+	char product[30];
+};
 void intel_hdmi_init_connector(struct intel_digital_port *dig_port,
 			       struct intel_connector *intel_connector);
 int intel_hdmi_compute_config(struct intel_encoder *encoder,
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 3cfa6effbb5f..9e3373c0f1eb 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -1014,6 +1014,7 @@ struct drm_i915_private {
 
 	struct drm_property *broadcast_rgb_property;
 	struct drm_property *force_audio_property;
+	struct drm_property *hdmi_vendor_product_property;
 
 	/* hda/i915 audio component */
 	struct i915_audio_component *audio_component;
-- 
2.29.2


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

* Re: [RFC v2 1/1] drm/i915/display: New Property Creation for HDMI
  2021-05-07  6:50 ` [RFC v2 1/1] " Nischal Varide
@ 2021-05-08  7:03 ` Dan Carpenter
  -1 siblings, 0 replies; 4+ messages in thread
From: kernel test robot @ 2021-05-07 17:03 UTC (permalink / raw)
  To: kbuild

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

CC: kbuild-all(a)lists.01.org
In-Reply-To: <20210507065044.23465-2-nischal.varide@intel.com>
References: <20210507065044.23465-2-nischal.varide@intel.com>
TO: Nischal Varide <nischal.varide@intel.com>

Hi Nischal,

[FYI, it's a private test report for your RFC patch.]
[auto build test WARNING on drm-intel/for-linux-next]
[also build test WARNING on drm-tip/drm-tip drm-exynos/exynos-drm-next next-20210507]
[cannot apply to tegra-drm/drm/tegra/for-next drm/drm-next v5.12]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Nischal-Varide/drm-i915-display-New-Property-Creation-for-HDMI/20210507-214441
base:   git://anongit.freedesktop.org/drm-intel for-linux-next
:::::: branch date: 3 hours ago
:::::: commit date: 3 hours ago
config: x86_64-randconfig-m001-20210507 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0

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

smatch warnings:
drivers/gpu/drm/i915/display/intel_hdmi.c:783 intel_hdmi_compute_spd_infoframe() error: uninitialized symbol 'ret'.

vim +/ret +783 drivers/gpu/drm/i915/display/intel_hdmi.c

b055c8f3ef9f7b drivers/gpu/drm/i915/intel_hdmi.c         Jesse Barnes     2011-07-08  756  
fbf08556ed4344 drivers/gpu/drm/i915/intel_hdmi.c         Ville Syrjälä    2019-02-25  757  static bool
fbf08556ed4344 drivers/gpu/drm/i915/intel_hdmi.c         Ville Syrjälä    2019-02-25  758  intel_hdmi_compute_spd_infoframe(struct intel_encoder *encoder,
fbf08556ed4344 drivers/gpu/drm/i915/intel_hdmi.c         Ville Syrjälä    2019-02-25  759  				 struct intel_crtc_state *crtc_state,
fbf08556ed4344 drivers/gpu/drm/i915/intel_hdmi.c         Ville Syrjälä    2019-02-25  760  				 struct drm_connector_state *conn_state)
c0864cb39c6869 drivers/gpu/drm/i915/intel_hdmi.c         Jesse Barnes     2011-08-03  761  {
fbf08556ed4344 drivers/gpu/drm/i915/intel_hdmi.c         Ville Syrjälä    2019-02-25  762  	struct hdmi_spd_infoframe *frame = &crtc_state->infoframes.spd.spd;
5adaea799c1c2c drivers/gpu/drm/i915/intel_hdmi.c         Damien Lespiau   2013-08-06  763  	int ret;
c65cd855971d63 drivers/gpu/drm/i915/display/intel_hdmi.c Nischal Varide   2021-05-07  764  	struct hdmi_vendor_product_info *hdmi_vp_info;
c65cd855971d63 drivers/gpu/drm/i915/display/intel_hdmi.c Nischal Varide   2021-05-07  765  	struct intel_digital_connector_state *intel_conn_state =
c65cd855971d63 drivers/gpu/drm/i915/display/intel_hdmi.c Nischal Varide   2021-05-07  766  		to_intel_digital_connector_state(conn_state);
5adaea799c1c2c drivers/gpu/drm/i915/intel_hdmi.c         Damien Lespiau   2013-08-06  767  
fbf08556ed4344 drivers/gpu/drm/i915/intel_hdmi.c         Ville Syrjälä    2019-02-25  768  	if (!crtc_state->has_infoframe)
fbf08556ed4344 drivers/gpu/drm/i915/intel_hdmi.c         Ville Syrjälä    2019-02-25  769  		return true;
c0864cb39c6869 drivers/gpu/drm/i915/intel_hdmi.c         Jesse Barnes     2011-08-03  770  
fbf08556ed4344 drivers/gpu/drm/i915/intel_hdmi.c         Ville Syrjälä    2019-02-25  771  	crtc_state->infoframes.enable |=
fbf08556ed4344 drivers/gpu/drm/i915/intel_hdmi.c         Ville Syrjälä    2019-02-25  772  		intel_hdmi_infoframe_enable(HDMI_INFOFRAME_TYPE_SPD);
c0864cb39c6869 drivers/gpu/drm/i915/intel_hdmi.c         Jesse Barnes     2011-08-03  773  
c65cd855971d63 drivers/gpu/drm/i915/display/intel_hdmi.c Nischal Varide   2021-05-07  774  	if (!intel_conn_state->hdmi_vendor_product_blob) {
c65cd855971d63 drivers/gpu/drm/i915/display/intel_hdmi.c Nischal Varide   2021-05-07  775  		ret = hdmi_spd_infoframe_init(frame, "intel", "Integrated gfx");
c65cd855971d63 drivers/gpu/drm/i915/display/intel_hdmi.c Nischal Varide   2021-05-07  776  	} else {
c65cd855971d63 drivers/gpu/drm/i915/display/intel_hdmi.c Nischal Varide   2021-05-07  777  		if (intel_conn_state->hdmi_vendor_product_blob->data) {
c65cd855971d63 drivers/gpu/drm/i915/display/intel_hdmi.c Nischal Varide   2021-05-07  778  			hdmi_vp_info = intel_conn_state->hdmi_vendor_product_blob->data;
c65cd855971d63 drivers/gpu/drm/i915/display/intel_hdmi.c Nischal Varide   2021-05-07  779  			ret = hdmi_spd_infoframe_init(frame, hdmi_vp_info->vendor,
c65cd855971d63 drivers/gpu/drm/i915/display/intel_hdmi.c Nischal Varide   2021-05-07  780  					hdmi_vp_info->product);
c65cd855971d63 drivers/gpu/drm/i915/display/intel_hdmi.c Nischal Varide   2021-05-07  781  		}
c65cd855971d63 drivers/gpu/drm/i915/display/intel_hdmi.c Nischal Varide   2021-05-07  782  	}
3a47ae201e0749 drivers/gpu/drm/i915/display/intel_hdmi.c Pankaj Bharadiya 2020-01-15 @783  	if (drm_WARN_ON(encoder->base.dev, ret))
fbf08556ed4344 drivers/gpu/drm/i915/intel_hdmi.c         Ville Syrjälä    2019-02-25  784  		return false;
fbf08556ed4344 drivers/gpu/drm/i915/intel_hdmi.c         Ville Syrjälä    2019-02-25  785  
fbf08556ed4344 drivers/gpu/drm/i915/intel_hdmi.c         Ville Syrjälä    2019-02-25  786  	frame->sdi = HDMI_SPD_SDI_PC;
fbf08556ed4344 drivers/gpu/drm/i915/intel_hdmi.c         Ville Syrjälä    2019-02-25  787  
fbf08556ed4344 drivers/gpu/drm/i915/intel_hdmi.c         Ville Syrjälä    2019-02-25  788  	ret = hdmi_spd_infoframe_check(frame);
3a47ae201e0749 drivers/gpu/drm/i915/display/intel_hdmi.c Pankaj Bharadiya 2020-01-15  789  	if (drm_WARN_ON(encoder->base.dev, ret))
fbf08556ed4344 drivers/gpu/drm/i915/intel_hdmi.c         Ville Syrjälä    2019-02-25  790  		return false;
fbf08556ed4344 drivers/gpu/drm/i915/intel_hdmi.c         Ville Syrjälä    2019-02-25  791  
fbf08556ed4344 drivers/gpu/drm/i915/intel_hdmi.c         Ville Syrjälä    2019-02-25  792  	return true;
c0864cb39c6869 drivers/gpu/drm/i915/intel_hdmi.c         Jesse Barnes     2011-08-03  793  }
c0864cb39c6869 drivers/gpu/drm/i915/intel_hdmi.c         Jesse Barnes     2011-08-03  794  

---
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: 34726 bytes --]

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

* Re: [RFC v2 1/1] drm/i915/display: New Property Creation for HDMI
@ 2021-05-08  7:03 ` Dan Carpenter
  0 siblings, 0 replies; 4+ messages in thread
From: Dan Carpenter @ 2021-05-08  7:03 UTC (permalink / raw)
  To: kbuild-all

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

Hi Nischal,

url:    https://github.com/0day-ci/linux/commits/Nischal-Varide/drm-i915-display-New-Property-Creation-for-HDMI/20210507-214441
base:   git://anongit.freedesktop.org/drm-intel for-linux-next
config: x86_64-randconfig-m001-20210507 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0

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

smatch warnings:
drivers/gpu/drm/i915/display/intel_hdmi.c:783 intel_hdmi_compute_spd_infoframe() error: uninitialized symbol 'ret'.

vim +/ret +783 drivers/gpu/drm/i915/display/intel_hdmi.c

fbf08556ed4344 drivers/gpu/drm/i915/intel_hdmi.c         Ville Syrjälä    2019-02-25  757  static bool
fbf08556ed4344 drivers/gpu/drm/i915/intel_hdmi.c         Ville Syrjälä    2019-02-25  758  intel_hdmi_compute_spd_infoframe(struct intel_encoder *encoder,
fbf08556ed4344 drivers/gpu/drm/i915/intel_hdmi.c         Ville Syrjälä    2019-02-25  759  				 struct intel_crtc_state *crtc_state,
fbf08556ed4344 drivers/gpu/drm/i915/intel_hdmi.c         Ville Syrjälä    2019-02-25  760  				 struct drm_connector_state *conn_state)
c0864cb39c6869 drivers/gpu/drm/i915/intel_hdmi.c         Jesse Barnes     2011-08-03  761  {
fbf08556ed4344 drivers/gpu/drm/i915/intel_hdmi.c         Ville Syrjälä    2019-02-25  762  	struct hdmi_spd_infoframe *frame = &crtc_state->infoframes.spd.spd;
5adaea799c1c2c drivers/gpu/drm/i915/intel_hdmi.c         Damien Lespiau   2013-08-06  763  	int ret;
c65cd855971d63 drivers/gpu/drm/i915/display/intel_hdmi.c Nischal Varide   2021-05-07  764  	struct hdmi_vendor_product_info *hdmi_vp_info;
c65cd855971d63 drivers/gpu/drm/i915/display/intel_hdmi.c Nischal Varide   2021-05-07  765  	struct intel_digital_connector_state *intel_conn_state =
c65cd855971d63 drivers/gpu/drm/i915/display/intel_hdmi.c Nischal Varide   2021-05-07  766  		to_intel_digital_connector_state(conn_state);
5adaea799c1c2c drivers/gpu/drm/i915/intel_hdmi.c         Damien Lespiau   2013-08-06  767  
fbf08556ed4344 drivers/gpu/drm/i915/intel_hdmi.c         Ville Syrjälä    2019-02-25  768  	if (!crtc_state->has_infoframe)
fbf08556ed4344 drivers/gpu/drm/i915/intel_hdmi.c         Ville Syrjälä    2019-02-25  769  		return true;
c0864cb39c6869 drivers/gpu/drm/i915/intel_hdmi.c         Jesse Barnes     2011-08-03  770  
fbf08556ed4344 drivers/gpu/drm/i915/intel_hdmi.c         Ville Syrjälä    2019-02-25  771  	crtc_state->infoframes.enable |=
fbf08556ed4344 drivers/gpu/drm/i915/intel_hdmi.c         Ville Syrjälä    2019-02-25  772  		intel_hdmi_infoframe_enable(HDMI_INFOFRAME_TYPE_SPD);
c0864cb39c6869 drivers/gpu/drm/i915/intel_hdmi.c         Jesse Barnes     2011-08-03  773  
c65cd855971d63 drivers/gpu/drm/i915/display/intel_hdmi.c Nischal Varide   2021-05-07  774  	if (!intel_conn_state->hdmi_vendor_product_blob) {
c65cd855971d63 drivers/gpu/drm/i915/display/intel_hdmi.c Nischal Varide   2021-05-07  775  		ret = hdmi_spd_infoframe_init(frame, "intel", "Integrated gfx");
c65cd855971d63 drivers/gpu/drm/i915/display/intel_hdmi.c Nischal Varide   2021-05-07  776  	} else {
c65cd855971d63 drivers/gpu/drm/i915/display/intel_hdmi.c Nischal Varide   2021-05-07  777  		if (intel_conn_state->hdmi_vendor_product_blob->data) {
c65cd855971d63 drivers/gpu/drm/i915/display/intel_hdmi.c Nischal Varide   2021-05-07  778  			hdmi_vp_info = intel_conn_state->hdmi_vendor_product_blob->data;
c65cd855971d63 drivers/gpu/drm/i915/display/intel_hdmi.c Nischal Varide   2021-05-07  779  			ret = hdmi_spd_infoframe_init(frame, hdmi_vp_info->vendor,
c65cd855971d63 drivers/gpu/drm/i915/display/intel_hdmi.c Nischal Varide   2021-05-07  780  					hdmi_vp_info->product);
c65cd855971d63 drivers/gpu/drm/i915/display/intel_hdmi.c Nischal Varide   2021-05-07  781  		}

"ret" not initialized on else path if ->data is NULL.

c65cd855971d63 drivers/gpu/drm/i915/display/intel_hdmi.c Nischal Varide   2021-05-07  782  	}
3a47ae201e0749 drivers/gpu/drm/i915/display/intel_hdmi.c Pankaj Bharadiya 2020-01-15 @783  	if (drm_WARN_ON(encoder->base.dev, ret))
fbf08556ed4344 drivers/gpu/drm/i915/intel_hdmi.c         Ville Syrjälä    2019-02-25  784  		return false;
fbf08556ed4344 drivers/gpu/drm/i915/intel_hdmi.c         Ville Syrjälä    2019-02-25  785  
fbf08556ed4344 drivers/gpu/drm/i915/intel_hdmi.c         Ville Syrjälä    2019-02-25  786  	frame->sdi = HDMI_SPD_SDI_PC;
fbf08556ed4344 drivers/gpu/drm/i915/intel_hdmi.c         Ville Syrjälä    2019-02-25  787  
fbf08556ed4344 drivers/gpu/drm/i915/intel_hdmi.c         Ville Syrjälä    2019-02-25  788  	ret = hdmi_spd_infoframe_check(frame);
3a47ae201e0749 drivers/gpu/drm/i915/display/intel_hdmi.c Pankaj Bharadiya 2020-01-15  789  	if (drm_WARN_ON(encoder->base.dev, ret))
fbf08556ed4344 drivers/gpu/drm/i915/intel_hdmi.c         Ville Syrjälä    2019-02-25  790  		return false;
fbf08556ed4344 drivers/gpu/drm/i915/intel_hdmi.c         Ville Syrjälä    2019-02-25  791  
fbf08556ed4344 drivers/gpu/drm/i915/intel_hdmi.c         Ville Syrjälä    2019-02-25  792  	return true;
c0864cb39c6869 drivers/gpu/drm/i915/intel_hdmi.c         Jesse Barnes     2011-08-03  793  }

---
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] 4+ messages in thread

end of thread, other threads:[~2021-05-08  7:03 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-07  6:50 [RFC v2 0/1] drm/i915/display: New Property Creation for HDMI Nischal Varide
2021-05-07  6:50 ` [RFC v2 1/1] " Nischal Varide
2021-05-07 17:03 kernel test robot
2021-05-08  7:03 ` Dan Carpenter

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.