From: Jani Nikula <jani.nikula@intel.com>
To: Daniel Vetter <daniel@ffwll.ch>
Cc: dri-devel@lists.freedesktop.org,
Alain Volmat <alain.volmat@foss.st.com>,
Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
Maxime Ripard <mripard@kernel.org>,
Thomas Zimmermann <tzimmermann@suse.de>
Subject: Re: [PATCH 02/11] drm/sti/sti_hdmi: convert to struct drm_edid
Date: Thu, 15 Aug 2024 15:55:30 +0300 [thread overview]
Message-ID: <87jzgix7wd.fsf@intel.com> (raw)
In-Reply-To: <Znk6y4_attY361en@phenom.ffwll.local>
On Mon, 24 Jun 2024, Daniel Vetter <daniel@ffwll.ch> wrote:
> On Tue, May 14, 2024 at 03:55:08PM +0300, Jani Nikula wrote:
>> Prefer the struct drm_edid based functions for reading the EDID and
>> updating the connector.
>>
>> The functional change is that the CEC physical address gets invalidated
>> when the EDID could not be read.
>>
>> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>>
>> ---
>>
>> Cc: Alain Volmat <alain.volmat@foss.st.com>
>> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
>> Cc: Maxime Ripard <mripard@kernel.org>
>> Cc: Thomas Zimmermann <tzimmermann@suse.de>
>> ---
>> drivers/gpu/drm/sti/sti_hdmi.c | 24 ++++++++++++++----------
>> 1 file changed, 14 insertions(+), 10 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/sti/sti_hdmi.c b/drivers/gpu/drm/sti/sti_hdmi.c
>> index 500936d5743c..3b62ec2d742f 100644
>> --- a/drivers/gpu/drm/sti/sti_hdmi.c
>> +++ b/drivers/gpu/drm/sti/sti_hdmi.c
>> @@ -974,28 +974,32 @@ static const struct drm_bridge_funcs sti_hdmi_bridge_funcs = {
>>
>> static int sti_hdmi_connector_get_modes(struct drm_connector *connector)
>> {
>> + const struct drm_display_info *info = &connector->display_info;
>> struct sti_hdmi_connector *hdmi_connector
>> = to_sti_hdmi_connector(connector);
>> struct sti_hdmi *hdmi = hdmi_connector->hdmi;
>> - struct edid *edid;
>> + const struct drm_edid *drm_edid;
>> int count;
>>
>> DRM_DEBUG_DRIVER("\n");
>>
>> - edid = drm_get_edid(connector, hdmi->ddc_adapt);
>> - if (!edid)
>> - goto fail;
>> + drm_edid = drm_edid_read_ddc(connector, hdmi->ddc_adapt);
>
> I think you can use drm_edid_read here since the ddc is correctly set up
> with drm_connector_init_with_ddc()
>
>> +
>> + drm_edid_connector_update(connector, drm_edid);
>>
>> - cec_notifier_set_phys_addr_from_edid(hdmi->notifier, edid);
>> + cec_notifier_set_phys_addr(hdmi->notifier,
>> + connector->display_info.source_physical_address);
>> +
>> + if (!drm_edid)
>> + goto fail;
>
> Unless I missed something, all the functions can cope with a NULL edid,
> but this jump means in the failure case you'll return stack garbage in
> count. Just drop this check?
Reviving an old thread... the goto fail path returns 0, not count.
BR,
Jani.
>
>>
>> - count = drm_add_edid_modes(connector, edid);
>> - drm_connector_update_edid_property(connector, edid);
>> + count = drm_edid_connector_add_modes(connector);
>>
>> DRM_DEBUG_KMS("%s : %dx%d cm\n",
>> - (connector->display_info.is_hdmi ? "hdmi monitor" : "dvi monitor"),
>> - edid->width_cm, edid->height_cm);
>> + info->is_hdmi ? "hdmi monitor" : "dvi monitor",
>> + info->width_mm / 10, info->height_mm / 10);
>>
>> - kfree(edid);
>> + drm_edid_free(drm_edid);
>> return count;
>
> With the two items addressed:
>
> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
>
>>
>> fail:
>> --
>> 2.39.2
>>
--
Jani Nikula, Intel
next prev parent reply other threads:[~2024-08-15 12:55 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-14 12:55 [PATCH 00/11] drm: conversions to struct drm_edid Jani Nikula
2024-05-14 12:55 ` [PATCH 01/11] drm/rockchip: cdn-dp: get rid of drm_edid_raw() Jani Nikula
2024-05-14 12:55 ` Jani Nikula
2024-05-14 12:55 ` Jani Nikula
2024-06-24 9:14 ` Daniel Vetter
2024-06-24 9:14 ` Daniel Vetter
2024-05-14 12:55 ` [PATCH 02/11] drm/sti/sti_hdmi: convert to struct drm_edid Jani Nikula
2024-06-24 9:22 ` Daniel Vetter
2024-08-15 12:55 ` Jani Nikula [this message]
2024-08-19 14:04 ` Daniel Vetter
2024-05-14 12:55 ` [PATCH 03/11] drm/bridge: analogix_dp: " Jani Nikula
2024-05-19 21:38 ` Dmitry Baryshkov
2024-05-14 12:55 ` [PATCH 04/11] drm/exynos: hdmi: " Jani Nikula
2024-05-14 12:55 ` Jani Nikula
2024-06-10 9:02 ` Inki Dae
2024-06-10 9:02 ` Inki Dae
2024-06-13 7:15 ` Jani Nikula
2024-05-14 12:55 ` [PATCH 05/11] drm/hisilicon/hibmc: " Jani Nikula
2024-05-14 13:07 ` Thomas Zimmermann
2024-05-15 12:34 ` Jani Nikula
2024-05-15 12:37 ` Thomas Zimmermann
2024-05-14 12:55 ` [PATCH 06/11] drm/loongson/7a1000: " Jani Nikula
2024-05-15 17:37 ` [06/11] " Sui Jingfeng
2024-05-14 12:55 ` [PATCH 07/11] drm/loongson/7a2000: " Jani Nikula
2024-05-15 17:41 ` [07/11] " Sui Jingfeng
2024-05-14 12:55 ` [PATCH 08/11] drm/msm/dp: switch " Jani Nikula
2024-05-19 9:01 ` Dmitry Baryshkov
2024-05-20 12:25 ` Jani Nikula
2024-05-20 12:33 ` Dmitry Baryshkov
2024-05-20 16:07 ` Doug Anderson
2024-05-30 12:45 ` Jani Nikula
2024-05-30 12:48 ` Dmitry Baryshkov
2024-05-14 12:55 ` [PATCH 09/11] drm/tegra: convert " Jani Nikula
2024-06-24 9:29 ` Daniel Vetter
2024-08-22 16:32 ` Jani Nikula
2024-08-27 16:38 ` Daniel Vetter
2024-05-14 12:55 ` [PATCH 10/11] drm/imx/tve: " Jani Nikula
2024-05-14 12:55 ` Jani Nikula
2024-05-19 21:35 ` Dmitry Baryshkov
2024-05-19 21:35 ` Dmitry Baryshkov
2024-05-20 13:06 ` Jani Nikula
2024-05-20 13:06 ` Jani Nikula
2024-05-14 12:55 ` [PATCH 11/11] drm/imx/ldb: " Jani Nikula
2024-05-14 12:55 ` Jani Nikula
2024-05-19 21:39 ` Dmitry Baryshkov
2024-05-19 21:39 ` Dmitry Baryshkov
2024-06-23 7:14 ` [PATCH 00/11] drm: conversions " Dmitry Baryshkov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87jzgix7wd.fsf@intel.com \
--to=jani.nikula@intel.com \
--cc=alain.volmat@foss.st.com \
--cc=daniel@ffwll.ch \
--cc=dri-devel@lists.freedesktop.org \
--cc=maarten.lankhorst@linux.intel.com \
--cc=mripard@kernel.org \
--cc=tzimmermann@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.