linux/drivers/char/agp
David Hildenbrand 750b317f85 agp: efficeon: no need to set PG_reserved on GATT tables
Patch series "mm: PG_reserved cleanups and documentation", v2.

I was recently going over all users of PG_reserved.  Short story: it is
difficult and sometimes not really clear if setting/checking for
PG_reserved is only a relict from the past.  Easy to break things.  I
guess I now have a pretty good idea wh things are like that nowadays and
how they evolved.

I had way more cleanups in this series inititally, but some
architectures take PG_reserved as a way to apply a different caching
strategy (for MMIO pages).  So I decided to only include the most
obvious changes (that are less likely to break something).  So the big
chunk of manual SetPageReserved users are MMIO/DMA related things on
device buffers.

Most notably, for device memory we will hopefully soon stop setting
PG_reserved.  Then the documentation has to be updated.

This patch (of 9):

The l1 GATT page table is kept in a special on-chip page with 64
entries.  We allocate the l2 page table pages via get_zeroed_page() and
enter them into the table.  These l2 pages are modified accordingly when
inserting/removing memory via efficeon_insert_memory and
efficeon_remove_memory.

Apart from that, these pages are not exposed or ioremap'ed.  We can stop
setting them reserved (propably copied from generic code).

Link: http://lkml.kernel.org/r/20190114125903.24845-2-david@redhat.com
Signed-off-by: David Hildenbrand <david@redhat.com>
Cc: David Airlie <airlied@linux.ie>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Michal Hocko <mhocko@kernel.org>
Cc: Matthew Wilcox <willy@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2019-03-05 21:07:18 -08:00
..
agp.h agp: change agp_free_page_array to use kvfree 2015-01-29 12:37:41 +10:00
ali-agp.c agp: ali: constify pci_device_id. 2017-08-04 16:59:47 +10:00
alpha-agp.c char: agp: Change return type to vm_fault_t 2018-07-10 13:48:11 +10:00
amd64-agp.c char: amd64-agp: Use 64-bit arithmetic instead of 32-bit 2018-07-10 13:50:31 +10:00
amd-k7-agp.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
ati-agp.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
backend.c mm: convert totalram_pages and totalhigh_pages variables to atomic 2018-12-28 12:11:47 -08:00
compat_ioctl.c treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
compat_ioctl.h
efficeon-agp.c agp: efficeon: no need to set PG_reserved on GATT tables 2019-03-05 21:07:18 -08:00
frontend.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
generic.c agp: use set_memory.h header 2017-05-08 17:15:13 -07:00
hp-agp.c
i460-agp.c
intel-agp.c agp: intel: constify pci_device_id. 2017-08-04 16:59:46 +10:00
intel-agp.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
intel-gtt.c drm/i915: prefer resource_size_t for everything stolen 2017-12-12 12:30:22 +02:00
isoch.c treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
Kconfig License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
nvidia-agp.c agp: nvidia: Deprecate pci_get_bus_and_slot() 2018-01-11 17:23:50 -06:00
parisc-agp.c parisc: agp/parisc-agp: allow binding of user memory to the AGP GART 2013-07-31 23:42:00 +02:00
sgi-agp.c treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
sis-agp.c agp: sis: constify pci_device_id. 2017-08-04 16:59:48 +10:00
sworks-agp.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
uninorth-agp.c treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
via-agp.c agp: Fix up email address & attributions in AGP MODULE_AUTHOR tags 2014-12-23 20:03:10 +10:00