355
356
357
358 if (pdev->revision < 0x13) {
359 dev_info(&pdev->dev, "correcting AGP revision (reports 3.5, is really 3.0)\n");
360 bridge->major_version = 3;
361 bridge->minor_version = 0;
362 }
363}
364
365
366static const struct aper_size_info_32 uli_sizes[7] =
367{
368 {256, 65536, 6, 10},
369 {128, 32768, 5, 9},
370 {64, 16384, 4, 8},
371 {32, 8192, 3, 7},
372 {16, 4096, 2, 6},
373 {8, 2048, 1, 4},
374 {4, 1024, 0, 3}
375};
376static int __devinit uli_agp_init(struct pci_dev *pdev)
377{
378 u32 httfea,baseaddr,enuscr;
379 struct pci_dev *dev1;
380 int i;
381 unsigned size = amd64_fetch_size();
382
383 dev_info(&pdev->dev, "setting up ULi AGP\n");
384 dev1 = pci_get_slot (pdev->bus,PCI_DEVFN(0,0));
385 if (dev1 == NULL) {
386 dev_info(&pdev->dev, "can't find ULi secondary device\n");
387 return -ENODEV;
388 }
389
390 for (i = 0; i < ARRAY_SIZE(uli_sizes); i++)
391 if (uli_sizes[i].size == size)
392 break;
393
394 if (i == ARRAY_SIZE(uli_sizes)) {
395 dev_info(&pdev->dev, "no ULi size found for %d\n", size);