History log of /src/sys/external/bsd/drm2/include/drm/bus_dma_hacks.h |
Revision | | Date | Author | Comments |
1.25 |
| 19-Jul-2022 |
riastradh | drm: Teach bus_dma_hacks.h about alpha.
Not sure if this is correct! Someone who knows alpha should vet.
|
1.24 |
| 19-Dec-2021 |
riastradh | drm: Fix index confusion and rename variables to clarify.
|
1.23 |
| 19-Dec-2021 |
riastradh | drm: Let's go one segment at a time, not two, shall we?
|
1.22 |
| 19-Dec-2021 |
riastradh | drm: Another pass over i915 and some supporting logic.
This makes a shim around sg_table, which essentially represents two things:
1. an array of pages (roughly corresponding to bus_dma_segment_t[]) 2. an array of DMA addresses stored in a bus_dmamap_t
Both parts are optional; different parts of i915 use sg_tables to pass around one or both of the two parts. This helps to reduce the ifdefs by quite a bit, although it's not always clear which part of an sg_table any particular interface is actually using which is why I was reluctant to do this before.
|
1.21 |
| 19-Dec-2021 |
riastradh | drm: Nix use of uvm pglist. Just use arrays of page pointers.
|
1.20 |
| 20-Feb-2020 |
mrg | in bus_dmamap_load_pglist() try a 32-element array of bus_dma_segment_t's before attempting to allocate.
this hopefully avoids hangs i've had in X since updating from netbsd-8 to netbsd-9 that i've tracked down to this function failing with ENOMEM.
XXX: maybe can avoid the alloc entirely by batching these calls in 32 segments each.
XXX pullup-9
|
1.19 |
| 22-Jan-2020 |
jmcneill | Fix PHYS_TO_BUS_MEM and BUS_MEM_TO_PHYS on arm and aarch64
|
1.18 |
| 05-Nov-2019 |
jmcneill | branches: 1.18.2; Arm DMA tags with _nranges=0 require no address translation. Handle this in PHYS_TO_BUS_MEM and BUS_TO_PHYS_MEM instead of panicing.
|
1.17 |
| 27-Aug-2018 |
riastradh | branches: 1.17.4; Check for DMA-safe addresses before allowing DRM prime import.
|
1.16 |
| 27-Aug-2018 |
riastradh | Implement BUS_DMA_TO_PHYS/PHYS_TO_BUS_DMA on arm respecting ranges.
|
1.15 |
| 27-Aug-2018 |
riastradh | At chuq's suggestion, use paddr_t rather than struct vm_page *.
Doesn't make much of a substantive difference.
|
1.14 |
| 27-Aug-2018 |
riastradh | 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.
|
1.13 |
| 27-Aug-2018 |
riastradh | Eliminate now-unused bus_dmamap_load_pgarray.
|
1.12 |
| 27-Aug-2018 |
riastradh | 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
|
1.11 |
| 27-Aug-2018 |
riastradh | Use PHYS_TO_BUS_MEM in generic bus_dmamap_load_pglist code.
For arm and x86, this is a noop. For powerpc, it is defined by some relevant header file.
|
1.10 |
| 27-Aug-2018 |
riastradh | Kill bus_dmamem_wire_uvm_object, which never made sense!
|
1.9 |
| 01-Apr-2018 |
ryo | branches: 1.9.2; Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)
- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@) - add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
|
1.8 |
| 17-Oct-2015 |
jmcneill | branches: 1.8.16; use VM_FREELIST_DEFAULT on arm
|
1.7 |
| 26-Jul-2014 |
riastradh | branches: 1.7.4; 1.7.6; Avoid needless #ifdef __i386__ with judicious use of MIN.
|
1.6 |
| 22-Jul-2014 |
riastradh | Free temporary segs on the way out of bus_dmamap_load_pglist.
|
1.5 |
| 16-Jul-2014 |
riastradh | First whack at radeon driver.
No hardware to test yet, but it builds.
|
1.4 |
| 16-Jul-2014 |
riastradh | 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.3 |
| 03-Apr-2014 |
riastradh | branches: 1.3.2; 1.3.4; 1.3.6; Miscellaneous fixes for drm2 on i386.
|
1.2 |
| 18-Mar-2014 |
riastradh | Merge riastradh-drm2 to HEAD.
|
1.1 |
| 08-Sep-2013 |
riastradh | branches: 1.1.2; file bus_dma_hacks.h was initially added on branch riastradh-drm2.
|
1.1.2.1 |
| 08-Sep-2013 |
riastradh | Implement a bus_dmamem_wire_uvm_object hack.
This is fit only for x86 at the moment -- it parrots the x86 bus_dmamem_alloc code but with uvm_obj_wirepages instead of uvm_pglistalloc.
XXX THIS IS A MEGA-KLUDGE THAT NEEDS TO BE DONE PROPERLY.
|
1.3.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.3.6.1 |
| 03-Apr-2014 |
yamt | file bus_dma_hacks.h was added on branch yamt-pagecache on 2014-05-22 11:40:55 +0000
|
1.3.4.2 |
| 18-May-2014 |
rmind | sync with head
|
1.3.4.1 |
| 03-Apr-2014 |
rmind | file bus_dma_hacks.h was added on branch rmind-smpnet on 2014-05-18 17:46:01 +0000
|
1.3.2.1 |
| 10-Aug-2014 |
tls | Rebase.
|
1.7.6.1 |
| 27-Dec-2015 |
skrll | Sync with HEAD (as of 26th Dec)
|
1.7.4.3 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.7.4.2 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.7.4.1 |
| 26-Jul-2014 |
tls | file bus_dma_hacks.h was added on branch tls-maxphys on 2014-08-20 00:04:21 +0000
|
1.8.16.2 |
| 06-Sep-2018 |
pgoyette | Sync with HEAD
Resolve a couple of conflicts (result of the uimin/uimax changes)
|
1.8.16.1 |
| 07-Apr-2018 |
pgoyette | Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
|
1.9.2.3 |
| 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
1.9.2.2 |
| 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|
1.9.2.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|
1.17.4.2 |
| 21-Mar-2020 |
martin | Pull up following revision(s) (requested by mrg in ticket #791):
sys/external/bsd/drm2/include/drm/bus_dma_hacks.h: revision 1.20
in bus_dmamap_load_pglist() try a 32-element array of bus_dma_segment_t's before attempting to allocate. this hopefully avoids hangs i've had in X since updating from netbsd-8 to netbsd-9 that i've tracked down to this function failing with ENOMEM.
XXX: maybe can avoid the alloc entirely by batching these calls in 32 segments each.
XXX pullup-9
|
1.17.4.1 |
| 06-Nov-2019 |
martin | Pull up following revision(s) (requested by jmcneill in ticket #400):
sys/arch/arm/sunxi/sunxi_drm.c: revision 1.8 sys/external/bsd/drm2/dist/include/drm/drm_gem_cma_helper.h: revision 1.6 sys/external/bsd/drm2/dist/include/drm/drmP.h: revision 1.36 sys/external/bsd/drm2/include/drm/bus_dma_hacks.h: revision 1.18 sys/external/bsd/drm2/drm/drm_gem_cma_helper.c: revision 1.9 sys/external/bsd/drm2/include/drm/drm_os_netbsd.h: revision 1.15
Arm DMA tags with _nranges=0 require no address translation. Handle this in PHYS_TO_BUS_MEM and BUS_TO_PHYS_MEM instead of panicing.
Add support for DRM GEM/CMA helpers using a driver provided vmem arena.
Reserve enough memory at boot to support the drmfb buffer plus a 4K buffer for Xorg.
|
1.18.2.2 |
| 29-Feb-2020 |
ad | Sync with head.
|
1.18.2.1 |
| 25-Jan-2020 |
ad | Sync with head.
|