video: tegra: host: Update serialize flags
Arto Merilainen [Fri, 15 Jan 2016 10:41:37 +0000 (12:41 +0200)]
Currently some of the units using RESOURCE_PER_CHANNEL_INSTANCE
policy do not have .serialize flag set. As a result our recovery
cannot identify which channel is using the engine at the point
when failure occurs.

This patch enables serialization to ensure that the modules get
reset properly after failure.

Bug 1717101

Change-Id: Iee1a6c8919bb6a3c6bff3b3e2b613b62d030b16d
Signed-off-by: Arto Merilainen <amerilainen@nvidia.com>
Reviewed-on: http://git-master/r/933140
(cherry picked from commit fec1e971b6307c46a443934f51b3e98627ba5cf1)
Reviewed-on: http://git-master/r/999205
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Vinayak Pane <vpane@nvidia.com>
Tested-by: Vinayak Pane <vpane@nvidia.com>

drivers/video/tegra/host/t124/t124.c
drivers/video/tegra/host/t210/t210.c

index c9ead30..8aa75d9 100644 (file)
@@ -3,7 +3,7 @@
  *
  * Tegra Graphics Init for T124 Architecture Chips
  *
- * Copyright (c) 2011-2015, NVIDIA CORPORATION. All rights reserved.
+ * Copyright (c) 2011-2016, NVIDIA CORPORATION. All rights reserved.
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms and conditions of the GNU General Public License,
@@ -281,6 +281,7 @@ struct nvhost_device_data t124_msenc_info = {
        .actmon_enabled = true,
        .firmware_name  = "nvhost_msenc031.fw",
        .resource_policy = RESOURCE_PER_CHANNEL_INSTANCE,
+       .serialize      = true,
 };
 
 static struct platform_device tegra_msenc03_device = {
@@ -321,6 +322,7 @@ struct nvhost_device_data t124_tsec_info = {
        .finalize_poweron = nvhost_tsec_finalize_poweron,
        .prepare_poweroff = nvhost_tsec_prepare_poweroff,
        .resource_policy  = RESOURCE_PER_CHANNEL_INSTANCE,
+       .serialize        = true,
 };
 
 static struct platform_device tegra_tsec01_device = {
@@ -380,6 +382,7 @@ struct nvhost_device_data t124_vic_info = {
        .aggregate_constraints  = nvhost_vic_aggregate_constraints,
        .num_ppc                = 2,
        .resource_policy        = RESOURCE_PER_CHANNEL_INSTANCE,
+       .serialize              = true,
 };
 
 static struct platform_device tegra_vic03_device = {
@@ -414,6 +417,7 @@ static struct nvhost_device_data t132_msenc_info = {
        .finalize_poweron = nvhost_flcn_finalize_poweron,
        .firmware_name  = "nvhost_msenc031.fw",
        .resource_policy = RESOURCE_PER_CHANNEL_INSTANCE,
+       .serialize      = true,
 };
 
 static struct {
index 9814043..bc2c94b 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Tegra Graphics Init for T210 Architecture Chips
  *
- * Copyright (c) 2011-2015, NVIDIA Corporation.  All rights reserved.
+ * Copyright (c) 2011-2016, NVIDIA Corporation.  All rights reserved.
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms and conditions of the GNU General Public License,
@@ -202,6 +202,7 @@ struct nvhost_device_data t21_msenc_info = {
        .actmon_enabled         = true,
        .firmware_name          = "nvhost_nvenc050.fw",
        .resource_policy        = RESOURCE_PER_CHANNEL_INSTANCE,
+       .serialize              = true,
        .bond_out_id            = BOND_OUT_NVENC
 };
 
@@ -237,6 +238,7 @@ struct nvhost_device_data t21_nvdec_info = {
        .borps_val              = 0x2008,
        .actmon_enabled         = true,
        .resource_policy        = RESOURCE_PER_CHANNEL_INSTANCE,
+       .serialize              = true,
        .bond_out_id            = BOND_OUT_NVDEC,
 };
 
@@ -271,6 +273,7 @@ struct nvhost_device_data t21_nvjpg_info = {
        .actmon_enabled         = true,
        .bond_out_id            = BOND_OUT_NVJPG,
        .resource_policy        = RESOURCE_PER_CHANNEL_INSTANCE,
+       .serialize              = true,
        .firmware_name          = "nvhost_nvjpg010.fw",
 };
 
@@ -295,6 +298,7 @@ struct nvhost_device_data t21_tsec_info = {
        .finalize_poweron       = nvhost_tsec_finalize_poweron,
        .prepare_poweroff       = nvhost_tsec_prepare_poweroff,
        .resource_policy        = RESOURCE_PER_CHANNEL_INSTANCE,
+       .serialize              = true,
        .bond_out_id            = BOND_OUT_TSEC,
 };
 
@@ -318,6 +322,7 @@ struct nvhost_device_data t21_tsecb_info = {
        .finalize_poweron       = nvhost_tsec_finalize_poweron,
        .prepare_poweroff       = nvhost_tsec_prepare_poweroff,
        .resource_policy        = RESOURCE_PER_CHANNEL_INSTANCE,
+       .serialize              = true,
        .bond_out_id            = BOND_OUT_TSEC,
 };
 #ifdef CONFIG_ARCH_TEGRA_VIC