From feb7dabc19e4a6ace41cf8b21e6ec889b0673854 Mon Sep 17 00:00:00 2001 From: Akshay Chandrashekhar Kalghatgi Date: Mon, 2 Mar 2020 13:16:25 -0800 Subject: [PATCH] msm: vidc: Get FW name from DT Get Video FW ELF image name from driver's DT entry. Change-Id: I95320f2b1bdf9ba9e8bb6264babc33c162da60e0 Signed-off-by: Akshay Chandrashekhar Kalghatgi --- msm/vidc/msm_vidc_res_parse.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/msm/vidc/msm_vidc_res_parse.c b/msm/vidc/msm_vidc_res_parse.c index 27fe80f5b9d3..95cf123ac8b1 100644 --- a/msm/vidc/msm_vidc_res_parse.c +++ b/msm/vidc/msm_vidc_res_parse.c @@ -117,6 +117,14 @@ void msm_vidc_free_platform_resources( msm_vidc_free_buffer_usage_table(res); } +static int msm_vidc_load_fw_name(struct msm_vidc_platform_resources *res) +{ + struct platform_device *pdev = res->pdev; + + return of_property_read_string_index(pdev->dev.of_node, + "vidc,firmware-name", 0, &res->fw_name); +} + static int msm_vidc_load_reg_table(struct msm_vidc_platform_resources *res) { struct reg_set *reg_set; @@ -734,10 +742,6 @@ int read_platform_resources_from_drv_data( res->sku_version = platform_data->sku_version; - res->fw_name = "venus"; - - d_vpr_h("Firmware filename: %s\n", res->fw_name); - res->max_load = find_key_value(platform_data, "qcom,max-hw-load"); @@ -836,6 +840,11 @@ int read_platform_resources_from_dt( kres = platform_get_resource(pdev, IORESOURCE_IRQ, 0); res->irq = kres ? kres->start : -1; + rc = msm_vidc_load_fw_name(res); + if (rc) + d_vpr_e("%s: failed to load fw name, rc %d, using default fw\n", + __func__, rc); + rc = msm_vidc_load_subcache_info(res); if (rc) d_vpr_e("Failed to load subcache info: %d\n", rc);