Home | History | Annotate | Download | only in linux
History log of /src/sys/external/bsd/drm2/include/linux/vmalloc.h
RevisionDateAuthorComments
 1.12  26-Feb-2022  rillig drm2: do not try to return a value from a void function

lint complained:
vmalloc.h(79): error: void function vfree cannot return value [213]

No functional change.
 1.11  19-Dec-2021  riastradh linux: Use kmem directly for Linux kmalloc.

Take advantage of this to do LOCKDEBUG_MEM_CHECK at the point of
kfree_rcu rather than in the RCU GC thread.
 1.10  19-Dec-2021  riastradh Side-load <linux/mm.h> in a few places.
 1.9  19-Dec-2021  riastradh Stub vmap purge notifiers.
 1.8  19-Dec-2021  riastradh Define Linux array_size function and expose via vmalloc.h.
 1.7  27-Aug-2018  riastradh Linux vfree accepts NULL as noop. Match semantics.

From mrg@.
 1.6  27-Aug-2018  riastradh Implement kvfree by free(9); assume kmalloc/vmalloc use malloc(9).
 1.5  06-Aug-2018  riastradh Use uvm_km_alloc(kernel_map) and pmap_kenter, not uvm_pagermapin.

XXX pullup
 1.4  23-Aug-2014  riastradh branches: 1.4.12; 1.4.18; 1.4.20;
Another round of nouveau whack-a-mole.
 1.3  16-Jul-2014  riastradh branches: 1.3.2; 1.3.4;
Make it build and boot on my test machines.

Screen blanks on boot on the Ivy Bridge system with

DRM error in cpt_serr_int_handler: PCH transcoder A FIFO underrun

But after that everything is OK. Appears to be an upstream problem.
To investigate...

I think there's a cache flushing issue somewhere -- there are little
display artefacts on my T60.
 1.2  18-Mar-2014  riastradh branches: 1.2.2; 1.2.4; 1.2.6;
Merge riastradh-drm2 to HEAD.
 1.1  24-Jul-2013  riastradh branches: 1.1.2;
file vmalloc.h was initially added on branch riastradh-drm2.
 1.1.2.3  24-Jul-2013  riastradh Add vzalloc to <linux/vmalloc.h>.
 1.1.2.2  24-Jul-2013  riastradh Implement vmalloc_user and vfree with malloc(9) in <linux/vmalloc.h>.

XXX Probably not the right thing here -- uvm_km_alloc is probably
more appropriate, but Linux doesn't pass the size to vfree, so this
is more expedient for now.
 1.1.2.1  24-Jul-2013  riastradh Add stubs for Linux header files for drm.
 1.2.6.2  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.2.6.1  18-Mar-2014  yamt file vmalloc.h was added on branch yamt-pagecache on 2014-05-22 11:40:56 +0000
 1.2.4.2  18-May-2014  rmind sync with head
 1.2.4.1  18-Mar-2014  rmind file vmalloc.h was added on branch rmind-smpnet on 2014-05-18 17:46:01 +0000
 1.2.2.1  10-Aug-2014  tls Rebase.
 1.3.4.3  03-Dec-2017  jdolecek update from HEAD
 1.3.4.2  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.4.1  16-Jul-2014  tls file vmalloc.h was added on branch tls-maxphys on 2014-08-20 00:04:21 +0000
 1.3.2.1  21-Sep-2014  snj Pull up following revision(s) (requested by riastradh in ticket #95):
sys/external/bsd/drm2/dist/drm/nouveau/core/include/subdev/fb.h: revision 1.2
sys/external/bsd/drm2/dist/drm/nouveau/nouveau_nv10_fence.c: revision 1.2
sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/bar/nouveau_subdev_bar_base.c: revision 1.2
sys/external/bsd/drm2/dist/drm/nouveau/core/include/engine/device.h: revision 1.2
sys/external/bsd/drm2/dist/drm/nouveau/core/include/subdev/pwr.h: revision 1.2
sys/external/bsd/drm2/dist/drm/nouveau/core/engine/nouveau_engine_xtensa.c: revision 1.2
sys/external/bsd/drm2/include/linux/bitops.h: revision 1.8
sys/external/bsd/drm2/dist/drm/nouveau/dispnv04/nouveau_dispnv04_tvnv17.c: revision 1.3
sys/external/bsd/drm2/dist/drm/nouveau/dispnv04/nouveau_dispnv04_tvmodesnv17.c: revision 1.3
sys/external/bsd/drm2/dist/drm/nouveau/core/include/core/device.h: revision 1.3
sys/external/bsd/drm2/include/drm/drm_agp_netbsd.h: revision 1.4
sys/external/bsd/drm2/include/linux/spinlock.h: revision 1.4
sys/external/bsd/drm2/include/linux/pm_runtime.h: revision 1.3
sys/external/bsd/drm2/dist/drm/nouveau/core/engine/crypt/nouveau_engine_crypt_nv98.c: revision 1.2
sys/external/bsd/drm2/nouveau/files.nouveau: revision 1.3
sys/external/bsd/drm2/dist/drm/nouveau/core/engine/disp/nouveau_engine_disp_dacnv50.c: revision 1.2
sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nve0.c: revision 1.2
sys/external/bsd/drm2/dist/drm/nouveau/core/engine/disp/nouveau_engine_disp_nv50.c: revision 1.2
sys/external/bsd/drm2/dist/drm/nouveau/nouveau_gem.c: revision 1.3
sys/external/bsd/drm2/dist/drm/nouveau/nouveau_bo.c: revision 1.5
sys/external/bsd/drm2/dist/drm/nouveau/core/engine/perfmon/nouveau_engine_perfmon_base.c: revision 1.2
sys/external/bsd/drm2/dist/drm/nouveau/core/engine/crypt/nouveau_engine_crypt_nv84.c: revision 1.2
sys/external/bsd/drm2/dist/drm/nouveau/nouveau_fence.c: revision 1.3
sys/external/bsd/drm2/dist/drm/nouveau/core/engine/graph/nouveau_engine_graph_nv50.c: revision 1.2
sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nvc0.c: revision 1.2
sys/external/bsd/drm2/include/linux/vmalloc.h: revision 1.4
sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nve0.h: revision 1.2
sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/instmem/nv04.h: revision 1.2
sys/external/bsd/drm2/dist/drm/nouveau/nouveau_drm.c: revision 1.3
sys/external/bsd/drm2/dist/drm/nouveau/nouveau_drm.h: revision 1.2
sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_base.c: revision 1.3
sys/external/bsd/drm2/dist/drm/nouveau/core/engine/disp/nouveau_engine_disp_nvd0.c: revision 1.2
sys/external/bsd/drm2/dist/drm/nouveau/core/engine/disp/nouveau_engine_disp_nv04.c: revision 1.2
sys/external/bsd/drm2/nouveau/nouveau_module.c: revision 1.2
sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/instmem/nouveau_subdev_instmem_nv40.c: revision 1.2
sys/external/bsd/drm2/dist/drm/nouveau/core/engine/graph/nouveau_engine_graph_gm107.c: revision 1.2
sys/external/bsd/drm2/dist/drm/nouveau/core/engine/graph/nouveau_engine_graph_ctxnvd7.c: revision 1.2
sys/external/bsd/drm2/include/linux/mutex.h: revision 1.7
sys/external/bsd/drm2/dist/drm/nouveau/core/engine/disp/nv50.h: revision 1.2
sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device/nouveau_engine_device_base.c: revision 1.3
sys/external/bsd/drm2/include/linux/i2c.h: revision 1.6
sys/external/bsd/drm2/dist/drm/nouveau/core/engine/graph/nouveau_engine_graph_nvc0.c: revision 1.2
sys/external/bsd/drm2/include/linux/pagemap.h: revision 1.3
sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/instmem/nouveau_subdev_instmem_nv04.c: revision 1.2
sys/external/bsd/drm2/dist/drm/nouveau/core/engine/copy/nouveau_engine_copy_nva3.c: revision 1.2
sys/external/bsd/drm2/dist/drm/nouveau/nouveau_nv50_display.c: revision 1.2
sys/external/bsd/drm2/dist/drm/nouveau/core/include/subdev/bar.h: revision 1.3
sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/pwr/nouveau_subdev_pwr_base.c: revision 1.2
Another round of nouveau whack-a-mole.
 1.4.20.1  10-Jun-2019  christos Sync with HEAD
 1.4.18.1  06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.4.12.1  31-Aug-2018  martin Pull up following revision(s) (requested by riastradh in ticket #997):

sys/external/bsd/drm2/i915drm/intel_gtt.c: revision 1.6
sys/external/bsd/drm2/include/linux/delay.h: revision 1.5
sys/external/bsd/common/include/linux/kernel.h: revision 1.9
sys/external/bsd/drm2/include/linux/vmalloc.h: revision 1.5
sys/external/bsd/drm2/include/linux/bitops.h: revision 1.12
sys/external/bsd/drm2/include/linux/bitops.h: revision 1.13

hweight32 should take uint32_t, not uint16_t. OOPS.
XXX pullup

Fix find_first_zero_bit to find the high bits of 64-bit words...oops.
XXX pullup

Use uvm_km_alloc(kernel_map) and pmap_kenter, not uvm_pagermapin.
XXX pullup

Flush chipset writes after GGTT update.

Echoes Linux commit:

commit 8516673a996870ea0ceb337ee4f83c33c5ec3111
Author: Chris Wilson <chris%chris-wilson.co.uk@localhost>
Date: Fri Dec 8 21:46:16 2017 +0000
agp/intel: Flush all chipset writes after updating the GGTT
Before accessing the GGTT we must flush the PTE writes and make them
visible to the chipset, or else the indirect access may end up in the
wrong page. In commit 3497971a71d8 ("agp/intel: Flush chipset writes
after updating a single PTE"), we noticed corruption of the uploads for
pwrite and for capturing GPU error states, but it was presumed that the
explicit calls to intel_gtt_chipset_flush() were sufficient for the
execbuffer path. However, we have not been flushing the chipset between
the PTE writes and access via the GTT itself.
For simplicity, do the flush after any PTE update rather than try and
batch the flushes on a just-in-time basis.
References: 3497971a71d8 ("agp/intel: Flush chipset writes after updating a single PTE")
Signed-off-by: Chris Wilson <chris%chris-wilson.co.uk@localhost>
Cc: Tvrtko Ursulin <tvrtko.ursulin%intel.com@localhost>
Cc: Mika Kuoppala <mika.kuoppala%intel.com@localhost>
Cc: drm-intel-fixes%lists.freedesktop.org@localhost
Reviewed-by: Joonas Lahtinen <joonas.lahtinen%linux.intel.com@localhost>
Link: https://patchwork.freedesktop.org/patch/msgid/20171208214616.30147-1-chris%chris-wilson.co.uk@localhost

XXX pullup


Round nsec up for usec delay.
XXX pullup


libkern min/max is 32-bit. Linux min/max is generic. @!*#@!$&
XXX pullup

RSS XML Feed