[PATCH] drm/edid/firmware: stop using throwaway platform device
Matthieu CHARETTE
matthieu.charette at gmail.com
Tue Oct 11 06:27:16 UTC 2022
It should fix the issue. Meanwhile, the system will still crash if a
new monitor is plugged while the machine is suspended. We might need to
precache the EDID to prevent that.
Matthieu
On Fri, Oct 7 2022 at 01:21:46 AM +0300, Jani Nikula
<jani.nikula at intel.com> wrote:
> We've used a temporary platform device for firmware EDID loading since
> it was introduced in commit da0df92b5731 ("drm: allow loading an EDID
> as
> firmware to override broken monitor"), but there's no explanation why.
>
> Do we need to?
>
> Maybe this fixes the suspend/resume issue?
>
> (Yes, I'll rewrite the commit message if this is the way to go ;)
>
> References:
> https://lore.kernel.org/r/20220727074152.43059-1-matthieu.charette@gmail.com
> Cc: Matthieu CHARETTE <matthieu.charette at gmail.com>
> Cc: Ville Syrjälä <ville.syrjala at linux.intel.com>
> Signed-off-by: Jani Nikula <jani.nikula at intel.com>
> ---
> drivers/gpu/drm/drm_edid_load.c | 11 +----------
> 1 file changed, 1 insertion(+), 10 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_edid_load.c
> b/drivers/gpu/drm/drm_edid_load.c
> index 37d8ba3ddb46..fbae12130234 100644
> --- a/drivers/gpu/drm/drm_edid_load.c
> +++ b/drivers/gpu/drm/drm_edid_load.c
> @@ -182,18 +182,9 @@ static void *edid_load(struct drm_connector
> *connector, const char *name,
> fwdata = generic_edid[builtin];
> fwsize = sizeof(generic_edid[builtin]);
> } else {
> - struct platform_device *pdev;
> int err;
>
> - pdev = platform_device_register_simple(connector_name, -1, NULL,
> 0);
> - if (IS_ERR(pdev)) {
> - DRM_ERROR("Failed to register EDID firmware platform device "
> - "for connector \"%s\"\n", connector_name);
> - return ERR_CAST(pdev);
> - }
> -
> - err = request_firmware(&fw, name, &pdev->dev);
> - platform_device_unregister(pdev);
> + err = request_firmware(&fw, name, connector->dev->dev);
> if (err) {
> DRM_ERROR("Requesting EDID firmware \"%s\" failed (err=%d)\n",
> name, err);
> --
> 2.34.1
>
More information about the dri-devel
mailing list