diff options
Diffstat (limited to 'drivers/gpu')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gk20a.c | 19 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/platform_gk20a.h | 5 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/pci.c | 1 |
3 files changed, 17 insertions, 8 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.c b/drivers/gpu/nvgpu/gk20a/gk20a.c index 77d708dd..246338d4 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/gk20a.c | |||
@@ -662,28 +662,28 @@ void gk20a_pbus_isr(struct gk20a *g) | |||
662 | if (val & (bus_intr_0_pri_squash_m() | | 662 | if (val & (bus_intr_0_pri_squash_m() | |
663 | bus_intr_0_pri_fecserr_m() | | 663 | bus_intr_0_pri_fecserr_m() | |
664 | bus_intr_0_pri_timeout_m())) { | 664 | bus_intr_0_pri_timeout_m())) { |
665 | gk20a_err(dev_from_gk20a(g), "pmc_enable : 0x%x", | 665 | gk20a_dbg(gpu_dbg_intr, "pmc_enable : 0x%x", |
666 | gk20a_readl(g, mc_enable_r())); | 666 | gk20a_readl(g, mc_enable_r())); |
667 | gk20a_err(dev_from_gk20a(g), "NV_PBUS_INTR_0 : 0x%x", val); | 667 | gk20a_dbg(gpu_dbg_intr, "NV_PBUS_INTR_0 : 0x%x", val); |
668 | gk20a_err(g->dev, | 668 | gk20a_dbg(gpu_dbg_intr, |
669 | "NV_PTIMER_PRI_TIMEOUT_SAVE_0: 0x%x\n", | 669 | "NV_PTIMER_PRI_TIMEOUT_SAVE_0: 0x%x\n", |
670 | gk20a_readl(g, timer_pri_timeout_save_0_r())); | 670 | gk20a_readl(g, timer_pri_timeout_save_0_r())); |
671 | gk20a_err(g->dev, | 671 | gk20a_dbg(gpu_dbg_intr, |
672 | "NV_PTIMER_PRI_TIMEOUT_SAVE_1: 0x%x\n", | 672 | "NV_PTIMER_PRI_TIMEOUT_SAVE_1: 0x%x\n", |
673 | gk20a_readl(g, timer_pri_timeout_save_1_r())); | 673 | gk20a_readl(g, timer_pri_timeout_save_1_r())); |
674 | err_code = gk20a_readl(g, timer_pri_timeout_fecs_errcode_r()); | 674 | err_code = gk20a_readl(g, timer_pri_timeout_fecs_errcode_r()); |
675 | gk20a_err(g->dev, | 675 | gk20a_dbg(gpu_dbg_intr, |
676 | "NV_PTIMER_PRI_TIMEOUT_FECS_ERRCODE: 0x%x\n", | 676 | "NV_PTIMER_PRI_TIMEOUT_FECS_ERRCODE: 0x%x\n", |
677 | err_code); | 677 | err_code); |
678 | if (err_code == 0xbadf13) | 678 | if (err_code == 0xbadf13) |
679 | gk20a_err(g->dev, | 679 | gk20a_dbg(gpu_dbg_intr, |
680 | "NV_PGRAPH_PRI_GPC0_GPCCS_FS_GPC: 0x%x\n", | 680 | "NV_PGRAPH_PRI_GPC0_GPCCS_FS_GPC: 0x%x\n", |
681 | gk20a_readl(g, gr_gpc0_fs_gpc_r())); | 681 | gk20a_readl(g, gr_gpc0_fs_gpc_r())); |
682 | 682 | ||
683 | } | 683 | } |
684 | 684 | ||
685 | if (val) | 685 | if (val) |
686 | gk20a_err(g->dev, | 686 | gk20a_dbg(gpu_dbg_intr, |
687 | "Unhandled pending pbus interrupt\n"); | 687 | "Unhandled pending pbus interrupt\n"); |
688 | 688 | ||
689 | gk20a_writel(g, bus_intr_0_r(), val); | 689 | gk20a_writel(g, bus_intr_0_r(), val); |
@@ -939,7 +939,10 @@ int gk20a_pm_finalize_poweron(struct device *dev) | |||
939 | if (tegra_platform_is_silicon()) { | 939 | if (tegra_platform_is_silicon()) { |
940 | gk20a_writel(g, | 940 | gk20a_writel(g, |
941 | timer_pri_timeout_r(), | 941 | timer_pri_timeout_r(), |
942 | timer_pri_timeout_period_f(0x186A0) | | 942 | timer_pri_timeout_period_f( |
943 | platform->default_pri_timeout ? | ||
944 | platform->default_pri_timeout : | ||
945 | 0x186A0) | | ||
943 | timer_pri_timeout_en_en_enabled_f()); | 946 | timer_pri_timeout_en_en_enabled_f()); |
944 | } else { | 947 | } else { |
945 | gk20a_writel(g, | 948 | gk20a_writel(g, |
diff --git a/drivers/gpu/nvgpu/gk20a/platform_gk20a.h b/drivers/gpu/nvgpu/gk20a/platform_gk20a.h index c2aec6e3..6966394f 100644 --- a/drivers/gpu/nvgpu/gk20a/platform_gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/platform_gk20a.h | |||
@@ -117,6 +117,11 @@ struct gk20a_platform { | |||
117 | /* Default big page size 64K or 128K */ | 117 | /* Default big page size 64K or 128K */ |
118 | u32 default_big_page_size; | 118 | u32 default_big_page_size; |
119 | 119 | ||
120 | /* default pri timeout, on PCIe it should be lower than timeout | ||
121 | * detection | ||
122 | */ | ||
123 | u32 default_pri_timeout; | ||
124 | |||
120 | /* Initialize the platform interface of the gk20a driver. | 125 | /* Initialize the platform interface of the gk20a driver. |
121 | * | 126 | * |
122 | * The platform implementation of this function must | 127 | * The platform implementation of this function must |
diff --git a/drivers/gpu/nvgpu/pci.c b/drivers/gpu/nvgpu/pci.c index 7dd5ce03..80fe5342 100644 --- a/drivers/gpu/nvgpu/pci.c +++ b/drivers/gpu/nvgpu/pci.c | |||
@@ -65,6 +65,7 @@ static struct gk20a_platform nvgpu_pci_device[] = { | |||
65 | .enable_elcg = false, | 65 | .enable_elcg = false, |
66 | .enable_slcg = true, | 66 | .enable_slcg = true, |
67 | .enable_blcg = true, | 67 | .enable_blcg = true, |
68 | .default_pri_timeout = 0x3ff, | ||
68 | 69 | ||
69 | .disable_aspm = true, | 70 | .disable_aspm = true, |
70 | 71 | ||