summaryrefslogtreecommitdiff
path: root/drivers/media/video/tegra/nvavp/nvavp_dev.c
diff options
context:
space:
mode:
authorIsaac Richards <irichards@nvidia.com>2011-12-07 15:44:19 -0500
committerVarun Wadekar <vwadekar@nvidia.com>2011-12-15 12:11:40 +0530
commita1da5c8e3428f4cda1d545c093e08d65fea20f9a (patch)
tree3e63d6d7e0b87e1bc4f682adfc91fb8df4a3c0ab /drivers/media/video/tegra/nvavp/nvavp_dev.c
parent2fb9e45814e4ef3db7407038977a42f93cb22e10 (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.c18
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);