The NetBSD Project

CVS log for src/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c

[BACK] Up to [cvs.NetBSD.org] / src / sys / external / bsd / drm2 / dist / drm / i915

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.75 / (download) - annotate - [select for diffs], Sun Dec 19 12:32:15 2021 UTC (2 years, 3 months ago) by riastradh
Branch: MAIN
CVS Tags: thorpej-ifq-base, thorpej-ifq, thorpej-altq-separation-base, thorpej-altq-separation, netbsd-10-base, netbsd-10-0-RELEASE, netbsd-10-0-RC6, netbsd-10-0-RC5, netbsd-10-0-RC4, netbsd-10-0-RC3, netbsd-10-0-RC2, netbsd-10-0-RC1, netbsd-10, bouyer-sunxi-drm-base, bouyer-sunxi-drm, HEAD
Changes since 1.74: +3 -2 lines
Diff to previous 1.74 (colored)

i915: mutex_init/destroy and spin_lock_init/destroy audit

Revision 1.74 / (download) - annotate - [select for diffs], Sun Dec 19 12:27:49 2021 UTC (2 years, 3 months ago) by riastradh
Branch: MAIN
Changes since 1.73: +3 -3 lines
Diff to previous 1.73 (colored)

drm: Allow multiple concurrent io_mapping_map_wc on the same space.

(This should maybe check that there aren't overlapping maps of the
same parts of the space.)

Revision 1.73 / (download) - annotate - [select for diffs], Sun Dec 19 12:27:09 2021 UTC (2 years, 3 months ago) by riastradh
Branch: MAIN
Changes since 1.72: +4 -4 lines
Diff to previous 1.72 (colored)

i915: Fill out i915_gem_phys_pwrite.

Revision 1.72 / (download) - annotate - [select for diffs], Sun Dec 19 12:25:37 2021 UTC (2 years, 3 months ago) by riastradh
Branch: MAIN
Changes since 1.71: +5 -21 lines
Diff to previous 1.71 (colored)

i915: Omit more unnecessary local diffs.

Revision 1.71 / (download) - annotate - [select for diffs], Sun Dec 19 12:25:27 2021 UTC (2 years, 3 months ago) by riastradh
Branch: MAIN
Changes since 1.70: +2 -6 lines
Diff to previous 1.70 (colored)

i915: Restore i915_gem.c shmem_pwrite.

This was ifdef'd out back when it was a fast path shmem_pwrite_fast
using __copy_in_user_inatomic, but the ifdef got merged anyway into a
different function that is not a fast path.

Revision 1.70 / (download) - annotate - [select for diffs], Sun Dec 19 11:26:35 2021 UTC (2 years, 3 months ago) by riastradh
Branch: MAIN
Changes since 1.69: +4 -2 lines
Diff to previous 1.69 (colored)

i915: machete

Revision 1.69 / (download) - annotate - [select for diffs], Sun Dec 19 11:24:29 2021 UTC (2 years, 3 months ago) by riastradh
Branch: MAIN
Changes since 1.68: +13 -2 lines
Diff to previous 1.68 (colored)

Add missing header, NetBSD-ify


Author: Maya Rashish <maya@NetBSD.org>
Committer: Taylor R Campbell <riastradh@NetBSD.org>

Revision 1.68 / (download) - annotate - [select for diffs], Sun Dec 19 11:24:21 2021 UTC (2 years, 3 months ago) by riastradh
Branch: MAIN
Changes since 1.67: +19 -2 lines
Diff to previous 1.67 (colored)

Stub out some functions.

We can probably do without the fast path, and let's see whether
we get to i915_gem_phys_pwrite at all.


Author: Maya Rashish <maya@NetBSD.org>
Committer: Taylor R Campbell <riastradh@NetBSD.org>

Revision 1.67 / (download) - annotate - [select for diffs], Sun Dec 19 11:16:24 2021 UTC (2 years, 3 months ago) by riastradh
Branch: MAIN
Changes since 1.66: +4 -3 lines
Diff to previous 1.66 (colored)

i915: Move linux/nbsd-namespace.h to end of includes.

Revision 1.66 / (download) - annotate - [select for diffs], Sun Dec 19 10:28:31 2021 UTC (2 years, 3 months ago) by riastradh
Branch: MAIN
Changes since 1.65: +9 -2 lines
Diff to previous 1.65 (colored)

Distribute local changes from i915_dma.c

Revision 1.65 / (download) - annotate - [select for diffs], Sun Dec 19 01:50:47 2021 UTC (2 years, 3 months ago) by riastradh
Branch: MAIN
Changes since 1.64: +2 -10 lines
Diff to previous 1.64 (colored)

Don't ifdef __NetBSD__ around ALIGN; just patch to round_up.


Author: Maya Rashish <maya@NetBSD.org>

Revision 1.64 / (download) - annotate - [select for diffs], Sun Dec 19 01:34:08 2021 UTC (2 years, 3 months ago) by riastradh
Branch: MAIN
Changes since 1.63: +6 -2 lines
Diff to previous 1.63 (colored)

Sync i915_gem_fault. Hack up the rest of i915_gem.c enough to build.

Revision 1.63 / (download) - annotate - [select for diffs], Sun Dec 19 01:24:25 2021 UTC (2 years, 3 months ago) by riastradh
Branch: MAIN
Changes since 1.62: +8 -2 lines
Diff to previous 1.62 (colored)

First pass at i915, far from complete.

HEAVILY MODIFIED IN MERGE - maya

Revision 1.62 / (download) - annotate - [select for diffs], Sat Dec 18 23:45:28 2021 UTC (2 years, 3 months ago) by riastradh
Branch: MAIN
Changes since 1.61: +864 -5391 lines
Diff to previous 1.61 (colored)

Merge linux-drm-v5-6-rc3

Revision 1.1.1.4 / (download) - annotate - [select for diffs] (vendor branch), Sat Dec 18 20:15:25 2021 UTC (2 years, 3 months ago) by riastradh
Branch: LINUX
CVS Tags: linux-drm-v5-6-rc3
Changes since 1.1.1.3: +851 -4805 lines
Diff to previous 1.1.1.3 (colored)

Import drm from Linux v5.6-rc3 (commit f8788d86ab28f61f7b46eb6be375f8a726783636)

    drivers/gpu/drm     -> sys/external/bsd/drm2/dist/drm
    include/drm         -> sys/external/bsd/drm2/dist/include/drm
    include/uapi/drm    -> sys/external/bsd/drm2/dist/include/uapi/drm

GPL exclusions in dist/drm:

- amd/amdgpu/amdgpu_atpx_handler.c
- arc/
- arm/
- armada/
- aspeed/
- atmel-hlcdc/
- bochs/
- bridge/
- cirrus/
- drm_dp_cec.c
- drm_dp_mst_topology_internal.h
- drm_edid_load.c
- drm_format_helper.c
- drm_gem_cma_helper.c
- drm_gem_framebuffer_helper.c
- drm_gem_shmem_helper.c
- drm_gem_ttm_helper.c
- drm_gem_vram_helper.c
- drm_hdcp.c
- drm_lease.c
- drm_mipi_dbi.c
- drm_simple_kms_helper.c
- drm_sysfs.c
- drm_trace.h
- drm_vram_helper_common.c
- drm_writeback.c
- etnaviv/
- exynos/
- fsl-dcu/
- gma500/
- hisilicon/
- i2c/tda9950.c
- i2c/tda998x_drv.c
- i915/gt/selftest_context.c
- i915/gt/selftest_engine.c
- i915/gt/selftest_engine.h
- i915/gt/selftest_engine_cs.c
- i915/gt/selftest_engine_pm.c
- i915/i915_trace.h
- i915/selftests/i915_live_selftests.h
- i915/selftests/i915_mock_selftests.h
- i915/selftests/i915_perf_selftests.h
- i915/selftests/lib_sw_fence.h
- imx/
- ingenic/
- lima/
- mcde/
- mediatek/
- meson/
- mgag200/
- msm/
- mxsfb/
- omapdrm/
- panel/
- panfrost/
- pl111/
- radeon/radeon_atpx_handler.c
- rcar-du/
- rockchip/
- selftests/drm_cmdline_selftests.h
- selftests/drm_modeset_selftests.h
- selftests/test-drm_cmdline_parser.c
- selftests/test-drm_damage_helper.c
- selftests/test-drm_dp_mst_helper.c
- selftests/test-drm_format.c
- selftests/test-drm_framebuffer.c
- selftests/test-drm_modeset_common.c
- selftests/test-drm_modeset_common.h
- selftests/test-drm_plane_helper.c
- selftests/test-drm_rect.c
- shmobile/
- sti/
- stm/
- sun4i/
- tegra/
- tilcdc/
- tiny/
- tve200/
- udl/
- v3d/
- vc4/
- virtio/virtgpu_trace.h
- virtio/virtgpu_trace_points.c
- vkms/
- vmwgfx/device_include/vmware_pack_begin.h
- vmwgfx/device_include/vmware_pack_end.h
- zte/

  Exceptions -- these all appear to be files to which someone added
  an SPDX license header automatically by a script that is not aware
  of the default MIT licensing under drivers/gpu/drm:

  - ast/ast_dp501.c
  - ast/ast_dram_tables.h
  - lib/drm_random.c
  - lib/drm_random.h
  - i915/display/intel_acpi.c
  - i915/selftests/mock_gem_device.h
  - i915/selftests/i915_mock_selftests.h
  - i915/selftests/i915_live_selftests.h
  - r128/ati_pcigart.h
  - selftests/drm_mm_selftests.h
  - selftests/test-drm_mm.c
  - vmwgfx/device_include/vm_basic_types.h

GPL exclusions in dist/include/drm:

- bridge
- drm_client.h
- drm_fb_cma_helper.h
- drm_format_helper.h
- drm_gem_cma_helper.h
- drm_gem_shmem_helper.h
- drm_gem_ttm_helper.h
- drm_gem_vram_helper.h
- drm_lease.h
- drm_mipi_dbi.h
- drm_mipi_dsi.h
- drm_of.h
- drm_simple_kms_helper.h
- drm_sysfs.h
- drm_writeback.h
- gma_drm.h
- i2c/tda998x.h
- i915_mei_hdcp_interface.h
- intel-gtt.h

  Exceptions:
  - drm_agpsupport.h - was in original drm; wrong spdx header auto-added

GPL exclusions in dist/include/uapi/drm:

- armada_drm.h
- etnaviv_drm.h
- exynos_drm.h
- lima_drm.h
- omap_drm.h

  Exceptions:
  - i810_drm.h - was in original drm; spdx header is wrong

Revision 1.34.4.2 / (download) - annotate - [select for diffs], Wed Apr 8 14:08:23 2020 UTC (4 years ago) by martin
Branch: phil-wifi
Changes since 1.34.4.1: +15 -36 lines
Diff to previous 1.34.4.1 (colored) to branchpoint 1.34 (colored) next main 1.35 (colored)

Merge changes from current as of 20200406

Revision 1.54.6.2 / (download) - annotate - [select for diffs], Sat Feb 29 20:20:13 2020 UTC (4 years, 1 month ago) by ad
Branch: ad-namecache
Changes since 1.54.6.1: +14 -37 lines
Diff to previous 1.54.6.1 (colored) to branchpoint 1.54 (colored) next main 1.55 (colored)

Sync with head.

Revision 1.61 / (download) - annotate - [select for diffs], Sun Feb 23 15:46:40 2020 UTC (4 years, 1 month ago) by ad
Branch: MAIN
CVS Tags: thorpej-i2c-spi-conf2-base, thorpej-i2c-spi-conf2, thorpej-i2c-spi-conf-base, thorpej-i2c-spi-conf, thorpej-futex2-base, thorpej-futex2, thorpej-futex-base, thorpej-futex, thorpej-cfargs2-base, thorpej-cfargs2, thorpej-cfargs-base, thorpej-cfargs, phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, is-mlppp-base, is-mlppp, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x, bouyer-xenpvh-base2, bouyer-xenpvh-base1, bouyer-xenpvh-base, bouyer-xenpvh, ad-namecache-base3
Changes since 1.60: +8 -8 lines
Diff to previous 1.60 (colored)

UVM locking changes, proposed on tech-kern:

- Change the lock on uvm_object, vm_amap and vm_anon to be a RW lock.
- Break v_interlock and vmobjlock apart.  v_interlock remains a mutex.
- Do partial PV list locking in the x86 pmap.  Others to follow later.

Revision 1.60 / (download) - annotate - [select for diffs], Sat Feb 22 19:46:48 2020 UTC (4 years, 1 month ago) by chs
Branch: MAIN
Changes since 1.59: +5 -8 lines
Diff to previous 1.59 (colored)

do not wait for memory in pgo_fault methods, just return ENOMEM
and let the uvm_fault code wait if it is appropriate.

Revision 1.59 / (download) - annotate - [select for diffs], Fri Feb 14 14:34:58 2020 UTC (4 years, 2 months ago) by maya
Branch: MAIN
Changes since 1.58: +2 -8 lines
Diff to previous 1.58 (colored)

Reduce diffs by side-loading some header files like Linux.

From riastradh

Revision 1.58 / (download) - annotate - [select for diffs], Fri Feb 14 04:35:19 2020 UTC (4 years, 2 months ago) by riastradh
Branch: MAIN
Changes since 1.57: +4 -18 lines
Diff to previous 1.57 (colored)

Use a header file hack to cope with Linux/NetBSD namespace clashes.

Currently serves for:

ALIGN
mutex_init
mutex_destroy

Revision 1.57 / (download) - annotate - [select for diffs], Fri Feb 14 04:30:05 2020 UTC (4 years, 2 months ago) by riastradh
Branch: MAIN
Changes since 1.56: +3 -3 lines
Diff to previous 1.56 (colored)

Eliminate -Wpointer-arith patches; use -Wno-pointer-arith instead.

Revision 1.54.6.1 / (download) - annotate - [select for diffs], Fri Jan 17 21:47:32 2020 UTC (4 years, 3 months ago) by ad
Branch: ad-namecache
Changes since 1.54: +5 -3 lines
Diff to previous 1.54 (colored)

Sync with head.

Revision 1.56 / (download) - annotate - [select for diffs], Fri Jan 17 19:56:50 2020 UTC (4 years, 3 months ago) by ad
Branch: MAIN
CVS Tags: ad-namecache-base2, ad-namecache-base1
Changes since 1.55: +4 -2 lines
Diff to previous 1.55 (colored)

Apply patch from kamil@: vmobjlock needs to be held for uvm_pagemarkdirty().

Revision 1.55 / (download) - annotate - [select for diffs], Wed Jan 15 17:55:43 2020 UTC (4 years, 3 months ago) by ad
Branch: MAIN
Changes since 1.54: +3 -3 lines
Diff to previous 1.54 (colored)

Merge from yamt-pagecache (after much testing):

- Reduce unnecessary page scan in putpages esp. when an object has a ton of
  pages cached but only a few of them are dirty.

- Reduce the number of pmap operations by tracking page dirtiness more
  precisely in uvm layer.

Revision 1.34.4.1 / (download) - annotate - [select for diffs], Mon Jun 10 22:08:05 2019 UTC (4 years, 10 months ago) by christos
Branch: phil-wifi
Changes since 1.34: +2102 -1910 lines
Diff to previous 1.34 (colored)

Sync with HEAD

Revision 1.34.2.1 / (download) - annotate - [select for diffs], Thu Sep 6 06:56:16 2018 UTC (5 years, 7 months ago) by pgoyette
Branch: pgoyette-compat
CVS Tags: pgoyette-compat-merge-20190127
Changes since 1.34: +2102 -1910 lines
Diff to previous 1.34 (colored) next main 1.35 (colored)

Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)

Revision 1.54 / (download) - annotate - [select for diffs], Mon Aug 27 15:22:54 2018 UTC (5 years, 7 months ago) by riastradh
Branch: MAIN
CVS Tags: phil-wifi-20191119, phil-wifi-20190609, pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, netbsd-9-base, netbsd-9-3-RELEASE, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, netbsd-9, isaki-audio2-base, isaki-audio2, ad-namecache-base
Branch point for: ad-namecache
Changes since 1.53: +0 -2 lines
Diff to previous 1.53 (colored)

Draft support for drm prime.

Revision 1.53 / (download) - annotate - [select for diffs], Mon Aug 27 14:50:04 2018 UTC (5 years, 7 months ago) by riastradh
Branch: MAIN
Changes since 1.52: +3 -1 lines
Diff to previous 1.52 (colored)

Handle uvm object reference counts in uvm_map more carefully.

Acquire a reference unconditionally first; then let uvm_map consume
it on success, and release it ourselves on failure.

As we did before -- acquiring a fresh reference on success -- another
thread might release the reference with a concurrent uvm_unmap before
we could acquire it back, thereby destroying the object.

XXX pullup-7 in part (i915_gem_fault)
XXX pullup-8 in part (i915_gem_fault)

Revision 1.52 / (download) - annotate - [select for diffs], Mon Aug 27 14:47:02 2018 UTC (5 years, 7 months ago) by riastradh
Branch: MAIN
Changes since 1.51: +4 -0 lines
Diff to previous 1.51 (colored)

Work around ioctl ABI mistake in i915 drm.

A flags argument was added to the I915_GEM_MMAP ioctl.  The version
of xf86-video-intel we imported was compiled to use the new ioctl
structure including the flags argument, but without initializing the
flags argument, so it would be userland stack garbage causing
i915_gem_mmap_ioctl to fail.

Newer xf86-video-intel will query the mmap version first before
trying to use either the older ioctl structure, with the original
shorter argument and thus no stack garbage (which will be padded with
to the full length in the kernel by drm_ioctl), or the newer ioctl
structure, with the argument initialized.

libdrm does not appear to be affected by this -- it zeroes the longer
structure before passing it in.

Patch from mrg@, diagnosis and explanation by me.

Revision 1.51 / (download) - annotate - [select for diffs], Mon Aug 27 14:44:46 2018 UTC (5 years, 7 months ago) by riastradh
Branch: MAIN
Changes since 1.50: +2 -0 lines
Diff to previous 1.50 (colored)

Need irq_lock to wait on irq_queue.  From mrg@.

Revision 1.50 / (download) - annotate - [select for diffs], Mon Aug 27 14:14:29 2018 UTC (5 years, 7 months ago) by riastradh
Branch: MAIN
Changes since 1.49: +2 -0 lines
Diff to previous 1.49 (colored)

Sprinkle idr_preload/idr_preload_end.

Try to do these outside all mutex locks.

Tricky case is i915_gem_context, where the struct mutex is held for a
long time.

Revision 1.49 / (download) - annotate - [select for diffs], Mon Aug 27 13:44:29 2018 UTC (5 years, 7 months ago) by riastradh
Branch: MAIN
Changes since 1.48: +1 -3 lines
Diff to previous 1.48 (colored)

With <asm/cpufeature.h>, we can now use cpu_has_pat.

Revision 1.48 / (download) - annotate - [select for diffs], Mon Aug 27 13:41:37 2018 UTC (5 years, 7 months ago) by riastradh
Branch: MAIN
Changes since 1.47: +4 -3 lines
Diff to previous 1.47 (colored)

Guess what uvm criterion means we should discard backing pages.

Revision 1.47 / (download) - annotate - [select for diffs], Mon Aug 27 13:40:28 2018 UTC (5 years, 7 months ago) by riastradh
Branch: MAIN
Changes since 1.46: +2 -0 lines
Diff to previous 1.46 (colored)

Don't forget to set .uio_offset and to call UIO_SETUP_SYSSPACE.

Revision 1.46 / (download) - annotate - [select for diffs], Mon Aug 27 07:45:55 2018 UTC (5 years, 7 months ago) by riastradh
Branch: MAIN
Changes since 1.45: +1 -3 lines
Diff to previous 1.45 (colored)

Reduce diff by going back to just using ACCESS_ONCE.

Revision 1.45 / (download) - annotate - [select for diffs], Mon Aug 27 07:23:37 2018 UTC (5 years, 7 months ago) by riastradh
Branch: MAIN
Changes since 1.44: +8 -1 lines
Diff to previous 1.44 (colored)

Implement i915_gem_object_invalidate with PGO_DEACTIVATE.

Revision 1.44 / (download) - annotate - [select for diffs], Mon Aug 27 07:23:22 2018 UTC (5 years, 7 months ago) by riastradh
Branch: MAIN
Changes since 1.43: +1 -2 lines
Diff to previous 1.43 (colored)

Implement set_page_dirty.  Reduce diff a little.

Revision 1.43 / (download) - annotate - [select for diffs], Mon Aug 27 07:19:01 2018 UTC (5 years, 7 months ago) by riastradh
Branch: MAIN
Changes since 1.42: +17 -54 lines
Diff to previous 1.42 (colored)

Rename drm_gem_object::gemo_shm_uao -> drm_gem_object::filp.

The Linux member that is basically analogous to this is named so,
which means we can eliminate a few diffs this way.

Revision 1.42 / (download) - annotate - [select for diffs], Mon Aug 27 07:17:58 2018 UTC (5 years, 7 months ago) by riastradh
Branch: MAIN
Changes since 1.41: +1 -0 lines
Diff to previous 1.41 (colored)

Compute the number of bytes written as expected.

Revision 1.41 / (download) - annotate - [select for diffs], Mon Aug 27 07:17:35 2018 UTC (5 years, 7 months ago) by riastradh
Branch: MAIN
Changes since 1.40: +60 -60 lines
Diff to previous 1.40 (colored)

Rework how we map i915 drm gem objects.

The old way made no sense at all.  This way might make sense.

Revision 1.40 / (download) - annotate - [select for diffs], Mon Aug 27 07:06:38 2018 UTC (5 years, 7 months ago) by riastradh
Branch: MAIN
Changes since 1.39: +2 -1 lines
Diff to previous 1.39 (colored)

Missed a missed_irq.

Revision 1.39 / (download) - annotate - [select for diffs], Mon Aug 27 07:05:50 2018 UTC (5 years, 7 months ago) by riastradh
Branch: MAIN
Changes since 1.38: +38 -8 lines
Diff to previous 1.38 (colored)

Fix some merge mistakes, 64-bit printfs, &c.

Revision 1.38 / (download) - annotate - [select for diffs], Mon Aug 27 06:33:34 2018 UTC (5 years, 7 months ago) by riastradh
Branch: MAIN
Changes since 1.37: +0 -1 lines
Diff to previous 1.37 (colored)

#ifdef custodial service

Revision 1.37 / (download) - annotate - [select for diffs], Mon Aug 27 06:07:58 2018 UTC (5 years, 7 months ago) by riastradh
Branch: MAIN
Changes since 1.36: +19 -1 lines
Diff to previous 1.36 (colored)

bring in old drm changes
panic(XXX) out parts that need attention


Author: coypu <coypu@sdf.org>
Committer: Taylor R Campbell <riastradh@NetBSD.org>

Revision 1.36 / (download) - annotate - [select for diffs], Mon Aug 27 04:58:23 2018 UTC (5 years, 7 months ago) by riastradh
Branch: MAIN
Changes since 1.35: +1987 -1822 lines
Diff to previous 1.35 (colored)

merge linux-drm-v4-4-143

Revision 1.1.1.3 / (download) - annotate - [select for diffs] (vendor branch), Mon Aug 27 01:34:53 2018 UTC (5 years, 7 months ago) by riastradh
Branch: LINUX
CVS Tags: linux-drm-v4-4-143
Changes since 1.1.1.2: +1927 -1651 lines
Diff to previous 1.1.1.2 (colored)

Import drm from Linux v4.4.143 (commit a8ea6276d00555387deaaa5eaeb380cd5c17bdc9).

   drivers/gpu/drm      -> sys/external/bsd/drm2/dist/drm
   include/drm          -> sys/external/bsd/drm2/dist/include/drm
   include/uapi/drm     -> sys/external/bsd/drm2/dist/uapi/drm

GPL sources excluded.

Revision 1.35 / (download) - annotate - [select for diffs], Mon Aug 27 00:56:38 2018 UTC (5 years, 7 months ago) by riastradh
Branch: MAIN
Changes since 1.34: +3 -1 lines
Diff to previous 1.34 (colored)

Handle uvm object reference counts in uvm_map more carefully.

Acquire a reference unconditionally first; then let uvm_map consume
it on success, and release it ourselves on failure.

As we did before -- acquiring a fresh reference on success -- another
thread might release the reference with a concurrent uvm_unmap before
we could acquire it back, thereby destroying the object.

XXX pullup-7
XXX pullup-8

Revision 1.14.4.3 / (download) - annotate - [select for diffs], Sun Dec 3 11:37:52 2017 UTC (6 years, 4 months ago) by jdolecek
Branch: tls-maxphys
Changes since 1.14.4.2: +170 -147 lines
Diff to previous 1.14.4.2 (colored) to branchpoint 1.14 (colored) next main 1.15 (colored)

update from HEAD

Revision 1.33.10.1 / (download) - annotate - [select for diffs], Thu Nov 2 21:29:52 2017 UTC (6 years, 5 months ago) by snj
Branch: netbsd-8
CVS Tags: netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1, matt-nb8-mediatek-base, matt-nb8-mediatek
Changes since 1.33: +4 -4 lines
Diff to previous 1.33 (colored) next main 1.34 (colored)

Pull up following revision(s) (requested by pgoyette in ticket #335):
	share/man/man9/kernhist.9: 1.5-1.8
	sys/arch/acorn26/acorn26/pmap.c: 1.39
	sys/arch/arm/arm32/fault.c: 1.105 via patch
	sys/arch/arm/arm32/pmap.c: 1.350, 1.359
	sys/arch/arm/broadcom/bcm2835_bsc.c: 1.7
	sys/arch/arm/omap/if_cpsw.c: 1.20
	sys/arch/arm/omap/tiotg.c: 1.7
	sys/arch/evbarm/conf/RPI2_INSTALL: 1.3
	sys/dev/ic/sl811hs.c: 1.98
	sys/dev/usb/ehci.c: 1.256
	sys/dev/usb/if_axe.c: 1.83
	sys/dev/usb/motg.c: 1.18
	sys/dev/usb/ohci.c: 1.274
	sys/dev/usb/ucom.c: 1.119
	sys/dev/usb/uhci.c: 1.277
	sys/dev/usb/uhub.c: 1.137
	sys/dev/usb/umass.c: 1.160-1.162
	sys/dev/usb/umass_quirks.c: 1.100
	sys/dev/usb/umass_scsipi.c: 1.55
	sys/dev/usb/usb.c: 1.168
	sys/dev/usb/usb_mem.c: 1.70
	sys/dev/usb/usb_subr.c: 1.221
	sys/dev/usb/usbdi.c: 1.175
	sys/dev/usb/usbdi_util.c: 1.67-1.70
	sys/dev/usb/usbroothub.c: 1.3
	sys/dev/usb/xhci.c: 1.75
	sys/external/bsd/drm2/dist/drm/i915/i915_gem.c: 1.34
	sys/kern/kern_history.c: 1.15
	sys/kern/kern_xxx.c: 1.74
	sys/kern/vfs_bio.c: 1.275-1.276
	sys/miscfs/genfs/genfs_io.c: 1.71
	sys/sys/kernhist.h: 1.21
	sys/ufs/ffs/ffs_balloc.c: 1.63
	sys/ufs/lfs/lfs_vfsops.c: 1.361
	sys/ufs/lfs/ulfs_inode.c: 1.21
	sys/ufs/lfs/ulfs_vnops.c: 1.52
	sys/ufs/ufs/ufs_inode.c: 1.102
	sys/ufs/ufs/ufs_vnops.c: 1.239
	sys/uvm/pmap/pmap.c: 1.37-1.39
	sys/uvm/pmap/pmap_tlb.c: 1.22
	sys/uvm/uvm_amap.c: 1.108
	sys/uvm/uvm_anon.c: 1.64
	sys/uvm/uvm_aobj.c: 1.126
	sys/uvm/uvm_bio.c: 1.91
	sys/uvm/uvm_device.c: 1.66
	sys/uvm/uvm_fault.c: 1.201
	sys/uvm/uvm_km.c: 1.144
	sys/uvm/uvm_loan.c: 1.85
	sys/uvm/uvm_map.c: 1.353
	sys/uvm/uvm_page.c: 1.194
	sys/uvm/uvm_pager.c: 1.111
	sys/uvm/uvm_pdaemon.c: 1.109
	sys/uvm/uvm_swap.c: 1.175
	sys/uvm/uvm_vnode.c: 1.103
	usr.bin/vmstat/vmstat.c: 1.219
Reorder to test for null before null deref in debug code
--
Reorder to test for null before null deref in debug code
--
KNF
--
No need for '\n' in UVMHIST_LOG
--
normalise a BIOHIST log message
--
Update the kernhist(9) kernel history code to address issues identified
in PR kern/52639, as well as some general cleaning-up...
(As proposed on tech-kern@ with additional changes and enhancements.)
Details of changes:
* All history arguments are now stored as uintmax_t values[1], both in
   the kernel and in the structures used for exporting the history data
   to userland via sysctl(9).  This avoids problems on some architectures
   where passing a 64-bit (or larger) value to printf(3) can cause it to
   process the value as multiple arguments.  (This can be particularly
   problematic when printf()'s format string is not a literal, since in
   that case the compiler cannot know how large each argument should be.)
* Update the data structures used for exporting kernel history data to
   include a version number as well as the length of history arguments.
* All [2] existing users of kernhist(9) have had their format strings
   updated.  Each format specifier now includes an explicit length
   modifier 'j' to refer to numeric values of the size of uintmax_t.
* All [2] existing users of kernhist(9) have had their format strings
   updated to replace uses of "%p" with "%#jx", and the pointer
   arguments are now cast to (uintptr_t) before being subsequently cast
   to (uintmax_t).  This is needed to avoid compiler warnings about
   casting "pointer to integer of a different size."
* All [2] existing users of kernhist(9) have had instances of "%s" or
   "%c" format strings replaced with numeric formats; several instances
   of mis-match between format string and argument list have been fixed.
* vmstat(1) has been modified to handle the new size of arguments in the
   history data as exported by sysctl(9).
* vmstat(1) now provides a warning message if the history requested with
   the -u option does not exist (previously, this condition was silently
   ignored, with only a single blank line being printed).
* vmstat(1) now checks the version and argument length included in the
   data exported via sysctl(9) and exits if they do not match the values
   with which vmstat was built.
* The kernhist(9) man-page has been updated to note the additional
   requirements imposed on the format strings, along with several other
   minor changes and enhancements.
[1] It would have been possible to use an explicit length (for example,
     uint64_t) for the history arguments.  But that would require another
     "rototill" of all the users in the future when we add support for an
     architecture that supports a larger size.  Also, the printf(3)
format
     specifiers for explicitly-sized values, such as "%"PRIu64, are much
     more verbose (and less aesthetically appealing, IMHO) than simply
     using "%ju".
[2] I've tried very hard to find "all [the] existing users of
kernhist(9)"
     but it is possible that I've missed some of them.  I would be glad
to
     update any stragglers that anyone identifies.
--
For some reason this single kernel seems to have outgrown its declared
size as a result of the kernhist(9) changes.  Bump the size.
XXX The amount of increase may be excessive - anyone with more detailed
XXX knowledge please feel free to further adjust the value
appropriately.
--
Misssed one cast of pointer --> uintptr_t in previous kernhist(9) commit
--
And yet another one.  :(
--
Use correct mark-up for NetBSD version.
--
More improvements in grammar and readability.
--
Remove a stray '"' (obvious typo) and add a couple of casts that are
probably needed.
--
And replace an instance of "%p" conversion with "%#jx"
--
Whitespace fix. Give Bl tag table a width. Fix Xr.

Revision 1.34 / (download) - annotate - [select for diffs], Sat Oct 28 00:37:13 2017 UTC (6 years, 5 months ago) by pgoyette
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202, phil-wifi-base, pgoyette-compat-base, pgoyette-compat-0728, pgoyette-compat-0625, pgoyette-compat-0521, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315
Branch point for: phil-wifi, pgoyette-compat
Changes since 1.33: +4 -4 lines
Diff to previous 1.33 (colored)

Update the kernhist(9) kernel history code to address issues identified
in PR kern/52639, as well as some general cleaning-up...

(As proposed on tech-kern@ with additional changes and enhancements.)

Details of changes:

* All history arguments are now stored as uintmax_t values[1], both in
  the kernel and in the structures used for exporting the history data
  to userland via sysctl(9).  This avoids problems on some architectures
  where passing a 64-bit (or larger) value to printf(3) can cause it to
  process the value as multiple arguments.  (This can be particularly
  problematic when printf()'s format string is not a literal, since in
  that case the compiler cannot know how large each argument should be.)

* Update the data structures used for exporting kernel history data to
  include a version number as well as the length of history arguments.

* All [2] existing users of kernhist(9) have had their format strings
  updated.  Each format specifier now includes an explicit length
  modifier 'j' to refer to numeric values of the size of uintmax_t.

* All [2] existing users of kernhist(9) have had their format strings
  updated to replace uses of "%p" with "%#jx", and the pointer
  arguments are now cast to (uintptr_t) before being subsequently cast
  to (uintmax_t).  This is needed to avoid compiler warnings about
  casting "pointer to integer of a different size."

* All [2] existing users of kernhist(9) have had instances of "%s" or
  "%c" format strings replaced with numeric formats; several instances
  of mis-match between format string and argument list have been fixed.

* vmstat(1) has been modified to handle the new size of arguments in the
  history data as exported by sysctl(9).

* vmstat(1) now provides a warning message if the history requested with
  the -u option does not exist (previously, this condition was silently
  ignored, with only a single blank line being printed).

* vmstat(1) now checks the version and argument length included in the
  data exported via sysctl(9) and exits if they do not match the values
  with which vmstat was built.

* The kernhist(9) man-page has been updated to note the additional
  requirements imposed on the format strings, along with several other
  minor changes and enhancements.

[1] It would have been possible to use an explicit length (for example,
    uint64_t) for the history arguments.  But that would require another
    "rototill" of all the users in the future when we add support for an
    architecture that supports a larger size.  Also, the printf(3) format
    specifiers for explicitly-sized values, such as "%"PRIu64, are much
    more verbose (and less aesthetically appealing, IMHO) than simply
    using "%ju".

[2] I've tried very hard to find "all [the] existing users of kernhist(9)"
    but it is possible that I've missed some of them.  I would be glad to
    update any stragglers that anyone identifies.

Revision 1.18.2.4 / (download) - annotate - [select for diffs], Sun Dec 27 12:10:00 2015 UTC (8 years, 3 months ago) by skrll
Branch: nick-nhusb
Changes since 1.18.2.3: +2 -1 lines
Diff to previous 1.18.2.3 (colored) to branchpoint 1.18 (colored) next main 1.19 (colored)

Sync with HEAD (as of 26th Dec)

Revision 1.33 / (download) - annotate - [select for diffs], Thu Nov 26 13:15:34 2015 UTC (8 years, 4 months ago) by martin
Branch: MAIN
CVS Tags: prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, pgoyette-localcount-base, pgoyette-localcount-20170426, pgoyette-localcount-20170320, pgoyette-localcount-20170107, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, pgoyette-localcount, perseant-stdc-iso10646-base, perseant-stdc-iso10646, nick-nhusb-base-20170825, nick-nhusb-base-20170204, nick-nhusb-base-20161204, nick-nhusb-base-20161004, nick-nhusb-base-20160907, nick-nhusb-base-20160529, nick-nhusb-base-20160422, nick-nhusb-base-20160319, nick-nhusb-base-20151226, netbsd-8-base, localcount-20160914, jdolecek-ncq-base, jdolecek-ncq, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan
Branch point for: netbsd-8
Changes since 1.32: +2 -1 lines
Diff to previous 1.32 (colored)

We never exec(2) with a kernel vmspace, so do not test for that, but instead
KASSERT() that we don't.
When calculating the load address for the interpreter (e.g. ld.elf_so),
we need to take into account wether the exec'd process will run with
topdown memory or bottom up. We can not use the current vmspace's flags
to test for that, as this happens too early. Luckily the execpack already
knows what the new state will be later, so instead of testing the current
vmspace, pass the info as additional argument to struct emul
e_vm_default_addr.
Fix all such functions and adopt all callers.

Revision 1.18.2.3 / (download) - annotate - [select for diffs], Tue Sep 22 12:06:05 2015 UTC (8 years, 6 months ago) by skrll
Branch: nick-nhusb
Changes since 1.18.2.2: +26 -2 lines
Diff to previous 1.18.2.2 (colored) to branchpoint 1.18 (colored)

Sync with HEAD

Revision 1.14.2.11 / (download) - annotate - [select for diffs], Tue Aug 4 17:18:39 2015 UTC (8 years, 8 months ago) by snj
Branch: netbsd-7
CVS Tags: netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, netbsd-7-2-RELEASE, netbsd-7-1-RELEASE, netbsd-7-1-RC2, netbsd-7-1-RC1, netbsd-7-1-2-RELEASE, netbsd-7-1-1-RELEASE, netbsd-7-1, netbsd-7-0-RELEASE, netbsd-7-0-RC3, netbsd-7-0-2-RELEASE, netbsd-7-0-1-RELEASE, netbsd-7-0
Changes since 1.14.2.10: +17 -2 lines
Diff to previous 1.14.2.10 (colored) to branchpoint 1.14 (colored) next main 1.15 (colored)

Pull up following revision(s) (requested by tsutsui in ticket #931):
	sys/external/bsd/drm2/dist/drm/i915/i915_gem.c: revision 1.32
Pull upstream fix to avoid kernel panic on starting X on Intel 855GM machines.
Reported in PR kern/49875, and ok'ed to commit by riastradh@.

Revision 1.32 / (download) - annotate - [select for diffs], Sat Aug 1 13:42:32 2015 UTC (8 years, 8 months ago) by tsutsui
Branch: MAIN
CVS Tags: nick-nhusb-base-20150921
Changes since 1.31: +17 -2 lines
Diff to previous 1.31 (colored)

Pull upstream fix to avoid kernel panic on starting X on Intel 855GM machines.

Reported in PR kern/49875, and ok'ed to commit by riastradh@.

Should be pulled up to netbsd-7.

Revision 1.14.2.10 / (download) - annotate - [select for diffs], Thu Jul 30 15:38:39 2015 UTC (8 years, 8 months ago) by snj
Branch: netbsd-7
Changes since 1.14.2.9: +1 -12 lines
Diff to previous 1.14.2.9 (colored) to branchpoint 1.14 (colored)

Pull up following revision(s) (requested by riastradh in ticket #901):
	sys/external/bsd/drm2/dist/drm/i915/i915_gem.c: revision 1.30
Remove workaround for PR kern/49195.
Problem seems to have been properly fixed in rev. 1.25.

Revision 1.14.2.9 / (download) - annotate - [select for diffs], Sun Jul 5 21:31:48 2015 UTC (8 years, 9 months ago) by snj
Branch: netbsd-7
CVS Tags: netbsd-7-0-RC2
Changes since 1.14.2.8: +9 -0 lines
Diff to previous 1.14.2.8 (colored) to branchpoint 1.14 (colored)

Pull up following revision(s) (requested by chs in ticket #854):
	sys/external/bsd/drm2/dist/drm/i915/i915_gem.c: revision 1.31
fix Xorg coredumps that have started happening recently.
the problem is that we get a SIGALRM while we're sleeping during a page fault
on a mapping of a GEM object, and since we're sleeping interruptibly,
the GEM operation fails with EINTR.  this error is returned all the way back
through uvm_fault() to the trap handler, which responds to that error
by delivering a SIGSEGV.
fix this by doing like the linux version of the GEM fault handler and converting
EINTR into success, which results in delivering the original signal and
retrying the fault.

Revision 1.31 / (download) - annotate - [select for diffs], Thu Jun 25 16:01:20 2015 UTC (8 years, 9 months ago) by chs
Branch: MAIN
Changes since 1.30: +9 -0 lines
Diff to previous 1.30 (colored)

fix Xorg coredumps that have started happening recently.
the problem is that we get a SIGALRM while we're sleeping during a page fault
on a mapping of a GEM object, and since we're sleeping interruptibly,
the GEM operation fails with EINTR.  this error is returned all the way back
through uvm_fault() to the trap handler, which responds to that error
by delivering a SIGSEGV.

fix this by doing like the linux version of the GEM fault handler and converting
EINTR into success, which results in delivering the original signal and
retrying the fault.

Revision 1.18.2.2 / (download) - annotate - [select for diffs], Sat Jun 6 14:40:19 2015 UTC (8 years, 10 months ago) by skrll
Branch: nick-nhusb
Changes since 1.18.2.1: +1 -12 lines
Diff to previous 1.18.2.1 (colored) to branchpoint 1.18 (colored)

Sync with HEAD

Revision 1.30 / (download) - annotate - [select for diffs], Wed May 13 23:57:02 2015 UTC (8 years, 11 months ago) by riastradh
Branch: MAIN
CVS Tags: nick-nhusb-base-20150606
Changes since 1.29: +1 -12 lines
Diff to previous 1.29 (colored)

Remove workaround for PR kern/49195.

Problem seems to have been properly fixed in rev. 1.25.

Revision 1.14.2.8 / (download) - annotate - [select for diffs], Thu Apr 23 07:31:17 2015 UTC (8 years, 11 months ago) by snj
Branch: netbsd-7
CVS Tags: netbsd-7-0-RC1
Changes since 1.14.2.7: +12 -25 lines
Diff to previous 1.14.2.7 (colored) to branchpoint 1.14 (colored)

Pull up following revision(s) (requested by mrg in ticket #718):
	sys/arch/x86/include/pmap.h: revision 1.56
	sys/arch/x86/x86/pmap.c: revision 1.188
	sys/dev/pci/agp_amd64.c: revision 1.8
	sys/dev/pci/agp_i810.c: revision 1.118
	sys/external/bsd/drm2/dist/drm/i915/i915_dma.c: revision 1.16
	sys/external/bsd/drm2/dist/drm/i915/i915_gem.c: revision 1.29
	sys/external/bsd/drm2/dist/drm/nouveau/nouveau_agp.c: revision 1.3
	sys/external/bsd/drm2/dist/drm/nouveau/nouveau_ttm.c: revision 1.4
	sys/external/bsd/drm2/dist/drm/radeon/atombios_crtc.c: revision 1.3
	sys/external/bsd/drm2/dist/drm/radeon/radeon_agp.c: revision 1.3
	sys/external/bsd/drm2/dist/drm/radeon/radeon_display.c: revision 1.3
	sys/external/bsd/drm2/dist/drm/radeon/radeon_legacy_crtc.c: revision 1.2
	sys/external/bsd/drm2/dist/drm/radeon/radeon_object.c: revision 1.3
	sys/external/bsd/drm2/dist/drm/radeon/radeon_ttm.c: revision 1.7
	sys/external/bsd/drm2/dist/drm/ttm/ttm_bo.c: revisions 1.7-1.10
	sys/external/bsd/drm2/dist/drm/ttm/ttm_bo_util.c: revision 1.5
	sys/external/bsd/drm2/i915drm/intelfb.c: revision 1.13
	sys/external/bsd/drm2/include/drm/drm_wait_netbsd.h: revisions 1.12, 1.13
	sys/external/bsd/drm2/include/linux/mm.h: revision 1.5
	sys/external/bsd/drm2/include/linux/pci.h: revisions 1.16, 1.17
	sys/external/bsd/drm2/nouveau/nouveaufb.c: revision 1.2
	sys/external/bsd/drm2/radeon/radeon_pci.c: revisions 1.8, 1.9
	sys/uvm/uvm_init.c: revision 1.46
Hack against the blank console problem:
Leave the CLUT alone on ancient cards. At least this leaves us with a
semi working console (red and blue are flipped). Leave an example of what
seems to be happening but disable it because colors are better than 444 bit
greyscale.
--
Initialize P->V tracking for unmanaged device pages in uvm_init.

Conditional on __HAVE_PMAP_PV_TRACK until we add it to all pmaps.

MI part of pmap_pv(9) change proposed on tech-kern:

https://mail-index.netbsd.org/tech-kern/2015/03/26/msg018561.html
--
Implement pmap_pv(9) for x86 for P->V tracking of unmanaged pages.

Proposed on tech-kern with no objections:

https://mail-index.netbsd.org/tech-kern/2015/03/26/msg018561.html
--
Use pmap_pv(9) to remove mappings of Intel graphics aperture pages.

Proposed on tech-kern with no objections:

https://mail-index.netbsd.org/tech-kern/2015/03/26/msg018561.html

Further background at:

https://mail-index.netbsd.org/tech-kern/2014/07/23/msg017392.html
--
Use pmap_pv(9) to remove mappings of device pages in TTM.

Adapt nouveau and radeon to do pmap_pv_track for their device pages.

Proposed on tech-kern with no objections:

https://mail-index.netbsd.org/tech-kern/2015/03/26/msg018561.html

Further background at:

https://mail-index.netbsd.org/tech-kern/2014/07/23/msg017392.html
--
Fix error branches in agp_amd64.c.

- agp_generic_detach always.
- Free asc if it was allocated.  (Found by Brainy, noted by maxv@.)
- Free the GATT if it was allocated.
--
pmf_device_register returns false on failure, not true
--
In DRM_SPIN_WAIT_ON, don't stop after waiting only one tick.

Continue the loop to recheck the condition and count the whole
duration.
--
Don't use the video BIOS memory as an i915 flush page!
--
Don't let anyone else allocate the video BIOS either.
--
Missed a zero: it's 0x100000, not 0x10000.
--
Don't reserve if atomic -- caller must have pre-pinned the buffer.
--
Don't reserve if atomic -- caller must have pre-pinned the buffer.
--
almost add radeondrmkms suspend/resume support.  it unfortunately doesn't work.
--
Need the page's uvm object lock to do pmap_page_protect.
--
Use KASSERTMSG to show bad base/offset.
--
KASSERT about page-alignment on initialization too.
--
Don't break when hardclock_ticks wraps around.

Since we now only count time spent in wait, rather than determining
the end time and checking whether we've passed it, timeouts might be
marginally longer in effect.  Unlikely to be an issue.
--
Remove broken drm2 vm_mmap stub.  Can't possibly have ever worked.
--
apply some of the additional changes from Arto Huusko in PR#49645:
- call pmf_device_deregister on detach.

i've kept the "resume = true" for radeon_resume_kms() call as it
seems to work for me (indeed, code inspection shows it is unused
on netbsd :-)

my old nforce4 box that can resume old drm (or could, last i tried
several years ago) while X and GL apps were running, can at least
survive a resume if X hasn't started.  my one attempt so far with
X exited, but having run, did not work.
--
First attempt to make ttm_buffer_object_transfer less bogus.
--
Make sure mem.bus.is_iomem is initialized.  PR 49833

Revision 1.18.2.1 / (download) - annotate - [select for diffs], Mon Apr 6 15:18:15 2015 UTC (9 years ago) by skrll
Branch: nick-nhusb
Changes since 1.18: +87 -117 lines
Diff to previous 1.18 (colored)

Sync with HEAD

Revision 1.29 / (download) - annotate - [select for diffs], Fri Apr 3 01:06:05 2015 UTC (9 years ago) by riastradh
Branch: MAIN
CVS Tags: nick-nhusb-base-20150406
Changes since 1.28: +12 -25 lines
Diff to previous 1.28 (colored)

Use pmap_pv(9) to remove mappings of Intel graphics aperture pages.

Proposed on tech-kern with no objections:

https://mail-index.netbsd.org/tech-kern/2015/03/26/msg018561.html

Further background at:

https://mail-index.netbsd.org/tech-kern/2014/07/23/msg017392.html

Revision 1.14.2.7 / (download) - annotate - [select for diffs], Tue Mar 17 17:52:49 2015 UTC (9 years, 1 month ago) by riz
Branch: netbsd-7
Changes since 1.14.2.6: +23 -83 lines
Diff to previous 1.14.2.6 (colored) to branchpoint 1.14 (colored)

Pull up following revision(s) (requested by snj in ticket #590):
	sys/external/bsd/drm2/i915drm/intel_gtt.c: revision 1.5
	sys/external/bsd/drm2/drm/drm_drv.c: revision 1.15
	sys/external/bsd/drm2/dist/drm/i915/i915_gem.c: revision 1.28
	sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/clock/nouveau_subdev_clock_nv50.c: revision 1.3
	sys/dev/pci/agp_i810.c: revision 1.115
	sys/dev/pci/agp_i810.c: revision 1.116
	sys/external/bsd/drm2/include/drm/intel-gtt.h: revision 1.5
	sys/dev/pci/agp_i810.c: revision 1.117
	sys/external/bsd/drm2/drm/drm_gem_vm.c: revision 1.6
	sys/dev/pci/agp_i810var.h: revision 1.6
Issue a write barrier after updating the GTT.
Linux never used to do this...until a month:
<a  rel="nofollow" href="https://bugs.freedesktop.org/show_bug.cgi?id=88191">https://bugs.freedesktop.org/show_bug.cgi?id=88191</a>
   commit 983d308cb8f602d1920a8c40196eb2ab6cc07bd2
   Author: Chris Wilson &lt;chris%chris-wilson.co.uk@localhost&gt;
   Date:   Mon Jan 26 10:47:10 2015 +0000
       agp/intel: Serialise after GTT updates
Include &lt;sys/atomic.h&gt; for membar_producer.
(Why didn't this fail in my build?)
Pass cache-related flags through to the GTT on pre-SNB devices.
I had assumed for ages this would increase the amount of caching and
thereby increase the chance of stale caches leading to rendering
glitches.  But apparently I was wrong, and failing to pass these
through was causing all sorts of problems!
Dedup the NetBSD portion of the code (ok Riastradh), no functional change.
Don't return events that are too large and leave them in the list.
Apply access control to gem mmap.
fix gcc is stupid.

Revision 1.28 / (download) - annotate - [select for diffs], Fri Mar 6 22:24:05 2015 UTC (9 years, 1 month ago) by christos
Branch: MAIN
Changes since 1.27: +23 -83 lines
Diff to previous 1.27 (colored)

Dedup the NetBSD portion of the code (ok Riastradh), no functional change.

Revision 1.14.2.6 / (download) - annotate - [select for diffs], Fri Mar 6 21:39:08 2015 UTC (9 years, 1 month ago) by snj
Branch: netbsd-7
Changes since 1.14.2.5: +25 -13 lines
Diff to previous 1.14.2.5 (colored) to branchpoint 1.14 (colored)

Pull up following revision(s) (requested by mrg in ticket #573):
	sys/external/bsd/common/include/linux/kernel.h: 1.5, 1.6
	sys/external/bsd/drm2/dist/drm/drm_ioctl.c: 1.4
	sys/external/bsd/drm2/dist/drm/drm_irq.c: 1.6-1.8
	sys/external/bsd/drm2/dist/drm/i915/i915_dma.c: 1.13-1.15
	sys/external/bsd/drm2/dist/drm/i915/i915_gem.c: 1.23-1.27
	sys/external/bsd/drm2/dist/drm/i915/i915_gem_execbuffer.c: 1.5
	sys/external/bsd/drm2/dist/drm/i915/intel_display.c: 1.14, 1.15
	sys/external/bsd/drm2/dist/drm/i915/intel_dp.c: 1.10
	sys/external/bsd/drm2/dist/drm/i915/intel_drv.h: 1.8
	sys/external/bsd/drm2/dist/drm/i915/intel_i2c.c: 1.8-1.13
	sys/external/bsd/drm2/dist/drm/i915/intel_pm.c: 1.6
	sys/external/bsd/drm2/dist/drm/i915/intel_ringbuffer.c: 1.5, 1.6
	sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device/nouveau_engine_device_base.c: 1.4
	sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nvc0.c: 1.3, 1.4
	sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nve0.c: 1.3, 1.4
	sys/external/bsd/drm2/dist/drm/nouveau/core/include/core/device.h: 1.4
	sys/external/bsd/drm2/dist/drm/nouveau/core/include/subdev/mc.h: 1.2
	sys/external/bsd/drm2/dist/drm/nouveau/core/include/subdev/pwr.h: 1.3, 1.4
	sys/external/bsd/drm2/dist/drm/nouveau/core/os.h: 1.4, 1.5
	sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/bios/nouveau_subdev_bios_base.c: 1.2
	sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/bios/nouveau_subdev_bios_pll.c: 1.2
	sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/clock/nouveau_subdev_clock_base.c: 1.2
	sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/clock/nouveau_subdev_clock_nv50.c: 1.2
	sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/devinit/fbmem.h: 1.2
	sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/devinit/nouveau_subdev_devinit_nv04.c: 1.2
	sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_nv50.c: 1.2
	sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_nvc0.c: 1.2
	sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nv50.h: 1.2
	sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nvc0.h: 1.2
	sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/mc/nouveau_subdev_mc_base.c: 1.2, 1.3
	sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/mxm/nouveau_subdev_mxm_nv50.c: 1.2
	sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/pwr/nouveau_subdev_pwr_base.c: 1.3, 1.4
	sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/therm/nouveau_subdev_therm_ic.c: 1.2
	sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/timer/nouveau_subdev_timer_nv04.c: 1.2
	sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/vm/nouveau_subdev_vm_base.c: 1.2
	sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/vm/nouveau_subdev_vm_nv04.c: 1.2
	sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/vm/nouveau_subdev_vm_nv44.c: 1.2
	sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/vm/nv04.h: 1.2
	sys/external/bsd/drm2/dist/drm/nouveau/nouveau_bo.h: 1.3
	sys/external/bsd/drm2/dist/drm/nouveau/nouveau_drm.c: 1.4, 1.5
	sys/external/bsd/drm2/dist/drm/nouveau/nouveau_fbcon.c: 1.2
	sys/external/bsd/drm2/dist/drm/nouveau/nouveau_nv50_display.c: 1.3
	sys/external/bsd/drm2/dist/drm/nouveau/nouveau_nv84_fence.c: 1.2
	sys/external/bsd/drm2/dist/drm/nouveau/nouveau_ttm.c: 1.3
	sys/external/bsd/drm2/dist/drm/nouveau/nouveau_ttm.h: 1.2
	sys/external/bsd/drm2/dist/drm/nouveau/nouveau_vga.h: 1.2
	sys/external/bsd/drm2/dist/drm/radeon/radeon_fence.c: 1.6-1.8
	sys/external/bsd/drm2/dist/drm/radeon/radeon_pm.c: 1.3
	sys/external/bsd/drm2/dist/drm/radeon/rs400.c: 1.3
	sys/external/bsd/drm2/dist/drm/via/via_dmablit.c: 1.3, 1.4
	sys/external/bsd/drm2/dist/drm/via/via_drv.h: 1.3
	sys/external/bsd/drm2/dist/drm/via/via_irq.c: 1.3, 1.4
	sys/external/bsd/drm2/dist/drm/via/via_video.c: 1.3, 1.4
	sys/external/bsd/drm2/dist/include/drm/drmP.h: 1.10
	sys/external/bsd/drm2/dist/include/drm/drm_crtc.h: 1.4
	sys/external/bsd/drm2/dist/include/drm/drm_modes.h: 1.3
	sys/external/bsd/drm2/dist/uapi/drm/i915_drm.h: 1.2
	sys/external/bsd/drm2/drm/drm_cache.c: 1.4-1.6
	sys/external/bsd/drm2/drm/drm_drv.c: 1.14
	sys/external/bsd/drm2/drm/drm_module.c: 1.10
	sys/external/bsd/drm2/drm/drm_sysctl.c: 1.5
	sys/external/bsd/drm2/drm/drm_vma_manager.c: 1.2
	sys/external/bsd/drm2/drm/drmfb.c: 1.1
	sys/external/bsd/drm2/drm/files.drmkms: 1.10, 1.11
	sys/external/bsd/drm2/i2c/drm_encoder_slave.c: 1.1
	sys/external/bsd/drm2/i915drm/files.i915drmkms: 1.7, 1.10
	sys/external/bsd/drm2/i915drm/intelfb.c: 1.11, 1.12
	sys/external/bsd/drm2/include/asm/io.h: 1.4
	sys/external/bsd/drm2/include/asm/unaligned.h: 1.2, 1.3
	sys/external/bsd/drm2/include/drm/drm_encoder_slave.h: 1.1
	sys/external/bsd/drm2/include/drm/drm_wait_netbsd.h: 1.7-1.11
	sys/external/bsd/drm2/include/drm/drmfb.h: 1.1
	sys/external/bsd/drm2/include/drm/drmfb_pci.h: 1.1, 1.2
	sys/external/bsd/drm2/include/linux/bitops.h: 1.9
	sys/external/bsd/drm2/include/linux/i2c.h: 1.7, 1.8
	sys/external/bsd/drm2/include/linux/io-mapping.h: 1.5
	sys/external/bsd/drm2/include/linux/moduleparam.h: 1.5
	sys/external/bsd/drm2/include/linux/pci.h: 1.12-1.15
	sys/external/bsd/drm2/include/linux/pm.h: 1.4
	sys/external/bsd/drm2/include/linux/reboot.h: 1.2
	sys/external/bsd/drm2/include/linux/slab.h: 1.5
	sys/external/bsd/drm2/include/linux/string.h: 1.4
	sys/external/bsd/drm2/include/linux/vgaarb.h: 1.3
	sys/external/bsd/drm2/include/linux/ww_mutex.h: 1.10
	sys/external/bsd/drm2/linux/files.drmkms_linux: 1.8
	sys/external/bsd/drm2/linux/linux_i2c.c: 1.3
	sys/external/bsd/drm2/linux/linux_ww_mutex.c: 1.1
	sys/external/bsd/drm2/nouveau/files.nouveau: 1.5-1.8
	sys/external/bsd/drm2/nouveau/nouveau_pci.c: 1.1-1.3
	sys/external/bsd/drm2/nouveau/nouveau_pci.h: 1.1
	sys/external/bsd/drm2/nouveau/nouveau_sysfs.c: 1.1
	sys/external/bsd/drm2/nouveau/nouveau_vga.c: 1.1
	sys/external/bsd/drm2/nouveau/nouveaufb.c: 1.1
	sys/external/bsd/drm2/nouveau/nouveaufb.h: 1.1
	sys/external/bsd/drm2/pci/drm_pci.c: 1.10-1.12
	sys/external/bsd/drm2/pci/drm_pci_module.c: 1.4
	sys/external/bsd/drm2/pci/drmfb_pci.c: 1.1-1.3
	sys/external/bsd/drm2/pci/files.drmkms_pci: 1.5
	sys/external/bsd/drm2/radeon/radeon_pci.c: 1.5-1.7
	sys/modules/drmkms/Makefile: 1.8, 1.9
	sys/modules/drmkms_linux/Makefile: 1.6
	sys/modules/drmkms_pci/Makefile: 1.5
sync drm2 with HEAD.

Revision 1.27 / (download) - annotate - [select for diffs], Thu Mar 5 01:04:51 2015 UTC (9 years, 1 month ago) by riastradh
Branch: MAIN
Changes since 1.26: +11 -1 lines
Diff to previous 1.26 (colored)

Mark pages dirty after use for write in the aperture (`GTT').

Revision 1.26 / (download) - annotate - [select for diffs], Thu Mar 5 00:55:34 2015 UTC (9 years, 1 month ago) by riastradh
Branch: MAIN
Changes since 1.25: +4 -1 lines
Diff to previous 1.25 (colored)

Unwire pages when we're done in i915_gem_object_attach_phys.

Revision 1.25 / (download) - annotate - [select for diffs], Tue Mar 3 14:31:48 2015 UTC (9 years, 1 month ago) by riastradh
Branch: MAIN
Changes since 1.24: +0 -4 lines
Diff to previous 1.24 (colored)

Re-enable prints to diagnose PR 49195.

I believe I fixed this problem by fixing __wait_seqno, but before I
remove the workaround I'll try to make sure it's not getting hit any
more.

Revision 1.24 / (download) - annotate - [select for diffs], Mon Mar 2 17:30:17 2015 UTC (9 years, 1 month ago) by riastradh
Branch: MAIN
Changes since 1.23: +2 -2 lines
Diff to previous 1.23 (colored)

Make sure wedged actually gets set on all code paths.

Otherwise GCC helpfully realizes we're invoking undefined behaviour
and optimizes away the possibility that this routine will return
success, without saying a word about it.

Revision 1.23 / (download) - annotate - [select for diffs], Sat Feb 28 04:47:44 2015 UTC (9 years, 1 month ago) by riastradh
Branch: MAIN
Changes since 1.22: +8 -5 lines
Diff to previous 1.22 (colored)

Make timed and untimed cases of __wait_seqno agree on return value.

Revision 1.14.2.5 / (download) - annotate - [select for diffs], Fri Feb 27 11:23:53 2015 UTC (9 years, 1 month ago) by martin
Branch: netbsd-7
Changes since 1.14.2.4: +27 -3 lines
Diff to previous 1.14.2.4 (colored) to branchpoint 1.14 (colored)

Pull up following revision(s) (requested by snj in ticket #553):
	sys/external/bsd/drm2/dist/drm/i915/i915_gem.c: revision 1.20
	sys/external/bsd/drm2/dist/drm/i915/i915_gem.c: revision 1.21
	sys/external/bsd/drm2/dist/drm/i915/i915_gem.c: revision 1.22
	sys/external/bsd/drm2/dist/drm/i915/intel_i2c.c: revision 1.5
	sys/external/bsd/drm2/dist/drm/i915/intel_i2c.c: revision 1.6
	sys/external/bsd/drm2/dist/drm/i915/intel_i2c.c: revision 1.7
	sys/external/bsd/drm2/include/drm/drm_wait_netbsd.h: revision 1.6
Fix returned timeout in wait_seqno: remaining time, not time slept.
-
Fix return code of __wait_seqno.
-
MAX(ret, 0) is 0 if ret is negative, but if ret is negative we want
to return that negative value, meaning error.  Should've been
MIN(ret, 0), but I'll just rewrite it to clarify a wee bit.
-
If the GPU reset, call i915_gem_check_wedge and always return failure
like Linux does.  Caller must retry in that case.
-
Limit scope of ret and omit needless use of it to reduce confusion.
-
Make gmbus_wait_hw_status consistently use 50ms timeout like Linux.
-
Another attempt to fix the drm timed wait blarf blugh blahhh.
...aaaaand one more fix for __wait_seqno return value.
-
Also get the sense of the condition to wait until right.

Revision 1.22 / (download) - annotate - [select for diffs], Thu Feb 26 23:32:40 2015 UTC (9 years, 1 month ago) by riastradh
Branch: MAIN
Changes since 1.21: +4 -2 lines
Diff to previous 1.21 (colored)

...aaaaand one more fix for __wait_seqno return value.

Revision 1.21 / (download) - annotate - [select for diffs], Thu Feb 26 19:43:43 2015 UTC (9 years, 1 month ago) by riastradh
Branch: MAIN
Changes since 1.20: +9 -1 lines
Diff to previous 1.20 (colored)

Fix return code of __wait_seqno.

MAX(ret, 0) is 0 if ret is negative, but if ret is negative we want
to return that negative value, meaning error.  Should've been
MIN(ret, 0), but I'll just rewrite it to clarify a wee bit.

If the GPU reset, call i915_gem_check_wedge and always return failure
like Linux does.  Caller must retry in that case.

Revision 1.20 / (download) - annotate - [select for diffs], Thu Feb 26 14:10:14 2015 UTC (9 years, 1 month ago) by riastradh
Branch: MAIN
Changes since 1.19: +16 -2 lines
Diff to previous 1.19 (colored)

Fix returned timeout in wait_seqno: remaining time, not time slept.

Revision 1.14.2.4 / (download) - annotate - [select for diffs], Tue Dec 30 11:57:49 2014 UTC (9 years, 3 months ago) by martin
Branch: netbsd-7
Changes since 1.14.2.3: +7 -0 lines
Diff to previous 1.14.2.3 (colored) to branchpoint 1.14 (colored)

Pull up following revision(s) (requested by nonaka in ticket #362):
	sys/external/bsd/drm2/dist/drm/i915/i915_gem.c: revision 1.19
Also need to flush an object from CPU domain.

Revision 1.19 / (download) - annotate - [select for diffs], Tue Dec 30 09:58:53 2014 UTC (9 years, 3 months ago) by nonaka
Branch: MAIN
Changes since 1.18: +7 -0 lines
Diff to previous 1.18 (colored)

Also need to flush an object from CPU domain.

Revision 1.14.2.3 / (download) - annotate - [select for diffs], Mon Nov 10 19:45:54 2014 UTC (9 years, 5 months ago) by martin
Branch: netbsd-7
Changes since 1.14.2.2: +50 -24 lines
Diff to previous 1.14.2.2 (colored) to branchpoint 1.14 (colored)

Pull up following revision(s) (requested by snj in ticket #191):
	sys/external/bsd/drm2/include/linux/io-mapping.h: revision 1.4
	sys/external/bsd/drm2/dist/uapi/drm/drm.h: revision 1.5
	sys/external/bsd/drm2/dist/drm/i915/intel_panel.c: revision 1.5
	sys/external/bsd/drm2/dist/uapi/drm/drm.h: revision 1.6
	sys/external/bsd/drm2/dist/drm/i915/intel_drv.h: revision 1.7
	sys/external/bsd/drm2/include/linux/ww_mutex.h: revision 1.7
	sys/external/bsd/drm2/dist/drm/i915/intel_dp.c: revision 1.8
	sys/external/bsd/drm2/dist/drm/i915/i915_ums.c: revision 1.2
	sys/external/bsd/drm2/dist/drm/i915/intel_pm.c: revision 1.5
	sys/external/bsd/drm2/dist/drm/i915/i915_debugfs.c: revision 1.2
	sys/external/bsd/drm2/dist/drm/i915/i915_drv.h: revision 1.9
	sys/external/bsd/drm2/dist/drm/i915/i915_cmd_parser.c: revision 1.4
	sys/external/bsd/drm2/dist/drm/i915/intel_dsi.c: revision 1.3
	sys/external/bsd/drm2/dist/drm/i915/intel_display.c: revision 1.11
	sys/external/bsd/drm2/dist/drm/i915/intel_hdmi.c: revision 1.5
	sys/external/bsd/drm2/dist/drm/i915/intel_display.c: revision 1.12
	sys/external/bsd/drm2/include/asm/processor.h: revision 1.3
	sys/external/bsd/drm2/dist/drm/i915/intel_crt.c: revision 1.5
	sys/external/bsd/drm2/dist/drm/i915/intel_sideband.c: revision 1.2
	sys/external/bsd/drm2/dist/drm/i915/intel_ddi.c: revision 1.5
	sys/external/bsd/drm2/dist/drm/i915/intel_tv.c: revision 1.5
	sys/external/bsd/drm2/dist/drm/i915/i915_dma.c: revision 1.11
	sys/external/bsd/drm2/dist/drm/i915/i915_irq.c: revision 1.10
	sys/external/bsd/drm2/dist/drm/i915/i915_gem.c: revision 1.16
	sys/external/bsd/drm2/dist/drm/i915/i915_gem.c: revision 1.17
	sys/external/bsd/drm2/ttm/ttm_bo_vm.c: revision 1.6
	sys/external/bsd/drm2/ttm/ttm_bo_vm.c: revision 1.7
	sys/external/bsd/drm2/drm/drm_module.c: revision 1.8
	sys/external/bsd/drm2/dist/drm/i915/intel_sprite.c: revision 1.2
	sys/external/bsd/drm2/dist/drm/i915/intel_dsi_cmd.c: revision 1.2
	sys/external/bsd/drm2/i915drm/intelfb.c: revision 1.10
	sys/external/bsd/drm2/dist/drm/i915/intel_dvo.c: revision 1.2
	sys/external/bsd/drm2/dist/drm/i915/intel_sdvo.c: revision 1.6
	sys/external/bsd/drm2/dist/drm/i915/intel_lvds.c: revision 1.6
Code cleanup and minor bugfixes for drm2.

Revision 1.14.2.2 / (download) - annotate - [select for diffs], Wed Nov 5 17:57:13 2014 UTC (9 years, 5 months ago) by snj
Branch: netbsd-7
Changes since 1.14.2.1: +11 -2 lines
Diff to previous 1.14.2.1 (colored) to branchpoint 1.14 (colored)

Pull up following revision(s) (requested by sborrill in ticket #178):
	sys/external/bsd/drm2/dist/drm/i915/i915_gem.c: revision 1.18
When moving an object to inactive, make sure that we first flush it from
the GTT domain in case it belonged there. Also, fix some compilation issues
when turning on WATCH_GTT and WATCH_LISTS, although this is a lost cause;
most of the code has rotted beyond repair.

Revision 1.18 / (download) - annotate - [select for diffs], Mon Nov 3 16:50:20 2014 UTC (9 years, 5 months ago) by christos
Branch: MAIN
CVS Tags: nick-nhusb-base
Branch point for: nick-nhusb
Changes since 1.17: +11 -2 lines
Diff to previous 1.17 (colored)

When moving an object to inactive, make sure that we first flush it from
the GTT domain in case it belonged there. Also, fix some compilation issues
when turning on WATCH_GTT and WATCH_LISTS, although this is a lost cause;
most of the code has rotted beyond repair.

Revision 1.17 / (download) - annotate - [select for diffs], Sat Nov 1 21:44:51 2014 UTC (9 years, 5 months ago) by christos
Branch: MAIN
Changes since 1.16: +2 -0 lines
Diff to previous 1.16 (colored)

fix uninitialized

Revision 1.16 / (download) - annotate - [select for diffs], Wed Sep 17 16:35:39 2014 UTC (9 years, 7 months ago) by riastradh
Branch: MAIN
Changes since 1.15: +48 -24 lines
Diff to previous 1.15 (colored)

Avoid container_of-inspired &obj->base == NULL nonsense.

Revision 1.14.2.1 / (download) - annotate - [select for diffs], Fri Aug 22 10:35:59 2014 UTC (9 years, 7 months ago) by martin
Branch: netbsd-7
Changes since 1.14: +4 -0 lines
Diff to previous 1.14 (colored)

Pull up following revision(s) (requested by riastradh in ticket #46):
	sys/external/bsd/drm2/dist/drm/i915/i915_gem.c: revision 1.15
	sys/external/bsd/drm2/ttm/ttm_bo_vm.c: revision 1.4
Do not take the {ttm,gem} vmobjlock in the fault handler.
- We don't need this lock.
- uvm does nothing between taking it and calling the fault handler.
- Now that the uvm_aobj shares vmobjlock with the {ttm,gem} uvm
  object, we must not hold the lock when we call uvm_obj_wirepages on
  the uvm_aobj.

Revision 1.15 / (download) - annotate - [select for diffs], Wed Aug 20 13:48:08 2014 UTC (9 years, 8 months ago) by riastradh
Branch: MAIN
Changes since 1.14: +4 -0 lines
Diff to previous 1.14 (colored)

Drop take the {ttm,gem} vmobjlock in the fault handler.

- We don't need this lock.
- uvm does nothing between taking it and calling the fault handler.
- Now that the uvm_aobj shares vmobjlock with the {ttm,gem} uvm
  object, we must not hold the lock when we call uvm_obj_wirepages on
  the uvm_aobj.

XXX pullup to netbsd-7

Revision 1.14.4.2 / (download) - annotate - [select for diffs], Wed Aug 20 00:04:09 2014 UTC (9 years, 8 months ago) by tls
Branch: tls-maxphys
Changes since 1.14.4.1: +5688 -0 lines
Diff to previous 1.14.4.1 (colored) to branchpoint 1.14 (colored)

Rebase to HEAD as of a few days ago.

Revision 1.2.2.1 / (download) - annotate - [select for diffs], Sun Aug 10 06:55:29 2014 UTC (9 years, 8 months ago) by tls
Branch: tls-earlyentropy
Changes since 1.2: +1929 -1232 lines
Diff to previous 1.2 (colored) next main 1.3 (colored)

Rebase.

Revision 1.14.4.1, Wed Jul 16 21:48:53 2014 UTC (9 years, 9 months ago) by tls
Branch: tls-maxphys
Changes since 1.14: +0 -5688 lines
FILE REMOVED

file i915_gem.c was added on branch tls-maxphys on 2014-08-20 00:04:09 +0000

Revision 1.14 / (download) - annotate - [select for diffs], Wed Jul 16 21:48:53 2014 UTC (9 years, 9 months ago) by riastradh
Branch: MAIN
CVS Tags: tls-maxphys-base, tls-earlyentropy-base, netbsd-7-base
Branch point for: tls-maxphys, netbsd-7
Changes since 1.13: +18 -0 lines
Diff to previous 1.13 (colored)

Explain why i915_gem_release_mmap is broken.

Revision 1.13 / (download) - annotate - [select for diffs], Wed Jul 16 20:56:24 2014 UTC (9 years, 9 months ago) by riastradh
Branch: MAIN
Changes since 1.12: +171 -40 lines
Diff to previous 1.12 (colored)

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.

Revision 1.12 / (download) - annotate - [select for diffs], Wed Jul 16 20:03:56 2014 UTC (9 years, 9 months ago) by riastradh
Branch: MAIN
Changes since 1.11: +1740 -1221 lines
Diff to previous 1.11 (colored)

fix merge conflicts

Revision 1.1.1.2 / (download) - annotate - [select for diffs] (vendor branch), Wed Jul 16 19:35:25 2014 UTC (9 years, 9 months ago) by riastradh
Branch: LINUX
CVS Tags: linux-3-15-drm-bsd
Changes since 1.1.1.1: +1675 -1088 lines
Diff to previous 1.1.1.1 (colored)

Import drm from Linux 3.15 (commitid 1860e379875dfe7271c649058aeddffe5afd9d0d).

   drivers/gpu/drm      -> sys/external/bsd/drm2/dist/drm
   include/drm          -> sys/external/bsd/drm2/dist/include/drm
   include/uapi/drm     -> sys/external/bsd/drm2/dist/uapi/drm

GPL sources excluded.

Revision 1.11 / (download) - annotate - [select for diffs], Thu Jun 12 19:10:33 2014 UTC (9 years, 10 months ago) by riastradh
Branch: MAIN
Changes since 1.10: +22 -2 lines
Diff to previous 1.10 (colored)

Constrain addresses of pages backing i915 GEM objects.

Use the new uao_set_pgfl and x86_select_freelist for the purpose.

Revision 1.10 / (download) - annotate - [select for diffs], Tue Jun 3 15:06:36 2014 UTC (9 years, 10 months ago) by riastradh
Branch: MAIN
Changes since 1.9: +3 -6 lines
Diff to previous 1.9 (colored)

Ensure we call uvmfault_unlockall on every exit from i915_gem_fault.

Revision 1.9.2.2 / (download) - annotate - [select for diffs], Thu May 22 11:40:53 2014 UTC (9 years, 10 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.9.2.1: +4993 -0 lines
Diff to previous 1.9.2.1 (colored) next main 1.10 (colored)

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")

Revision 1.9.2.1, Tue May 20 15:15:04 2014 UTC (9 years, 11 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.9: +0 -5003 lines
FILE REMOVED

file i915_gem.c was added on branch yamt-pagecache on 2014-05-22 11:40:53 +0000

Revision 1.9 / (download) - annotate - [select for diffs], Tue May 20 15:15:04 2014 UTC (9 years, 11 months ago) by riastradh
Branch: MAIN
Branch point for: yamt-pagecache
Changes since 1.8: +3 -1 lines
Diff to previous 1.8 (colored)

Oops -- drop the GEM object reference on error too.

Revision 1.8 / (download) - annotate - [select for diffs], Tue May 20 15:12:41 2014 UTC (9 years, 11 months ago) by riastradh
Branch: MAIN
Changes since 1.7: +3 -1 lines
Diff to previous 1.7 (colored)

Don't map the GEM uvm_aobj copy-on-write -- what was I thinking?

Do transfer the GEM object reference to the uvm_aobj reference --
these are not the same thing.  (There's another uvm object whose
references are the same thing as the GEM object references, but
that's not the uao.)

With these changes, it looks like the GPU is no longer trying to draw
graphics all over kernel data structures.  Wish I had that month of
debugging back!

Revision 1.1.1.1.4.3 / (download) - annotate - [select for diffs], Sun May 18 17:46:00 2014 UTC (9 years, 11 months ago) by rmind
Branch: rmind-smpnet
Changes since 1.1.1.1.4.2: +577 -1 lines
Diff to previous 1.1.1.1.4.2 (colored) to branchpoint 1.1.1.1 (colored) next main 1.1.1.2 (colored)

sync with head

Revision 1.7 / (download) - annotate - [select for diffs], Wed May 14 16:25:19 2014 UTC (9 years, 11 months ago) by riastradh
Branch: MAIN
CVS Tags: rmind-smpnet-nbase, rmind-smpnet-base
Changes since 1.6: +1 -1 lines
Diff to previous 1.6 (colored)

Fix sense of test in last commit, noted by Robert Swindells.

Revision 1.6 / (download) - annotate - [select for diffs], Wed May 14 13:59:19 2014 UTC (9 years, 11 months ago) by riastradh
Branch: MAIN
Changes since 1.5: +7 -3 lines
Diff to previous 1.5 (colored)

Reject 32-bit paddrs on 965.

XXX Doing the check here is wrong; it serves only to report an
earlier problem, which is that there's on way to express constraints
on paddrs to uvm_obj_wirepages.  bus_dmamem_alloc can do this, but it
gives us pages out of thin air, not pages backing a uvm object.  I
was hoping this wouldn't manifest as a real problem, but evidently it
does.

Revision 1.5 / (download) - annotate - [select for diffs], Wed May 14 13:53:41 2014 UTC (9 years, 11 months ago) by riastradh
Branch: MAIN
Changes since 1.4: +3 -1 lines
Diff to previous 1.4 (colored)

Fix >40-bit paddr error branch in i915_gem_object_get_pages_gtt.

Revision 1.4 / (download) - annotate - [select for diffs], Thu May 1 15:19:16 2014 UTC (9 years, 11 months ago) by riastradh
Branch: MAIN
CVS Tags: yamt-pagecache-base9
Changes since 1.3: +4 -2 lines
Diff to previous 1.3 (colored)

Tweak some DRM GEM page indexing crap.

- Fix order of subtraction in drm_mmap_paddr_locked.
- Address GEM objects' pages from 0, not from the mmap cookie.
- Check page alignment earlier in mmap code paths.
- Sprinkle kasserts throughout.

Still doesn't fix the garbage that is sometimes being scribbled all
over kernel memory!

Revision 1.3 / (download) - annotate - [select for diffs], Sat Apr 26 20:26:26 2014 UTC (9 years, 11 months ago) by riastradh
Branch: MAIN
Changes since 1.2: +1 -1 lines
Diff to previous 1.2 (colored)

Convert pending_flip_lock to spin lock -- interrupt handlers take it.

Revision 1.2 / (download) - annotate - [select for diffs], Tue Mar 18 18:20:42 2014 UTC (10 years, 1 month ago) by riastradh
Branch: MAIN
CVS Tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
Branch point for: tls-earlyentropy
Changes since 1.1: +569 -1 lines
Diff to previous 1.1 (colored)

Merge riastradh-drm2 to HEAD.

Revision 1.1.1.1.2.22 / (download) - annotate - [select for diffs], Thu Mar 6 00:32:39 2014 UTC (10 years, 1 month ago) by riastradh
Branch: riastradh-drm2
Changes since 1.1.1.1.2.21: +2 -0 lines
Diff to previous 1.1.1.1.2.21 (colored) to branchpoint 1.1.1.1 (colored) next main 1.1.1.2 (colored)

Take the vmobjlock in i915_gem_release_mmap around pmap_page_protect.

Revision 1.1.1.1.2.21 / (download) - annotate - [select for diffs], Wed Mar 5 22:18:10 2014 UTC (10 years, 1 month ago) by riastradh
Branch: riastradh-drm2
Changes since 1.1.1.1.2.20: +10 -8 lines
Diff to previous 1.1.1.1.2.20 (colored) to branchpoint 1.1.1.1 (colored)

Implement and use non-interruptible DRM_WAIT_* gizmos.

Revision 1.1.1.1.2.20 / (download) - annotate - [select for diffs], Tue Jan 21 20:57:00 2014 UTC (10 years, 2 months ago) by riastradh
Branch: riastradh-drm2
Changes since 1.1.1.1.2.19: +1 -0 lines
Diff to previous 1.1.1.1.2.19 (colored) to branchpoint 1.1.1.1 (colored)

Return EINTR too in __wait_seqno.

Revision 1.1.1.1.2.19 / (download) - annotate - [select for diffs], Tue Jan 21 20:56:11 2014 UTC (10 years, 2 months ago) by riastradh
Branch: riastradh-drm2
Changes since 1.1.1.1.2.18: +3 -1 lines
Diff to previous 1.1.1.1.2.18 (colored) to branchpoint 1.1.1.1 (colored)

uobj->pgops->pgo_put requires uobj->vmobjlock.

Revision 1.1.1.1.2.18 / (download) - annotate - [select for diffs], Tue Jan 21 20:49:01 2014 UTC (10 years, 2 months ago) by riastradh
Branch: riastradh-drm2
Changes since 1.1.1.1.2.17: +2 -2 lines
Diff to previous 1.1.1.1.2.17 (colored) to branchpoint 1.1.1.1 (colored)

i915_gem_object_get_page takes a page number, not byte offset.

Revision 1.1.1.1.2.17 / (download) - annotate - [select for diffs], Wed Jan 15 13:53:32 2014 UTC (10 years, 3 months ago) by riastradh
Branch: riastradh-drm2
Changes since 1.1.1.1.2.16: +5 -2 lines
Diff to previous 1.1.1.1.2.16 (colored) to branchpoint 1.1.1.1 (colored)

Use dev_priv->irq_lock for ring->irq_queue, not dev->struct_mutex.

We need to use a spin lock here, because we need to exclude interrupt
handlers.

Revision 1.1.1.1.2.16 / (download) - annotate - [select for diffs], Mon Dec 30 04:51:35 2013 UTC (10 years, 3 months ago) by riastradh
Branch: riastradh-drm2
Changes since 1.1.1.1.2.15: +1 -0 lines
Diff to previous 1.1.1.1.2.15 (colored) to branchpoint 1.1.1.1 (colored)

Initialize and destroy the pending flip lock.

Revision 1.1.1.1.2.15 / (download) - annotate - [select for diffs], Sun Sep 8 16:28:27 2013 UTC (10 years, 7 months ago) by riastradh
Branch: riastradh-drm2
Changes since 1.1.1.1.2.14: +0 -2 lines
Diff to previous 1.1.1.1.2.14 (colored) to branchpoint 1.1.1.1 (colored)

Still more error branch cleanup.

Revision 1.1.1.1.2.14 / (download) - annotate - [select for diffs], Sun Sep 8 16:05:06 2013 UTC (10 years, 7 months ago) by riastradh
Branch: riastradh-drm2
Changes since 1.1.1.1.2.13: +16 -0 lines
Diff to previous 1.1.1.1.2.13 (colored) to branchpoint 1.1.1.1 (colored)

Check that GEM wired pages use at most 40 bits of physical addresses.

Can't express this constraint to uvm_obj_wirepages at the moment, so
at least fail early and noisily if we violate it.

Revision 1.1.1.1.2.13 / (download) - annotate - [select for diffs], Sun Sep 8 16:04:09 2013 UTC (10 years, 7 months ago) by riastradh
Branch: riastradh-drm2
Changes since 1.1.1.1.2.12: +0 -8 lines
Diff to previous 1.1.1.1.2.12 (colored) to branchpoint 1.1.1.1 (colored)

The bus_dmamap_load_raw got moved to i915_gem_gtt but not committed.

Revision 1.1.1.1.2.12 / (download) - annotate - [select for diffs], Sun Sep 8 16:03:21 2013 UTC (10 years, 7 months ago) by riastradh
Branch: riastradh-drm2
Changes since 1.1.1.1.2.11: +2 -1 lines
Diff to previous 1.1.1.1.2.11 (colored) to branchpoint 1.1.1.1 (colored)

Use dev->struct_mutex, not drm_global_mutex, for ring->irq_queue.

Revision 1.1.1.1.2.11 / (download) - annotate - [select for diffs], Sun Sep 8 16:00:22 2013 UTC (10 years, 7 months ago) by riastradh
Branch: riastradh-drm2
Changes since 1.1.1.1.2.10: +7 -0 lines
Diff to previous 1.1.1.1.2.10 (colored) to branchpoint 1.1.1.1 (colored)

Fix a bunch of i915 error branches.

Some of these fixes are necessary only on NetBSD because we require
mutex_destroy, while Linux doesn't.

Revision 1.1.1.1.2.10 / (download) - annotate - [select for diffs], Sun Sep 8 15:56:02 2013 UTC (10 years, 7 months ago) by riastradh
Branch: riastradh-drm2
Changes since 1.1.1.1.2.9: +1 -0 lines
Diff to previous 1.1.1.1.2.9 (colored) to branchpoint 1.1.1.1 (colored)

Hook up the i915_gem uvm pager ops.

Revision 1.1.1.1.2.9 / (download) - annotate - [select for diffs], Sun Sep 8 15:55:23 2013 UTC (10 years, 7 months ago) by riastradh
Branch: riastradh-drm2
Changes since 1.1.1.1.2.8: +6 -1 lines
Diff to previous 1.1.1.1.2.8 (colored) to branchpoint 1.1.1.1 (colored)

Use pmap_enter_default, not pmap_enter.

Seems to be a problem with modules referring to weak aliases?

Revision 1.1.1.1.2.8 / (download) - annotate - [select for diffs], Sun Sep 8 15:52:20 2013 UTC (10 years, 7 months ago) by riastradh
Branch: riastradh-drm2
Changes since 1.1.1.1.2.7: +505 -1 lines
Diff to previous 1.1.1.1.2.7 (colored) to branchpoint 1.1.1.1 (colored)

Adapt the i915 GEM code to NetBSD.

Revision 1.1.1.1.2.7 / (download) - annotate - [select for diffs], Sun Sep 8 15:41:41 2013 UTC (10 years, 7 months ago) by riastradh
Branch: riastradh-drm2
Changes since 1.1.1.1.2.6: +3 -0 lines
Diff to previous 1.1.1.1.2.6 (colored) to branchpoint 1.1.1.1 (colored)

Add missing includes to i915_gem.c.

Revision 1.1.1.1.4.2 / (download) - annotate - [select for diffs], Wed Aug 28 23:59:33 2013 UTC (10 years, 7 months ago) by rmind
Branch: rmind-smpnet
Changes since 1.1.1.1.4.1: +4423 -0 lines
Diff to previous 1.1.1.1.4.1 (colored) to branchpoint 1.1.1.1 (colored)

sync with head

Revision 1.1.1.1.2.6 / (download) - annotate - [select for diffs], Wed Jul 24 03:28:59 2013 UTC (10 years, 8 months ago) by riastradh
Branch: riastradh-drm2
Changes since 1.1.1.1.2.5: +12 -0 lines
Diff to previous 1.1.1.1.2.5 (colored) to branchpoint 1.1.1.1 (colored)

Replace ALIGN by round_up in i915_gem.c.

ALIGN means something else in NetBSD.

Revision 1.1.1.1.2.5 / (download) - annotate - [select for diffs], Wed Jul 24 03:21:56 2013 UTC (10 years, 8 months ago) by riastradh
Branch: riastradh-drm2
Changes since 1.1.1.1.2.4: +7 -0 lines
Diff to previous 1.1.1.1.2.4 (colored) to branchpoint 1.1.1.1 (colored)

Don't mess with guts of struct completion in i915_gem.c.

Revision 1.1.1.1.2.4 / (download) - annotate - [select for diffs], Wed Jul 24 03:21:40 2013 UTC (10 years, 8 months ago) by riastradh
Branch: riastradh-drm2
Changes since 1.1.1.1.2.3: +1 -0 lines
Diff to previous 1.1.1.1.2.3 (colored) to branchpoint 1.1.1.1 (colored)

i915_gem.c needs <asm/param.h> for HZ.

Revision 1.1.1.1.2.3 / (download) - annotate - [select for diffs], Wed Jul 24 03:06:00 2013 UTC (10 years, 8 months ago) by riastradh
Branch: riastradh-drm2
Changes since 1.1.1.1.2.2: +10 -0 lines
Diff to previous 1.1.1.1.2.2 (colored) to branchpoint 1.1.1.1 (colored)

Convert struct intel_ringbuffer::irq_queue to drm waitqueues.

Revision 1.1.1.1.2.2 / (download) - annotate - [select for diffs], Tue Jul 23 21:28:22 2013 UTC (10 years, 8 months ago) by riastradh
Branch: riastradh-drm2
Changes since 1.1.1.1.2.1: +4423 -0 lines
Diff to previous 1.1.1.1.2.1 (colored) to branchpoint 1.1.1.1 (colored)

sync with HEAD and actually get the drm2 import

Revision 1.1.1.1.4.1, Tue Jul 23 02:13:12 2013 UTC (10 years, 8 months ago) by rmind
Branch: rmind-smpnet
Changes since 1.1.1.1: +0 -4423 lines
FILE REMOVED

file i915_gem.c was added on branch rmind-smpnet on 2013-08-28 23:59:33 +0000

Revision 1.1.1.1.2.1, Tue Jul 23 02:13:12 2013 UTC (10 years, 8 months ago) by riastradh
Branch: riastradh-drm2
Changes since 1.1.1.1: +0 -4423 lines
FILE REMOVED

file i915_gem.c was added on branch riastradh-drm2 on 2013-07-23 21:28:22 +0000

Revision 1.1.1.1 / (download) - annotate - [select for diffs] (vendor branch), Tue Jul 23 02:13:12 2013 UTC (10 years, 8 months ago) by riastradh
Branch: LINUX
CVS Tags: riastradh-drm2-base3, riastradh-drm2-base2, linux-3-6-rc8-drm2-bsd
Branch point for: rmind-smpnet, riastradh-drm2
Changes since 1.1: +0 -0 lines
Diff to previous 1.1 (colored)

Import drm sources from Linux v3.8-rc6.
(commit id 88b62b915b0b7e25870eb0604ed9a92ba4bfc9f7)

Linux                   NetBSD
drivers/gpu/drm         sys/external/bsd/drm2/dist/drm
include/drm             sys/external/bsd/drm2/dist/include/drm
include/uapi/drm        sys/external/bsd/drm2/dist/uapi/drm

Files/subtrees excluded because of licence issues, to be either
revisited later (particularly nouveau and radeon, which are mostly
permissively licensed but a number of whose files have no licence
statements), rewritten/ignored, or imported later as kernel modules
under external/gpl2 instead:

   include/drm/drm_fb_cma_helper.h
   include/drm/drm_gem_cma_helper.h
   include/drm/drm_os_linux.h
   include/drm/drm_pciids.h
   include/drm/drm_sysfs.h
   include/drm/drm_usb.h
   include/drm/exynos_drm.h
   include/drm/gma_drm.h
   include/drm/intel-gtt.h
   drm/cirrus
   drm/drm_edid_load.c
   drm/drm_fb_cma_helper.c
   drm/drm_gem_cma_helper.c
   drm/drm_sysfs.c
   drm/drm_trace.h
   drm/drm_trace_points.c
   drm/drm_usb.c
   drm/exynos
   drm/gma500
   drm/i915/i915_trace.h
   drm/i915/i915_trace_points.c
   drm/i915/intel_acpi.c
   drm/mgag200
   drm/nouveau
   drm/radeon
   drm/shmobile
   drm/tegra
   drm/udl
   uapi/exynos_drm.h

Revision 1.1 / (download) - annotate - [select for diffs], Tue Jul 23 02:13:12 2013 UTC (10 years, 8 months ago) by riastradh
Branch: MAIN

Initial revision

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb <webmaster@jp.NetBSD.org>