From a5f3fe9506dcf87910eba24c80a4b30c03dcced1 Mon Sep 17 00:00:00 2001 From: Thomas Fleury Date: Tue, 20 Feb 2018 20:39:22 -0800 Subject: gpu: nvgpu: gv100: enable syncpt shim for nvlink Get host1x node reference from c1_rp device tree node, and enable syncpoints shim in case of nvlink. JIRA EVLR-2441 JIRA EVLR-2585 Change-Id: Idbf1edf656557f2ed2d3bd27393c2f4d5d1ad75a Signed-off-by: Thomas Fleury Reviewed-on: https://git-master.nvidia.com/r/1663360 Reviewed-by: mobile promotions Tested-by: mobile promotions --- drivers/gpu/nvgpu/common/linux/pci.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'drivers/gpu/nvgpu/common/linux/pci.c') diff --git a/drivers/gpu/nvgpu/common/linux/pci.c b/drivers/gpu/nvgpu/common/linux/pci.c index bb44efbc..3c7de4ff 100644 --- a/drivers/gpu/nvgpu/common/linux/pci.c +++ b/drivers/gpu/nvgpu/common/linux/pci.c @@ -20,6 +20,7 @@ #include #include +#include #include #include #include @@ -316,6 +317,7 @@ static struct gk20a_platform nvgpu_pci_device[] = { .vbios_min_version = 0x88000126, .hardcode_sw_threshold = false, .run_preos = true, + .has_syncpoints = true, }, { /* SKU250 */ /* ptimer src frequency in hz */ @@ -350,6 +352,7 @@ static struct gk20a_platform nvgpu_pci_device[] = { .vbios_min_version = 0x1, .hardcode_sw_threshold = false, .run_preos = true, + .has_syncpoints = true, }, { /* SKU 0x1e3f */ /* ptimer src frequency in hz */ @@ -700,6 +703,17 @@ static int nvgpu_pci_probe(struct pci_dev *pdev, nvgpu_err(g, "fatal error probing nvlink, bailing out"); goto err_free_irq; } + /* Enable Semaphore SHIM on nvlink only for now. */ + __nvgpu_set_enabled(g, NVGPU_SUPPORT_NVLINK, false); + g->has_syncpoints = false; + } else { + err = nvgpu_nvhost_syncpt_init(g); + if (err) { + if (err != -ENOSYS) { + nvgpu_err(g, "syncpt init failed"); + goto err_free_irq; + } + } } g->mm.has_physical_mode = false; -- cgit v1.2.2