Commit Graph

261682 Commits

Author SHA1 Message Date
riastradh d30cf88cc1 Fix fallout from linux/gfp.h -> common. 2018-08-27 17:13:07 +00:00
ryo 4f574380a4 delete __{ge,lt,gt,le,eq,ne,unordt}tf2.
these should not be defined in libc.

pointed out by joerg@. thanks.
2018-08-27 16:46:13 +00:00
riastradh f87ba36c26 Add amdgpu to amd64/ALL. 2018-08-27 16:30:51 +00:00
riastradh 12d227bb54 Add amdgpu to i386/ALL. 2018-08-27 16:29:18 +00:00
riastradh 38c95bb1b7 Ifdef out pnpbios for now. Presumably needs to use bus_space_alloc. 2018-08-27 16:20:35 +00:00
riastradh 808a091925 Expand to __nothing, not to empty. 2018-08-27 16:16:16 +00:00
riastradh 6a0a923124 Include some needful header files and forward declarations. 2018-08-27 16:16:02 +00:00
riastradh 076ea09462 Use offsetof, not undefined behaviour. 2018-08-27 16:15:48 +00:00
riastradh 1d512dc35f Simulate bus_space_read_8 with two bus_space_read_4 on 32-bit x86. 2018-08-27 16:15:34 +00:00
riastradh 33e7ea2ff1 Convert to uintmax_t if we're going to use %jx. 2018-08-27 16:15:23 +00:00
riastradh 92ab5f48b1 Linux uses uint64 for these parameters now, so follow suit. 2018-08-27 16:15:09 +00:00
riastradh 377fde93a5 Omit print with wrong format -- vestige of merge. 2018-08-27 16:14:55 +00:00
riastradh 0ab2e92112 Tag files.* with newer config version where needed. 2018-08-27 16:06:01 +00:00
riastradh 3432a2eb7f Bump config(5) version for OPT.foo.c variables. 2018-08-27 16:04:45 +00:00
riastradh e6d32c7dca Tag with nouveau, not just nouveau_pci, to get CWARNFLAGS.nouveau. 2018-08-27 16:04:32 +00:00
sevan 0a08194f8e Add the -T flag to usage() 2018-08-27 15:50:39 +00:00
riastradh 6b0ac6f686 gfp.h and slab.h are now used in kernel.h, so move to common. 2018-08-27 15:45:06 +00:00
ryo 2335f36c4a need to add VM_PROT_READ when pmap_kenter_pa(va, pa, VM_PROT_WRITE, 0) or pmap_kenter_pa(va, pa, VM_PROT_EXECUTE, 0).
VM_PROT_READ is treated as an access permission inernally.
2018-08-27 15:43:37 +00:00
riastradh 293395f4f8 Make sure to create and destroy the lock too... 2018-08-27 15:32:51 +00:00
riastradh b0f9d14d62 Check for DMA-safe addresses before allowing DRM prime import. 2018-08-27 15:32:39 +00:00
riastradh e1c90562d0 Implement BUS_DMA_TO_PHYS/PHYS_TO_BUS_DMA on arm respecting ranges. 2018-08-27 15:32:20 +00:00
riastradh 6d23545582 Tread carefully around DMA subregions.
Not all platforms support it.

- If we want to limit to 32-bit DMA, just use a known 32-bit DMA tag.
- If we want to limit to >32-bit DMA, but the host only has a known
  32-bit DMA tag, then just use that anyway.
- If we want to limit to >32-bit DMA, but the host doesn't support
  bus_dmatag_subregion, then just use the 32-bit DMA tag anyway.

Gives powerpc, sparc a chance of working.
2018-08-27 15:32:06 +00:00
riastradh a21d54112e Update tegra drm and nouveau to compile with new drmkms.
Compile-tested only.
2018-08-27 15:31:51 +00:00
riastradh 26e846f024 Make drmkms build without drmkms_pci. 2018-08-27 15:31:27 +00:00
riastradh 9abf277c6f Make this compile. 2018-08-27 15:29:54 +00:00
riastradh de58c2f409 Unhook upstream drm_pci.c, apparently overridden by files.drmkms_pci. 2018-08-27 15:29:42 +00:00
riastradh ab3522b6f4 At chuq's suggestion, use paddr_t rather than struct vm_page *.
Doesn't make much of a substantive difference.
2018-08-27 15:29:31 +00:00
riastradh e95fbd1d04 Draft sparc cache flushing. 2018-08-27 15:29:19 +00:00
riastradh ca33449191 sparc seems to treat bus/phys addrs in bus dmamem the same.
This is just about bus dmamem -- not about bus dmamap, which rightly
uses an iommu to remap things and which we don't interfere with.
2018-08-27 15:29:08 +00:00
riastradh e77f4c01ec Ifdef out label used only by !__HAVE_MM_MD_DIRECT_MAPPED_PHYS. 2018-08-27 15:28:53 +00:00
riastradh e2c32ec7df Work around broken null bus_dmatag_destroy expansion. 2018-08-27 15:28:39 +00:00
riastradh 4827472794 Expand docstring for reservation_object_poll. 2018-08-27 15:28:27 +00:00
riastradh 8294c65784 Let's try not to step on each others' toes, shall we? 2018-08-27 15:28:16 +00:00
riastradh 5f3f16e940 Clarify what bus_dmat and dmat are. 2018-08-27 15:28:03 +00:00
riastradh 78530b5da1 Use dmat, not bus_dmat, to respect drm_limit_dma_space. 2018-08-27 15:27:43 +00:00
riastradh 4e5fd8410f Eliminate now-unused bus_dmamap_load_pgarray. 2018-08-27 15:27:28 +00:00
riastradh b0d0a884e1 drm_gem_cma_create_internal can fail. 2018-08-27 15:27:16 +00:00
riastradh e24cea9b11 Include amdgpu_prime.c now that it will compile. 2018-08-27 15:27:04 +00:00
riastradh eb0c859b5b Rework drm prime guts.
- Our faux struct sg_table is now just an array of _pages_, not of
  bus dma segments.

- We handle bus dma segments only in the presence of an adult bus dma
  tag.

- All bus dma hacks are once again confined to bus_dma_hacks.h, and
  more neatly organized:
  . bus_dmamem_export_pages translates bus dma segs to vm_page array
  . bus_dmamem_import_pages translates vm_page array to bus dma segs
2018-08-27 15:26:50 +00:00
riastradh 10f5bde64a Not drm prime; just unused. 2018-08-27 15:26:33 +00:00
riastradh 6c57e5a7b8 Implement remainder of drm_gem_cma_helper API. 2018-08-27 15:26:15 +00:00
riastradh 40e1d52a80 Fill out drm_prime_* API a little more for NetBSD.
Add comment explaining our use of struct sg_table.
2018-08-27 15:26:00 +00:00
riastradh 95fc21bf19 Workqueue lock must be at IPL_VM for use in interrupts, duh. 2018-08-27 15:25:43 +00:00
riastradh 024935dfeb Work around broken SDT_PROBE* in !KDTRACE_HOOKS until we merge HEAD. 2018-08-27 15:25:28 +00:00
riastradh 46d8250136 Implement poll for reservations and dma bufs. 2018-08-27 15:25:13 +00:00
riastradh 71b0b92134 sdt probe naming style. 2018-08-27 15:24:53 +00:00
riastradh 618d1137fd Simplify. Destroy the mutex too. 2018-08-27 15:24:40 +00:00
riastradh 756b29112b Factor mfence out. Simplify a little. 2018-08-27 15:24:27 +00:00
riastradh 48d564898f Return the fd we just allocated. 2018-08-27 15:24:11 +00:00
riastradh a8f85f64fa Need sync after a series of dcbf's on powerpc. 2018-08-27 15:23:57 +00:00