summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandre Courbot <acourbot@nvidia.com>2016-06-01 17:39:15 +0900
committerBen Skeggs <bskeggs@redhat.com>2016-07-06 06:55:27 +1000
commit8f80325493c9f5225d0899366b575ee6d1b6a8e4 (patch)
treebf47c31d9e953fbd264b9563f35887b4c47218c1
parent76c224334e1c50e08efa26823bfedc3fab03880a (diff)
downloadnouveau-8f80325493c9f5225d0899366b575ee6d1b6a8e4.tar.gz
tegra: fetch gpu_speedo_id
The GPU speedo ID is required to select the right clk/volt parameters on GM20B. Signed-off-by: Alexandre Courbot <acourbot@nvidia.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
-rw-r--r--drm/nouveau/include/nvkm/core/tegra.h1
-rw-r--r--drm/nouveau/nvkm/engine/device/tegra.c1
-rw-r--r--lib/include/nvif/os.h1
3 files changed, 3 insertions, 0 deletions
diff --git a/drm/nouveau/include/nvkm/core/tegra.h b/drm/nouveau/include/nvkm/core/tegra.h
index b5370cb56..e5c9b6268 100644
--- a/drm/nouveau/include/nvkm/core/tegra.h
+++ b/drm/nouveau/include/nvkm/core/tegra.h
@@ -28,6 +28,7 @@ struct nvkm_device_tegra {
} iommu;
int gpu_speedo;
+ int gpu_speedo_id;
};
struct nvkm_device_tegra_func {
diff --git a/drm/nouveau/nvkm/engine/device/tegra.c b/drm/nouveau/nvkm/engine/device/tegra.c
index 8edc0a583..9b638bd90 100644
--- a/drm/nouveau/nvkm/engine/device/tegra.c
+++ b/drm/nouveau/nvkm/engine/device/tegra.c
@@ -311,6 +311,7 @@ nvkm_device_tegra_new(const struct nvkm_device_tegra_func *func,
goto remove;
tdev->gpu_speedo = tegra_sku_info.gpu_speedo_value;
+ tdev->gpu_speedo_id = tegra_sku_info.gpu_speedo_id;
ret = nvkm_device_ctor(&nvkm_device_tegra_func, NULL, &pdev->dev,
NVKM_DEVICE_TEGRA, pdev->id, NULL,
cfg, dbg, detect, mmio, subdev_mask,
diff --git a/lib/include/nvif/os.h b/lib/include/nvif/os.h
index 2581f9496..4cd65e3cf 100644
--- a/lib/include/nvif/os.h
+++ b/lib/include/nvif/os.h
@@ -1540,6 +1540,7 @@ reset_control_deassert(struct reset_control *reset)
*****************************************************************************/
struct tegra_sku_info {
int gpu_speedo_value;
+ int gpu_speedo_id;
};
extern struct tegra_sku_info tegra_sku_info;