diff options
author | David S. Miller <davem@davemloft.net> | 2018-11-24 20:01:43 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-11-24 20:01:43 -0500 |
commit | b1bf78bfb2e4c9ffa03ccdbc60d89a2f7c5fd82c (patch) | |
tree | fcd93c3f54a72ca6a6ee97f015efebe6d80a3271 /drivers/gpu/drm/ast/ast_drv.c | |
parent | aea0a897af9e44c258e8ab9296fad417f1bc063a (diff) | |
parent | d146194f31c96f9b260c5a1cf1592d2e7f82a2e2 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Diffstat (limited to 'drivers/gpu/drm/ast/ast_drv.c')
-rw-r--r-- | drivers/gpu/drm/ast/ast_drv.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/drivers/gpu/drm/ast/ast_drv.c b/drivers/gpu/drm/ast/ast_drv.c index 69dab82a3771..bf589c53b908 100644 --- a/drivers/gpu/drm/ast/ast_drv.c +++ b/drivers/gpu/drm/ast/ast_drv.c | |||
@@ -60,8 +60,29 @@ static const struct pci_device_id pciidlist[] = { | |||
60 | 60 | ||
61 | MODULE_DEVICE_TABLE(pci, pciidlist); | 61 | MODULE_DEVICE_TABLE(pci, pciidlist); |
62 | 62 | ||
63 | static void ast_kick_out_firmware_fb(struct pci_dev *pdev) | ||
64 | { | ||
65 | struct apertures_struct *ap; | ||
66 | bool primary = false; | ||
67 | |||
68 | ap = alloc_apertures(1); | ||
69 | if (!ap) | ||
70 | return; | ||
71 | |||
72 | ap->ranges[0].base = pci_resource_start(pdev, 0); | ||
73 | ap->ranges[0].size = pci_resource_len(pdev, 0); | ||
74 | |||
75 | #ifdef CONFIG_X86 | ||
76 | primary = pdev->resource[PCI_ROM_RESOURCE].flags & IORESOURCE_ROM_SHADOW; | ||
77 | #endif | ||
78 | drm_fb_helper_remove_conflicting_framebuffers(ap, "astdrmfb", primary); | ||
79 | kfree(ap); | ||
80 | } | ||
81 | |||
63 | static int ast_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) | 82 | static int ast_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) |
64 | { | 83 | { |
84 | ast_kick_out_firmware_fb(pdev); | ||
85 | |||
65 | return drm_get_pci_dev(pdev, ent, &driver); | 86 | return drm_get_pci_dev(pdev, ent, &driver); |
66 | } | 87 | } |
67 | 88 | ||