From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1D80FC433F5 for ; Fri, 15 Oct 2021 12:45:05 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 043126109E for ; Fri, 15 Oct 2021 12:45:04 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235475AbhJOMrK (ORCPT ); Fri, 15 Oct 2021 08:47:10 -0400 Received: from mga01.intel.com ([192.55.52.88]:41532 "EHLO mga01.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229741AbhJOMrJ (ORCPT ); Fri, 15 Oct 2021 08:47:09 -0400 X-IronPort-AV: E=McAfee;i="6200,9189,10137"; a="251352133" X-IronPort-AV: E=Sophos;i="5.85,375,1624345200"; d="scan'208";a="251352133" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Oct 2021 05:45:03 -0700 X-IronPort-AV: E=Sophos;i="5.85,375,1624345200"; d="scan'208";a="492541558" Received: from tzahur-mobl.ger.corp.intel.com (HELO localhost) ([10.251.211.201]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Oct 2021 05:44:51 -0700 From: Jani Nikula To: Claudio Suarez , dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, linux-tegra@vger.kernel.org, intel-gfx@lists.freedesktop.org, David Airlie , Daniel Vetter , Laurent Pinchart , Joonas Lahtinen , Rodrigo Vivi , Alex Deucher , Christian =?utf-8?Q?K=C3=B6nig?= , Pan Xinhui , Emma Anholt , Maxime Ripard , Thierry Reding , Patrik Jakobsson , Jingoo Han , Rob Clark , Sean Paul , linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, Chen-Yu Tsai , Benjamin Gaignard , Sandy Huang , heiko@sntech.de, Andrzej Hajda , Neil Armstrong , Robert Foss , Ben Skeggs , nouveau@lists.freedesktop.org Cc: Claudio Suarez Subject: Re: [PATCH 15/15] drm/i915: replace drm_detect_hdmi_monitor() with drm_display_info.is_hdmi In-Reply-To: <20211015113713.630119-16-cssk@net-c.es> Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo References: <20211015113713.630119-1-cssk@net-c.es> <20211015113713.630119-16-cssk@net-c.es> Date: Fri, 15 Oct 2021 15:44:48 +0300 Message-ID: <87a6jav4n3.fsf@intel.com> MIME-Version: 1.0 Content-Type: text/plain Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org On Fri, 15 Oct 2021, Claudio Suarez wrote: > Once EDID is parsed, the monitor HDMI support information is available > through drm_display_info.is_hdmi. Retriving the same information with > drm_detect_hdmi_monitor() is less efficient. Change to > drm_display_info.is_hdmi where possible. > > This is a TODO task in Documentation/gpu/todo.rst > > Signed-off-by: Claudio Suarez > --- > drivers/gpu/drm/i915/display/intel_connector.c | 5 +++++ > drivers/gpu/drm/i915/display/intel_connector.h | 1 + > drivers/gpu/drm/i915/display/intel_hdmi.c | 2 +- > drivers/gpu/drm/i915/display/intel_sdvo.c | 3 ++- > 4 files changed, 9 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_connector.c b/drivers/gpu/drm/i915/display/intel_connector.c > index 9bed1ccecea0..3346b55df6e1 100644 > --- a/drivers/gpu/drm/i915/display/intel_connector.c > +++ b/drivers/gpu/drm/i915/display/intel_connector.c > @@ -213,6 +213,11 @@ int intel_ddc_get_modes(struct drm_connector *connector, > return ret; > } > > +bool intel_connector_is_hdmi_monitor(struct drm_connector *connector) > +{ > + return connector->display_info.is_hdmi; > +} > + A helper like this belongs in drm, not i915. Seems useful in other drivers too. BR, Jani. > static const struct drm_prop_enum_list force_audio_names[] = { > { HDMI_AUDIO_OFF_DVI, "force-dvi" }, > { HDMI_AUDIO_OFF, "off" }, > diff --git a/drivers/gpu/drm/i915/display/intel_connector.h b/drivers/gpu/drm/i915/display/intel_connector.h > index 661a37a3c6d8..ceda6e72ece6 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); > +bool intel_connector_is_hdmi_monitor(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_hdmi.c b/drivers/gpu/drm/i915/display/intel_hdmi.c > index b04685bb6439..2b1d7c5bebdd 100644 > --- a/drivers/gpu/drm/i915/display/intel_hdmi.c > +++ b/drivers/gpu/drm/i915/display/intel_hdmi.c > @@ -2355,7 +2355,7 @@ intel_hdmi_set_edid(struct drm_connector *connector) > to_intel_connector(connector)->detect_edid = edid; > if (edid && edid->input & DRM_EDID_INPUT_DIGITAL) { > intel_hdmi->has_audio = drm_detect_monitor_audio(edid); > - intel_hdmi->has_hdmi_sink = drm_detect_hdmi_monitor(edid); > + intel_hdmi->has_hdmi_sink = intel_connector_is_hdmi_monitor(connector); > > connected = true; > } > diff --git a/drivers/gpu/drm/i915/display/intel_sdvo.c b/drivers/gpu/drm/i915/display/intel_sdvo.c > index 6cb27599ea03..a32279e4fee8 100644 > --- a/drivers/gpu/drm/i915/display/intel_sdvo.c > +++ b/drivers/gpu/drm/i915/display/intel_sdvo.c > @@ -2060,8 +2060,9 @@ intel_sdvo_tmds_sink_detect(struct drm_connector *connector) > if (edid->input & DRM_EDID_INPUT_DIGITAL) { > status = connector_status_connected; > if (intel_sdvo_connector->is_hdmi) { > - intel_sdvo->has_hdmi_monitor = drm_detect_hdmi_monitor(edid); > intel_sdvo->has_hdmi_audio = drm_detect_monitor_audio(edid); > + intel_sdvo->has_hdmi_monitor = > + intel_connector_is_hdmi_monitor(connector); > } > } else > status = connector_status_disconnected; -- Jani Nikula, Intel Open Source Graphics Center