summaryrefslogtreecommitdiffstats
path: root/drivers/char/agp/intel-agp.c
Commit message (Collapse)AuthorAgeFilesLines
* agp/intel: Make intel_i965_mask_memory use dma_addr_t for physical addressesPierre Willenbrock2009-06-201-1/+1
| | | | | | | | Otherwise, the high bits to be stuffed in the unused lower bits of the page address are lost. Signed-off-by: Pierre Willenbrock <pierre@pirsoft.de> Signed-off-by: Dave Airlie <airlied@redhat.com>
* agp: switch AGP to use page array instead of unsigned long arrayDave Airlie2009-06-191-26/+23
| | | | | | | | | This switches AGP to use an array of pages for tracking the pages allocated to the GART. This should enable GEM on PAE to work a lot better as we can pass highmem pages to the PAT code and it will do the right thing with them. Signed-off-by: Dave Airlie <airlied@redhat.com>
* agp/intel: Add support for new chipsetsZhenyu Wang2009-06-051-1/+15
| | | | | | | Both desktop and mobile versions are added. Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com> Signed-off-by: Eric Anholt <eric@anholt.net>
* intelfb: support i854Stefan Husemann2009-04-131-0/+3
| | | | | | | | | | | | | | | | Support the Intel 854 Chipset in fbdev. We test and use the patch on a Thomson IP1101 IPTV-Box. On the VGA-Port we get a normal signal. Here is the link to the Mambux-Project: http://www.mambux.de Cc: Keith Packard <keithp@keithp.com> Cc: Dave Airlie <airlied@linux.ie> Cc: Krzysztof Helt <krzysztof.h1@poczta.fm> Signed-off-by: Stefan Husemann <shusemann@googlemail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* agp/intel: Add support for new intel chipset.Shaohua Li2009-03-271-3/+18
| | | | | | | This is a G33-like desktop and mobile chipset. Signed-off-by: Shaohua Li <shaohua.li@intel.com> Signed-off-by: Eric Anholt <eric@anholt.net>
* intel-agp: fix a panic with 1M of shared memory, no GTT entriesLubomir Rintel2009-03-101-3/+5
| | | | | | | | | | | | | | | | | | When GTT size is equal to amount of video memory, the amount of GTT entries is computed lower than zero, which is invalid and leads to off-by-one error in intel_i915_configure() Originally posted here: http://bugzilla.kernel.org/show_bug.cgi?id=12539 http://bugzilla.redhat.com/show_bug.cgi?id=445592 Signed-off-by: Lubomir Rintel <lkundrak@v3.sk> Cc: Lubomir Rintel <lkundrak@v3.sk> Cc: Dave Airlie <airlied@linux.ie> Reviewed-by: Eric Anholt <eric@anholt.net> Cc: <stable@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* agp/intel: Fix broken ® symbol in device name.Eric Anholt2008-12-291-1/+1
| | | | | Signed-off-by: Eric Anholt <eric@anholt.net> Signed-off-by: Dave Airlie <airlied@linux.ie>
* agp/intel: add support for G41 chipsetZhenyu Wang2008-12-291-1/+8
| | | | | | Signed-off-by: Zhenyu Wang <zhenyu.z.wang@intel.com> Signed-off-by: Eric Anholt <eric@anholt.net> Signed-off-by: Dave Airlie <airlied@linux.ie>
* Update email addresses.Dave Jones2008-10-201-1/+1
| | | | | | | | | | | | Update assorted email addresses and related info to point to a single current, valid address. additionally - trivial CREDITS entry updates. (Not that this file means much any more) - remove arjans dead redhat.com address from powernow driver Signed-off-by: Dave Jones <davej@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Merge branch 'agp-next' of ↵Linus Torvalds2008-10-161-8/+10
|\ | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/airlied/agp-2.6 * 'agp-next' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/agp-2.6: agp/nvidia: Support agp user-memory on nvidia agp. agp/amd-k7: Suspend support for AMD K7 GART driver agp/intel: Reduce extraneous PCI posting reads during init agp: Fix stolen memory counting on G4X.
| * agp/intel: Reduce extraneous PCI posting reads during initKeith Packard2008-10-161-3/+3
| | | | | | | | | | | | | | | | | | | | Instead of doing a posting read after each GTT entry update, do a single one at the end of the writes. This should reduce boot time a tiny amount by avoiding a lot of extra uncached reads. Signed-off-by: Keith Packard <keithp@keithp.com> Signed-off-by: Eric Anholt <eric@anholt.net> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * agp: Fix stolen memory counting on G4X.Eric Anholt2008-10-161-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | On the GM45, the amount of stolen memory mapped to the GTT was underestimated, even though we had 508KB more available since the GTT doesn't take from stolen memory. On the non-GM45 G4X, we overestimated how much stolen was mapped to the GTT by 4KB, resulting in GPU page faults when that page was accessed. This update requires a corresponding update to xf86-video-intel to work correctly. Signed-off-by: Eric Anholt <eric@anholt.net> Signed-off-by: Dave Airlie <airlied@redhat.com>
* | Merge branch 'x86/urgent' into x86/patIngo Molnar2008-08-221-36/+47
|\ \ | |/ | | | | | | | | | | Conflicts: arch/x86/mm/pageattr.c Signed-off-by: Ingo Molnar <mingo@elte.hu>
| * intel/agp: rewrite GTT on resumeKeith Packard2008-08-121-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On my Intel chipset (965GM), the GTT is entirely erased across suspend/resume. This patch simply re-plays the current mapping at resume time to restore the table.=20 I noticed this once I started relying on persistent GTT mappings across VT switch in our GEM work -- the old X server and DRM code carefully unbind all memory from the GTT on VT switch, but GEM does not bother. I placed the list management and rewrite code in the generic layer on the assumption that it will be needed on other hardware, but I did not add the rewrite call to anything other than the Intel resume function. Keep a list of current GATT mappings. At resume time, rewrite them into the GATT. This is needed on Intel (at least) as the entire GATT is cleared across suspend/resume. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Keith Packard <keithp@keithp.com> Cc: Dave Jones <davej@codemonkey.org.uk> Cc: Andi Kleen <andi@firstfloor.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * agp: use dev_printk when possibleBjorn Helgaas2008-08-121-29/+35
| | | | | | | | | | | | | | | | Convert printks to use dev_printk(). Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * intel_agp: official name for GM45 chipsetZhenyu Wang2008-08-121-7/+7
| | | | | | | | | | | | | | Signed-off-by: Zhenyu Wang <zhenyu.z.wang@intel.com> Cc: Dave Airlie <airlied@linux.ie> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Dave Airlie <airlied@redhat.com>
* | agp: add agp_generic_destroy_pages()Shaohua Li2008-08-211-0/+14
| | | | | | | | | | | | | | | | Add agp_generic_destroy_pages(), it uses new pageattr array interface API. Signed-off-by: Dave Airlie <airlied@gmail.com> Signed-off-by: Shaohua Li <shaohua.li@intel.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | agp: generic_alloc_pages()Shaohua Li2008-08-211-0/+14
|/ | | | | | | | Add agp_generic_alloc_pages(), it uses new pageattr array interface API. Signed-off-by: Dave Airlie <airlied@gmail.com> Signed-off-by: Shaohua Li <shaohua.li@intel.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* [agp]: fixup chipset flush for new Intel G4x.Zhenyu Wang2008-06-201-1/+1
| | | | | Signed-off-by: Zhenyu Wang <zhenyu.z.wang@intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* agp: brown paper bag patch - put back the two lines it took out.Dave Airlie2008-06-191-0/+2
| | | | | | no more whitespace diffs for me. Signed-off-by: Dave Airlie <airlied@redhat.com>
* agp/intel: cleanup some serious whitespace badnessDave Airlie2008-06-191-68/+66
| | | | Signed-off-by: Dave Airlie <airlied@redhat.com>
* [AGP] intel_agp: Add support for Intel 4 series chipsetsZhenyu Wang2008-06-191-10/+73
| | | | | Signed-off-by: Zhenyu Wang <zhenyu.z.wang@intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* [AGP] intel_agp: extra stolen mem size available for IGD_GM chipsetZhenyu Wang2008-06-191-2/+2
| | | | | | | | | This adds missing stolen memory size detect for IGD_GM, be sure to detect right size as current X intel driver (2.3.2) which has already worked out. Signed-off-by: Zhenyu Wang <zhenyu.z.wang@intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* agp: more boolean conversions.Dave Airlie2008-06-191-3/+3
| | | | Signed-off-by: Dave Airlie <airlied@redhat.com>
* drivers/char/agp - use boolJoe Perches2008-06-191-5/+5
| | | | | | | | Use boolean in AGP instead of having own TRUE/FALSE -- Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* agp: two-stage page destruction issueJan Beulich2008-06-191-2/+4
| | | | | | | | | | | | | | | | besides it apparently being useful only in 2.6.24 (the changes in 2.6.25 really mean that it could be converted back to a single-stage mechanism), I'm seeing an issue in Xen Dom0 kernels, which is caused by the calling of gart_to_virt() in the second stage invocations of the destroy function. I think that besides this being a real issue with Xen (where unmap_page_from_agp() is not just a page table attribute change), this also is invalid from a theoretical perspective: One should not assume that gart_to_virt() is still valid after unmapping a page. So minimally (keeping the 2-stage mechanism) a patch like the one below would be needed. Jan Signed-off-by: Dave Airlie <airlied@redhat.com>
* agp: remove flush_agp_mappings calls from new flush handling codeDave Airlie2008-02-051-2/+0
| | | | Signed-off-by: Dave Airlie <airlied@linux.ie>
* intel-agp: introduce IS_I915 and do some cleanups..Dave Airlie2008-02-051-61/+57
| | | | | | Add a new IS_I915 and also do some checkpatch whitespace cleanups. Signed-off-by: Dave Airlie <airlied@linux.ie>
* [intel_agp] fix name for G35 chipsetZhenyu Wang2008-02-051-5/+5
| | | | | | | Change origin chipset name i965G_1 to market name G35. Signed-off-by: Zhenyu Wang <zhenyu.z.wang@intel.com> Signed-off-by: Dave Airlie <airlied@linux.ie>
* intel-agp: fixup resource handling in flush code.Dave Airlie2008-02-051-10/+23
| | | | | | | | | | The flush code resource handling was having problems where some BIOS reserve the resource in a pnp block and some don't. Also there was a bug in that configure was being called at resume and resetting some of the structs. Signed-off-by: Dave Airlie <airlied@linux.ie>
* intel-agp: add new chipset IDZhenyu Wang2008-02-051-5/+26
| | | | | | | | | This one adds new pci ids for Intel intergrated graphics chipset, with gtt table access change on it and new gtt table size definition. Signed-off-by: Zhenyu Wang <zhenyu.z.wang@intel.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Dave Airlie <airlied@linux.ie>
* fix AGP warningAndrew Morton2008-02-051-1/+2
| | | | | | | | | | drivers/char/agp/intel-agp.c: In function 'intel_i965_g33_setup_chipset_flush': drivers/char/agp/intel-agp.c:872: warning: right shift count >= width of type I wish the agp code wasn't written in a 10,000-column xterm :( Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Dave Airlie <airlied@linux.ie>
* agp/intel: Add chipset flushing support for i8xx chipsets.Dave Airlie2008-02-051-30/+78
| | | | | | | | This is a bit of a large hammer but it makes sure the chipset is flushed by writing out 1k of data to an uncached page. We may be able to get better information in the future on how to this better. Signed-off-by: Dave Airlie <airlied@redhat.com>
* intel-agp: add chipset flushing supportDave Airlie2008-02-051-0/+102
| | | | | | | | | | This adds support for flushing the chipsets on the 915, 945, 965 and G33 families of Intel chips. The BIOS doesn't seem to always allocate the BAR on the 965 chipsets so I have to use pci resource code to create a resource It adds an export for pcibios_align_resource.
* x86: cpa: move flush to cpaThomas Gleixner2008-01-301-5/+0
| | | | | | | | | | | The set_memory_* and set_pages_* family of API's currently requires the callers to do a global tlb flush after the function call; forgetting this is a very nasty deathtrap. This patch moves the global tlb flush into each of the callers Signed-off-by: Arjan van de Ven <arjan@linux.intel.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* x86: convert CPA users to the new set_page_ APIArjan van de Ven2008-01-301-3/+3
| | | | | | | | | This patch converts various users of change_page_attr() to the new, more intent driven set_page_*/set_memory_* API set. Signed-off-by: Arjan van de Ven <arjan@linux.intel.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* agp/intel: add support for E7221 chipsetCarlos Martín2008-01-231-2/+9
| | | | | | | The E7221 chipset is a 915 rebadged for the Intel server line. Signed-off-by: Dave Airlie <airlied@linux.ie> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* AGP fix race condition between unmapping and freeing pagesDave Airlie2007-10-151-2/+4
| | | | | | | | | | | | | With Andi's clflush fixup, we were getting hangs on server exit, flushing the mappings after freeing each page helped. This showed up a race condition where the pages after being freed could be reused before the agp mappings had been flushed. Flushing after each single page is a bad thing for future drm work, so make the page destroy a two pass unmapping all the pages, flushing the mappings, and then destroying the pages. Signed-off-by: Dave Airlie <airlied@linux.ie> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
* Revert "intel_agp: fix stolen mem range on G33"Kyle McMartin2007-10-061-5/+0
| | | | | | | | | | | | This reverts commit f443675affe3f16dd428e46f0f7fd3f4d703eeab, which breaks horribly if you aren't running an unreleased xf86-video-intel driver out of git. Signed-off-by: Kyle McMartin <kyle@mcmartin.ca> Cc: Dave Airlie <airlied@linux.ie> Cc: Zhenyu Wang <zhenyu.z.wang@intel.com> Acked-by: Keith Packard <keithp@keithp.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* intel-agp: Fix i830 mask variable that changed with G33 supportDave Airlie2007-09-191-1/+1
| | | | | | | | | | The mask on i830 should be 0x70 always, later chips 0xF0 should be okay. Signed-off-by: Dave Airlie <airlied@linux.ie> Acked-by: Zhenyu Wang <zhenyu.z.wang@intel.com> Cc: Michael Haas <laga@laga.ath.cx> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* intel_agp: fix GTT map size on G33Zhenyu Wang2007-09-111-1/+4
| | | | | | | | | | | G33 has 1MB GTT table range. Fix GTT mapping in case like 512MB aperture size. Signed-off-by: Zhenyu Wang <zhenyu.z.wang@intel.com> Acked-by: Dave Airlie <airlied@linux.ie> Cc: Dave Jones <davej@codemonkey.org.uk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* intel_agp: fix stolen mem range on G33Zhenyu Wang2007-09-111-0/+5
| | | | | | | | | | | G33 GTT stolen memory is below graphics data stolen memory and be seperate, so don't subtract it in stolen mem counting. Signed-off-by: Zhenyu Wang <zhenyu.z.wang@intel.com> Acked-by: Dave Airlie <airlied@linux.ie> Cc: Dave Jones <davej@codemonkey.org.uk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* agp: balance ioremap checksScott Thompson2007-08-251-5/+9
| | | | | | | | | patchset against 2.6.23-rc3. corrects missing ioremap return checks and balancing on iounmap calls, integrated changes per list recommendations on the original set of patches.. Signed-off-by: Scott Thompson <postfail <at> hushmail.com> Signed-off-by: Dave Airlie <airlied@linux.ie>
* intel_agp: really fix 945/965GMEZhenyu Wang2007-07-271-5/+12
| | | | | | | | Fix some missing places to check with device id info, which should probe the device gart correctly. Signed-off-by: Wang Zhenyu <zhenyu.z.wang@intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* agp: don't lock pagesNick Piggin2007-07-271-2/+0
| | | | | | | | | | AGP should not need to lock pages. They are not protecting any race because there is no lock_page calls, only SetPageLocked. This is causing hangs with d00806b183152af6d24f46f0c33f14162ca1262a. Signed-off-by: Nick Piggin <npiggin@suse.de> Signed-off-by: Dave Airlie <airlied@redhat.com>
* [AGPGART] intel_agp: don't load if no IGD and AGP portWang Zhenyu2007-06-211-16/+19
| | | | | | | | | | | | After i915 chip, GMCH has no AGP port. Origin bridge driver in device table will try to access illegal regs like APBASE, APSIZE, etc. This may cause problem. So mark them as NULL in the table, we won't load if no IGD got detect and bridge has no AGP port. Signed-off-by: Wang Zhenyu <zhenyu.z.wang@intel.com> Signed-off-by: Dave Jones <davej@redhat.com>
* [AGPGART] intel_agp: fix device probeWang Zhenyu2007-06-141-46/+51
| | | | | | | | | | | This patch trys to fix device probe in two cases. First we should correctly detect device if integrated graphics device is not enabled or exists, like an add-in card is plugged. Second on some type of intel GMCH, it might have multiple graphic chip models, like 945GME case, so we should be sure the detect works through the whole table. Signed-off-by: Wang Zhenyu <zhenyu.z.wang@intel.com> Signed-off-by: Dave Jones <davej@redhat.com>
* [AGPGART] intel_agp: Add support for G33, Q33 and Q35 chipsetsWang Zhenyu2007-06-061-2/+77
| | | | | | | | This patch adds pci ids for G33, Q33 and Q35 chips, and update with new GTT size and stolen mem size detect method on these chips. Signed-off-by: Wang Zhenyu <zhenyu.z.wang@intel.com> Signed-off-by: Dave Jones <davej@redhat.com>
* [AGPGART] intel_agp: add support for 945GMEWang Zhenyu2007-06-061-0/+3
| | | | | | | Add pci id info for 945GME. Signed-off-by: Wang Zhenyu <zhenyu.z.wang@intel.com> Signed-off-by: Dave Jones <davej@redhat.com>
* [AGPGART] intel_agp: add support for 965GME/GLEWang Zhenyu2007-06-061-0/+3
| | | | | | | Add pci id info for 965GME/GLE support. Signed-off-by: Wang Zhenyu <zhenyu.z.wang@intel.com> Signed-off-by: Dave Jones <davej@redhat.com>
OpenPOWER on IntegriCloud