mirror of
git://nv-tegra.nvidia.com/linux-nv-oot.git
synced 2025-12-25 10:42:21 +03:00
video: tegra: host: dla: disable GOS
GOS is not working with kernel 4.14 and is hence disabled until GOS issue is fixed. Bug 200497310 Change-Id: Ie14bfa92e8af659f2192bf4f8f9b488013bbcc64 Signed-off-by: Shridhar Rasal <srasal@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/2030013 Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com> Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Prashant Gaikwad <pgaikwad@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Tested-by: Bharat Nihalani <bnihalani@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
committed by
Laxman Dewangan
parent
55902dfb1e
commit
e9ecc84ce2
@@ -647,13 +647,9 @@ int nvhost_nvdla_finalize_poweron(struct platform_device *pdev)
|
||||
goto fail_to_alloc_trace;
|
||||
}
|
||||
|
||||
nvdla_dev->is_gos_enabled = true;
|
||||
ret = nvdla_send_gos_region(pdev);
|
||||
if (ret) {
|
||||
nvdla_dbg_err(pdev, "set gos region is failed\n");
|
||||
nvdla_dev->is_gos_enabled = false;
|
||||
/* ignore send gos region failure */
|
||||
}
|
||||
/* Disable GOS until it is fixed in Kernel 4.14 */
|
||||
nvdla_dev->is_gos_enabled = false;
|
||||
nvdla_dev->is_gos_fetched = true;
|
||||
|
||||
if (nvdla_dev->quirks & NVDLA_QUIRK_T194_A01_WAR) {
|
||||
host1x_writel(pdev,
|
||||
|
||||
@@ -503,8 +503,7 @@ fail_to_pin_mem:
|
||||
return err;
|
||||
}
|
||||
|
||||
static int nvdla_get_gos(struct platform_device *pdev, u32 syncpt_id,
|
||||
u32 *gos_id, u32 *gos_offset)
|
||||
static int nvdla_update_gos(struct platform_device *pdev)
|
||||
{
|
||||
struct nvhost_device_data *pdata = platform_get_drvdata(pdev);
|
||||
struct nvdla_device *nvdla_dev = pdata->private_data;
|
||||
@@ -538,8 +537,20 @@ static int nvdla_get_gos(struct platform_device *pdev, u32 syncpt_id,
|
||||
nvhost_module_idle(pdev);
|
||||
}
|
||||
|
||||
fail_to_send_gos:
|
||||
fail_to_poweron:
|
||||
return err;
|
||||
}
|
||||
|
||||
static int nvdla_get_gos(struct platform_device *pdev, u32 syncpt_id,
|
||||
u32 *gos_id, u32 *gos_offset)
|
||||
{
|
||||
struct nvhost_device_data *pdata = platform_get_drvdata(pdev);
|
||||
struct nvdla_device *nvdla_dev = pdata->private_data;
|
||||
int err = 0;
|
||||
|
||||
if (!nvdla_dev->is_gos_enabled) {
|
||||
nvdla_dbg_err(pdev, "GoS is not enabled\n");
|
||||
nvdla_dbg_info(pdev, "GoS is not enabled\n");
|
||||
err = -EINVAL;
|
||||
goto gos_disabled;
|
||||
}
|
||||
@@ -551,8 +562,6 @@ static int nvdla_get_gos(struct platform_device *pdev, u32 syncpt_id,
|
||||
}
|
||||
|
||||
gos_disabled:
|
||||
fail_to_send_gos:
|
||||
fail_to_poweron:
|
||||
return err;
|
||||
}
|
||||
|
||||
@@ -971,6 +980,8 @@ int nvdla_fill_task_desc(struct nvdla_task *task)
|
||||
task_desc->postactions = task_desc->preactions +
|
||||
sizeof(struct dla_action_list);
|
||||
|
||||
nvdla_update_gos(pdev);
|
||||
|
||||
/* fill pre actions */
|
||||
nvdla_fill_preactions(task);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user