drm/edid and drivers: ELD refactoring
Subsystems (14)
cover drm/edid and drivers: ELD refactoring
We were recently bitten by drm_edid_to_eld() clearing the connector type, and us failing to set it back for DP. Here's a few ELD related patches to try to unify ELD handling and make it a bit simpler for drivers to get it right.
Apologies for the massive Cc list; it's the maintainers of all drivers that call drm_edid_to_eld().
I'm open to splitting up patch 6 to driver specific patches as needed, but I'd think it would be just fine to merge via drm-misc as-is too.
BR,
Jani.
Jani Nikula (7):
drm/edid: use macros for ELD offsets and values drm/edid: set ELD connector type in drm_edid_to_eld() drm/i915: remove redundant ELD connector type update drm/edid: abstract connector ELD clearing drm/edid: build ELD in drm_add_edid_modes() drm/drivers: drop redundant drm_edid_to_eld() calls drm/edid: make drm_edid_to_eld() static
drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c | 1 - drivers/gpu/drm/bridge/analogix-anx78xx.c | 2 - drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 2 - drivers/gpu/drm/drm_edid.c | 70 +++++++++++++++----------- drivers/gpu/drm/i2c/tda998x_drv.c | 1 - drivers/gpu/drm/i915/intel_dp.c | 1 - drivers/gpu/drm/i915/intel_modes.c | 18 ------- drivers/gpu/drm/mediatek/mtk_hdmi.c | 1 - drivers/gpu/drm/nouveau/nv50_display.c | 5 +- drivers/gpu/drm/radeon/radeon_connectors.c | 1 - drivers/gpu/drm/radeon/radeon_dp_mst.c | 1 - drivers/gpu/drm/rockchip/cdn-dp-core.c | 4 +- drivers/gpu/drm/sti/sti_hdmi.c | 1 - drivers/gpu/drm/tegra/output.c | 1 - drivers/gpu/drm/vc4/vc4_hdmi.c | 1 - include/drm/drm_edid.h | 1 - include/drm/drm_modeset_helper_vtables.h | 3 -- 17 files changed, 44 insertions(+), 70 deletions(-)
Signature · 6 lines
2.11.0 _______________________________________________ Intel-gfx mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/intel-gfx
PATCH 1/7 drm/edid: use macros for ELD offsets and values
We have the macros, use them. No functional changes.
--- drivers/gpu/drm/drm_edid.c | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-)
drivers/gpu/drm/drm_edid.c +14 -13
@@ -3756,8 +3756,8 @@ drm_parse_hdmi_vsdb_audio(struct drm_connector *connector, const u8 *db) {u8 len =cea_db_payload_len (db); -if (len >=6 ) - connector->eld[5 ] |= (db[6 ] >>7 ) <<1 ;/* Supports_AI */ +if (len >=6 && (db[6 ] & (1 <<7 ))) + connector->eld[DRM_ELD_SAD_COUNT_CONN_TYPE ] |=DRM_ELD_SUPPORTS_AI ;if (len >=8 ) { connector->latency_present[0 ] = db[8 ] >>7 ; connector->latency_present[1 ] = (db[8 ] >>6 ) &1 ;
@@ -3865,17 +3865,18 @@ void drm_edid_to_eld(struct drm_connector *connector, struct edid *edid)return ; } - mnl =get_monitor_name (edid, eld +20 ); + mnl =get_monitor_name (edid, &eld[DRM_ELD_MONITOR_NAME_STRING ]); +DRM_DEBUG_KMS ("ELD monitor %s\n" , &eld[DRM_ELD_MONITOR_NAME_STRING ]); - eld[4 ] = (cea[1 ] <<5 ) | mnl; -DRM_DEBUG_KMS ("ELD monitor %s\n" , eld +20 ); + eld[DRM_ELD_CEA_EDID_VER_MNL ] = cea[1 ] <<DRM_ELD_CEA_EDID_VER_SHIFT ; + eld[DRM_ELD_CEA_EDID_VER_MNL ] |= mnl; - eld[0 ] =2 <<3 ;/* ELD version: 2 */ + eld[DRM_ELD_VER ] =DRM_ELD_VER_CEA861D ; - eld[16 ] = edid->mfg_id[0 ]; - eld[17 ] = edid->mfg_id[1 ]; - eld[18 ] = edid->prod_code[0 ]; - eld[19 ] = edid->prod_code[1 ]; + eld[DRM_ELD_MANUFACTURER_NAME0 ] = edid->mfg_id[0 ]; + eld[DRM_ELD_MANUFACTURER_NAME1 ] = edid->mfg_id[1 ]; + eld[DRM_ELD_PRODUCT_CODE0 ] = edid->prod_code[0 ]; + eld[DRM_ELD_PRODUCT_CODE1 ] = edid->prod_code[1 ];if (cea_revision (cea) >=3 ) {int i, start, end;
@@ -3896,14 +3897,14 @@ void drm_edid_to_eld(struct drm_connector *connector, struct edid *edid)/* Audio Data Block, contains SADs */ sad_count =min (dbl /3 ,15 - total_sad_count);if (sad_count >=1 ) -memcpy (eld +20 + mnl + total_sad_count *3 , +memcpy (&eld[DRM_ELD_CEA_SAD (mnl, total_sad_count)], &db[1 ], sad_count *3 ); total_sad_count += sad_count;break ;case SPEAKER_BLOCK :/* Speaker Allocation Data Block */ if (dbl >=1 ) - eld[7 ] = db[1 ]; + eld[DRM_ELD_SPEAKER ] = db[1 ];break ;case VENDOR_BLOCK :/* HDMI Vendor-Specific Data Block */
@@ -3915,7 +3916,7 @@ void drm_edid_to_eld(struct drm_connector *connector, struct edid *edid) } } } - eld[5 ] |= total_sad_count <<4 ; + eld[DRM_ELD_SAD_COUNT_CONN_TYPE ] |= total_sad_count <<DRM_ELD_SAD_COUNT_SHIFT ; eld[DRM_ELD_BASELINE_ELD_LEN ] =DIV_ROUND_UP (drm_eld_calc_baseline_block_size (eld),4 );
Signature · 6 lines
2.11.0 _______________________________________________ dri-devel mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/dri-devel
PATCH 2/7 drm/edid: set ELD connector type in drm_edid_to_eld()
In reply to Jani NikulaSince drm_edid_to_eld() knows the connector type, we can set the type in ELD while at it. Most connectors this gets called on are not DP encoders, and with the HDMI type being 0, this does not change behaviour for non-DP.
For i915 having this in place earlier would have saved a considerable amount of debugging that lead to the fix 2d8f63297b9f ("drm/i915: always update ELD connector type after get modes"). I don't see other drivers, even the ones calling drm_edid_to_eld() on DP connectors, setting the connector type in ELD.
--- drivers/gpu/drm/drm_edid.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-)
drivers/gpu/drm/drm_edid.c +7 -2
@@ -3835,8 +3835,7 @@ EXPORT_SYMBOL(drm_edid_get_monitor_name);* @edid: EDID to parse * * Fill the ELD (EDID-Like Data) buffer for passing to the audio driver. The -* Conn_Type, HDCP and Port_ID ELD fields are left for the graphics driver to -* fill in. +* HDCP and Port_ID ELD fields are left for the graphics driver to fill in. */ void drm_edid_to_eld (struct drm_connector *connector,struct edid *edid) {
@@ -3918,6 +3917,12 @@ void drm_edid_to_eld(struct drm_connector *connector, struct edid *edid) } eld[DRM_ELD_SAD_COUNT_CONN_TYPE ] |= total_sad_count <<DRM_ELD_SAD_COUNT_SHIFT ; +if (connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort || + connector->connector_type == DRM_MODE_CONNECTOR_eDP) + eld[DRM_ELD_SAD_COUNT_CONN_TYPE ] |=DRM_ELD_CONN_TYPE_DP ; +else + eld[DRM_ELD_SAD_COUNT_CONN_TYPE ] |=DRM_ELD_CONN_TYPE_HDMI ; + eld[DRM_ELD_BASELINE_ELD_LEN ] =DIV_ROUND_UP (drm_eld_calc_baseline_block_size (eld),4 );
Signature · 6 lines
2.11.0 _______________________________________________ dri-devel mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/dri-devel
PATCH 3/7 drm/i915: remove redundant ELD connector type update
In reply to Jani Nikuladrm_edid_to_eld() now sets ELD connector type, remove the redundant update.
--- drivers/gpu/drm/i915/intel_modes.c | 17 ----------------- 1 file changed, 17 deletions(-)
drivers/gpu/drm/i915/intel_modes.c +0 -17
@@ -30,21 +30,6 @@#include "intel_drv.h" #include "i915_drv.h" -static void intel_connector_update_eld_conn_type (struct drm_connector *connector) -{ -u8 conn_type; - -if (connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort || - connector->connector_type == DRM_MODE_CONNECTOR_eDP) { - conn_type =DRM_ELD_CONN_TYPE_DP ; - }else { - conn_type =DRM_ELD_CONN_TYPE_HDMI ; - } - - connector->eld[DRM_ELD_SAD_COUNT_CONN_TYPE ] &= ~DRM_ELD_CONN_TYPE_MASK ; - connector->eld[DRM_ELD_SAD_COUNT_CONN_TYPE ] |= conn_type; -} -/** * intel_connector_update_modes - update connector from edid * @connector: DRM connector device to use
@@ -59,8 +44,6 @@ int intel_connector_update_modes(struct drm_connector *connector, ret =drm_add_edid_modes (connector, edid);drm_edid_to_eld (connector, edid); -intel_connector_update_eld_conn_type (connector); -return ret; }
Signature · 6 lines
2.11.0 _______________________________________________ Intel-gfx mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/intel-gfx
PATCH 4/7 drm/edid: abstract connector ELD clearing
In reply to Jani NikulaPreparation for future work. No functional changes.
--- drivers/gpu/drm/drm_edid.c | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-)
drivers/gpu/drm/drm_edid.c +13 -8
@@ -3829,6 +3829,18 @@ void drm_edid_get_monitor_name(struct edid *edid, char *name, int bufsize) }EXPORT_SYMBOL (drm_edid_get_monitor_name); +static void clear_eld (struct drm_connector *connector) +{ +memset (connector->eld,0 ,sizeof (connector->eld)); + + connector->latency_present[0 ] = false; + connector->latency_present[1 ] = false; + connector->video_latency[0 ] =0 ; + connector->audio_latency[0 ] =0 ; + connector->video_latency[1 ] =0 ; + connector->audio_latency[1 ] =0 ; +} +/** * drm_edid_to_eld - build ELD from EDID * @connector: connector corresponding to the HDMI/DP sink
@@ -3846,14 +3858,7 @@ void drm_edid_to_eld(struct drm_connector *connector, struct edid *edid)int mnl;int dbl; -memset (eld,0 ,sizeof (connector->eld)); - - connector->latency_present[0 ] = false; - connector->latency_present[1 ] = false; - connector->video_latency[0 ] =0 ; - connector->audio_latency[0 ] =0 ; - connector->video_latency[1 ] =0 ; - connector->audio_latency[1 ] =0 ; +clear_eld (connector);if (!edid)return ;
Signature · 6 lines
2.11.0 _______________________________________________ dri-devel mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/dri-devel
PATCH 5/7 drm/edid: build ELD in drm_add_edid_modes()
In reply to Jani NikulaCall drm_edid_to_eld() from drm_add_edid_modes() to fill in the ELD automatically. There's no harm in doing this for connectors that do not support audio.
--- drivers/gpu/drm/drm_edid.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)
drivers/gpu/drm/drm_edid.c +6 -2
@@ -4612,8 +4612,8 @@ static int add_displayid_detailed_modes(struct drm_connector *connector,* @edid: EDID data * * Add the specified modes to the connector's mode list. Also fills out the -* &drm_display_info structure in @connector with any information which can be -* derived from the edid. +* &drm_display_info structure and ELD in @connector with any information which +* can be derived from the edid. * * Return: The number of modes added or 0 if we couldn't find any. */
@@ -4623,9 +4623,11 @@ int drm_add_edid_modes(struct drm_connector *connector, struct edid *edid)u32 quirks;if (edid ==NULL ) { +clear_eld (connector);return 0 ; }if (!drm_edid_is_valid (edid)) { +clear_eld (connector);dev_warn (connector->dev->dev,"%s: EDID invalid.\n" , connector->name);return 0 ;
@@ -4633,6 +4635,8 @@ int drm_add_edid_modes(struct drm_connector *connector, struct edid *edid) quirks =edid_get_quirks (edid); +drm_edid_to_eld (connector, edid); +/* * CEA-861-F adds ycbcr capability map block, for HDMI 2.0 sinks. * To avoid multiple parsing of same block, lets parse that map
Signature · 6 lines
2.11.0 _______________________________________________ Intel-gfx mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/intel-gfx
PATCH 6/7 drm/drivers: drop redundant drm_edid_to_eld() calls
In reply to Jani Nikuladrm_add_edid_modes() now fills in the ELD automatically, so the calls to drm_edid_to_eld() are redundant. Remove them.
All the other places are obvious, but nv50 has detached drm_edid_to_eld() from the drm_add_edid_modes() call.
--- drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c | 1 - drivers/gpu/drm/bridge/analogix-anx78xx.c | 2 -- drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 2 -- drivers/gpu/drm/i2c/tda998x_drv.c | 1 - drivers/gpu/drm/i915/intel_dp.c | 1 - drivers/gpu/drm/i915/intel_modes.c | 1 - drivers/gpu/drm/mediatek/mtk_hdmi.c | 1 - drivers/gpu/drm/nouveau/nv50_display.c | 5 +---- drivers/gpu/drm/radeon/radeon_connectors.c | 1 - drivers/gpu/drm/radeon/radeon_dp_mst.c | 1 - drivers/gpu/drm/rockchip/cdn-dp-core.c | 4 +--- drivers/gpu/drm/sti/sti_hdmi.c | 1 - drivers/gpu/drm/tegra/output.c | 1 - drivers/gpu/drm/vc4/vc4_hdmi.c | 1 - 14 files changed, 2 insertions(+), 21 deletions(-)
drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c +0 -1
@@ -358,7 +358,6 @@ static int amdgpu_connector_ddc_get_modes(struct drm_connector *connector)if (amdgpu_connector->edid) {drm_mode_connector_update_edid_property (connector, amdgpu_connector->edid); ret =drm_add_edid_modes (connector, amdgpu_connector->edid); -drm_edid_to_eld (connector, amdgpu_connector->edid);return ret; }drm_mode_connector_update_edid_property (connector,NULL );
drivers/gpu/drm/bridge/analogix-anx78xx.c +0 -2
@@ -977,8 +977,6 @@ static int anx78xx_get_modes(struct drm_connector *connector) } num_modes =drm_add_edid_modes (connector, anx78xx->edid); -/* Store the ELD */ -drm_edid_to_eld (connector, anx78xx->edid); unlock:mutex_unlock (&anx78xx->lock);
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c +0 -2
@@ -1910,8 +1910,6 @@ static int dw_hdmi_connector_get_modes(struct drm_connector *connector)drm_mode_connector_update_edid_property (connector, edid);cec_notifier_set_phys_addr_from_edid (hdmi->cec_notifier, edid); ret =drm_add_edid_modes (connector, edid); -/* Store the ELD */ -drm_edid_to_eld (connector, edid);kfree (edid); }else {dev_dbg (hdmi->dev,"failed to get edid\n" );
drivers/gpu/drm/i2c/tda998x_drv.c +0 -1
@@ -1100,7 +1100,6 @@ static int tda998x_connector_get_modes(struct drm_connector *connector)drm_mode_connector_update_edid_property (connector, edid); n =drm_add_edid_modes (connector, edid); -drm_edid_to_eld (connector, edid);kfree (edid);
drivers/gpu/drm/i915/intel_dp.c +0 -1
@@ -5889,7 +5889,6 @@ static bool intel_edp_init_connector(struct intel_dp *intel_dp,if (drm_add_edid_modes (connector, edid)) {drm_mode_connector_update_edid_property (connector, edid); -drm_edid_to_eld (connector, edid); }else {kfree (edid); edid =ERR_PTR (-EINVAL );
drivers/gpu/drm/i915/intel_modes.c +0 -1
@@ -42,7 +42,6 @@ int intel_connector_update_modes(struct drm_connector *connector,drm_mode_connector_update_edid_property (connector, edid); ret =drm_add_edid_modes (connector, edid); -drm_edid_to_eld (connector, edid);return ret; }
drivers/gpu/drm/mediatek/mtk_hdmi.c +0 -1
@@ -1222,7 +1222,6 @@ static int mtk_hdmi_conn_get_modes(struct drm_connector *conn)drm_mode_connector_update_edid_property (conn, edid); ret =drm_add_edid_modes (conn, edid); -drm_edid_to_eld (conn, edid);kfree (edid);return ret; }
drivers/gpu/drm/nouveau/nv50_display.c +1 -4
@@ -2688,7 +2688,6 @@ nv50_audio_enable(struct drm_encoder *encoder, struct drm_display_mode *mode)if (!drm_detect_monitor_audio (nv_connector->edid))return ; -drm_edid_to_eld (&nv_connector->base, nv_connector->edid);memcpy (args.data, nv_connector->base.eld,sizeof (args.data)); nvif_mthd(disp->disp, 0, &args,
@@ -3064,10 +3063,8 @@ nv50_mstc_get_modes(struct drm_connector *connector) mstc->edid =drm_dp_mst_get_edid (&mstc->connector, mstc->port->mgr, mstc->port);drm_mode_connector_update_edid_property (&mstc->connector, mstc->edid); -if (mstc->edid) { +if (mstc->edid) ret =drm_add_edid_modes (&mstc->connector, mstc->edid); -drm_edid_to_eld (&mstc->connector, mstc->edid); - }if (!mstc->connector.display_info.bpc) mstc->connector.display_info.bpc =8 ;
drivers/gpu/drm/radeon/radeon_connectors.c +0 -1
@@ -392,7 +392,6 @@ static int radeon_ddc_get_modes(struct drm_connector *connector)if (radeon_connector->edid) {drm_mode_connector_update_edid_property (connector, radeon_connector->edid); ret =drm_add_edid_modes (connector, radeon_connector->edid); -drm_edid_to_eld (connector, radeon_connector->edid);return ret; }drm_mode_connector_update_edid_property (connector,NULL );
drivers/gpu/drm/radeon/radeon_dp_mst.c +0 -1
@@ -196,7 +196,6 @@ static int radeon_dp_mst_get_ddc_modes(struct drm_connector *connector)if (radeon_connector->edid) {drm_mode_connector_update_edid_property (&radeon_connector->base, radeon_connector->edid); ret =drm_add_edid_modes (&radeon_connector->base, radeon_connector->edid); -drm_edid_to_eld (&radeon_connector->base, radeon_connector->edid);return ret; }drm_mode_connector_update_edid_property (&radeon_connector->base,NULL );
drivers/gpu/drm/rockchip/cdn-dp-core.c +1 -3
@@ -276,11 +276,9 @@ static int cdn_dp_connector_get_modes(struct drm_connector *connector) dp->sink_has_audio =drm_detect_monitor_audio (edid); ret =drm_add_edid_modes (connector, edid); -if (ret) { +if (ret)drm_mode_connector_update_edid_property (connector, edid); -drm_edid_to_eld (connector, edid); - } }mutex_unlock (&dp->lock);
drivers/gpu/drm/sti/sti_hdmi.c +0 -1
@@ -976,7 +976,6 @@ static int sti_hdmi_connector_get_modes(struct drm_connector *connector) count =drm_add_edid_modes (connector, edid);drm_mode_connector_update_edid_property (connector, edid); -drm_edid_to_eld (connector, edid);kfree (edid);return count;
drivers/gpu/drm/tegra/output.c +0 -1
@@ -39,7 +39,6 @@ int tegra_output_connector_get_modes(struct drm_connector *connector)if (edid) { err =drm_add_edid_modes (connector, edid); -drm_edid_to_eld (connector, edid);kfree (edid); }
drivers/gpu/drm/vc4/vc4_hdmi.c +0 -1
@@ -287,7 +287,6 @@ static int vc4_hdmi_connector_get_modes(struct drm_connector *connector)drm_mode_connector_update_edid_property (connector, edid); ret =drm_add_edid_modes (connector, edid); -drm_edid_to_eld (connector, edid);kfree (edid);return ret;
Signature · 6 lines
2.11.0 _______________________________________________ dri-devel mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/dri-devel
PATCH 7/7 drm/edid: make drm_edid_to_eld() static
In reply to Jani NikulaThis is no longer needed outside of drm_edid.c.
--- drivers/gpu/drm/drm_edid.c | 5 ++--- include/drm/drm_edid.h | 1 - include/drm/drm_modeset_helper_vtables.h | 3 --- 3 files changed, 2 insertions(+), 7 deletions(-)
drivers/gpu/drm/drm_edid.c +2 -3
@@ -3841,7 +3841,7 @@ static void clear_eld(struct drm_connector *connector) connector->audio_latency[1 ] =0 ; } -/** +/* * drm_edid_to_eld - build ELD from EDID * @connector: connector corresponding to the HDMI/DP sink * @edid: EDID to parse
@@ -3849,7 +3849,7 @@ static void clear_eld(struct drm_connector *connector)* Fill the ELD (EDID-Like Data) buffer for passing to the audio driver. The * HDCP and Port_ID ELD fields are left for the graphics driver to fill in. */ -void drm_edid_to_eld (struct drm_connector *connector,struct edid *edid) +static void drm_edid_to_eld (struct drm_connector *connector,struct edid *edid) {uint8_t *eld = connector->eld;u8 *cea;
@@ -3934,7 +3934,6 @@ void drm_edid_to_eld(struct drm_connector *connector, struct edid *edid)DRM_DEBUG_KMS ("ELD size %d, SAD count %d\n" ,drm_eld_size (eld), total_sad_count); } -EXPORT_SYMBOL (drm_edid_to_eld);/** * drm_edid_to_sad - extracts SADs from EDID
include/drm/drm_edid.h +0 -1
@@ -333,7 +333,6 @@ struct drm_encoder;struct drm_connector ;struct drm_display_mode ; -void drm_edid_to_eld (struct drm_connector *connector,struct edid *edid);int drm_edid_to_sad (struct edid *edid,struct cea_sad **sads);int drm_edid_to_speaker_allocation (struct edid *edid,u8 **sadb); int drm_av_sync_delay(struct drm_connector *connector,
include/drm/drm_modeset_helper_vtables.h +0 -3
@@ -801,9 +801,6 @@ struct drm_connector_helper_funcs {* resolution can call drm_add_modes_noedid(), and mark the preferred * one using drm_set_preferred_mode(). * -* Finally drivers that support audio probably want to update the ELD -* data, too, using drm_edid_to_eld(). -* * This function is only called after the @detect hook has indicated * that a sink is connected and when the EDID isn't overridden through * sysfs or the kernel commandline.
Signature · 6 lines
2.11.0 _______________________________________________ Intel-gfx mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Quoted 10 lines · Jani Nikula
We were recently bitten by
drm_edid_to_eld()clearing the connector type, and us failing to set it back for DP. Here's a few ELD related patches to try to unify ELD handling and make it a bit simpler for drivers to get it right.Apologies for the massive Cc list; it's the maintainers of all drivers that call
drm_edid_to_eld().I'm open to splitting up patch 6 to driver specific patches as needed, but I'd think it would be just fine to merge via drm-misc as-is too.
Entire series lgtm so
Quoted 54 lines
BR,
Jani.Cc Alex Deucher <[email protected]>Cc Christian König <[email protected]>Cc Archit Taneja <[email protected]>Cc Andrzej Hajda <[email protected]>Cc Russell King <[email protected]>Cc CK Hu <[email protected]>Cc Philipp Zabel <[email protected]>Cc Ben Skeggs <[email protected]>Cc Mark Yao <[email protected]>Cc Benjamin Gaignard <[email protected]>Cc Vincent Abriou <[email protected]>Cc Thierry Reding <[email protected]>Cc Eric Anholt <[email protected]>Jani Nikula (7):
drm/edid: use macros for ELD offsets and values drm/edid: set ELD connector type indrm_edid_to_eld()drm/i915: remove redundant ELD connector type update drm/edid: abstract connector ELD clearing drm/edid: build ELD indrm_add_edid_modes()drm/drivers: drop redundantdrm_edid_to_eld()calls drm/edid: makedrm_edid_to_eld()staticdrivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c | 1 - drivers/gpu/drm/bridge/analogix-anx78xx.c | 2 - drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 2 - drivers/gpu/drm/drm_edid.c | 70 +++++++++++++++----------- drivers/gpu/drm/i2c/tda998x_drv.c | 1 - drivers/gpu/drm/i915/intel_dp.c | 1 - drivers/gpu/drm/i915/intel_modes.c | 18 ------- drivers/gpu/drm/mediatek/mtk_hdmi.c | 1 - drivers/gpu/drm/nouveau/nv50_display.c | 5 +- drivers/gpu/drm/radeon/radeon_connectors.c | 1 - drivers/gpu/drm/radeon/radeon_dp_mst.c | 1 - drivers/gpu/drm/rockchip/cdn-dp-core.c | 4 +- drivers/gpu/drm/sti/sti_hdmi.c | 1 - drivers/gpu/drm/tegra/output.c | 1 - drivers/gpu/drm/vc4/vc4_hdmi.c | 1 - include/drm/drm_edid.h | 1 - include/drm/drm_modeset_helper_vtables.h | 3 -- 17 files changed, 44 insertions(+), 70 deletions(-)Signature · 6 lines
2.11.0 _______________________________________________ Intel-gfx mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Signature · 6 lines
Ville Syrjälä Intel OTC _______________________________________________ Intel-gfx mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [PATCH 6/7] drm/drivers: drop redundant drm_edid_to_eld() calls
In reply to Jani Nikuladrivers/gpu/drm/nouveau/nv50_display.c nv50_audio_enable(struct drm_encoder *encoder, struct drm_display_mode *mode) · line 2693
Quoted 12 lines · Jani Nikula
drivers/gpu/drm/nouveau/nv50_display.c +0
-1@@ -2688,7 +2688,6 @@ nv50_audio_enable(struct drm_encoder *encoder, struct drm_display_mode *mode)if (!drm_detect_monitor_audio (nv_connector->edid))return ; -drm_edid_to_eld (&nv_connector->base, nv_connector->edid);memcpy (args.data, nv_connector->base.eld,sizeof (args.data)); nvif_mthd(disp->disp, 0, &args,
This being the only call outside a .get_modes() hook means this is the only one that might change some behaviour.
Looks like nv_connector->edid gets updated in .detect() as one might expect, so in theory we might get a mismatch between the drm_detect_monitor_audio(edid) check above and the actual eld contents here if .detect() gets called without .get_modes(). Not a problem for the probe helper's .fill_modes(), but eg. the poll helper does do that.
I guess we could always consider doing the edid_to_eld() already from .detect()/.force() for all drivers if we think there would be a good reason to populate the ELD even if .get_modes()/.fill_modes() hasn't been called.
Signature · 6 lines
Ville Syrjälä Intel OTC _______________________________________________ dri-devel mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/dri-devel
Patchwork
CI✗ Fi.CI.BAT: warning for drm/edid and drivers: ELD refactoring
In reply to Jani Nikula== Series Details ==
== Series Details ==
Series: drm/edid and drivers: ELD refactoring
URL : https://patchwork.freedesktop.org/series/32979/
State : warning
== Summary ==
Series 32979v1 drm/edid and drivers: ELD refactoring
https://patchwork.freedesktop.org/api/1.0/series/32979/revisions/1/mbox/
Test chamelium:
Subgroup dp-crc-fast:
pass -> FAIL (fi-kbl-7500u) fdo#102514
Test gem_ctx_switch:
Subgroup basic-default-heavy:
incomplete -> PASS (fi-glk-dsi)
Test kms_flip:
Subgroup basic-plain-flip:
pass -> DMESG-WARN (fi-bsw-n3050)fdo#102514 https://bugs.freedesktop.org/show_bug.cgi?id=102514
fi-bdw-5557u total:289 pass:268 dwarn:0 dfail:0 fail:0 skip:21 time:445s fi-blb-e6850 total:289 pass:223 dwarn:1 dfail:0 fail:0 skip:65 time:381s fi-bsw-n3050 total:289 pass:242 dwarn:1 dfail:0 fail:0 skip:46 time:530s fi-bwr-2160 total:289 pass:183 dwarn:0 dfail:0 fail:0 skip:106 time:277s fi-bxt-dsi total:289 pass:259 dwarn:0 dfail:0 fail:0 skip:30 time:502s fi-bxt-j4205 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:510s fi-byt-j1900 total:289 pass:253 dwarn:1 dfail:0 fail:0 skip:35 time:511s fi-byt-n2820 total:289 pass:249 dwarn:1 dfail:0 fail:0 skip:39 time:497s fi-cfl-s total:289 pass:253 dwarn:4 dfail:0 fail:0 skip:32 time:619s fi-cnl-y total:217 pass:196 dwarn:0 dfail:0 fail:0 skip:20 fi-elk-e7500 total:289 pass:229 dwarn:0 dfail:0 fail:0 skip:60 time:431s fi-gdg-551 total:289 pass:178 dwarn:1 dfail:0 fail:1 skip:109 time:265s fi-glk-1 total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:586s fi-glk-dsi total:289 pass:259 dwarn:0 dfail:0 fail:0 skip:30 time:494s fi-hsw-4770 total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:431s fi-hsw-4770r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:433s fi-ilk-650 total:289 pass:228 dwarn:0 dfail:0 fail:0 skip:61 time:431s fi-ivb-3520m total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:492s fi-ivb-3770 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:473s fi-kbl-7500u total:289 pass:263 dwarn:1 dfail:0 fail:1 skip:24 time:481s fi-kbl-7560u total:289 pass:270 dwarn:0 dfail:0 fail:0 skip:19 time:579s fi-kbl-7567u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:474s fi-kbl-r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:587s fi-pnv-d510 total:289 pass:222 dwarn:1 dfail:0 fail:0 skip:66 time:570s fi-skl-6260u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:460s fi-skl-6600u total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:599s fi-skl-6700hq total:289 pass:263 dwarn:0 dfail:0 fail:0 skip:26 time:650s fi-skl-6700k total:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:522s fi-skl-6770hq total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:505s fi-snb-2520m total:289 pass:250 dwarn:0 dfail:0 fail:0 skip:39 time:579s fi-snb-2600 total:289 pass:249 dwarn:0 dfail:0 fail:0 skip:40 time:424s
fff06da054b4752eabf7d4103d30a281f8de96d9 drm-tip: 2017y-11m-01d-13h-47m-20s UTC integration manifest b204d850680d drm/edid: make drm_edid_to_eld() statice5f4b2ef3fc6 drm/drivers: drop redundant drm_edid_to_eld() calls422532ca5817 drm/edid: build ELD in drm_add_edid_modes()5ae5199e5488 drm/edid: abstract connector ELD clearing8d3e792a8d5a drm/i915: remove redundant ELD connector type updateff05a50b7b2b drm/edid: set ELD connector type in drm_edid_to_eld()19bd7713a43d drm/edid: use macros for ELD offsets and values
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_6292/
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Patchwork
CI✗ Fi.CI.BAT: warning for drm/edid and drivers: ELD refactoring
In reply to Jani Nikula== Series Details ==
== Series Details ==
Series: drm/edid and drivers: ELD refactoring
URL : https://patchwork.freedesktop.org/series/32979/
State : warning
== Summary ==
Series 32979v1 drm/edid and drivers: ELD refactoring
https://patchwork.freedesktop.org/api/1.0/series/32979/revisions/1/mbox/
Test gem_ctx_switch:
Subgroup basic-default-heavy:
incomplete -> PASS (fi-glk-dsi)
Test kms_addfb_basic:
Subgroup size-max:
pass -> DMESG-WARN (fi-bsw-n3050)
Test kms_pipe_crc_basic:
Subgroup suspend-read-crc-pipe-b:
dmesg-warn -> PASS (fi-byt-n2820) fdo#101705fdo#101705 https://bugs.freedesktop.org/show_bug.cgi?id=101705
fi-bdw-5557u total:289 pass:268 dwarn:0 dfail:0 fail:0 skip:21 time:441s fi-blb-e6850 total:289 pass:223 dwarn:1 dfail:0 fail:0 skip:65 time:380s fi-bsw-n3050 total:289 pass:242 dwarn:1 dfail:0 fail:0 skip:46 time:533s fi-bwr-2160 total:289 pass:183 dwarn:0 dfail:0 fail:0 skip:106 time:278s fi-bxt-dsi total:289 pass:259 dwarn:0 dfail:0 fail:0 skip:30 time:503s fi-bxt-j4205 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:505s fi-byt-j1900 total:289 pass:253 dwarn:1 dfail:0 fail:0 skip:35 time:507s fi-byt-n2820 total:289 pass:250 dwarn:0 dfail:0 fail:0 skip:39 time:496s fi-cfl-s total:289 pass:253 dwarn:4 dfail:0 fail:0 skip:32 time:561s fi-cnl-y total:217 pass:196 dwarn:0 dfail:0 fail:0 skip:20 fi-elk-e7500 total:289 pass:229 dwarn:0 dfail:0 fail:0 skip:60 time:425s fi-gdg-551 total:289 pass:178 dwarn:1 dfail:0 fail:1 skip:109 time:260s fi-glk-1 total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:591s fi-glk-dsi total:289 pass:258 dwarn:0 dfail:0 fail:1 skip:30 time:496s fi-hsw-4770 total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:429s fi-hsw-4770r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:428s fi-ilk-650 total:289 pass:228 dwarn:0 dfail:0 fail:0 skip:61 time:428s fi-ivb-3520m total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:503s fi-ivb-3770 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:466s fi-kbl-7500u total:289 pass:264 dwarn:1 dfail:0 fail:0 skip:24 time:492s fi-kbl-7560u total:289 pass:270 dwarn:0 dfail:0 fail:0 skip:19 time:574s fi-kbl-7567u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:481s fi-kbl-r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:585s fi-pnv-d510 total:289 pass:222 dwarn:1 dfail:0 fail:0 skip:66 time:574s fi-skl-6260u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:456s fi-skl-6600u total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:592s fi-skl-6700hq total:289 pass:263 dwarn:0 dfail:0 fail:0 skip:26 time:650s fi-skl-6700k total:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:519s fi-skl-6770hq total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:506s fi-snb-2520m total:289 pass:250 dwarn:0 dfail:0 fail:0 skip:39 time:578s fi-snb-2600 total:289 pass:249 dwarn:0 dfail:0 fail:0 skip:40 time:423s
fff06da054b4752eabf7d4103d30a281f8de96d9 drm-tip: 2017y-11m-01d-13h-47m-20s UTC integration manifest d0fc47b51594 drm/edid: make drm_edid_to_eld() static859c5e629962 drm/drivers: drop redundant drm_edid_to_eld() calls4a7493663f50 drm/edid: build ELD in drm_add_edid_modes()
570227488170 drm/edid: abstract connector ELD clearing6b35a9549f76 drm/i915: remove redundant ELD connector type update05735647b7dc drm/edid: set ELD connector type in drm_edid_to_eld()a13cd00cbf91 drm/edid: use macros for ELD offsets and values
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_6293/
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [PATCH 6/7] drm/drivers: drop redundant drm_edid_to_eld() calls
In reply to Jani NikulaQuoted 5 lines · Jani Nikula
drm_add_edid_modes()now fills in the ELD automatically, so the calls todrm_edid_to_eld()are redundant. Remove them.All the other places are obvious, but nv50 has detached
drm_edid_to_eld()from thedrm_add_edid_modes()call.
Nice! For vc4,
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Patchwork
CI✗ Fi.CI.BAT: warning for drm/edid and drivers: ELD refactoring
In reply to Jani Nikula== Series Details ==
== Series Details ==
Series: drm/edid and drivers: ELD refactoring
URL : https://patchwork.freedesktop.org/series/32979/
State : warning
== Summary ==
Series 32979v1 drm/edid and drivers: ELD refactoring
https://patchwork.freedesktop.org/api/1.0/series/32979/revisions/1/mbox/
Test chamelium:
Subgroup dp-crc-fast:
pass -> FAIL (fi-kbl-7500u) fdo#102514
Test gem_mmap_gtt:
Subgroup basic-write:
pass -> DMESG-WARN (fi-bsw-n3050)fdo#102514 https://bugs.freedesktop.org/show_bug.cgi?id=102514
fi-bdw-5557u total:289 pass:268 dwarn:0 dfail:0 fail:0 skip:21 time:443s fi-bdw-gvtdvm total:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:458s fi-blb-e6850 total:289 pass:223 dwarn:1 dfail:0 fail:0 skip:65 time:383s fi-bsw-n3050 total:289 pass:242 dwarn:1 dfail:0 fail:0 skip:46 time:537s fi-bwr-2160 total:289 pass:183 dwarn:0 dfail:0 fail:0 skip:106 time:276s fi-bxt-dsi total:289 pass:259 dwarn:0 dfail:0 fail:0 skip:30 time:507s fi-bxt-j4205 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:506s fi-byt-j1900 total:289 pass:253 dwarn:1 dfail:0 fail:0 skip:35 time:513s fi-byt-n2820 total:289 pass:249 dwarn:1 dfail:0 fail:0 skip:39 time:489s fi-cfl-s total:289 pass:253 dwarn:4 dfail:0 fail:0 skip:32 time:553s fi-cnl-y total:217 pass:196 dwarn:0 dfail:0 fail:0 skip:20 fi-elk-e7500 total:289 pass:229 dwarn:0 dfail:0 fail:0 skip:60 time:437s fi-gdg-551 total:289 pass:178 dwarn:1 dfail:0 fail:1 skip:109 time:264s fi-glk-1 total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:585s fi-glk-dsi total:289 pass:258 dwarn:0 dfail:0 fail:1 skip:30 time:488s fi-hsw-4770 total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:431s fi-hsw-4770r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:429s fi-ilk-650 total:289 pass:228 dwarn:0 dfail:0 fail:0 skip:61 time:427s fi-ivb-3520m total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:481s fi-ivb-3770 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:461s fi-kbl-7500u total:289 pass:263 dwarn:1 dfail:0 fail:1 skip:24 time:487s fi-kbl-7560u total:289 pass:270 dwarn:0 dfail:0 fail:0 skip:19 time:580s fi-kbl-7567u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:476s fi-kbl-r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:587s fi-pnv-d510 total:289 pass:222 dwarn:1 dfail:0 fail:0 skip:66 time:570s fi-skl-6260u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:458s fi-skl-6600u total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:594s fi-skl-6700hq total:289 pass:263 dwarn:0 dfail:0 fail:0 skip:26 time:650s fi-skl-6700k total:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:523s fi-skl-6770hq total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:505s fi-skl-gvtdvm total:289 pass:266 dwarn:0 dfail:0 fail:0 skip:23 time:458s fi-snb-2520m total:289 pass:250 dwarn:0 dfail:0 fail:0 skip:39 time:574s fi-snb-2600 total:289 pass:249 dwarn:0 dfail:0 fail:0 skip:40 time:422s
7da46c0a019ebaec3f67a8a6ccc60a56c2d521b1 drm-tip: 2017y-11m-01d-17h-32m-50s UTC integration manifest 32c180fa26d0 drm/edid: make drm_edid_to_eld() static66d925d9fff3 drm/drivers: drop redundant drm_edid_to_eld() calls2e92d04c3df3 drm/edid: build ELD in drm_add_edid_modes()44dd2571b79e drm/edid: abstract connector ELD clearing75d70d77cad2 drm/i915: remove redundant ELD connector type updatef4fff201d6dc drm/edid: set ELD connector type in drm_edid_to_eld()b8f8a0a3cdc6 drm/edid: use macros for ELD offsets and values
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_6299/
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Quoted 10 lines · Jani Nikula
We were recently bitten by
drm_edid_to_eld()clearing the connector type, and us failing to set it back for DP. Here's a few ELD related patches to try to unify ELD handling and make it a bit simpler for drivers to get it right.Apologies for the massive Cc list; it's the maintainers of all drivers that call
drm_edid_to_eld().I'm open to splitting up patch 6 to driver specific patches as needed, but I'd think it would be just fine to merge via drm-misc as-is too.
Nice! Series is:
Quoted 47 lines
BR,
Jani.Cc Alex Deucher <[email protected]>Cc Christian König <[email protected]>Cc Archit Taneja <[email protected]>Cc Andrzej Hajda <[email protected]>Cc Russell King <[email protected]>Cc CK Hu <[email protected]>Cc Philipp Zabel <[email protected]>Cc Ben Skeggs <[email protected]>Cc Mark Yao <[email protected]>Cc Benjamin Gaignard <[email protected]>Cc Vincent Abriou <[email protected]>Cc Thierry Reding <[email protected]>Cc Eric Anholt <[email protected]>Jani Nikula (7):
drm/edid: use macros for ELD offsets and values drm/edid: set ELD connector type indrm_edid_to_eld()drm/i915: remove redundant ELD connector type update drm/edid: abstract connector ELD clearing drm/edid: build ELD indrm_add_edid_modes()drm/drivers: drop redundantdrm_edid_to_eld()calls drm/edid: makedrm_edid_to_eld()staticdrivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c | 1 - drivers/gpu/drm/bridge/analogix-anx78xx.c | 2 - drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 2 - drivers/gpu/drm/drm_edid.c | 70 +++++++++++++++----------- drivers/gpu/drm/i2c/tda998x_drv.c | 1 - drivers/gpu/drm/i915/intel_dp.c | 1 - drivers/gpu/drm/i915/intel_modes.c | 18 ------- drivers/gpu/drm/mediatek/mtk_hdmi.c | 1 - drivers/gpu/drm/nouveau/nv50_display.c | 5 +- drivers/gpu/drm/radeon/radeon_connectors.c | 1 - drivers/gpu/drm/radeon/radeon_dp_mst.c | 1 - drivers/gpu/drm/rockchip/cdn-dp-core.c | 4 +- drivers/gpu/drm/sti/sti_hdmi.c | 1 - drivers/gpu/drm/tegra/output.c | 1 - drivers/gpu/drm/vc4/vc4_hdmi.c | 1 - include/drm/drm_edid.h | 1 - include/drm/drm_modeset_helper_vtables.h | 3 -- 17 files changed, 44 insertions(+), 70 deletions(-)
Quoted 7 lines
--
2.11.0_______________________________________________
dri-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [PATCH 6/7] drm/drivers: drop redundant drm_edid_to_eld() calls
In reply to Jani NikulaQuoted 5 lines · Jani Nikula
drm_add_edid_modes()now fills in the ELD automatically, so the calls todrm_edid_to_eld()are redundant. Remove them.All the other places are obvious, but nv50 has detached
drm_edid_to_eld()from thedrm_add_edid_modes()call.
For the bridge drivers:
Thanks,
Archit
Signature · 6 lines
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project _______________________________________________ Intel-gfx mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Quoted 48 lines · Jani Nikula
We were recently bitten by
drm_edid_to_eld()clearing the connector type, and us failing to set it back for DP. Here's a few ELD related patches to try to unify ELD handling and make it a bit simpler for drivers to get it right.Apologies for the massive Cc list; it's the maintainers of all drivers that call
drm_edid_to_eld().I'm open to splitting up patch 6 to driver specific patches as needed, but I'd think it would be just fine to merge via drm-misc as-is too.
BR,
Jani.Cc Alex Deucher <[email protected]>Cc Christian König <[email protected]>Cc Archit Taneja <[email protected]>Cc Andrzej Hajda <[email protected]>Cc Russell King <[email protected]>Cc CK Hu <[email protected]>Cc Philipp Zabel <[email protected]>Cc Ben Skeggs <[email protected]>Cc Mark Yao <[email protected]>Cc Benjamin Gaignard <[email protected]>Cc Vincent Abriou <[email protected]>Cc Thierry Reding <[email protected]>Cc Eric Anholt <[email protected]>Jani Nikula (7):
drm/edid: use macros for ELD offsets and values drm/edid: set ELD connector type indrm_edid_to_eld()drm/i915: remove redundant ELD connector type update drm/edid: abstract connector ELD clearing drm/edid: build ELD indrm_add_edid_modes()drm/drivers: drop redundantdrm_edid_to_eld()calls drm/edid: makedrm_edid_to_eld()staticdrivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c | 1 - drivers/gpu/drm/bridge/analogix-anx78xx.c | 2 - drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 2 - drivers/gpu/drm/drm_edid.c | 70 +++++++++++++++----------- drivers/gpu/drm/i2c/tda998x_drv.c | 1 - drivers/gpu/drm/i915/intel_dp.c | 1 - drivers/gpu/drm/i915/intel_modes.c | 18 ------- drivers/gpu/drm/mediatek/mtk_hdmi.c | 1 - drivers/gpu/drm/nouveau/nv50_display.c | 5 +- drivers/gpu/drm/radeon/radeon_connectors.c | 1 -
Quoted 8 lines
drivers/gpu/drm/radeon/radeon_dp_mst.c | 1 - drivers/gpu/drm/rockchip/cdn-dp-core.c | 4 +- drivers/gpu/drm/sti/sti_hdmi.c | 1 - drivers/gpu/drm/tegra/output.c | 1 - drivers/gpu/drm/vc4/vc4_hdmi.c | 1 - include/drm/drm_edid.h | 1 - include/drm/drm_modeset_helper_vtables.h | 3 -- 17 files changed, 44 insertions(+), 70 deletions(-)
The series:
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx