Loading drivers/gpu/drm/nouveau/include/nvkm/core/firmware.h +1 −4 Original line number Original line Diff line number Diff line Loading @@ -4,10 +4,7 @@ #include <core/option.h> #include <core/option.h> #include <core/subdev.h> #include <core/subdev.h> int nvkm_firmware_get_version(const struct nvkm_subdev *, const char *fwname, int nvkm_firmware_get(const struct nvkm_subdev *, const char *fwname, int ver, int min_version, int max_version, const struct firmware **); int nvkm_firmware_get(const struct nvkm_subdev *, const char *fwname, const struct firmware **); const struct firmware **); void nvkm_firmware_put(const struct firmware *); void nvkm_firmware_put(const struct firmware *); Loading drivers/gpu/drm/nouveau/nvkm/core/firmware.c +12 −24 Original line number Original line Diff line number Diff line Loading @@ -30,7 +30,7 @@ nvkm_firmware_load_name(const struct nvkm_subdev *subdev, const char *base, int ret; int ret; snprintf(path, sizeof(path), "%s%s", base, name); snprintf(path, sizeof(path), "%s%s", base, name); ret = nvkm_firmware_get_version(subdev, path, ver, ver, pfw); ret = nvkm_firmware_get(subdev, path, ver, pfw); if (ret < 0) if (ret < 0) return ret; return ret; Loading Loading @@ -66,8 +66,7 @@ nvkm_firmware_load_blob(const struct nvkm_subdev *subdev, const char *base, * Firmware files released by NVIDIA will always follow this format. * Firmware files released by NVIDIA will always follow this format. */ */ int int nvkm_firmware_get_version(const struct nvkm_subdev *subdev, const char *fwname, nvkm_firmware_get(const struct nvkm_subdev *subdev, const char *fwname, int ver, int min_version, int max_version, const struct firmware **fw) const struct firmware **fw) { { struct nvkm_device *device = subdev->device; struct nvkm_device *device = subdev->device; Loading @@ -84,32 +83,21 @@ nvkm_firmware_get_version(const struct nvkm_subdev *subdev, const char *fwname, cname[i] = tolower(cname[i]); cname[i] = tolower(cname[i]); } } for (i = max_version; i >= min_version; i--) { if (ver != 0) if (i != 0) snprintf(f, sizeof(f), "nvidia/%s/%s-%d.bin", cname, fwname, ver); snprintf(f, sizeof(f), "nvidia/%s/%s-%d.bin", cname, fwname, i); else else snprintf(f, sizeof(f), "nvidia/%s/%s.bin", cname, fwname); snprintf(f, sizeof(f), "nvidia/%s/%s.bin", cname, fwname); if (!firmware_request_nowarn(fw, f, device->dev)) { if (!firmware_request_nowarn(fw, f, device->dev)) { nvkm_debug(subdev, "firmware \"%s\" loaded - " nvkm_debug(subdev, "firmware \"%s\" loaded - %zu byte(s)\n", "%zu byte(s)\n", f, (*fw)->size); f, (*fw)->size); return i; return 0; } } nvkm_debug(subdev, "firmware \"%s\" unavailable\n", f); nvkm_debug(subdev, "firmware \"%s\" unavailable\n", f); } nvkm_error(subdev, "failed to load firmware \"%s\"\n", fwname); return -ENOENT; return -ENOENT; } } int nvkm_firmware_get(const struct nvkm_subdev *subdev, const char *fwname, const struct firmware **fw) { return nvkm_firmware_get_version(subdev, fwname, 0, 0, fw); } /** /** * nvkm_firmware_put - release firmware loaded with nvkm_firmware_get * nvkm_firmware_put - release firmware loaded with nvkm_firmware_get */ */ Loading drivers/gpu/drm/nouveau/nvkm/subdev/acr/base.c +1 −2 Original line number Original line Diff line number Diff line Loading @@ -357,8 +357,7 @@ nvkm_acr_ctor_wpr(struct nvkm_acr *acr, int ver) struct nvkm_device *device = subdev->device; struct nvkm_device *device = subdev->device; int ret; int ret; ret = nvkm_firmware_get_version(subdev, "acr/wpr", ver, ver, ret = nvkm_firmware_get(subdev, "acr/wpr", ver, &acr->wpr_fw); &acr->wpr_fw); if (ret < 0) if (ret < 0) return ret; return ret; Loading drivers/gpu/drm/nouveau/nvkm/subdev/acr/hsfw.c +2 −2 Original line number Original line Diff line number Diff line Loading @@ -58,7 +58,7 @@ nvkm_acr_hsfw_load_image(struct nvkm_acr *acr, const char *name, int ver, u32 loc, sig; u32 loc, sig; int ret; int ret; ret = nvkm_firmware_get_version(subdev, name, ver, ver, &fw); ret = nvkm_firmware_get(subdev, name, ver, &fw); if (ret < 0) if (ret < 0) return ret; return ret; Loading Loading @@ -136,7 +136,7 @@ nvkm_acr_hsfw_load_bl(struct nvkm_acr *acr, const char *name, int ver, u8 *data; u8 *data; int ret; int ret; ret = nvkm_firmware_get_version(subdev, name, ver, ver, &fw); ret = nvkm_firmware_get(subdev, name, ver, &fw); if (ret) if (ret) return ret; return ret; Loading Loading
drivers/gpu/drm/nouveau/include/nvkm/core/firmware.h +1 −4 Original line number Original line Diff line number Diff line Loading @@ -4,10 +4,7 @@ #include <core/option.h> #include <core/option.h> #include <core/subdev.h> #include <core/subdev.h> int nvkm_firmware_get_version(const struct nvkm_subdev *, const char *fwname, int nvkm_firmware_get(const struct nvkm_subdev *, const char *fwname, int ver, int min_version, int max_version, const struct firmware **); int nvkm_firmware_get(const struct nvkm_subdev *, const char *fwname, const struct firmware **); const struct firmware **); void nvkm_firmware_put(const struct firmware *); void nvkm_firmware_put(const struct firmware *); Loading
drivers/gpu/drm/nouveau/nvkm/core/firmware.c +12 −24 Original line number Original line Diff line number Diff line Loading @@ -30,7 +30,7 @@ nvkm_firmware_load_name(const struct nvkm_subdev *subdev, const char *base, int ret; int ret; snprintf(path, sizeof(path), "%s%s", base, name); snprintf(path, sizeof(path), "%s%s", base, name); ret = nvkm_firmware_get_version(subdev, path, ver, ver, pfw); ret = nvkm_firmware_get(subdev, path, ver, pfw); if (ret < 0) if (ret < 0) return ret; return ret; Loading Loading @@ -66,8 +66,7 @@ nvkm_firmware_load_blob(const struct nvkm_subdev *subdev, const char *base, * Firmware files released by NVIDIA will always follow this format. * Firmware files released by NVIDIA will always follow this format. */ */ int int nvkm_firmware_get_version(const struct nvkm_subdev *subdev, const char *fwname, nvkm_firmware_get(const struct nvkm_subdev *subdev, const char *fwname, int ver, int min_version, int max_version, const struct firmware **fw) const struct firmware **fw) { { struct nvkm_device *device = subdev->device; struct nvkm_device *device = subdev->device; Loading @@ -84,32 +83,21 @@ nvkm_firmware_get_version(const struct nvkm_subdev *subdev, const char *fwname, cname[i] = tolower(cname[i]); cname[i] = tolower(cname[i]); } } for (i = max_version; i >= min_version; i--) { if (ver != 0) if (i != 0) snprintf(f, sizeof(f), "nvidia/%s/%s-%d.bin", cname, fwname, ver); snprintf(f, sizeof(f), "nvidia/%s/%s-%d.bin", cname, fwname, i); else else snprintf(f, sizeof(f), "nvidia/%s/%s.bin", cname, fwname); snprintf(f, sizeof(f), "nvidia/%s/%s.bin", cname, fwname); if (!firmware_request_nowarn(fw, f, device->dev)) { if (!firmware_request_nowarn(fw, f, device->dev)) { nvkm_debug(subdev, "firmware \"%s\" loaded - " nvkm_debug(subdev, "firmware \"%s\" loaded - %zu byte(s)\n", "%zu byte(s)\n", f, (*fw)->size); f, (*fw)->size); return i; return 0; } } nvkm_debug(subdev, "firmware \"%s\" unavailable\n", f); nvkm_debug(subdev, "firmware \"%s\" unavailable\n", f); } nvkm_error(subdev, "failed to load firmware \"%s\"\n", fwname); return -ENOENT; return -ENOENT; } } int nvkm_firmware_get(const struct nvkm_subdev *subdev, const char *fwname, const struct firmware **fw) { return nvkm_firmware_get_version(subdev, fwname, 0, 0, fw); } /** /** * nvkm_firmware_put - release firmware loaded with nvkm_firmware_get * nvkm_firmware_put - release firmware loaded with nvkm_firmware_get */ */ Loading
drivers/gpu/drm/nouveau/nvkm/subdev/acr/base.c +1 −2 Original line number Original line Diff line number Diff line Loading @@ -357,8 +357,7 @@ nvkm_acr_ctor_wpr(struct nvkm_acr *acr, int ver) struct nvkm_device *device = subdev->device; struct nvkm_device *device = subdev->device; int ret; int ret; ret = nvkm_firmware_get_version(subdev, "acr/wpr", ver, ver, ret = nvkm_firmware_get(subdev, "acr/wpr", ver, &acr->wpr_fw); &acr->wpr_fw); if (ret < 0) if (ret < 0) return ret; return ret; Loading
drivers/gpu/drm/nouveau/nvkm/subdev/acr/hsfw.c +2 −2 Original line number Original line Diff line number Diff line Loading @@ -58,7 +58,7 @@ nvkm_acr_hsfw_load_image(struct nvkm_acr *acr, const char *name, int ver, u32 loc, sig; u32 loc, sig; int ret; int ret; ret = nvkm_firmware_get_version(subdev, name, ver, ver, &fw); ret = nvkm_firmware_get(subdev, name, ver, &fw); if (ret < 0) if (ret < 0) return ret; return ret; Loading Loading @@ -136,7 +136,7 @@ nvkm_acr_hsfw_load_bl(struct nvkm_acr *acr, const char *name, int ver, u8 *data; u8 *data; int ret; int ret; ret = nvkm_firmware_get_version(subdev, name, ver, ver, &fw); ret = nvkm_firmware_get(subdev, name, ver, &fw); if (ret) if (ret) return ret; return ret; Loading