Lines Matching +full:firmware +full:- +full:name
1 // SPDX-License-Identifier: GPL-2.0-or-later
3 drm_edid_load.c: use a built-in EDID data set or load it via the firmware
10 #include <linux/firmware.h>
24 "Do not probe monitor, use specified EDID blob from /lib/firmware instead.");
26 static const struct drm_edid *edid_load(struct drm_connector *connector, const char *name) in edid_load() argument
28 const struct firmware *fw = NULL; in edid_load()
32 err = request_firmware(&fw, name, connector->dev->dev); in edid_load()
34 drm_err(connector->dev, in edid_load()
35 "[CONNECTOR:%d:%s] Requesting EDID firmware \"%s\" failed (err=%d)\n", in edid_load()
36 connector->base.id, connector->name, in edid_load()
37 name, err); in edid_load()
41 drm_dbg_kms(connector->dev, "[CONNECTOR:%d:%s] Loaded external firmware EDID \"%s\"\n", in edid_load()
42 connector->base.id, connector->name, name); in edid_load()
44 drm_edid = drm_edid_alloc(fw->data, fw->size); in edid_load()
46 drm_err(connector->dev, "Invalid firmware EDID \"%s\"\n", name); in edid_load()
48 drm_edid = ERR_PTR(-EINVAL); in edid_load()
62 return ERR_PTR(-ENOENT); in drm_edid_load_firmware()
74 return ERR_PTR(-ENOMEM); in drm_edid_load_firmware()
80 if (strncmp(connector->name, edidname, colon - edidname)) in drm_edid_load_firmware()
93 return ERR_PTR(-ENOENT); in drm_edid_load_firmware()
98 last = edidname + strlen(edidname) - 1; in drm_edid_load_firmware()