On Tue, 11 Oct 2022, Matthieu CHARETTE <matthieu.charette@xxxxxxxxx> wrote: > 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. Please elaborate. BR, Jani. > > Matthieu > > On Fri, Oct 7 2022 at 01:21:46 AM +0300, Jani Nikula > <jani.nikula@xxxxxxxxx> 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@xxxxxxxxx >> Cc: Matthieu CHARETTE <matthieu.charette@xxxxxxxxx> >> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> >> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> >> --- >> 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 >> > > -- Jani Nikula, Intel Open Source Graphics Center