| History log of /src/sys/external/bsd/drm2/include/drm |
| 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.
|
| 1.5 | 19-Dec-2021 |
riastradh | Delete drmP.h. Good riddance!
|
| 1.4 | 19-Dec-2021 |
riastradh | Empty out drm_os_netbsd.h.
|
| 1.3 | 19-Dec-2021 |
riastradh | Give some more declarations a new home.
|
| 1.2 | 19-Dec-2021 |
riastradh | Move drm_io_mapping_* to its own header file.
|
| 1.1 | 19-Dec-2021 |
riastradh | Move files which are gone upstream out of dist/.
|
| 1.8 | 28-Aug-2018 |
riastradh | Rework PCI and AGP conditionalization.
- Push drm_pci_set_unique into driver callback. - Eliminate drm_pci_set_unique_hook. - Gather all drm_agp_* functions into struct drm_agp_hooks. - Replace the nonsensical old atomic garbage by serious locking. - Make drm_agpsupport.c its own module. - Eliminate NDRMKMS_PCI. - Use NAGP from "agp.h" only in drm_module.c for horrible hack. => See comment in file for rationale. - Always define CONFIG_PCI=1 and CONFIG_AGP=1. - Always go through the drm_agp_* function hooks. - Ifdef out nouveau agp stuff that doesn't go through drm_agp_* for reasons that I'm too frustrated to figure out tonight. - pci_iomap no longer automagically does agp_i810_borrow. => Use drm_agp_borrow instead.
|
| 1.7 | 27-Aug-2018 |
riastradh | Upstream nixed __OS_HAS_AGP; use CONFIG_AGP instead.
|
| 1.6 | 17-Oct-2015 |
jmcneill | branches: 1.6.16; 1.6.18; dont pull in agp.h when building as a module
|
| 1.5 | 17-Oct-2015 |
jmcneill | only define __OS_HAS_AGP if x86 and NAGP > 0
|
| 1.4 | 23-Aug-2014 |
riastradh | branches: 1.4.2; 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 drm_agp_netbsd.h was initially added on branch riastradh-drm2.
|
| 1.1.2.5 | 24-Jul-2013 |
riastradh | Insert a strategic cast into agp_find_bridge.
|
| 1.1.2.4 | 24-Jul-2013 |
riastradh | Add drm_bind_agp, drm_unbind_agp, & drm_free_agp to drm_agp_netbsd.h.
These have an extra argument for the agp bridge descriptor, as NetBSD's AGP KPI requires.
Omit declarations of drm_bind_agp, drm_unbind_agp, and drm_free_agp from drmP.h, now that these are all declared (and defined) in drm_agp_netbsd.h instead.
|
| 1.1.2.3 | 24-Jul-2013 |
riastradh | Ctassert that AGP_PAGE_SIZE == PAGE_SIZE in drm_agp_netbsd.h.
Linux assumes this.
|
| 1.1.2.2 | 24-Jul-2013 |
riastradh | Fill in drm_agp_netbsd.h a little.
There are some horrible but expedient hacks in here. Sorry.
|
| 1.1.2.1 | 24-Jul-2013 |
riastradh | Add drm_agp_netbsd.h and include it in drm_os_netbsd.h.
|
| 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 drm_agp_netbsd.h was added on branch yamt-pagecache on 2014-05-22 11:40:55 +0000
|
| 1.2.4.2 | 18-May-2014 |
rmind | sync with head
|
| 1.2.4.1 | 18-Mar-2014 |
rmind | file drm_agp_netbsd.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 drm_agp_netbsd.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.2.1 | 27-Dec-2015 |
skrll | Sync with HEAD (as of 26th Dec)
|
| 1.6.18.1 | 10-Jun-2019 |
christos | Sync with HEAD
|
| 1.6.16.1 | 06-Sep-2018 |
pgoyette | Sync with HEAD
Resolve a couple of conflicts (result of the uimin/uimax changes)
|
| 1.3 | 14-Feb-2020 |
riastradh | Reduce diffs by nixing DRM_SUSER macro, deleted upstream long ago.
Instead stub Linux capable(CAP_SYS_ADMIN).
|
| 1.2 | 18-Mar-2014 |
riastradh | branches: 1.2.4; 1.2.6; 1.2.10; 1.2.36; 1.2.42; Merge riastradh-drm2 to HEAD.
|
| 1.1 | 24-Jul-2013 |
riastradh | branches: 1.1.2; file drm_auth_netbsd.h was initially added on branch riastradh-drm2.
|
| 1.1.2.1 | 24-Jul-2013 |
riastradh | Implement DRM_SUSER compatibility kludge.
|
| 1.2.42.1 | 29-Feb-2020 |
ad | Sync with head.
|
| 1.2.36.1 | 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|
| 1.2.10.2 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
| 1.2.10.1 | 18-Mar-2014 |
tls | file drm_auth_netbsd.h was added on branch tls-maxphys on 2014-08-20 00:04:21 +0000
|
| 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 drm_auth_netbsd.h was added on branch yamt-pagecache on 2014-05-22 11:40:55 +0000
|
| 1.2.4.2 | 18-May-2014 |
rmind | sync with head
|
| 1.2.4.1 | 18-Mar-2014 |
rmind | file drm_auth_netbsd.h was added on branch rmind-smpnet on 2014-05-18 17:46:01 +0000
|
| 1.2 | 19-Dec-2021 |
riastradh | drm: Work around client modeset mutex for entering ddb.
Linux introduced a wait lock (`mutex') around access to the drm client modesets, even for drm_fb_helper_debug_enter/leave -- which happen when we're crashing and can't wait for the scheduler to let whatever thread might hold a mutex continue to run.
This really shouldn't be a wait lock, but disentangling the lock order and sleeping allocations is difficult, so let's just hope that it's safe to access unlocked in ddb for now.
|
| 1.1 | 19-Dec-2021 |
riastradh | Start drm_client.h stubs.
|
| 1.3 | 07-Apr-2019 |
maya | Remove unused definitions.
(These appear to have existed in old-drm)
|
| 1.2 | 18-Mar-2014 |
riastradh | branches: 1.2.4; 1.2.6; 1.2.10; 1.2.36; Merge riastradh-drm2 to HEAD.
|
| 1.1 | 24-Jul-2013 |
riastradh | branches: 1.1.2; file drm_copy_netbsd.h was initially added on branch riastradh-drm2.
|
| 1.1.2.4 | 21-Jan-2014 |
riastradh | Fix order of arguments in DRM_COPY_TO_USER.
...
|
| 1.1.2.3 | 24-Jul-2013 |
riastradh | Mark NetBSD->Linux errno translations in copy_{to,from}_user.
|
| 1.1.2.2 | 24-Jul-2013 |
riastradh | Negate error code in DRM_COPY_{TO,FROM}_USER in drm_copy_netbsd.h.
|
| 1.1.2.1 | 24-Jul-2013 |
riastradh | Implement DRM_COPY_FROM_USER and DRM_COPY_FROM_USER.
|
| 1.2.36.1 | 10-Jun-2019 |
christos | Sync with HEAD
|
| 1.2.10.2 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
| 1.2.10.1 | 18-Mar-2014 |
tls | file drm_copy_netbsd.h was added on branch tls-maxphys on 2014-08-20 00:04:21 +0000
|
| 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 drm_copy_netbsd.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 drm_copy_netbsd.h was added on branch rmind-smpnet on 2014-05-18 17:46:01 +0000
|
| 1.1 | 19-Dec-2021 |
riastradh | Create stub headers for files included by drm code.
Author: Maya Rashish <maya@NetBSD.org>
|
| 1.3 | 19-Dec-2021 |
riastradh | Make this const.
(Why did I rewrite drm_encoder_slave.h?)
|
| 1.2 | 19-Dec-2021 |
riastradh | Tweak includes and forward decls.
|
| 1.1 | 05-Mar-2015 |
riastradh | branches: 1.1.2; 1.1.4; 1.1.20; Rewrite drm_encoder_slave.c, as nouveau will need.
|
| 1.1.20.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
| 1.1.20.1 | 05-Mar-2015 |
jdolecek | file drm_encoder_slave.h was added on branch tls-maxphys on 2017-12-03 11:37:59 +0000
|
| 1.1.4.2 | 06-Apr-2015 |
skrll | Sync with HEAD
|
| 1.1.4.1 | 05-Mar-2015 |
skrll | file drm_encoder_slave.h was added on branch nick-nhusb on 2015-04-06 15:18:17 +0000
|
| 1.1.2.2 | 06-Mar-2015 |
snj | 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.
|
| 1.1.2.1 | 05-Mar-2015 |
snj | file drm_encoder_slave.h was added on branch netbsd-7 on 2015-03-06 21:39:10 +0000
|
| 1.4 | 02-Jul-2022 |
skrll | Add a missing ';'
|
| 1.3 | 02-Jul-2022 |
riastradh | drm: Rewrite drm_gem_cma_helper.h from scratch.
The header file was originally part of drm with no licence text, which I took to mean BSD-licensed like the rest of the Linux drm code base is by default -- everything in Linux under include/drm and drivers/gpu/drm not otherwise marked.
In 2017, a tree-wide automated change was applied to Linux which caused an SPDX GPL header to appear in drm_gem_cma_helper.h. When I asked the drm developers about this in drm files, they explained that it was an automated process and many of the SPDX headers were wrong, so when excluding GPL files in drm updates, I heeded the actual GPL vs BSD/MIT licence text and revision history rather than the SPDX headers.
I excluded drm_gem_cma_helper.c because it was clearly originally GPL as an exception to the default BSD licence under Linux's drivers/gpu/drm, and Jared reimplemented the API for ues by some (NetBSD, BSD-licensed) Arm display drivers.
During an update after that, the header file was lost in the merge shuffle and I copied it back in without noticing the SPDX header file. In retrospect, I see now that it's not clear what the intent was: the .c file was obviously GPL, and maybe the .h file was supposed to be too but it wasn't carved out as an exception among the drm code.
To keep our story simpler, I just drafted a new .h file that provides a compatible subset of the interface we use, derived from the .c file Jared wrote, written according to several deterministic rules based on KNF that yield a non-creative specification of the compatible interface:
1. $NetBSD$ RCS id 2. standard TNF copyright statement 3. header guard derived from #include file name 4. minimal #includes, grouped and sorted according to KNF 5. forward declaration of structs, sorted lexicographically 6. definitions of structs, members sorted lexicographically by name 7. downcasting macros, written in KNF and sorted lexicographically 8. minimal extern variable declarations, sorted lexicographically 9. minimal, function prototypes, written in KNF and sorted lexicographically
`Minimal' means added one by one, according to the errors issued by the compiler (and in the case of #includes, according to the correct header file for the missing types or function prototypes being used), until the compiler is formally satisfied.
Any changes to this will, unless otherwise marked, be covered by the standard TNF licence now on the file.
|
| 1.2 | 19-Dec-2021 |
riastradh | Fix up includes of <sys/vmem.h>.
|
| 1.1 | 19-Dec-2021 |
riastradh | Move files which are gone upstream out of dist/.
|
| 1.1 | 27-Aug-2018 |
riastradh | branches: 1.1.2; 1.1.6; Move old DRM_READn definitions into new drm_iomap_netbsd.h
These got deleted from drmP.h.
|
| 1.1.6.2 | 10-Jun-2019 |
christos | Sync with HEAD
|
| 1.1.6.1 | 27-Aug-2018 |
christos | file drm_iomap_netbsd.h was added on branch phil-wifi on 2019-06-10 22:08:31 +0000
|
| 1.1.2.2 | 06-Sep-2018 |
pgoyette | Sync with HEAD
Resolve a couple of conflicts (result of the uimin/uimax changes)
|
| 1.1.2.1 | 27-Aug-2018 |
pgoyette | file drm_iomap_netbsd.h was added on branch pgoyette-compat on 2018-09-06 06:56:36 +0000
|
| 1.7 | 25-Oct-2022 |
riastradh | drm: New IRQ_WAKE_THREAD constant.
Not really wired up to anything but helps reduce diffs -- driver is responsible for making decisions based on it, corresponding to Linux's built-in `threaded irq'.
|
| 1.6 | 19-Dec-2021 |
riastradh | drm: Set IPL_DRM to IPL_VM, not IPL_TTY.
We might want some of this stuff to work at higher IPL when dealing with ddb during crashes, but...everything else in drm uses IPL_VM, including Linux spin locks, which means we've been failing to block interrupts during spin locks for the entire time this code has existed...which is a little embarrassing.
|
| 1.5 | 27-Aug-2018 |
riastradh | provide enum irqreturn
merge in old ifdefs ifdef out code that I'm unsure about right away and turn into panic call.
Author: coypu <coypu@sdf.org> Committer: Taylor R Campbell <riastradh@NetBSD.org>
|
| 1.4 | 01-Jan-2015 |
mrg | branches: 1.4.16; 1.4.18; due to hangs seen by several folks, for now revert: http://mail-index.netbsd.org/source-changes/2014/11/04/msg060120.html
Log Message: This code should be MP-safe. Use IPL_SCHED in place of IPL_DRM/IPL_VM and set D_MPSAFE flag in cdevsw.
|
| 1.3 | 04-Nov-2014 |
jmcneill | branches: 1.3.2; This code should be MP-safe. Use IPL_SCHED in place of IPL_DRM/IPL_VM and set D_MPSAFE flag in cdevsw.
|
| 1.2 | 18-Mar-2014 |
riastradh | branches: 1.2.4; 1.2.6; 1.2.10; Merge riastradh-drm2 to HEAD.
|
| 1.1 | 24-Jul-2013 |
riastradh | branches: 1.1.2; file drm_irq_netbsd.h was initially added on branch riastradh-drm2.
|
| 1.1.2.3 | 24-Jul-2013 |
riastradh | Define IPL_DRM to be IPL_TTY in drm_irq_netbsd.h.
This is not clearly the right definition, but it's what the old drm code used. This is not clearly the right place, but it will do for now.
|
| 1.1.2.2 | 24-Jul-2013 |
riastradh | Define IRQF_SHARED to be 0 in drm_irq_netbsd.h.
|
| 1.1.2.1 | 24-Jul-2013 |
riastradh | Add DRM IRQ shims.
|
| 1.2.10.2 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
| 1.2.10.1 | 18-Mar-2014 |
tls | file drm_irq_netbsd.h was added on branch tls-maxphys on 2014-08-20 00:04:21 +0000
|
| 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 drm_irq_netbsd.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 drm_irq_netbsd.h was added on branch rmind-smpnet on 2014-05-18 17:46:01 +0000
|
| 1.3.2.1 | 06-Apr-2015 |
skrll | Sync with HEAD
|
| 1.4.18.1 | 10-Jun-2019 |
christos | Sync with HEAD
|
| 1.4.16.1 | 06-Sep-2018 |
pgoyette | Sync with HEAD
Resolve a couple of conflicts (result of the uimin/uimax changes)
|
| 1.3 | 19-Dec-2021 |
riastradh | Fix typo: list lessees, not list leases.
|
| 1.2 | 19-Dec-2021 |
riastradh | Declare drm_lease_destroy.
|
| 1.1 | 19-Dec-2021 |
riastradh | Unfinished local implementation of GPL drm_lease.c.
|
| 1.2 | 18-Mar-2014 |
riastradh | branches: 1.2.4; 1.2.6; 1.2.10; Merge riastradh-drm2 to HEAD.
|
| 1.1 | 24-Jul-2013 |
riastradh | branches: 1.1.2; file drm_mem_util.h was initially added on branch riastradh-drm2.
|
| 1.1.2.3 | 21-Jan-2014 |
riastradh | Just use kcalloc in drm_malloc_ab.
|
| 1.1.2.2 | 08-Sep-2013 |
riastradh | Simplify drm_mem_util.h; fix source compatibility for drm_free_large.
|
| 1.1.2.1 | 24-Jul-2013 |
riastradh | Rewrite <drm/drm_mem_util.h> in terms of kmem.
This requires passing the sizes to drm_free_large, which will require some changes to the code that uses this abstraction, but they look like they will be easy changes.
|
| 1.2.10.2 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
| 1.2.10.1 | 18-Mar-2014 |
tls | file drm_mem_util.h was added on branch tls-maxphys on 2014-08-20 00:04:21 +0000
|
| 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 drm_mem_util.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 drm_mem_util.h was added on branch rmind-smpnet on 2014-05-18 17:46:01 +0000
|
| 1.3 | 19-Dec-2021 |
riastradh | Make intel_psr.c build netbsd-ify Stub out intel_lpe_audio.c (for now?). Hammer intel_opregion.c into shape. Hack up intel_lrc.c Adapt intel_reset.c Stub out intel_region_lmem.c Adapt intel_ring_submission.c Adapt intel_rps.c Adapt intel_sdvo.c Adapt intel_runtime_pm.c Adapt intel_sideband.c Adapt intel_sprite.c Adapt intel_tv.c Adapt intel_tc.c Adapt intel_sseu.c Adapt intel_timeline.c Adapt intel_uc_fw.c and fix typo Fix up intel_uncore.c intel_vga.c intel_wakeref.c intel_vdsc.c intel_wopcm.c intel_workarounds.c i915_globals.c Fix up intelfb.c Stub out intel_guc_log.c Stub out intel_dsi_dcs_backlight.c i915_perf.c intel_hdmi.c intel_hdcp.c
Author: Maya Rashish <maya@NetBSD.org> Committer: Taylor R Campbell <riastradh@NetBSD.org>
|
| 1.2 | 19-Dec-2021 |
riastradh | i915: another whack at it
|
| 1.1 | 27-Aug-2018 |
riastradh | branches: 1.1.2; 1.1.6; Add stub headers to be filled in as needed.
|
| 1.1.6.2 | 10-Jun-2019 |
christos | Sync with HEAD
|
| 1.1.6.1 | 27-Aug-2018 |
christos | file drm_mipi_dsi.h was added on branch phil-wifi on 2019-06-10 22:08:31 +0000
|
| 1.1.2.2 | 06-Sep-2018 |
pgoyette | Sync with HEAD
Resolve a couple of conflicts (result of the uimin/uimax changes)
|
| 1.1.2.1 | 27-Aug-2018 |
pgoyette | file drm_mipi_dsi.h was added on branch pgoyette-compat on 2018-09-06 06:56:36 +0000
|
| 1.1 | 24-Jul-2013 |
riastradh | branches: 1.1.2; file drm_os_linux.h was initially added on branch riastradh-drm2.
|
| 1.1.2.2 | 24-Jul-2013 |
riastradh | Remove now unused <drm/drm_os_linux.h> shim.
|
| 1.1.2.1 | 24-Jul-2013 |
riastradh | Add stubs for Linux header files for drm.
|
| 1.21 | 19-Dec-2021 |
riastradh | drm_os_netbsd.h is no more
|
| 1.20 | 19-Dec-2021 |
riastradh | Empty out drm_os_netbsd.h.
|
| 1.19 | 19-Dec-2021 |
riastradh | Fix up includes of <sys/vmem.h>.
|
| 1.18 | 19-Dec-2021 |
riastradh | nbsd-namespace, and provide CONFIG_LOCKDEP (disabled)
Author: Maya Rashish <maya@NetBSD.org>
|
| 1.17 | 14-Feb-2020 |
riastradh | Reduce diffs by nixing DRM_SUSER macro, deleted upstream long ago.
Instead stub Linux capable(CAP_SYS_ADMIN).
|
| 1.16 | 19-Jan-2020 |
jmcneill | Disable the use of WC memory on Arm and Arm64. From Linux:
* The DRM driver stack is designed to work with cache coherent devices * only, but permits an optimization to be enabled in some cases, where * for some buffers, both the CPU and the GPU use uncached mappings, * removing the need for DMA snooping and allocation in the CPU caches. * * The use of uncached GPU mappings relies on the correct implementation * of the PCIe NoSnoop TLP attribute by the platform, otherwise the GPU * will use cached mappings nonetheless. On x86 platforms, this does not * seem to matter, as uncached CPU mappings will snoop the caches in any * case. However, on ARM and arm64, enabling this optimization on a * platform where NoSnoop is ignored results in loss of coherency, which * breaks correct operation of the device. Since we have no way of * detecting whether NoSnoop works or not, just disable this * optimization entirely for ARM and arm64.
|
| 1.15 | 05-Nov-2019 |
jmcneill | branches: 1.15.2; Add support for DRM GEM/CMA helpers using a driver provided vmem arena.
|
| 1.14 | 07-Apr-2019 |
maya | branches: 1.14.4; Remove unused definitions.
(These appear to have existed in old-drm)
|
| 1.13 | 28-Aug-2018 |
riastradh | Rework PCI and AGP conditionalization.
- Push drm_pci_set_unique into driver callback. - Eliminate drm_pci_set_unique_hook. - Gather all drm_agp_* functions into struct drm_agp_hooks. - Replace the nonsensical old atomic garbage by serious locking. - Make drm_agpsupport.c its own module. - Eliminate NDRMKMS_PCI. - Use NAGP from "agp.h" only in drm_module.c for horrible hack. => See comment in file for rationale. - Always define CONFIG_PCI=1 and CONFIG_AGP=1. - Always go through the drm_agp_* function hooks. - Ifdef out nouveau agp stuff that doesn't go through drm_agp_* for reasons that I'm too frustrated to figure out tonight. - pci_iomap no longer automagically does agp_i810_borrow. => Use drm_agp_borrow instead.
|
| 1.12 | 27-Aug-2018 |
riastradh | Ifdef out pnpbios for now. Presumably needs to use bus_space_alloc.
|
| 1.11 | 27-Aug-2018 |
riastradh | opt_mtrr.h is x86-only.
|
| 1.10 | 27-Aug-2018 |
riastradh | Guard #include "pci.h" with _KERNEL_OPT.
|
| 1.9 | 27-Aug-2018 |
riastradh | Define CONFIG_MTRR and CONFIG_X86_PAT.
|
| 1.8 | 27-Aug-2018 |
riastradh | Include the legacy DRM_READ/WRITE in drm_legacy.h, not drm_os_*.h.
|
| 1.7 | 27-Aug-2018 |
riastradh | Define CONFIG_PCI to 1, not empty.
|
| 1.6 | 27-Aug-2018 |
riastradh | provide CONFIG_PNP if it's defined. i386 only apparently.
XXX I'm not actually building i386 kernels
Author: coypu <coypu@sdf.org> Committer: Taylor R Campbell <riastradh@NetBSD.org>
|
| 1.5 | 27-Aug-2018 |
riastradh | bring in changes from OLDER drmP.h to go forward with compilation
Author: coypu <coypu@sdf.org> Committer: Taylor R Campbell <riastradh@NetBSD.org>
|
| 1.4 | 27-Aug-2018 |
riastradh | Move old DRM_READn definitions into new drm_iomap_netbsd.h
These got deleted from drmP.h.
|
| 1.3 | 26-Jul-2014 |
riastradh | branches: 1.3.4; 1.3.28; 1.3.30; Move CONFIG_X86 from files.i915drmkms to drm_os_netbsd.h.
|
| 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 drm_os_netbsd.h was initially added on branch riastradh-drm2.
|
| 1.1.2.7 | 04-Mar-2014 |
riastradh | Rework drm2 configuration and modularization.
- Split drm2.kmod into drmkms_linux, drmkms, drmkms_pci. - Split up drmkms-related files.* similarly. - Make drm_agp_* routines hooks that the drmkms_pci module installs. - Reuse drm device major 180 for (old) drm and drmkms.
Now old drm and new drmkms can coexist happily in the same tree, with or without PCI, and require no changes to userland.
|
| 1.1.2.6 | 24-Jul-2013 |
riastradh | Implement DRM_SUSER compatibility kludge.
|
| 1.1.2.5 | 24-Jul-2013 |
riastradh | Implement DRM_COPY_FROM_USER and DRM_COPY_FROM_USER.
|
| 1.1.2.4 | 24-Jul-2013 |
riastradh | Add DRM IRQ shims.
|
| 1.1.2.3 | 24-Jul-2013 |
riastradh | Add drm_agp_netbsd.h and include it in drm_os_netbsd.h.
|
| 1.1.2.2 | 24-Jul-2013 |
riastradh | Implement drm waitqueues with condvars. Include in drm_os_netbsd.h.
|
| 1.1.2.1 | 24-Jul-2013 |
riastradh | Add <drm/drm_os_netbsd.h> and include it in <drm/drmP.h>.
|
| 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 drm_os_netbsd.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 drm_os_netbsd.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.30.3 | 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
| 1.3.30.2 | 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|
| 1.3.30.1 | 10-Jun-2019 |
christos | Sync with HEAD
|
| 1.3.28.1 | 06-Sep-2018 |
pgoyette | Sync with HEAD
Resolve a couple of conflicts (result of the uimin/uimax changes)
|
| 1.3.4.2 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
| 1.3.4.1 | 26-Jul-2014 |
tls | file drm_os_netbsd.h was added on branch tls-maxphys on 2014-08-20 00:04:21 +0000
|
| 1.14.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.15.2.2 | 29-Feb-2020 |
ad | Sync with head.
|
| 1.15.2.1 | 25-Jan-2020 |
ad | Sync with head.
|
| 1.2 | 12-Nov-2014 |
christos | branches: 1.2.4; 1.2.20; prettify and add to all the modules that have it.
|
| 1.1 | 12-Nov-2014 |
christos | Add __link_set based code to automatically convert the linux module parameters into sysctls.
|
| 1.2.20.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
| 1.2.20.1 | 12-Nov-2014 |
jdolecek | file drm_sysctl.h was added on branch tls-maxphys on 2017-12-03 11:37:59 +0000
|
| 1.2.4.2 | 11-Jan-2015 |
snj | Pull up following revision(s) (requested by chs in ticket #401): distrib/sets/lists/modules/md.amd64: revisions 1.46, 1.47 via patch distrib/sets/lists/modules/md.i386: revisions 1.49, 1.50 sys/dev/ic/pcdisplayvar.h: revision 1.20 sys/dev/ic/vgavar.h: revision 1.32 sys/external/bsd/drm/dist/bsd-core/drm_drv.c: revision 1.26 sys/external/bsd/drm2/dist/drm/drm_agpsupport.c: revisions 1.5, 1.6 sys/external/bsd/drm2/dist/drm/drm_pci.c: revisions 1.4, 1.5 sys/external/bsd/drm2/dist/drm/drm_stub.c: revisions 1.6-1.8 sys/external/bsd/drm2/dist/drm/i915/i915_drv.h: revision 1.11 sys/external/bsd/drm2/dist/drm/radeon/cik.c: revision 1.3 sys/external/bsd/drm2/dist/drm/radeon/ni.c: revision 1.3 sys/external/bsd/drm2/dist/drm/radeon/si.c: revision 1.3 sys/external/bsd/drm2/dist/include/drm/drmP.h: revisions 1.8, 1.9 sys/external/bsd/drm2/dist/include/drm/drm_agpsupport.h: revisions 1.3, 1.4 sys/external/bsd/drm2/drm/drm_drv.c: revision 1.11 sys/external/bsd/drm2/drm/drm_module.c: revision 1.9 sys/external/bsd/drm2/drm/drm_sysctl.c: revisions 1.1-1.4 sys/external/bsd/drm2/drm/drm_vm.c: revision 1.7 sys/external/bsd/drm2/drm/files.drmkms: revisions 1.8, 1.9 sys/external/bsd/drm2/i915drm/files.i915drmkms: revision 1.9 sys/external/bsd/drm2/i915drm/i915_module.c: revisions 1.4, 1.5 sys/external/bsd/drm2/include/drm/drm_sysctl.h: revisions 1.1, 1.2 sys/external/bsd/drm2/include/linux/hdmi.h: revisions 1.3-1.5 sys/external/bsd/drm2/include/linux/module.h: revision 1.5 sys/external/bsd/drm2/include/linux/moduleparam.h: revisions 1.3, 1.4 sys/external/bsd/drm2/include/linux/pci.h: revision 1.11 sys/external/bsd/drm2/linux/linux_module.c: revision 1.5 sys/external/bsd/drm2/nouveau/files.nouveau: revision 1.4 sys/external/bsd/drm2/nouveau/nouveau_module.c: revision 1.3 sys/external/bsd/drm2/pci/drm_pci.c: revision 1.8 sys/external/bsd/drm2/pci/drm_pci_module.c: revision 1.3 sys/external/bsd/drm2/radeon/radeon_module.c: revision 1.3 sys/external/bsd/drm2/ttm/files.ttm: revision 1.1 sys/modules/drm2pci/Makefile: file removal sys/modules/drmkms/Makefile: revisions 1.4-1.7 sys/modules/drmkms_linux/Makefile: revision 1.5 sys/modules/drmkms_pci/Makefile: revisions 1.3, 1.4 sys/modules/i915drmkms/Makefile: revisions 1.5-1.7 Split drm ttm config into a separate file. -- Fix module build of drmkms_linux. -- Remove vestigial drm2pci module, replaced by drmkms_pci. -- fix the module class. -- add the drmkms modules -- make a drm_agp_destroy() function to resolve the circular dependency between drmkms and drmkms_pci -- finalize the idr code. -- add drm_agp_destroy -- fix drmkms module path for xen. -- fix build failure. /tmp/bracket/build/2014.11.10.22.43.46-i386/src/sys/external/bsd/drm2/include/linux/pci.h:36:20: fatal error: acpica.h: No such file or directory -- make this work: add agpsupport and sysctl code -- move agpsupport to drmkms to avoid circular dependencies. -- turn on dynamic ldscript creation to handle link set symbol definitions used in the automatic sysctl creation. -- Add __link_set based code to automatically convert the linux module parameters into sysctls. -- this module needs MKLDSCRIPT too now -- more _KERNEL_OPT -- prettify and add to all the modules that have it. -- fix description setting. -- Adjust flags to allow building with clang. -- Fix build with clang. -- Drop casts in favour of expressions that actually give the right pointer. -- Move all PCI/AGP code back to drmkms_pci module where it belongs. -- Use correct length for hdmi_infoframe_header_pack in <linux/hdmi.h>. Fixes PR kern/49411. -- Back out previous, fix PR kern/49411 correctly. frame->header.length is not initialized in the vendor packet case. Instead, make hdmi_infoframe_header_pack take the packet length and subtract the size of the header when packing the header. (Could make it take the payload length instead, but for callers it is more convenient to have a name for the whole packet length.) -- Fix bounds checking in hdmi_infoframe_header_pack (PR kern/49411). -- Trivial build fix for no options SYSCTL_INCLUDE_DESCR case, to avoid -Werror. OK christos@ and riastradh@ -- fix debugging compilation (ALL kernel) -- nouveau_nv50_fence.c needs -Wno-shadow. -- fix a confusion between dev_t and devmajor_t, and include the primary minor when calling makedev().
|
| 1.2.4.1 | 12-Nov-2014 |
snj | file drm_sysctl.h was added on branch netbsd-7 on 2015-01-11 05:59:17 +0000
|
| 1.1 | 19-Dec-2021 |
riastradh | Update drm_sysfs stubs.
|
| 1.2 | 19-Dec-2021 |
riastradh | drm: Mark variable as used only by trace point.
|
| 1.1 | 27-Aug-2018 |
riastradh | branches: 1.1.2; 1.1.6; Forgot to commit drm_trace_netbsd.h. Too late to force an update...
|
| 1.1.6.2 | 10-Jun-2019 |
christos | Sync with HEAD
|
| 1.1.6.1 | 27-Aug-2018 |
christos | file drm_trace_netbsd.h was added on branch phil-wifi on 2019-06-10 22:08:31 +0000
|
| 1.1.2.2 | 06-Sep-2018 |
pgoyette | Sync with HEAD
Resolve a couple of conflicts (result of the uimin/uimax changes)
|
| 1.1.2.1 | 27-Aug-2018 |
pgoyette | file drm_trace_netbsd.h was added on branch pgoyette-compat on 2018-09-06 06:56:36 +0000
|
| 1.7 | 19-Dec-2021 |
riastradh | drm: Add drm_vma_offset_exact_lookup_locked.
|
| 1.6 | 19-Dec-2021 |
riastradh | provide DRM_FILE_PAGE_OFFSET_{START,SIZE}
Author: Maya Rashish <maya@NetBSD.org>
|
| 1.5 | 19-Dec-2021 |
riastradh | Side-load linux/mm.h from the same headers as linux
Author: Maya Rashish <maya@NetBSD.org>
|
| 1.4 | 19-Dec-2021 |
riastradh | Linux wants a `readonly' member in struct drm_vma_offset_node.
|
| 1.3 | 19-Dec-2021 |
riastradh | Constify some prototypes for great constance.
|
| 1.2 | 19-Dec-2021 |
riastradh | drm_vma_manager deals in struct drm_file, not struct file, now.
Kinda inconvenient because it means we'll need to patch filp->private_data with filp->f_data in various places...
|
| 1.1 | 16-Jul-2014 |
riastradh | branches: 1.1.2; 1.1.6; 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.1.6.2 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
| 1.1.6.1 | 16-Jul-2014 |
tls | file drm_vma_manager.h was added on branch tls-maxphys on 2014-08-20 00:04:21 +0000
|
| 1.1.2.2 | 10-Aug-2014 |
tls | Rebase.
|
| 1.1.2.1 | 16-Jul-2014 |
tls | file drm_vma_manager.h was added on branch tls-earlyentropy on 2014-08-10 06:55:39 +0000
|
| 1.19 | 19-Dec-2021 |
riastradh | drm: Fix comments about wait return values.
|
| 1.18 | 19-Dec-2021 |
riastradh | drm: Ensure DRM_*WAIT* never counts down from MAX_SCHEDULE_TIMEOUT.
This faux timeout means `wait forever'.
|
| 1.17 | 03-Jul-2020 |
maxv | hardclock_ticks -> getticks()
|
| 1.16 | 14-Feb-2020 |
riastradh | DRM_HZ -> HZ, to reduce diffs.
|
| 1.15 | 16-Apr-2019 |
mrg | branches: 1.15.6; fix various problems i've seen where cv_*wait*() return ERESTART, which is -3 in netbsd, which we have mapped linux ERESTARTSYS to.
this has a problem because linux code often returns errors and pointers in the same value, and pointer values between -4095 and -1 are considered as error returns, but -3 ends up as 3 and thus is not considered an error, and mayhem ensues.
with this in place my kabylake system seems actually stable, i have not triggered any of my prior issues in almost 4 weeks now.
Taylor asked me to write up a description and then wrote most of the text below for me :-)
In Linux code, we always work with ERESTARTSYS so the code meaning start over is a positive NetBSD errno safe for PTR_ERR/ERR_PTR. To achieve this: 1. adapt all cv_waits that return to Linux so they map ERESTART to ERESTARTSYS, and 2. adapt all returns to userland so they convert ERESTARTSYS to ERESTART. Leave EINTR and all other error codes alone.
|
| 1.14 | 13-May-2016 |
christos | branches: 1.14.10; 1.14.18; We now use cpu_intr_p() all the time.
|
| 1.13 | 12-Apr-2015 |
riastradh | 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.
|
| 1.12 | 04-Apr-2015 |
riastradh | 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.
|
| 1.11 | 28-Feb-2015 |
riastradh | Actually poll every tick as advertised.
|
| 1.10 | 28-Feb-2015 |
riastradh | Remove extraneous blank line.
|
| 1.9 | 28-Feb-2015 |
riastradh | New macro DRM_SPIN_WAIT_ON better reflects DRM_WAIT_ON.
We still need to adapt all waits from upstream to use an interlock, so we can't implement DRM_WAIT_ON verbatim, but this more closely reflects the API of DRM_WAIT_ON than DRM_*WAIT*_UNTIL do.
Major difference is that this polls every tick, like DRM_WAIT_ON, unlike DRM_*WAIT*_UNTIL. So it will mask missing wakeups, but it wouldn't surprise me if there were such things upstream.
|
| 1.8 | 28-Feb-2015 |
riastradh | Elaborate on essay about DRM_*WAIT*_UNTIL reutrn convention.
|
| 1.7 | 28-Feb-2015 |
riastradh | Write an essay to remind myself about (timed) wait return values.
|
| 1.6 | 26-Feb-2015 |
riastradh | Another attempt to fix the drm timed wait blarf blugh blahhh.
|
| 1.5 | 26-Aug-2014 |
riastradh | branches: 1.5.2; Return 0, not uninitialized, if the condition is already true.
|
| 1.4 | 16-Jul-2014 |
riastradh | branches: 1.4.2; 1.4.4; First whack at radeon driver.
No hardware to test yet, but it builds.
|
| 1.3 | 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.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 drm_wait_netbsd.h was initially added on branch riastradh-drm2.
|
| 1.1.2.9 | 05-Mar-2014 |
riastradh | Implement and use non-interruptible DRM_WAIT_* gizmos.
|
| 1.1.2.8 | 08-Sep-2013 |
riastradh | Fix DRM_WAIT_UNTIL to initialize (RET) on every exit.
|
| 1.1.2.7 | 08-Sep-2013 |
riastradh | Fix result of DRM_TIMED_WAIT_UNTIL.
This has to return a positive number of ticks left if we haven't timed out in order to match the semantics of Linux waitqueues.
This also fixes the amount of time for timeout if we ever wait for more than one iteration.
Now we can actually wait for results from the ring buffers!
|
| 1.1.2.6 | 24-Jul-2013 |
riastradh | Add DRM_WAITERS_P and DRM_SPIN_WAITERS_P to drm_wait_netbsd.h.
|
| 1.1.2.5 | 24-Jul-2013 |
riastradh | Add DRM_DESTROY_WAITQUEUE to drm_wait_netbsd.h.
|
| 1.1.2.4 | 24-Jul-2013 |
riastradh | Define DRM_HZ to be hz (super-kludgey!) in drm_wait_netbsd.h.
|
| 1.1.2.3 | 24-Jul-2013 |
riastradh | Add variants of drm wait/wakeup for spin locks in drm_wait_netbsd.h.
|
| 1.1.2.2 | 24-Jul-2013 |
riastradh | Tweak drm waitqueue compatibility interface.
Use (Linux) struct mutex for drm_interlock_t, and split DRM_WAKEUP into DRM_WAKEUP_ONE (cv_signal) and DRM_WAKEUP_ALL (cv_broadcast).
|
| 1.1.2.1 | 24-Jul-2013 |
riastradh | Implement drm waitqueues with condvars. Include in drm_os_netbsd.h.
|
| 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 drm_wait_netbsd.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 drm_wait_netbsd.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.4.4.3 | 03-Dec-2017 |
jdolecek | update from HEAD
|
| 1.4.4.2 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
| 1.4.4.1 | 16-Jul-2014 |
tls | file drm_wait_netbsd.h was added on branch tls-maxphys on 2014-08-20 00:04:21 +0000
|
| 1.4.2.5 | 12-Dec-2016 |
msaitoh | Pull up following revision(s) (requested by snj in ticket #1280): sys/external/bsd/drm2/ttm/ttm_bus_dma.c: revision 1.2 sys/external/bsd/drm2/include/drm/drm_wait_netbsd.h: revision 1.14 sys/external/bsd/drm2/dist/drm/nouveau/nouveau_dp.c: revision 1.2 sys/external/bsd/drm2/dist/drm/ttm/ttm_tt.c: revision 1.7 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device/nouveau_engine_device_base.c: revision 1.11 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nv40.c: revision 1.2 sys/external/bsd/drm2/dist/include/drm/ttm/ttm_bo_driver.h: revision 1.3 sys/external/bsd/drm2/dist/drm/radeon/radeon_ttm.c: revision 1.8 sys/external/bsd/drm2/dist/drm/nouveau/nouveau_connector.c: revision 1.3 sys/external/bsd/drm2/dist/drm/nouveau/nouveau_gem.c: revision 1.4 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/devinit/nouveau_subdev_devinit_nv04.c: revision 1.3 sys/external/bsd/drm2/dist/drm/nouveau/nouveau_bo.c: revision 1.7 sys/external/bsd/drm2/dist/drm/nouveau/core/core/nouveau_core_object.c: revision 1.3 sys/external/bsd/drm2/dist/drm/i915/i915_gpu_error.c: revision 1.4 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/mxm/nouveau_subdev_mxm_mxms.c: revision 1.2 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/mxm/nouveau_subdev_mxm_nv50.c: revision 1.3 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/disp/nouveau_engine_disp_nvd0.c: revision 1.3 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_base.c: revision 1.5 sys/external/bsd/drm2/include/drm/ttm/ttm_page_alloc.h: revision 1.2 sys/external/bsd/drm2/drm/drm_vma_manager.c: revision 1.4 sys/external/bsd/drm2/nouveau/nouveau_pci.c: revision 1.8 - fix non-debug build - Use %"PRIx8", not %hx, for uint8_t. %hx is for unsigned short. - Flush unused function. Found by joerg. - Make sure rbtrees are empty on desctruction. If related to PR kern/51076, might help catch the bug a bit earlier. - revert rev 1.6. we don't have access to those files as normal files and possible will get them directly elsewhere soon. (if i hack my nouveau to ignore fireware failure, it end up having a vaguely working console and slowly working X, which is better than the current situation.) - Avoid possible null pointer dereference. Found by Coverity, CID 709895. - Mark fallthrough to suppress Coverity complaints. CID 143119 CID 143120 CID 143121 CID 143122 CID 143123 CID 143124 - Sanity-check that the encoder we found is not null. I think the previous code guarantees that finding this encoder should work, so this should be a moot point. CID 145720. - Mark intended fallthrough to suppress Coverity CID 201378. - Mark fallthrough with a comment to appease Coverity, CID 703385. - Make it clearer to Coverity that there's no array overrun. CID 989067. - Rework ttm tt swapin/swapout logic. Rather than handling `swapping in/out' here, per se, we let uvm do that, we interpret `swap out' as `deactivate pages', and we add generic ttm operations to wire and unwire pages, for the ttm_tt driver to use. This fixes certain graphics buffer eviction logic, which enables nouveau to suspend/resume on one of my machines. (The machine doesn't resume overall for other reasons, but the nouveau device suspends and resumes in isolation.) - Use bus_space_subregion to get fifo channels out of mmio registers. Evidently it is not enough to just map them separately. Ran out of time to investigate why, last time I poked at this and confirmed this change works. - Avoid taking locks during interrupts and explain why we are doing it this way. - We now use cpu_intr_p() all the time.
|
| 1.4.2.4 | 23-Apr-2015 |
snj | branches: 1.4.2.4.4; 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
|
| 1.4.2.3 | 06-Mar-2015 |
snj | 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.
|
| 1.4.2.2 | 27-Feb-2015 |
martin | 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.
|
| 1.4.2.1 | 21-Sep-2014 |
snj | Pull up following revision(s) (requested by riastradh in ticket #98): sys/external/bsd/drm2/include/drm/drm_wait_netbsd.h: revision 1.5 Return 0, not uninitialized, if the condition is already true.
|
| 1.4.2.4.4.1 | 18-Jan-2017 |
skrll | Sync with netbsd-5
|
| 1.5.2.3 | 29-May-2016 |
skrll | Sync with HEAD
|
| 1.5.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
| 1.5.2.1 | 06-Apr-2015 |
skrll | Sync with HEAD
|
| 1.14.18.2 | 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|
| 1.14.18.1 | 10-Jun-2019 |
christos | Sync with HEAD
|
| 1.14.10.1 | 23-Apr-2019 |
martin | Pull up following revision(s) via patch (requested by mrg in ticket #1242):
sys/external/bsd/common/include/linux/err.h: revision 1.3 sys/external/bsd/drm2/include/drm/drm_wait_netbsd.h: revision 1.15 sys/external/bsd/common/include/linux/errno.h: revision 1.4 sys/external/bsd/drm2/dist/drm/nouveau/nouveau_drm.c: revision 1.17 sys/external/bsd/drm2/linux/linux_ww_mutex.c: revision 1.6 sys/external/bsd/drm2/dist/drm/nouveau/nouveau_fence.c: revision 1.14
fix various problems i've seen where cv_*wait*() return ERESTART, which is -3 in netbsd, which we have mapped linux ERESTARTSYS to.
this has a problem because linux code often returns errors and pointers in the same value, and pointer values between -4095 and - -1 are considered as error returns, but -3 ends up as 3 and thus is not considered an error, and mayhem ensues.
with this in place my kabylake system seems actually stable, i have not triggered any of my prior issues in almost 4 weeks now.
Taylor asked me to write up a description and then wrote most of the text below for me :-)
In Linux code, we always work with ERESTARTSYS so the code meaning start over is a positive NetBSD errno safe for PTR_ERR/ERR_PTR.
To achieve this:
1. adapt all cv_waits that return to Linux so they map ERESTART to ERESTARTSYS, and
2. adapt all returns to userland so they convert ERESTARTSYS to ERESTART.
Leave EINTR and all other error codes alone.
|
| 1.15.6.1 | 29-Feb-2020 |
ad | Sync with head.
|
| 1.6 | 19-Dec-2021 |
riastradh | drm_writeback stubs
|
| 1.5 | 19-Dec-2021 |
riastradh | stub drm_writeback_set_fb
Author: Maya Rashish <maya@NetBSD.org>
|
| 1.4 | 19-Dec-2021 |
riastradh | provide a stub drm_writeback_prepare_job, knf
Author: Maya Rashish <maya@NetBSD.org>
|
| 1.3 | 19-Dec-2021 |
riastradh | Remove GPL header for which we have our own code
stub drm_writeback_cleanup_job
Author: Maya Rashish <maya@NetBSD.org>
|
| 1.2 | 19-Dec-2021 |
riastradh | More drm_writeback stubs.
|
| 1.1 | 19-Dec-2021 |
riastradh | Disable GPL drm_writeback.c, minimal stub for drm_writeback.h.
|
| 1.3 | 19-Dec-2021 |
riastradh | amdgpu: Another pass through.
amdgpu_object.c amdgpu_pci.c amdgpu_pm.c amdgpu_polaris10_smumgr.c amdgpu_pp_psm.c amdgpu_ppatomctrl.c amdgpu_ppatomfwctrl.c amdgpu_process_pptables_v1_0.o amdgpu_psp.o amdgpu_psp_v10_0.c amdgpu_psp_v11_0.c amdgpu_psp_v12_0.c amdgpu_psp_v3_1.c amdgpu_ras.c amdgpu_ras_eeprom.c amdgpu_rc_calc.c amdgpu_rc_calc_dpi.c amdgpu_ring.c amdgpu_rlc.c amdgpu_rn_clk_mgr.c amdgpu_sdma_v3_0.c amdgpu_sdma_v4_0.c amdgpu_sdma_v5_0.c amdgpu_si.c amdgpu_si_dma.c amdgpu_si_dpm.c amdgpu_smu.c amdgpu_smu10_hwmgr.c amdgpu_smu7_hwmgr.c amdgpu_smu8_hwmgr.c amdgpu_smu8_smumgr.c amdgpu_smu_v11_0.c (and a sprinkling of consts) amdgpu_smu_v11_0_i2c.c amdgpu_soc15.c amdgpu_tonga_smumgr.c amdgpu_ttm.c amdgpu_ucode.c amdgpu_uvd.c amdgpu_uvd_v5_0.c amdgpu_uvd_v6_0.c amdgpu_uvd_v7_0.c amdgpu_vce.c amdgpu_vce_v2_0.c amdgpu_vce_v4_0.c amdgpu_vcn_v1_0.c amdgpu_vcn_v2_0.c amdgpu_vcn_v2_5.c amdgpu_vega10_hwmgr.c amdgpu_vega10_powertune.c amdgpu_vega10_processpptables.c amdgpu_vega10_reg_init.c amdgpu_vega12_hwmgr.c amdgpu_vega20_hwmgr.c amdgpu_vega20_ppt.c amdgpu_vega20_reg_init.c amdgpu_vi.c amdgpu_virt.c amdgpu_vram_mgr.c amdgpu_xgmi.c -- disable (for now?) amdgpufb.c
|
| 1.2 | 12-Dec-2016 |
maya | branches: 1.2.14; add da_fb_linebytes to drmfb_attach_args and use it to pass linebytes from nouveau code to drmfb. keep the same linebytes logic for i915.
nvidia hardware needs 256 byte alignment, so aligning to just 64 was not enough.
fixes broken console with a width of 1440px (PR kern/51181) ok riastradh
|
| 1.1 | 05-Mar-2015 |
riastradh | branches: 1.1.2; 1.1.4; 1.1.6; Factor generic parts of intelfb out into a drmfb.
Adapting radeondrmkmsfb should not be hard.
This will make nouveaufb easier too.
|
| 1.1.6.1 | 07-Jan-2017 |
pgoyette | Sync with HEAD. (Note that most of these changes are simply $NetBSD$ tag issues.)
|
| 1.1.4.3 | 05-Feb-2017 |
skrll | Sync with HEAD
|
| 1.1.4.2 | 06-Apr-2015 |
skrll | Sync with HEAD
|
| 1.1.4.1 | 05-Mar-2015 |
skrll | file drmfb.h was added on branch nick-nhusb on 2015-04-06 15:18:17 +0000
|
| 1.1.2.3 | 14-Dec-2016 |
snj | Pull up following revision(s) (requested by riastradh in ticket #1322): sys/external/bsd/drm2/drm/drmfb.c: revision 1.3 sys/external/bsd/drm2/i915drm/intelfb.c: revision 1.14 sys/external/bsd/drm2/include/drm/drmfb.h: revision 1.2 sys/external/bsd/drm2/nouveau/nouveaufb.c: revision 1.4 add da_fb_linebytes to drmfb_attach_args and use it to pass linebytes from nouveau code to drmfb. keep the same linebytes logic for i915. nvidia hardware needs 256 byte alignment, so aligning to just 64 was not enough. fixes broken console with a width of 1440px (PR kern/51181) ok riastradh
|
| 1.1.2.2 | 06-Mar-2015 |
snj | branches: 1.1.2.2.4; 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.
|
| 1.1.2.1 | 05-Mar-2015 |
snj | file drmfb.h was added on branch netbsd-7 on 2015-03-06 21:39:10 +0000
|
| 1.1.2.2.4.1 | 18-Jan-2017 |
skrll | Sync with netbsd-5
|
| 1.2.14.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
| 1.2.14.1 | 12-Dec-2016 |
jdolecek | file drmfb.h was added on branch tls-maxphys on 2017-12-03 11:37:59 +0000
|
| 1.2 | 05-Mar-2015 |
riastradh | branches: 1.2.2; 1.2.4; 1.2.20; Factor out intelfb_is_vga_console to drmfb_pci.
|
| 1.1 | 05-Mar-2015 |
riastradh | Factor generic parts of intelfb out into a drmfb.
Adapting radeondrmkmsfb should not be hard.
This will make nouveaufb easier too.
|
| 1.2.20.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
| 1.2.20.1 | 05-Mar-2015 |
jdolecek | file drmfb_pci.h was added on branch tls-maxphys on 2017-12-03 11:37:59 +0000
|
| 1.2.4.2 | 06-Apr-2015 |
skrll | Sync with HEAD
|
| 1.2.4.1 | 05-Mar-2015 |
skrll | file drmfb_pci.h was added on branch nick-nhusb on 2015-04-06 15:18:17 +0000
|
| 1.2.2.2 | 06-Mar-2015 |
snj | 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.
|
| 1.2.2.1 | 05-Mar-2015 |
snj | file drmfb_pci.h was added on branch netbsd-7 on 2015-03-06 21:39:10 +0000
|
| 1.2 | 19-Dec-2021 |
riastradh | Make intel_psr.c build netbsd-ify Stub out intel_lpe_audio.c (for now?). Hammer intel_opregion.c into shape. Hack up intel_lrc.c Adapt intel_reset.c Stub out intel_region_lmem.c Adapt intel_ring_submission.c Adapt intel_rps.c Adapt intel_sdvo.c Adapt intel_runtime_pm.c Adapt intel_sideband.c Adapt intel_sprite.c Adapt intel_tv.c Adapt intel_tc.c Adapt intel_sseu.c Adapt intel_timeline.c Adapt intel_uc_fw.c and fix typo Fix up intel_uncore.c intel_vga.c intel_wakeref.c intel_vdsc.c intel_wopcm.c intel_workarounds.c i915_globals.c Fix up intelfb.c Stub out intel_guc_log.c Stub out intel_dsi_dcs_backlight.c i915_perf.c intel_hdmi.c intel_hdcp.c
Author: Maya Rashish <maya@NetBSD.org> Committer: Taylor R Campbell <riastradh@NetBSD.org>
|
| 1.1 | 19-Dec-2021 |
riastradh | i915_mei_hdcp_interface.h from openbsd
Author: Maya Rashish <maya@NetBSD.org> Committer: Taylor R Campbell <riastradh@NetBSD.org>
|
| 1.10 | 19-Dec-2021 |
riastradh | i915: Make intel_gtt_get prototype match Linux.
|
| 1.9 | 19-Dec-2021 |
riastradh | i915: ggtt
|
| 1.8 | 19-Dec-2021 |
riastradh | Update intel gtt API.
TODO: Find where the stolen memory base is in agp_i810.
|
| 1.7 | 27-Aug-2018 |
riastradh | Linux uses uint64 for these parameters now, so follow suit.
|
| 1.6 | 27-Aug-2018 |
riastradh | Call it intel_gtt_insert_sg_entries for expedience.
It uses a bus_dmamap, not a Linux scatterlist a.k.a. sg, but otherwise it functions the same way and this avoids patching upstream.
|
| 1.5 | 06-Mar-2015 |
riastradh | branches: 1.5.16; 1.5.18; 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!
|
| 1.4 | 16-Jul-2014 |
riastradh | branches: 1.4.2; 1.4.4; 1.4.6; 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 | 28-May-2014 |
riastradh | Explain the fields of struct intel_gtt for future reference.
|
| 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 intel-gtt.h was initially added on branch riastradh-drm2.
|
| 1.1.2.3 | 05-Mar-2014 |
riastradh | Oops -- define struct intel_gtt::do_idle_maps.
Missed this in last commit.
|
| 1.1.2.2 | 08-Sep-2013 |
riastradh | Rework Intel GTT abstraction to use bus_dma.
|
| 1.1.2.1 | 24-Jul-2013 |
riastradh | Add stub <drm/intel-gtt.h>, forgotten a while ago.
|
| 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 intel-gtt.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 intel-gtt.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.4.6.1 | 06-Apr-2015 |
skrll | Sync with HEAD
|
| 1.4.4.3 | 03-Dec-2017 |
jdolecek | update from HEAD
|
| 1.4.4.2 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
| 1.4.4.1 | 16-Jul-2014 |
tls | file intel-gtt.h was added on branch tls-maxphys on 2014-08-20 00:04:21 +0000
|
| 1.4.2.1 | 17-Mar-2015 |
riz | 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 <chris%chris-wilson.co.uk@localhost> Date: Mon Jan 26 10:47:10 2015 +0000 agp/intel: Serialise after GTT updates Include <sys/atomic.h> 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.
|
| 1.5.18.1 | 10-Jun-2019 |
christos | Sync with HEAD
|
| 1.5.16.1 | 06-Sep-2018 |
pgoyette | Sync with HEAD
Resolve a couple of conflicts (result of the uimin/uimax changes)
|
| 1.1 | 19-Dec-2021 |
riastradh | Move drm_io_mapping_* to its own header file.
|
| 1.1 | 19-Dec-2021 |
riastradh | Reimplement task barrier without semaphores.
|
| 1.3 | 19-Dec-2021 |
riastradh | match linux side-loading
Author: Maya Rashish <maya@NetBSD.org>
|
| 1.2 | 24-Apr-2016 |
riastradh | Rework ttm tt swapin/swapout logic.
Rather than handling `swapping in/out' here, per se, we let uvm do that, we interpret `swap out' as `deactivate pages', and we add generic ttm operations to wire and unwire pages, for the ttm_tt driver to use.
This fixes certain graphics buffer eviction logic, which enables nouveau to suspend/resume on one of my machines. (The machine doesn't resume overall for other reasons, but the nouveau device suspends and resumes in isolation.)
XXX pullup to netbsd-7 after a couple weeks
|
| 1.1 | 16-Jul-2014 |
riastradh | branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; 1.1.12; First whack at radeon driver.
No hardware to test yet, but it builds.
|
| 1.1.12.1 | 18-Jan-2017 |
skrll | Sync with netbsd-5
|
| 1.1.8.1 | 29-May-2016 |
skrll | Sync with HEAD
|
| 1.1.6.3 | 03-Dec-2017 |
jdolecek | update from HEAD
|
| 1.1.6.2 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
| 1.1.6.1 | 16-Jul-2014 |
tls | file ttm_page_alloc.h was added on branch tls-maxphys on 2014-08-20 00:04:21 +0000
|
| 1.1.4.1 | 12-Dec-2016 |
msaitoh | Pull up following revision(s) (requested by snj in ticket #1280): sys/external/bsd/drm2/ttm/ttm_bus_dma.c: revision 1.2 sys/external/bsd/drm2/include/drm/drm_wait_netbsd.h: revision 1.14 sys/external/bsd/drm2/dist/drm/nouveau/nouveau_dp.c: revision 1.2 sys/external/bsd/drm2/dist/drm/ttm/ttm_tt.c: revision 1.7 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device/nouveau_engine_device_base.c: revision 1.11 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nv40.c: revision 1.2 sys/external/bsd/drm2/dist/include/drm/ttm/ttm_bo_driver.h: revision 1.3 sys/external/bsd/drm2/dist/drm/radeon/radeon_ttm.c: revision 1.8 sys/external/bsd/drm2/dist/drm/nouveau/nouveau_connector.c: revision 1.3 sys/external/bsd/drm2/dist/drm/nouveau/nouveau_gem.c: revision 1.4 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/devinit/nouveau_subdev_devinit_nv04.c: revision 1.3 sys/external/bsd/drm2/dist/drm/nouveau/nouveau_bo.c: revision 1.7 sys/external/bsd/drm2/dist/drm/nouveau/core/core/nouveau_core_object.c: revision 1.3 sys/external/bsd/drm2/dist/drm/i915/i915_gpu_error.c: revision 1.4 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/mxm/nouveau_subdev_mxm_mxms.c: revision 1.2 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/mxm/nouveau_subdev_mxm_nv50.c: revision 1.3 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/disp/nouveau_engine_disp_nvd0.c: revision 1.3 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_base.c: revision 1.5 sys/external/bsd/drm2/include/drm/ttm/ttm_page_alloc.h: revision 1.2 sys/external/bsd/drm2/drm/drm_vma_manager.c: revision 1.4 sys/external/bsd/drm2/nouveau/nouveau_pci.c: revision 1.8 - fix non-debug build - Use %"PRIx8", not %hx, for uint8_t. %hx is for unsigned short. - Flush unused function. Found by joerg. - Make sure rbtrees are empty on desctruction. If related to PR kern/51076, might help catch the bug a bit earlier. - revert rev 1.6. we don't have access to those files as normal files and possible will get them directly elsewhere soon. (if i hack my nouveau to ignore fireware failure, it end up having a vaguely working console and slowly working X, which is better than the current situation.) - Avoid possible null pointer dereference. Found by Coverity, CID 709895. - Mark fallthrough to suppress Coverity complaints. CID 143119 CID 143120 CID 143121 CID 143122 CID 143123 CID 143124 - Sanity-check that the encoder we found is not null. I think the previous code guarantees that finding this encoder should work, so this should be a moot point. CID 145720. - Mark intended fallthrough to suppress Coverity CID 201378. - Mark fallthrough with a comment to appease Coverity, CID 703385. - Make it clearer to Coverity that there's no array overrun. CID 989067. - Rework ttm tt swapin/swapout logic. Rather than handling `swapping in/out' here, per se, we let uvm do that, we interpret `swap out' as `deactivate pages', and we add generic ttm operations to wire and unwire pages, for the ttm_tt driver to use. This fixes certain graphics buffer eviction logic, which enables nouveau to suspend/resume on one of my machines. (The machine doesn't resume overall for other reasons, but the nouveau device suspends and resumes in isolation.) - Use bus_space_subregion to get fifo channels out of mmio registers. Evidently it is not enough to just map them separately. Ran out of time to investigate why, last time I poked at this and confirmed this change works. - Avoid taking locks during interrupts and explain why we are doing it this way. - We now use cpu_intr_p() all the time.
|
| 1.1.2.2 | 10-Aug-2014 |
tls | Rebase.
|
| 1.1.2.1 | 16-Jul-2014 |
tls | file ttm_page_alloc.h was added on branch tls-earlyentropy on 2014-08-10 06:55:39 +0000
|