summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/common/linux/pci.c
diff options
context:
space:
mode:
authorDavid Nieto <dmartineznie@nvidia.com>2017-08-04 00:42:46 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2017-08-11 14:07:17 -0400
commiteb9864d92dfc494d0186c4afaca81280c0953f8c (patch)
tree47b7fd47d02fb39b210d9e21cd4ef36d898450b1 /drivers/gpu/nvgpu/common/linux/pci.c
parentf7c5a179fe860524846f1e2b01b25b7af3a89ba6 (diff)
gpu: nvgpu: PG503 support
Adds basic PG503 support allowing devinit to complete. JIRA: EVLR-1693 Change-Id: Ice8a9ba18c8bba11f6bc174ba2c2d8802a738706 Signed-off-by: David Nieto <dmartineznie@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1532746 Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com> Tested-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/common/linux/pci.c')
-rw-r--r--drivers/gpu/nvgpu/common/linux/pci.c72
1 files changed, 72 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/common/linux/pci.c b/drivers/gpu/nvgpu/common/linux/pci.c
index 3ff2630f..87c1e37e 100644
--- a/drivers/gpu/nvgpu/common/linux/pci.c
+++ b/drivers/gpu/nvgpu/common/linux/pci.c
@@ -194,6 +194,66 @@ static struct gk20a_platform nvgpu_pci_device[] = {
194 .ina3221_dcb_index = 1, 194 .ina3221_dcb_index = 1,
195 .ina3221_i2c_address = 0x80, 195 .ina3221_i2c_address = 0x80,
196 .ina3221_i2c_port = 0x1, 196 .ina3221_i2c_port = 0x1,
197 },
198 { /* DEVICE=PG503 SKU 201 */
199 /* ptimer src frequency in hz */
200 .ptimer_src_freq = 31250000,
201
202 .probe = nvgpu_pci_tegra_probe,
203 .remove = nvgpu_pci_tegra_remove,
204
205 /* power management configuration */
206 .railgate_delay_init = 500,
207 .can_railgate_init = false,
208 .can_elpg_init = true,
209 .enable_elpg = true,
210 .enable_elcg = false,
211 .enable_slcg = true,
212 .enable_blcg = true,
213 .enable_mscg = true,
214 .default_pri_timeout = 0x3ff,
215
216 .disable_aspm = true,
217
218 /* power management callbacks */
219 .is_railgated = nvgpu_pci_tegra_is_railgated,
220 .clk_round_rate = nvgpu_pci_clk_round_rate,
221
222 .ch_wdt_timeout_ms = 7000,
223
224 .honors_aperture = true,
225 .vbios_min_version = 0x88001e00,
226 .hardcode_sw_threshold = false,
227 },
228 { /* DEVICE=PG503 SKU 200 ES */
229 /* ptimer src frequency in hz */
230 .ptimer_src_freq = 31250000,
231
232 .probe = nvgpu_pci_tegra_probe,
233 .remove = nvgpu_pci_tegra_remove,
234
235 /* power management configuration */
236 .railgate_delay_init = 500,
237 .can_railgate_init = false,
238 .can_elpg_init = true,
239 .enable_elpg = true,
240 .enable_elcg = false,
241 .enable_slcg = true,
242 .enable_blcg = true,
243 .enable_mscg = true,
244 .default_pri_timeout = 0x3ff,
245
246 .disable_aspm = true,
247
248 /* power management callbacks */
249 .is_railgated = nvgpu_pci_tegra_is_railgated,
250 .clk_round_rate = nvgpu_pci_clk_round_rate,
251
252 .ch_wdt_timeout_ms = 7000,
253
254 .honors_aperture = true,
255 .vbios_min_version = 0x88001e00,
256 .hardcode_sw_threshold = false,
197 } 257 }
198}; 258};
199 259
@@ -222,6 +282,18 @@ static struct pci_device_id nvgpu_pci_table[] = {
222 .class_mask = 0xff << 16, 282 .class_mask = 0xff << 16,
223 .driver_data = 3, 283 .driver_data = 3,
224 }, 284 },
285 {
286 PCI_DEVICE(PCI_VENDOR_ID_NVIDIA, 0x1db1),
287 .class = PCI_BASE_CLASS_DISPLAY << 16,
288 .class_mask = 0xff << 16,
289 .driver_data = 4,
290 },
291 {
292 PCI_DEVICE(PCI_VENDOR_ID_NVIDIA, 0x1db0),
293 .class = PCI_BASE_CLASS_DISPLAY << 16,
294 .class_mask = 0xff << 16,
295 .driver_data = 4,
296 },
225 {} 297 {}
226}; 298};
227 299