diff options
author | Isaac Richards <irichards@nvidia.com> | 2011-12-07 15:44:19 -0500 |
---|---|---|
committer | Varun Wadekar <vwadekar@nvidia.com> | 2011-12-15 12:11:40 +0530 |
commit | a1da5c8e3428f4cda1d545c093e08d65fea20f9a (patch) | |
tree | 3e63d6d7e0b87e1bc4f682adfc91fb8df4a3c0ab /drivers/media/video/tegra/nvavp/nvavp_dev.c | |
parent | 2fb9e45814e4ef3db7407038977a42f93cb22e10 (diff) |
nvavp: vid ucode firmware file fallback
If loading the normal video ucode file fails, try an alternative.
Bug 912656
Change-Id: I5de9af222e46dcec21f821e78ea115800cbf4805
Signed-off-by: Isaac Richards <irichards@nvidia.com>
Reviewed-on: http://git-master/r/68755
Reviewed-by: Gajanan Bhat <gbhat@nvidia.com>
Reviewed-by: Mohan Nimaje <mnimaje@nvidia.com>
Reviewed-by: Mandar Potdar <mpotdar@nvidia.com>
Reviewed-by: Dan Willemsen <dwillemsen@nvidia.com>
Diffstat (limited to 'drivers/media/video/tegra/nvavp/nvavp_dev.c')
-rw-r--r-- | drivers/media/video/tegra/nvavp/nvavp_dev.c | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/drivers/media/video/tegra/nvavp/nvavp_dev.c b/drivers/media/video/tegra/nvavp/nvavp_dev.c index 03107164d114..87f9b9d302f4 100644 --- a/drivers/media/video/tegra/nvavp/nvavp_dev.c +++ b/drivers/media/video/tegra/nvavp/nvavp_dev.c @@ -521,11 +521,21 @@ static int nvavp_load_ucode(struct nvavp_info *nvavp) ret = request_firmware(&nvavp_ucode_fw, fw_ucode_file, nvavp->misc_dev.this_device); if (ret) { - dev_err(&nvavp->nvhost_dev->dev, - "cannot read ucode firmware '%s'\n", - fw_ucode_file); - goto err_req_ucode; + /* Try alternative version */ + sprintf(fw_ucode_file, "nvavp_vid_ucode_alt.bin"); + + ret = request_firmware(&nvavp_ucode_fw, + fw_ucode_file, + nvavp->misc_dev.this_device); + + if (ret) { + dev_err(&nvavp->nvhost_dev->dev, + "cannot read ucode firmware '%s'\n", + fw_ucode_file); + goto err_req_ucode; + } } + dev_info(&nvavp->nvhost_dev->dev, "read ucode firmware from '%s' (%d bytes)\n", fw_ucode_file, nvavp_ucode_fw->size); |