Displaying 6 results from an estimated 6 matches for "legacy_fwname".
2016 Nov 02
3
[PATCH] gr: fallback to legacy paths during firmware lookup
...+ release_firmware(fw);
+ return (fuc->data != NULL) ? 0 : -ENOMEM;
+}
+
+int
gf100_gr_ctor_fw(struct gf100_gr *gr, const char *fwname,
struct gf100_gr_fuc *fuc)
{
struct nvkm_subdev *subdev = &gr->base.engine.subdev;
struct nvkm_device *device = subdev->device;
+ const char *legacy_fwname = NULL;
const struct firmware *fw;
int ret;
ret = nvkm_firmware_get(device, fwname, &fw);
- if (ret) {
+ /* firmware found, success! */
+ if (!ret) {
+ fuc->size = fw->size;
+ fuc->data = kmemdup(fw->data, fuc->size, GFP_KERNEL);
+ nvkm_firmware_put(fw);
+ return (fuc...
2016 Nov 02
2
[PATCH] gr: fallback to legacy paths during firmware lookup
...> gf100_gr_ctor_fw(struct gf100_gr *gr, const char *fwname,
>> struct gf100_gr_fuc *fuc)
>> {
>> struct nvkm_subdev *subdev = &gr->base.engine.subdev;
>> struct nvkm_device *device = subdev->device;
>> + const char *legacy_fwname = NULL;
>> const struct firmware *fw;
>> int ret;
>>
>> ret = nvkm_firmware_get(device, fwname, &fw);
>> - if (ret) {
>> + /* firmware found, success! */
>> + if (!ret) {
>> + fuc->size =...
2016 Nov 02
0
[PATCH] gr: fallback to legacy paths during firmware lookup
...+}
> +
> +int
> gf100_gr_ctor_fw(struct gf100_gr *gr, const char *fwname,
> struct gf100_gr_fuc *fuc)
> {
> struct nvkm_subdev *subdev = &gr->base.engine.subdev;
> struct nvkm_device *device = subdev->device;
> + const char *legacy_fwname = NULL;
> const struct firmware *fw;
> int ret;
>
> ret = nvkm_firmware_get(device, fwname, &fw);
> - if (ret) {
> + /* firmware found, success! */
> + if (!ret) {
> + fuc->size = fw->size;
> +...
2016 Nov 03
0
[PATCH] gr: fallback to legacy paths during firmware lookup
...fw(struct gf100_gr *gr, const char *fwname,
>>> struct gf100_gr_fuc *fuc)
>>> {
>>> struct nvkm_subdev *subdev = &gr->base.engine.subdev;
>>> struct nvkm_device *device = subdev->device;
>>> + const char *legacy_fwname = NULL;
>>> const struct firmware *fw;
>>> int ret;
>>>
>>> ret = nvkm_firmware_get(device, fwname, &fw);
>>> - if (ret) {
>>> + /* firmware found, success! */
>>> + if (!ret) {
>>>...
2016 Nov 04
2
[PATCH v2] gr: fallback to legacy paths during firmware lookup
Look for firmware files using the legacy ("nouveau/nvxx_fucxxxx") path
if they cannot be found in the new, "official" path. User setups were
broken by the switch, which is bad.
There are only 4 firmware files we may want to look up that way, so
hardcode them into the lookup function. All new firmware files should
use the standard "nvidia/<chip>/gr/" path.
2016 Nov 05
0
[PATCH v2] gr: fallback to legacy paths during firmware lookup
...e if (!strcmp(fwname, "gpccs_data"))
> + fwname = "fuc41ad";
> + else
> + fwname = NULL;
> +
> + /* nope, let's just return the error we got */
> + if (!fwname) {
> + nvkm_error(subdev, "failed to load %s\n", fwname);
Due to the rename from legacy_fwname -> fwname, this can be NULL.
What about replacing the else branch above by this block?
Kind regards,
Peter
> + return ret;
> + }
> +
> + /* yes, try to load from the legacy path */
> + nvkm_debug(subdev, "%s: falling back to legacy path\n", fwname);
> +
> + snpr...