diff options
author | Ben Widawsky <ben@bwidawsk.net> | 2013-01-24 17:45:00 -0500 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2013-01-31 05:50:07 -0500 |
commit | a54c0c279f3864171fe53c66e769d5a137c5c651 (patch) | |
tree | 08d17841b72e39afdc4ce601f46770824c12fe8a /drivers/char/agp | |
parent | baa09f5fd8a6d033ec075355dda99a65b7f6a0f3 (diff) |
drm/i915: remove intel_gtt structure
With the probe call in our dispatch table, we can now cut away the
last three remaining members in the intel_gtt shared struct and so
remove it completely.
v2: Rebased on top of Daniel's series
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
Reviewed-by: Damien Lespiau <damien.lespiau@intel.com>
[danvet: bikeshed commit message a bit.]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/char/agp')
-rw-r--r-- | drivers/char/agp/intel-gtt.c | 36 |
1 files changed, 21 insertions, 15 deletions
diff --git a/drivers/char/agp/intel-gtt.c b/drivers/char/agp/intel-gtt.c index ff5f3483e8ea..d8e7e6c9114e 100644 --- a/drivers/char/agp/intel-gtt.c +++ b/drivers/char/agp/intel-gtt.c | |||
@@ -60,7 +60,6 @@ struct intel_gtt_driver { | |||
60 | }; | 60 | }; |
61 | 61 | ||
62 | static struct _intel_private { | 62 | static struct _intel_private { |
63 | struct intel_gtt base; | ||
64 | const struct intel_gtt_driver *driver; | 63 | const struct intel_gtt_driver *driver; |
65 | struct pci_dev *pcidev; /* device one */ | 64 | struct pci_dev *pcidev; /* device one */ |
66 | struct pci_dev *bridge_dev; | 65 | struct pci_dev *bridge_dev; |
@@ -80,6 +79,13 @@ static struct _intel_private { | |||
80 | /* Whether i915 needs to use the dmar apis or not. */ | 79 | /* Whether i915 needs to use the dmar apis or not. */ |
81 | unsigned int needs_dmar : 1; | 80 | unsigned int needs_dmar : 1; |
82 | phys_addr_t gma_bus_addr; | 81 | phys_addr_t gma_bus_addr; |
82 | /* Size of memory reserved for graphics by the BIOS */ | ||
83 | unsigned int stolen_size; | ||
84 | /* Total number of gtt entries. */ | ||
85 | unsigned int gtt_total_entries; | ||
86 | /* Part of the gtt that is mappable by the cpu, for those chips where | ||
87 | * this is not the full gtt. */ | ||
88 | unsigned int gtt_mappable_entries; | ||
83 | } intel_private; | 89 | } intel_private; |
84 | 90 | ||
85 | #define INTEL_GTT_GEN intel_private.driver->gen | 91 | #define INTEL_GTT_GEN intel_private.driver->gen |
@@ -510,7 +516,7 @@ static unsigned int intel_gtt_total_entries(void) | |||
510 | /* On previous hardware, the GTT size was just what was | 516 | /* On previous hardware, the GTT size was just what was |
511 | * required to map the aperture. | 517 | * required to map the aperture. |
512 | */ | 518 | */ |
513 | return intel_private.base.gtt_mappable_entries; | 519 | return intel_private.gtt_mappable_entries; |
514 | } | 520 | } |
515 | } | 521 | } |
516 | 522 | ||
@@ -576,8 +582,8 @@ static int intel_gtt_init(void) | |||
576 | if (ret != 0) | 582 | if (ret != 0) |
577 | return ret; | 583 | return ret; |
578 | 584 | ||
579 | intel_private.base.gtt_mappable_entries = intel_gtt_mappable_entries(); | 585 | intel_private.gtt_mappable_entries = intel_gtt_mappable_entries(); |
580 | intel_private.base.gtt_total_entries = intel_gtt_total_entries(); | 586 | intel_private.gtt_total_entries = intel_gtt_total_entries(); |
581 | 587 | ||
582 | /* save the PGETBL reg for resume */ | 588 | /* save the PGETBL reg for resume */ |
583 | intel_private.PGETBL_save = | 589 | intel_private.PGETBL_save = |
@@ -589,10 +595,10 @@ static int intel_gtt_init(void) | |||
589 | 595 | ||
590 | dev_info(&intel_private.bridge_dev->dev, | 596 | dev_info(&intel_private.bridge_dev->dev, |
591 | "detected gtt size: %dK total, %dK mappable\n", | 597 | "detected gtt size: %dK total, %dK mappable\n", |
592 | intel_private.base.gtt_total_entries * 4, | 598 | intel_private.gtt_total_entries * 4, |
593 | intel_private.base.gtt_mappable_entries * 4); | 599 | intel_private.gtt_mappable_entries * 4); |
594 | 600 | ||
595 | gtt_map_size = intel_private.base.gtt_total_entries * 4; | 601 | gtt_map_size = intel_private.gtt_total_entries * 4; |
596 | 602 | ||
597 | intel_private.gtt = NULL; | 603 | intel_private.gtt = NULL; |
598 | if (INTEL_GTT_GEN < 6 && INTEL_GTT_GEN > 2) | 604 | if (INTEL_GTT_GEN < 6 && INTEL_GTT_GEN > 2) |
@@ -609,7 +615,7 @@ static int intel_gtt_init(void) | |||
609 | 615 | ||
610 | global_cache_flush(); /* FIXME: ? */ | 616 | global_cache_flush(); /* FIXME: ? */ |
611 | 617 | ||
612 | intel_private.base.stolen_size = intel_gtt_stolen_size(); | 618 | intel_private.stolen_size = intel_gtt_stolen_size(); |
613 | 619 | ||
614 | intel_private.needs_dmar = USE_PCI_DMA_API && INTEL_GTT_GEN > 2; | 620 | intel_private.needs_dmar = USE_PCI_DMA_API && INTEL_GTT_GEN > 2; |
615 | 621 | ||
@@ -637,8 +643,7 @@ static int intel_fake_agp_fetch_size(void) | |||
637 | unsigned int aper_size; | 643 | unsigned int aper_size; |
638 | int i; | 644 | int i; |
639 | 645 | ||
640 | aper_size = (intel_private.base.gtt_mappable_entries << PAGE_SHIFT) | 646 | aper_size = (intel_private.gtt_mappable_entries << PAGE_SHIFT) / MB(1); |
641 | / MB(1); | ||
642 | 647 | ||
643 | for (i = 0; i < num_sizes; i++) { | 648 | for (i = 0; i < num_sizes; i++) { |
644 | if (aper_size == intel_fake_agp_sizes[i].size) { | 649 | if (aper_size == intel_fake_agp_sizes[i].size) { |
@@ -845,8 +850,8 @@ static int intel_fake_agp_insert_entries(struct agp_memory *mem, | |||
845 | int ret = -EINVAL; | 850 | int ret = -EINVAL; |
846 | 851 | ||
847 | if (intel_private.clear_fake_agp) { | 852 | if (intel_private.clear_fake_agp) { |
848 | int start = intel_private.base.stolen_size / PAGE_SIZE; | 853 | int start = intel_private.stolen_size / PAGE_SIZE; |
849 | int end = intel_private.base.gtt_mappable_entries; | 854 | int end = intel_private.gtt_mappable_entries; |
850 | intel_gtt_clear_range(start, end - start); | 855 | intel_gtt_clear_range(start, end - start); |
851 | intel_private.clear_fake_agp = false; | 856 | intel_private.clear_fake_agp = false; |
852 | } | 857 | } |
@@ -857,7 +862,7 @@ static int intel_fake_agp_insert_entries(struct agp_memory *mem, | |||
857 | if (mem->page_count == 0) | 862 | if (mem->page_count == 0) |
858 | goto out; | 863 | goto out; |
859 | 864 | ||
860 | if (pg_start + mem->page_count > intel_private.base.gtt_total_entries) | 865 | if (pg_start + mem->page_count > intel_private.gtt_total_entries) |
861 | goto out_err; | 866 | goto out_err; |
862 | 867 | ||
863 | if (type != mem->type) | 868 | if (type != mem->type) |
@@ -1366,9 +1371,10 @@ int intel_gmch_probe(struct pci_dev *bridge_pdev, struct pci_dev *gpu_pdev, | |||
1366 | } | 1371 | } |
1367 | EXPORT_SYMBOL(intel_gmch_probe); | 1372 | EXPORT_SYMBOL(intel_gmch_probe); |
1368 | 1373 | ||
1369 | struct intel_gtt *intel_gtt_get(void) | 1374 | void intel_gtt_get(size_t *gtt_total, size_t *stolen_size) |
1370 | { | 1375 | { |
1371 | return &intel_private.base; | 1376 | *gtt_total = intel_private.gtt_total_entries << PAGE_SHIFT; |
1377 | *stolen_size = intel_private.stolen_size; | ||
1372 | } | 1378 | } |
1373 | EXPORT_SYMBOL(intel_gtt_get); | 1379 | EXPORT_SYMBOL(intel_gtt_get); |
1374 | 1380 | ||