History log of /openbsd-current/sys/dev/pci/drm/ttm/ttm_tt.c
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.22 20-May-2024 jsg

drm/ttm: Print the memory decryption status just once

From Zack Rusin
306e99777886fd9fe3495a2b889d551dc509a820 in linux-6.6.y/6.6.3
27906e5d78248b19bcdfdae72049338c828897bb in mainline linux


# 1.21 04-Apr-2024 jsg

drm/ttm: Make sure the mapped tt pages are decrypted when needed

From Zack Rusin
de125efb3bae7720d10364a9ab6785466e4e2461 in linux-6.6.y/6.6.24
71ce046327cfd3aef3f93d1c44e091395eb03f8f in mainline linux


# 1.20 20-Mar-2024 jsg

handle ttm_sg_tt_init() not being called before ttm_tt_fini()

Check that dmamap and segs are non-NULL as not all drivers call
ttm_sg_tt_init().


Revision tags: OPENBSD_7_5_BASE
# 1.19 16-Jan-2024 jsg

update drm to linux 6.6.12

Thanks to the OpenBSD Foundation for sponsoring this work.


Revision tags: OPENBSD_7_3_BASE OPENBSD_7_4_BASE
# 1.18 01-Jan-2023 jsg

update drm to linux 6.1.2

new hardware support includes

AMD
Raphael, Ryzen 7000 desktop, gfx1036/GC 10.3.6
Mendocino, Ryzen & Athlon 7020 Series mobile APU, gfx1037/GC 10.3.7
Navi 31, gfx1100 dGPU, GC 11.0.0, Radeon RX 7900 XT/XTX
gfx1101 dGPU
gfx1102 dGPU
gfx1103 APU

Thanks to the OpenBSD Foundation for sponsoring this work.


Revision tags: OPENBSD_7_1_BASE OPENBSD_7_2_BASE
# 1.17 14-Jan-2022 jsg

update drm to linux 5.15.14

new hardware support includes

Intel
ehl/Elkhart Lake (embedded)
jsl/Jasper Lake (atom)
rkl/Rocket Lake (desktop)

AMD
van gogh APU (gfx1033)
yellow carp / rembrandt APU (gfx1035?)
Ryzen 6000 APU
navy flounder / navi 22 (gfx1031)
RX 6700, RX 6700 XT, RX 6700M, RX 6800M, RX 6850M XT
dimgrey cavefish / navi 23 (gfx1032)
Pro W6600, Pro W6600M, RX 6600, RX 6600 XT, RX 6600M,
RX 6600S, RX 6650M, RX 6650M XT, RX 6700S, RX 6800S
beige goby / navi 24 (gfx1034)
RX 6500 XT, RX 6400, RX 6500M, RX 6300M

Thanks to the OpenBSD Foundation for sponsoring this work
niklas@ for helping with ttm and amdgpu and patrick@ for adapting
rockchip drm.


Revision tags: OPENBSD_7_0_BASE
# 1.16 07-Jul-2021 jsg

update drm to linux 5.10.47

hardware support changes include
inteldrm: better support for tiger lake
amdgpu: support for navi12, navi21 "sienna_cichlid", arcturus
amdgpu: support for cezanne "green sardine" ryzen 5000 apu

Thanks to the OpenBSD Foundation for sponsoring this work,
patrick@ for helping adapt rockchip drm, kettenis@ and mpi@
for uvm discussions and various testers.


# 1.15 16-Jun-2021 mpi

Change the prefix of UVM object functions to match NetBSD's.

For example uvm_objinit() becomes uvm_obj_init(). Reduce differences
between the trees and help porting new functions needed for UVM object
locking.

No functionnal change.


Revision tags: OPENBSD_6_9_BASE
# 1.14 08-Dec-2020 jsg

Call ttm_tt_unpopulate() instead of directly calling ttm_tt_unpopulate
function pointer in ttm_tt_swapout(). Reduces the diff to linux.

ok kettenis@


# 1.13 08-Dec-2020 jsg

correct ttm_tt error paths if bus_dmamap_create() fails

Avoids a double free of gtt in amdgpu_ttm_tt_create() if the
bus_dmamap_create() call in ttm_sg_tt_init() fails and ttm_tt_destroy()
calls amdgpu_ttm_backend_destroy().

feedback from and ok kettenis@


Revision tags: OPENBSD_6_8_BASE
# 1.12 22-Aug-2020 jsg

drm/ttm/nouveau: don't call tt destroy callback on alloc failure.

From Dave Airlie
7387ad86fe8ef830e88a586b021b322eef316211 in linux 5.7.y/5.7.16
5de5b6ecf97a021f29403aa272cb4e03318ef586 in mainline linux


# 1.11 08-Jun-2020 jsg

update drm to linux 5.7

adds kernel support for
amdgpu: vega20, raven2, renoir, navi10, navi14
inteldrm: icelake, tigerlake

Thanks to the OpenBSD Foundation for sponsoring this work, kettenis@ for
helping, patrick@ for helping adapt rockchip drm and many developers for
testing.


Revision tags: OPENBSD_6_6_BASE OPENBSD_6_7_BASE
# 1.10 11-Jun-2019 jsg

Use km_alloc() instead of mallocarray() when allocating ttm dma segments
to avoid running out of kmem space. Suggested by and ok kettenis@


# 1.9 09-Jun-2019 kettenis

Let drm(4) allocate memory without constraints if the hardware supports
64-bit DMA. Should reduce the pressure on DMA-reachable memory, which is
important since there are still cases where the pagedaemon ends up being
triggered continuously if we run out of DMA-reachable memory but have
plenty of memory left.

ok jsg@


# 1.8 14-Apr-2019 jsg

Update shared drm code, inteldrm(4) and radeondrm(4) from linux 4.4 to
linux 4.19.34.

Adds support for more Intel hardware:
Broxton/Apollo Lake (was is_preliminary in 4.4)
Amber Lake (another Kaby Lake refresh)
Gemini Lake
Coffee Lake
Whiskey Lake
Cannon Lake (though no hardware with Intel graphics ever shipped)
Ice Lake (alpha support, hardware not released)

This does not add support for new radeon hardware on the AMD side as
newer radeons have a different kernel driver (amdgpu).

Thanks to the OpenBSD Foundation for sponsoring this work, kettenis@ for
helping and a bunch of other developers for testing.


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE
# 1.7 25-Apr-2018 jsg

update ttm and radeondrm(4) to Linux 4.4.129

Compared to the previous Linux 3.8 based port this adds support for
KAVERI/KABINI/MULLINS APUs and OLAND/BONAIRE/HAINAN/HAWAII GPUs.

Thanks to the OpenBSD Foundation for sponsoring this work.


# 1.6 20-Apr-2018 deraadt

oops, snapshot tests not ready yet


# 1.5 20-Apr-2018 deraadt

sync


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.4 11-Feb-2015 jsg

Switch most printf style functions calls back to linux function names
and move DRM_INFO/pr_info/dev_info messages under DRMDEBUG.


Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.3 10-Feb-2014 jsg

drm/ttm: fix the tt_populated check in ttm_tt_destroy()

From Ben Skeggs
43a1ab9ba9d7c0d97e7079a09438fe1b4209e318 in ubuntu 3.8
182b17c8dc4e83aab000ce86587b6810e515da87 in mainline linux


# 1.2 08-Dec-2013 jsg

add static back to the ttm functions
ok kettenis@


# 1.1 12-Aug-2013 jsg

Add a port of the TTM and Radeon DRM code from Linux 3.8.13.
Includes kernel modesetting, framebuffer console and support
for newer hardware.

Firmware needs to be present for acceleration and in some cases
modesetting to work. It can be installed via fw_update
or manually via pkg_add.

With lots of help from kettenis@ some macppc bits from mpi@
and some ttm refcount/queue bits from FreeBSD.

Thanks to M:Tier and the OpenBSD Foundation for sponsoring this work.


# 1.21 04-Apr-2024 jsg

drm/ttm: Make sure the mapped tt pages are decrypted when needed

From Zack Rusin
de125efb3bae7720d10364a9ab6785466e4e2461 in linux-6.6.y/6.6.24
71ce046327cfd3aef3f93d1c44e091395eb03f8f in mainline linux


# 1.20 20-Mar-2024 jsg

handle ttm_sg_tt_init() not being called before ttm_tt_fini()

Check that dmamap and segs are non-NULL as not all drivers call
ttm_sg_tt_init().


Revision tags: OPENBSD_7_5_BASE
# 1.19 16-Jan-2024 jsg

update drm to linux 6.6.12

Thanks to the OpenBSD Foundation for sponsoring this work.


Revision tags: OPENBSD_7_3_BASE OPENBSD_7_4_BASE
# 1.18 01-Jan-2023 jsg

update drm to linux 6.1.2

new hardware support includes

AMD
Raphael, Ryzen 7000 desktop, gfx1036/GC 10.3.6
Mendocino, Ryzen & Athlon 7020 Series mobile APU, gfx1037/GC 10.3.7
Navi 31, gfx1100 dGPU, GC 11.0.0, Radeon RX 7900 XT/XTX
gfx1101 dGPU
gfx1102 dGPU
gfx1103 APU

Thanks to the OpenBSD Foundation for sponsoring this work.


Revision tags: OPENBSD_7_1_BASE OPENBSD_7_2_BASE
# 1.17 14-Jan-2022 jsg

update drm to linux 5.15.14

new hardware support includes

Intel
ehl/Elkhart Lake (embedded)
jsl/Jasper Lake (atom)
rkl/Rocket Lake (desktop)

AMD
van gogh APU (gfx1033)
yellow carp / rembrandt APU (gfx1035?)
Ryzen 6000 APU
navy flounder / navi 22 (gfx1031)
RX 6700, RX 6700 XT, RX 6700M, RX 6800M, RX 6850M XT
dimgrey cavefish / navi 23 (gfx1032)
Pro W6600, Pro W6600M, RX 6600, RX 6600 XT, RX 6600M,
RX 6600S, RX 6650M, RX 6650M XT, RX 6700S, RX 6800S
beige goby / navi 24 (gfx1034)
RX 6500 XT, RX 6400, RX 6500M, RX 6300M

Thanks to the OpenBSD Foundation for sponsoring this work
niklas@ for helping with ttm and amdgpu and patrick@ for adapting
rockchip drm.


Revision tags: OPENBSD_7_0_BASE
# 1.16 07-Jul-2021 jsg

update drm to linux 5.10.47

hardware support changes include
inteldrm: better support for tiger lake
amdgpu: support for navi12, navi21 "sienna_cichlid", arcturus
amdgpu: support for cezanne "green sardine" ryzen 5000 apu

Thanks to the OpenBSD Foundation for sponsoring this work,
patrick@ for helping adapt rockchip drm, kettenis@ and mpi@
for uvm discussions and various testers.


# 1.15 16-Jun-2021 mpi

Change the prefix of UVM object functions to match NetBSD's.

For example uvm_objinit() becomes uvm_obj_init(). Reduce differences
between the trees and help porting new functions needed for UVM object
locking.

No functionnal change.


Revision tags: OPENBSD_6_9_BASE
# 1.14 08-Dec-2020 jsg

Call ttm_tt_unpopulate() instead of directly calling ttm_tt_unpopulate
function pointer in ttm_tt_swapout(). Reduces the diff to linux.

ok kettenis@


# 1.13 08-Dec-2020 jsg

correct ttm_tt error paths if bus_dmamap_create() fails

Avoids a double free of gtt in amdgpu_ttm_tt_create() if the
bus_dmamap_create() call in ttm_sg_tt_init() fails and ttm_tt_destroy()
calls amdgpu_ttm_backend_destroy().

feedback from and ok kettenis@


Revision tags: OPENBSD_6_8_BASE
# 1.12 22-Aug-2020 jsg

drm/ttm/nouveau: don't call tt destroy callback on alloc failure.

From Dave Airlie
7387ad86fe8ef830e88a586b021b322eef316211 in linux 5.7.y/5.7.16
5de5b6ecf97a021f29403aa272cb4e03318ef586 in mainline linux


# 1.11 08-Jun-2020 jsg

update drm to linux 5.7

adds kernel support for
amdgpu: vega20, raven2, renoir, navi10, navi14
inteldrm: icelake, tigerlake

Thanks to the OpenBSD Foundation for sponsoring this work, kettenis@ for
helping, patrick@ for helping adapt rockchip drm and many developers for
testing.


Revision tags: OPENBSD_6_6_BASE OPENBSD_6_7_BASE
# 1.10 11-Jun-2019 jsg

Use km_alloc() instead of mallocarray() when allocating ttm dma segments
to avoid running out of kmem space. Suggested by and ok kettenis@


# 1.9 09-Jun-2019 kettenis

Let drm(4) allocate memory without constraints if the hardware supports
64-bit DMA. Should reduce the pressure on DMA-reachable memory, which is
important since there are still cases where the pagedaemon ends up being
triggered continuously if we run out of DMA-reachable memory but have
plenty of memory left.

ok jsg@


# 1.8 14-Apr-2019 jsg

Update shared drm code, inteldrm(4) and radeondrm(4) from linux 4.4 to
linux 4.19.34.

Adds support for more Intel hardware:
Broxton/Apollo Lake (was is_preliminary in 4.4)
Amber Lake (another Kaby Lake refresh)
Gemini Lake
Coffee Lake
Whiskey Lake
Cannon Lake (though no hardware with Intel graphics ever shipped)
Ice Lake (alpha support, hardware not released)

This does not add support for new radeon hardware on the AMD side as
newer radeons have a different kernel driver (amdgpu).

Thanks to the OpenBSD Foundation for sponsoring this work, kettenis@ for
helping and a bunch of other developers for testing.


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE
# 1.7 25-Apr-2018 jsg

update ttm and radeondrm(4) to Linux 4.4.129

Compared to the previous Linux 3.8 based port this adds support for
KAVERI/KABINI/MULLINS APUs and OLAND/BONAIRE/HAINAN/HAWAII GPUs.

Thanks to the OpenBSD Foundation for sponsoring this work.


# 1.6 20-Apr-2018 deraadt

oops, snapshot tests not ready yet


# 1.5 20-Apr-2018 deraadt

sync


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.4 11-Feb-2015 jsg

Switch most printf style functions calls back to linux function names
and move DRM_INFO/pr_info/dev_info messages under DRMDEBUG.


Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.3 10-Feb-2014 jsg

drm/ttm: fix the tt_populated check in ttm_tt_destroy()

From Ben Skeggs
43a1ab9ba9d7c0d97e7079a09438fe1b4209e318 in ubuntu 3.8
182b17c8dc4e83aab000ce86587b6810e515da87 in mainline linux


# 1.2 08-Dec-2013 jsg

add static back to the ttm functions
ok kettenis@


# 1.1 12-Aug-2013 jsg

Add a port of the TTM and Radeon DRM code from Linux 3.8.13.
Includes kernel modesetting, framebuffer console and support
for newer hardware.

Firmware needs to be present for acceleration and in some cases
modesetting to work. It can be installed via fw_update
or manually via pkg_add.

With lots of help from kettenis@ some macppc bits from mpi@
and some ttm refcount/queue bits from FreeBSD.

Thanks to M:Tier and the OpenBSD Foundation for sponsoring this work.


# 1.20 20-Mar-2024 jsg

handle ttm_sg_tt_init() not being called before ttm_tt_fini()

Check that dmamap and segs are non-NULL as not all drivers call
ttm_sg_tt_init().


Revision tags: OPENBSD_7_5_BASE
# 1.19 16-Jan-2024 jsg

update drm to linux 6.6.12

Thanks to the OpenBSD Foundation for sponsoring this work.


Revision tags: OPENBSD_7_3_BASE OPENBSD_7_4_BASE
# 1.18 01-Jan-2023 jsg

update drm to linux 6.1.2

new hardware support includes

AMD
Raphael, Ryzen 7000 desktop, gfx1036/GC 10.3.6
Mendocino, Ryzen & Athlon 7020 Series mobile APU, gfx1037/GC 10.3.7
Navi 31, gfx1100 dGPU, GC 11.0.0, Radeon RX 7900 XT/XTX
gfx1101 dGPU
gfx1102 dGPU
gfx1103 APU

Thanks to the OpenBSD Foundation for sponsoring this work.


Revision tags: OPENBSD_7_1_BASE OPENBSD_7_2_BASE
# 1.17 14-Jan-2022 jsg

update drm to linux 5.15.14

new hardware support includes

Intel
ehl/Elkhart Lake (embedded)
jsl/Jasper Lake (atom)
rkl/Rocket Lake (desktop)

AMD
van gogh APU (gfx1033)
yellow carp / rembrandt APU (gfx1035?)
Ryzen 6000 APU
navy flounder / navi 22 (gfx1031)
RX 6700, RX 6700 XT, RX 6700M, RX 6800M, RX 6850M XT
dimgrey cavefish / navi 23 (gfx1032)
Pro W6600, Pro W6600M, RX 6600, RX 6600 XT, RX 6600M,
RX 6600S, RX 6650M, RX 6650M XT, RX 6700S, RX 6800S
beige goby / navi 24 (gfx1034)
RX 6500 XT, RX 6400, RX 6500M, RX 6300M

Thanks to the OpenBSD Foundation for sponsoring this work
niklas@ for helping with ttm and amdgpu and patrick@ for adapting
rockchip drm.


Revision tags: OPENBSD_7_0_BASE
# 1.16 07-Jul-2021 jsg

update drm to linux 5.10.47

hardware support changes include
inteldrm: better support for tiger lake
amdgpu: support for navi12, navi21 "sienna_cichlid", arcturus
amdgpu: support for cezanne "green sardine" ryzen 5000 apu

Thanks to the OpenBSD Foundation for sponsoring this work,
patrick@ for helping adapt rockchip drm, kettenis@ and mpi@
for uvm discussions and various testers.


# 1.15 16-Jun-2021 mpi

Change the prefix of UVM object functions to match NetBSD's.

For example uvm_objinit() becomes uvm_obj_init(). Reduce differences
between the trees and help porting new functions needed for UVM object
locking.

No functionnal change.


Revision tags: OPENBSD_6_9_BASE
# 1.14 08-Dec-2020 jsg

Call ttm_tt_unpopulate() instead of directly calling ttm_tt_unpopulate
function pointer in ttm_tt_swapout(). Reduces the diff to linux.

ok kettenis@


# 1.13 08-Dec-2020 jsg

correct ttm_tt error paths if bus_dmamap_create() fails

Avoids a double free of gtt in amdgpu_ttm_tt_create() if the
bus_dmamap_create() call in ttm_sg_tt_init() fails and ttm_tt_destroy()
calls amdgpu_ttm_backend_destroy().

feedback from and ok kettenis@


Revision tags: OPENBSD_6_8_BASE
# 1.12 22-Aug-2020 jsg

drm/ttm/nouveau: don't call tt destroy callback on alloc failure.

From Dave Airlie
7387ad86fe8ef830e88a586b021b322eef316211 in linux 5.7.y/5.7.16
5de5b6ecf97a021f29403aa272cb4e03318ef586 in mainline linux


# 1.11 08-Jun-2020 jsg

update drm to linux 5.7

adds kernel support for
amdgpu: vega20, raven2, renoir, navi10, navi14
inteldrm: icelake, tigerlake

Thanks to the OpenBSD Foundation for sponsoring this work, kettenis@ for
helping, patrick@ for helping adapt rockchip drm and many developers for
testing.


Revision tags: OPENBSD_6_6_BASE OPENBSD_6_7_BASE
# 1.10 11-Jun-2019 jsg

Use km_alloc() instead of mallocarray() when allocating ttm dma segments
to avoid running out of kmem space. Suggested by and ok kettenis@


# 1.9 09-Jun-2019 kettenis

Let drm(4) allocate memory without constraints if the hardware supports
64-bit DMA. Should reduce the pressure on DMA-reachable memory, which is
important since there are still cases where the pagedaemon ends up being
triggered continuously if we run out of DMA-reachable memory but have
plenty of memory left.

ok jsg@


# 1.8 14-Apr-2019 jsg

Update shared drm code, inteldrm(4) and radeondrm(4) from linux 4.4 to
linux 4.19.34.

Adds support for more Intel hardware:
Broxton/Apollo Lake (was is_preliminary in 4.4)
Amber Lake (another Kaby Lake refresh)
Gemini Lake
Coffee Lake
Whiskey Lake
Cannon Lake (though no hardware with Intel graphics ever shipped)
Ice Lake (alpha support, hardware not released)

This does not add support for new radeon hardware on the AMD side as
newer radeons have a different kernel driver (amdgpu).

Thanks to the OpenBSD Foundation for sponsoring this work, kettenis@ for
helping and a bunch of other developers for testing.


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE
# 1.7 25-Apr-2018 jsg

update ttm and radeondrm(4) to Linux 4.4.129

Compared to the previous Linux 3.8 based port this adds support for
KAVERI/KABINI/MULLINS APUs and OLAND/BONAIRE/HAINAN/HAWAII GPUs.

Thanks to the OpenBSD Foundation for sponsoring this work.


# 1.6 20-Apr-2018 deraadt

oops, snapshot tests not ready yet


# 1.5 20-Apr-2018 deraadt

sync


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.4 11-Feb-2015 jsg

Switch most printf style functions calls back to linux function names
and move DRM_INFO/pr_info/dev_info messages under DRMDEBUG.


Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.3 10-Feb-2014 jsg

drm/ttm: fix the tt_populated check in ttm_tt_destroy()

From Ben Skeggs
43a1ab9ba9d7c0d97e7079a09438fe1b4209e318 in ubuntu 3.8
182b17c8dc4e83aab000ce86587b6810e515da87 in mainline linux


# 1.2 08-Dec-2013 jsg

add static back to the ttm functions
ok kettenis@


# 1.1 12-Aug-2013 jsg

Add a port of the TTM and Radeon DRM code from Linux 3.8.13.
Includes kernel modesetting, framebuffer console and support
for newer hardware.

Firmware needs to be present for acceleration and in some cases
modesetting to work. It can be installed via fw_update
or manually via pkg_add.

With lots of help from kettenis@ some macppc bits from mpi@
and some ttm refcount/queue bits from FreeBSD.

Thanks to M:Tier and the OpenBSD Foundation for sponsoring this work.


# 1.19 16-Jan-2024 jsg

update drm to linux 6.6.12

Thanks to the OpenBSD Foundation for sponsoring this work.


Revision tags: OPENBSD_7_3_BASE OPENBSD_7_4_BASE
# 1.18 01-Jan-2023 jsg

update drm to linux 6.1.2

new hardware support includes

AMD
Raphael, Ryzen 7000 desktop, gfx1036/GC 10.3.6
Mendocino, Ryzen & Athlon 7020 Series mobile APU, gfx1037/GC 10.3.7
Navi 31, gfx1100 dGPU, GC 11.0.0, Radeon RX 7900 XT/XTX
gfx1101 dGPU
gfx1102 dGPU
gfx1103 APU

Thanks to the OpenBSD Foundation for sponsoring this work.


Revision tags: OPENBSD_7_1_BASE OPENBSD_7_2_BASE
# 1.17 14-Jan-2022 jsg

update drm to linux 5.15.14

new hardware support includes

Intel
ehl/Elkhart Lake (embedded)
jsl/Jasper Lake (atom)
rkl/Rocket Lake (desktop)

AMD
van gogh APU (gfx1033)
yellow carp / rembrandt APU (gfx1035?)
Ryzen 6000 APU
navy flounder / navi 22 (gfx1031)
RX 6700, RX 6700 XT, RX 6700M, RX 6800M, RX 6850M XT
dimgrey cavefish / navi 23 (gfx1032)
Pro W6600, Pro W6600M, RX 6600, RX 6600 XT, RX 6600M,
RX 6600S, RX 6650M, RX 6650M XT, RX 6700S, RX 6800S
beige goby / navi 24 (gfx1034)
RX 6500 XT, RX 6400, RX 6500M, RX 6300M

Thanks to the OpenBSD Foundation for sponsoring this work
niklas@ for helping with ttm and amdgpu and patrick@ for adapting
rockchip drm.


Revision tags: OPENBSD_7_0_BASE
# 1.16 07-Jul-2021 jsg

update drm to linux 5.10.47

hardware support changes include
inteldrm: better support for tiger lake
amdgpu: support for navi12, navi21 "sienna_cichlid", arcturus
amdgpu: support for cezanne "green sardine" ryzen 5000 apu

Thanks to the OpenBSD Foundation for sponsoring this work,
patrick@ for helping adapt rockchip drm, kettenis@ and mpi@
for uvm discussions and various testers.


# 1.15 16-Jun-2021 mpi

Change the prefix of UVM object functions to match NetBSD's.

For example uvm_objinit() becomes uvm_obj_init(). Reduce differences
between the trees and help porting new functions needed for UVM object
locking.

No functionnal change.


Revision tags: OPENBSD_6_9_BASE
# 1.14 08-Dec-2020 jsg

Call ttm_tt_unpopulate() instead of directly calling ttm_tt_unpopulate
function pointer in ttm_tt_swapout(). Reduces the diff to linux.

ok kettenis@


# 1.13 08-Dec-2020 jsg

correct ttm_tt error paths if bus_dmamap_create() fails

Avoids a double free of gtt in amdgpu_ttm_tt_create() if the
bus_dmamap_create() call in ttm_sg_tt_init() fails and ttm_tt_destroy()
calls amdgpu_ttm_backend_destroy().

feedback from and ok kettenis@


Revision tags: OPENBSD_6_8_BASE
# 1.12 22-Aug-2020 jsg

drm/ttm/nouveau: don't call tt destroy callback on alloc failure.

From Dave Airlie
7387ad86fe8ef830e88a586b021b322eef316211 in linux 5.7.y/5.7.16
5de5b6ecf97a021f29403aa272cb4e03318ef586 in mainline linux


# 1.11 08-Jun-2020 jsg

update drm to linux 5.7

adds kernel support for
amdgpu: vega20, raven2, renoir, navi10, navi14
inteldrm: icelake, tigerlake

Thanks to the OpenBSD Foundation for sponsoring this work, kettenis@ for
helping, patrick@ for helping adapt rockchip drm and many developers for
testing.


Revision tags: OPENBSD_6_6_BASE OPENBSD_6_7_BASE
# 1.10 11-Jun-2019 jsg

Use km_alloc() instead of mallocarray() when allocating ttm dma segments
to avoid running out of kmem space. Suggested by and ok kettenis@


# 1.9 09-Jun-2019 kettenis

Let drm(4) allocate memory without constraints if the hardware supports
64-bit DMA. Should reduce the pressure on DMA-reachable memory, which is
important since there are still cases where the pagedaemon ends up being
triggered continuously if we run out of DMA-reachable memory but have
plenty of memory left.

ok jsg@


# 1.8 14-Apr-2019 jsg

Update shared drm code, inteldrm(4) and radeondrm(4) from linux 4.4 to
linux 4.19.34.

Adds support for more Intel hardware:
Broxton/Apollo Lake (was is_preliminary in 4.4)
Amber Lake (another Kaby Lake refresh)
Gemini Lake
Coffee Lake
Whiskey Lake
Cannon Lake (though no hardware with Intel graphics ever shipped)
Ice Lake (alpha support, hardware not released)

This does not add support for new radeon hardware on the AMD side as
newer radeons have a different kernel driver (amdgpu).

Thanks to the OpenBSD Foundation for sponsoring this work, kettenis@ for
helping and a bunch of other developers for testing.


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE
# 1.7 25-Apr-2018 jsg

update ttm and radeondrm(4) to Linux 4.4.129

Compared to the previous Linux 3.8 based port this adds support for
KAVERI/KABINI/MULLINS APUs and OLAND/BONAIRE/HAINAN/HAWAII GPUs.

Thanks to the OpenBSD Foundation for sponsoring this work.


# 1.6 20-Apr-2018 deraadt

oops, snapshot tests not ready yet


# 1.5 20-Apr-2018 deraadt

sync


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.4 11-Feb-2015 jsg

Switch most printf style functions calls back to linux function names
and move DRM_INFO/pr_info/dev_info messages under DRMDEBUG.


Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.3 10-Feb-2014 jsg

drm/ttm: fix the tt_populated check in ttm_tt_destroy()

From Ben Skeggs
43a1ab9ba9d7c0d97e7079a09438fe1b4209e318 in ubuntu 3.8
182b17c8dc4e83aab000ce86587b6810e515da87 in mainline linux


# 1.2 08-Dec-2013 jsg

add static back to the ttm functions
ok kettenis@


# 1.1 12-Aug-2013 jsg

Add a port of the TTM and Radeon DRM code from Linux 3.8.13.
Includes kernel modesetting, framebuffer console and support
for newer hardware.

Firmware needs to be present for acceleration and in some cases
modesetting to work. It can be installed via fw_update
or manually via pkg_add.

With lots of help from kettenis@ some macppc bits from mpi@
and some ttm refcount/queue bits from FreeBSD.

Thanks to M:Tier and the OpenBSD Foundation for sponsoring this work.


# 1.18 01-Jan-2023 jsg

update drm to linux 6.1.2

new hardware support includes

AMD
Raphael, Ryzen 7000 desktop, gfx1036/GC 10.3.6
Mendocino, Ryzen & Athlon 7020 Series mobile APU, gfx1037/GC 10.3.7
Navi 31, gfx1100 dGPU, GC 11.0.0, Radeon RX 7900 XT/XTX
gfx1101 dGPU
gfx1102 dGPU
gfx1103 APU

Thanks to the OpenBSD Foundation for sponsoring this work.


Revision tags: OPENBSD_7_1_BASE OPENBSD_7_2_BASE
# 1.17 14-Jan-2022 jsg

update drm to linux 5.15.14

new hardware support includes

Intel
ehl/Elkhart Lake (embedded)
jsl/Jasper Lake (atom)
rkl/Rocket Lake (desktop)

AMD
van gogh APU (gfx1033)
yellow carp / rembrandt APU (gfx1035?)
Ryzen 6000 APU
navy flounder / navi 22 (gfx1031)
RX 6700, RX 6700 XT, RX 6700M, RX 6800M, RX 6850M XT
dimgrey cavefish / navi 23 (gfx1032)
Pro W6600, Pro W6600M, RX 6600, RX 6600 XT, RX 6600M,
RX 6600S, RX 6650M, RX 6650M XT, RX 6700S, RX 6800S
beige goby / navi 24 (gfx1034)
RX 6500 XT, RX 6400, RX 6500M, RX 6300M

Thanks to the OpenBSD Foundation for sponsoring this work
niklas@ for helping with ttm and amdgpu and patrick@ for adapting
rockchip drm.


Revision tags: OPENBSD_7_0_BASE
# 1.16 07-Jul-2021 jsg

update drm to linux 5.10.47

hardware support changes include
inteldrm: better support for tiger lake
amdgpu: support for navi12, navi21 "sienna_cichlid", arcturus
amdgpu: support for cezanne "green sardine" ryzen 5000 apu

Thanks to the OpenBSD Foundation for sponsoring this work,
patrick@ for helping adapt rockchip drm, kettenis@ and mpi@
for uvm discussions and various testers.


# 1.15 16-Jun-2021 mpi

Change the prefix of UVM object functions to match NetBSD's.

For example uvm_objinit() becomes uvm_obj_init(). Reduce differences
between the trees and help porting new functions needed for UVM object
locking.

No functionnal change.


Revision tags: OPENBSD_6_9_BASE
# 1.14 08-Dec-2020 jsg

Call ttm_tt_unpopulate() instead of directly calling ttm_tt_unpopulate
function pointer in ttm_tt_swapout(). Reduces the diff to linux.

ok kettenis@


# 1.13 08-Dec-2020 jsg

correct ttm_tt error paths if bus_dmamap_create() fails

Avoids a double free of gtt in amdgpu_ttm_tt_create() if the
bus_dmamap_create() call in ttm_sg_tt_init() fails and ttm_tt_destroy()
calls amdgpu_ttm_backend_destroy().

feedback from and ok kettenis@


Revision tags: OPENBSD_6_8_BASE
# 1.12 22-Aug-2020 jsg

drm/ttm/nouveau: don't call tt destroy callback on alloc failure.

From Dave Airlie
7387ad86fe8ef830e88a586b021b322eef316211 in linux 5.7.y/5.7.16
5de5b6ecf97a021f29403aa272cb4e03318ef586 in mainline linux


# 1.11 08-Jun-2020 jsg

update drm to linux 5.7

adds kernel support for
amdgpu: vega20, raven2, renoir, navi10, navi14
inteldrm: icelake, tigerlake

Thanks to the OpenBSD Foundation for sponsoring this work, kettenis@ for
helping, patrick@ for helping adapt rockchip drm and many developers for
testing.


Revision tags: OPENBSD_6_6_BASE OPENBSD_6_7_BASE
# 1.10 11-Jun-2019 jsg

Use km_alloc() instead of mallocarray() when allocating ttm dma segments
to avoid running out of kmem space. Suggested by and ok kettenis@


# 1.9 09-Jun-2019 kettenis

Let drm(4) allocate memory without constraints if the hardware supports
64-bit DMA. Should reduce the pressure on DMA-reachable memory, which is
important since there are still cases where the pagedaemon ends up being
triggered continuously if we run out of DMA-reachable memory but have
plenty of memory left.

ok jsg@


# 1.8 14-Apr-2019 jsg

Update shared drm code, inteldrm(4) and radeondrm(4) from linux 4.4 to
linux 4.19.34.

Adds support for more Intel hardware:
Broxton/Apollo Lake (was is_preliminary in 4.4)
Amber Lake (another Kaby Lake refresh)
Gemini Lake
Coffee Lake
Whiskey Lake
Cannon Lake (though no hardware with Intel graphics ever shipped)
Ice Lake (alpha support, hardware not released)

This does not add support for new radeon hardware on the AMD side as
newer radeons have a different kernel driver (amdgpu).

Thanks to the OpenBSD Foundation for sponsoring this work, kettenis@ for
helping and a bunch of other developers for testing.


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE
# 1.7 25-Apr-2018 jsg

update ttm and radeondrm(4) to Linux 4.4.129

Compared to the previous Linux 3.8 based port this adds support for
KAVERI/KABINI/MULLINS APUs and OLAND/BONAIRE/HAINAN/HAWAII GPUs.

Thanks to the OpenBSD Foundation for sponsoring this work.


# 1.6 20-Apr-2018 deraadt

oops, snapshot tests not ready yet


# 1.5 20-Apr-2018 deraadt

sync


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.4 11-Feb-2015 jsg

Switch most printf style functions calls back to linux function names
and move DRM_INFO/pr_info/dev_info messages under DRMDEBUG.


Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.3 10-Feb-2014 jsg

drm/ttm: fix the tt_populated check in ttm_tt_destroy()

From Ben Skeggs
43a1ab9ba9d7c0d97e7079a09438fe1b4209e318 in ubuntu 3.8
182b17c8dc4e83aab000ce86587b6810e515da87 in mainline linux


# 1.2 08-Dec-2013 jsg

add static back to the ttm functions
ok kettenis@


# 1.1 12-Aug-2013 jsg

Add a port of the TTM and Radeon DRM code from Linux 3.8.13.
Includes kernel modesetting, framebuffer console and support
for newer hardware.

Firmware needs to be present for acceleration and in some cases
modesetting to work. It can be installed via fw_update
or manually via pkg_add.

With lots of help from kettenis@ some macppc bits from mpi@
and some ttm refcount/queue bits from FreeBSD.

Thanks to M:Tier and the OpenBSD Foundation for sponsoring this work.


# 1.17 14-Jan-2022 jsg

update drm to linux 5.15.14

new hardware support includes

Intel
ehl/Elkhart Lake (embedded)
jsl/Jasper Lake (atom)
rkl/Rocket Lake (desktop)

AMD
van gogh APU (gfx1033)
yellow carp / rembrandt APU (gfx1035?)
Ryzen 6000 APU
navy flounder / navi 22 (gfx1031)
RX 6700, RX 6700 XT, RX 6700M, RX 6800M, RX 6850M XT
dimgrey cavefish / navi 23 (gfx1032)
Pro W6600, Pro W6600M, RX 6600, RX 6600 XT, RX 6600M,
RX 6600S, RX 6650M, RX 6650M XT, RX 6700S, RX 6800S
beige goby / navi 24 (gfx1034)
RX 6500 XT, RX 6400, RX 6500M, RX 6300M

Thanks to the OpenBSD Foundation for sponsoring this work
niklas@ for helping with ttm and amdgpu and patrick@ for adapting
rockchip drm.


Revision tags: OPENBSD_7_0_BASE
# 1.16 07-Jul-2021 jsg

update drm to linux 5.10.47

hardware support changes include
inteldrm: better support for tiger lake
amdgpu: support for navi12, navi21 "sienna_cichlid", arcturus
amdgpu: support for cezanne "green sardine" ryzen 5000 apu

Thanks to the OpenBSD Foundation for sponsoring this work,
patrick@ for helping adapt rockchip drm, kettenis@ and mpi@
for uvm discussions and various testers.


# 1.15 16-Jun-2021 mpi

Change the prefix of UVM object functions to match NetBSD's.

For example uvm_objinit() becomes uvm_obj_init(). Reduce differences
between the trees and help porting new functions needed for UVM object
locking.

No functionnal change.


Revision tags: OPENBSD_6_9_BASE
# 1.14 08-Dec-2020 jsg

Call ttm_tt_unpopulate() instead of directly calling ttm_tt_unpopulate
function pointer in ttm_tt_swapout(). Reduces the diff to linux.

ok kettenis@


# 1.13 08-Dec-2020 jsg

correct ttm_tt error paths if bus_dmamap_create() fails

Avoids a double free of gtt in amdgpu_ttm_tt_create() if the
bus_dmamap_create() call in ttm_sg_tt_init() fails and ttm_tt_destroy()
calls amdgpu_ttm_backend_destroy().

feedback from and ok kettenis@


Revision tags: OPENBSD_6_8_BASE
# 1.12 22-Aug-2020 jsg

drm/ttm/nouveau: don't call tt destroy callback on alloc failure.

From Dave Airlie
7387ad86fe8ef830e88a586b021b322eef316211 in linux 5.7.y/5.7.16
5de5b6ecf97a021f29403aa272cb4e03318ef586 in mainline linux


# 1.11 08-Jun-2020 jsg

update drm to linux 5.7

adds kernel support for
amdgpu: vega20, raven2, renoir, navi10, navi14
inteldrm: icelake, tigerlake

Thanks to the OpenBSD Foundation for sponsoring this work, kettenis@ for
helping, patrick@ for helping adapt rockchip drm and many developers for
testing.


Revision tags: OPENBSD_6_6_BASE OPENBSD_6_7_BASE
# 1.10 11-Jun-2019 jsg

Use km_alloc() instead of mallocarray() when allocating ttm dma segments
to avoid running out of kmem space. Suggested by and ok kettenis@


# 1.9 09-Jun-2019 kettenis

Let drm(4) allocate memory without constraints if the hardware supports
64-bit DMA. Should reduce the pressure on DMA-reachable memory, which is
important since there are still cases where the pagedaemon ends up being
triggered continuously if we run out of DMA-reachable memory but have
plenty of memory left.

ok jsg@


# 1.8 14-Apr-2019 jsg

Update shared drm code, inteldrm(4) and radeondrm(4) from linux 4.4 to
linux 4.19.34.

Adds support for more Intel hardware:
Broxton/Apollo Lake (was is_preliminary in 4.4)
Amber Lake (another Kaby Lake refresh)
Gemini Lake
Coffee Lake
Whiskey Lake
Cannon Lake (though no hardware with Intel graphics ever shipped)
Ice Lake (alpha support, hardware not released)

This does not add support for new radeon hardware on the AMD side as
newer radeons have a different kernel driver (amdgpu).

Thanks to the OpenBSD Foundation for sponsoring this work, kettenis@ for
helping and a bunch of other developers for testing.


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE
# 1.7 25-Apr-2018 jsg

update ttm and radeondrm(4) to Linux 4.4.129

Compared to the previous Linux 3.8 based port this adds support for
KAVERI/KABINI/MULLINS APUs and OLAND/BONAIRE/HAINAN/HAWAII GPUs.

Thanks to the OpenBSD Foundation for sponsoring this work.


# 1.6 20-Apr-2018 deraadt

oops, snapshot tests not ready yet


# 1.5 20-Apr-2018 deraadt

sync


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.4 11-Feb-2015 jsg

Switch most printf style functions calls back to linux function names
and move DRM_INFO/pr_info/dev_info messages under DRMDEBUG.


Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.3 10-Feb-2014 jsg

drm/ttm: fix the tt_populated check in ttm_tt_destroy()

From Ben Skeggs
43a1ab9ba9d7c0d97e7079a09438fe1b4209e318 in ubuntu 3.8
182b17c8dc4e83aab000ce86587b6810e515da87 in mainline linux


# 1.2 08-Dec-2013 jsg

add static back to the ttm functions
ok kettenis@


# 1.1 12-Aug-2013 jsg

Add a port of the TTM and Radeon DRM code from Linux 3.8.13.
Includes kernel modesetting, framebuffer console and support
for newer hardware.

Firmware needs to be present for acceleration and in some cases
modesetting to work. It can be installed via fw_update
or manually via pkg_add.

With lots of help from kettenis@ some macppc bits from mpi@
and some ttm refcount/queue bits from FreeBSD.

Thanks to M:Tier and the OpenBSD Foundation for sponsoring this work.


# 1.16 07-Jul-2021 jsg

update drm to linux 5.10.47

hardware support changes include
inteldrm: better support for tiger lake
amdgpu: support for navi12, navi21 "sienna_cichlid", arcturus
amdgpu: support for cezanne "green sardine" ryzen 5000 apu

Thanks to the OpenBSD Foundation for sponsoring this work,
patrick@ for helping adapt rockchip drm, kettenis@ and mpi@
for uvm discussions and various testers.


# 1.15 16-Jun-2021 mpi

Change the prefix of UVM object functions to match NetBSD's.

For example uvm_objinit() becomes uvm_obj_init(). Reduce differences
between the trees and help porting new functions needed for UVM object
locking.

No functionnal change.


Revision tags: OPENBSD_6_9_BASE
# 1.14 08-Dec-2020 jsg

Call ttm_tt_unpopulate() instead of directly calling ttm_tt_unpopulate
function pointer in ttm_tt_swapout(). Reduces the diff to linux.

ok kettenis@


# 1.13 08-Dec-2020 jsg

correct ttm_tt error paths if bus_dmamap_create() fails

Avoids a double free of gtt in amdgpu_ttm_tt_create() if the
bus_dmamap_create() call in ttm_sg_tt_init() fails and ttm_tt_destroy()
calls amdgpu_ttm_backend_destroy().

feedback from and ok kettenis@


Revision tags: OPENBSD_6_8_BASE
# 1.12 22-Aug-2020 jsg

drm/ttm/nouveau: don't call tt destroy callback on alloc failure.

From Dave Airlie
7387ad86fe8ef830e88a586b021b322eef316211 in linux 5.7.y/5.7.16
5de5b6ecf97a021f29403aa272cb4e03318ef586 in mainline linux


# 1.11 08-Jun-2020 jsg

update drm to linux 5.7

adds kernel support for
amdgpu: vega20, raven2, renoir, navi10, navi14
inteldrm: icelake, tigerlake

Thanks to the OpenBSD Foundation for sponsoring this work, kettenis@ for
helping, patrick@ for helping adapt rockchip drm and many developers for
testing.


Revision tags: OPENBSD_6_6_BASE OPENBSD_6_7_BASE
# 1.10 11-Jun-2019 jsg

Use km_alloc() instead of mallocarray() when allocating ttm dma segments
to avoid running out of kmem space. Suggested by and ok kettenis@


# 1.9 09-Jun-2019 kettenis

Let drm(4) allocate memory without constraints if the hardware supports
64-bit DMA. Should reduce the pressure on DMA-reachable memory, which is
important since there are still cases where the pagedaemon ends up being
triggered continuously if we run out of DMA-reachable memory but have
plenty of memory left.

ok jsg@


# 1.8 14-Apr-2019 jsg

Update shared drm code, inteldrm(4) and radeondrm(4) from linux 4.4 to
linux 4.19.34.

Adds support for more Intel hardware:
Broxton/Apollo Lake (was is_preliminary in 4.4)
Amber Lake (another Kaby Lake refresh)
Gemini Lake
Coffee Lake
Whiskey Lake
Cannon Lake (though no hardware with Intel graphics ever shipped)
Ice Lake (alpha support, hardware not released)

This does not add support for new radeon hardware on the AMD side as
newer radeons have a different kernel driver (amdgpu).

Thanks to the OpenBSD Foundation for sponsoring this work, kettenis@ for
helping and a bunch of other developers for testing.


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE
# 1.7 25-Apr-2018 jsg

update ttm and radeondrm(4) to Linux 4.4.129

Compared to the previous Linux 3.8 based port this adds support for
KAVERI/KABINI/MULLINS APUs and OLAND/BONAIRE/HAINAN/HAWAII GPUs.

Thanks to the OpenBSD Foundation for sponsoring this work.


# 1.6 20-Apr-2018 deraadt

oops, snapshot tests not ready yet


# 1.5 20-Apr-2018 deraadt

sync


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.4 11-Feb-2015 jsg

Switch most printf style functions calls back to linux function names
and move DRM_INFO/pr_info/dev_info messages under DRMDEBUG.


Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.3 10-Feb-2014 jsg

drm/ttm: fix the tt_populated check in ttm_tt_destroy()

From Ben Skeggs
43a1ab9ba9d7c0d97e7079a09438fe1b4209e318 in ubuntu 3.8
182b17c8dc4e83aab000ce86587b6810e515da87 in mainline linux


# 1.2 08-Dec-2013 jsg

add static back to the ttm functions
ok kettenis@


# 1.1 12-Aug-2013 jsg

Add a port of the TTM and Radeon DRM code from Linux 3.8.13.
Includes kernel modesetting, framebuffer console and support
for newer hardware.

Firmware needs to be present for acceleration and in some cases
modesetting to work. It can be installed via fw_update
or manually via pkg_add.

With lots of help from kettenis@ some macppc bits from mpi@
and some ttm refcount/queue bits from FreeBSD.

Thanks to M:Tier and the OpenBSD Foundation for sponsoring this work.


# 1.15 16-Jun-2021 mpi

Change the prefix of UVM object functions to match NetBSD's.

For example uvm_objinit() becomes uvm_obj_init(). Reduce differences
between the trees and help porting new functions needed for UVM object
locking.

No functionnal change.


Revision tags: OPENBSD_6_9_BASE
# 1.14 08-Dec-2020 jsg

Call ttm_tt_unpopulate() instead of directly calling ttm_tt_unpopulate
function pointer in ttm_tt_swapout(). Reduces the diff to linux.

ok kettenis@


# 1.13 08-Dec-2020 jsg

correct ttm_tt error paths if bus_dmamap_create() fails

Avoids a double free of gtt in amdgpu_ttm_tt_create() if the
bus_dmamap_create() call in ttm_sg_tt_init() fails and ttm_tt_destroy()
calls amdgpu_ttm_backend_destroy().

feedback from and ok kettenis@


Revision tags: OPENBSD_6_8_BASE
# 1.12 22-Aug-2020 jsg

drm/ttm/nouveau: don't call tt destroy callback on alloc failure.

From Dave Airlie
7387ad86fe8ef830e88a586b021b322eef316211 in linux 5.7.y/5.7.16
5de5b6ecf97a021f29403aa272cb4e03318ef586 in mainline linux


# 1.11 08-Jun-2020 jsg

update drm to linux 5.7

adds kernel support for
amdgpu: vega20, raven2, renoir, navi10, navi14
inteldrm: icelake, tigerlake

Thanks to the OpenBSD Foundation for sponsoring this work, kettenis@ for
helping, patrick@ for helping adapt rockchip drm and many developers for
testing.


Revision tags: OPENBSD_6_6_BASE OPENBSD_6_7_BASE
# 1.10 11-Jun-2019 jsg

Use km_alloc() instead of mallocarray() when allocating ttm dma segments
to avoid running out of kmem space. Suggested by and ok kettenis@


# 1.9 09-Jun-2019 kettenis

Let drm(4) allocate memory without constraints if the hardware supports
64-bit DMA. Should reduce the pressure on DMA-reachable memory, which is
important since there are still cases where the pagedaemon ends up being
triggered continuously if we run out of DMA-reachable memory but have
plenty of memory left.

ok jsg@


# 1.8 14-Apr-2019 jsg

Update shared drm code, inteldrm(4) and radeondrm(4) from linux 4.4 to
linux 4.19.34.

Adds support for more Intel hardware:
Broxton/Apollo Lake (was is_preliminary in 4.4)
Amber Lake (another Kaby Lake refresh)
Gemini Lake
Coffee Lake
Whiskey Lake
Cannon Lake (though no hardware with Intel graphics ever shipped)
Ice Lake (alpha support, hardware not released)

This does not add support for new radeon hardware on the AMD side as
newer radeons have a different kernel driver (amdgpu).

Thanks to the OpenBSD Foundation for sponsoring this work, kettenis@ for
helping and a bunch of other developers for testing.


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE
# 1.7 25-Apr-2018 jsg

update ttm and radeondrm(4) to Linux 4.4.129

Compared to the previous Linux 3.8 based port this adds support for
KAVERI/KABINI/MULLINS APUs and OLAND/BONAIRE/HAINAN/HAWAII GPUs.

Thanks to the OpenBSD Foundation for sponsoring this work.


# 1.6 20-Apr-2018 deraadt

oops, snapshot tests not ready yet


# 1.5 20-Apr-2018 deraadt

sync


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.4 11-Feb-2015 jsg

Switch most printf style functions calls back to linux function names
and move DRM_INFO/pr_info/dev_info messages under DRMDEBUG.


Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.3 10-Feb-2014 jsg

drm/ttm: fix the tt_populated check in ttm_tt_destroy()

From Ben Skeggs
43a1ab9ba9d7c0d97e7079a09438fe1b4209e318 in ubuntu 3.8
182b17c8dc4e83aab000ce86587b6810e515da87 in mainline linux


# 1.2 08-Dec-2013 jsg

add static back to the ttm functions
ok kettenis@


# 1.1 12-Aug-2013 jsg

Add a port of the TTM and Radeon DRM code from Linux 3.8.13.
Includes kernel modesetting, framebuffer console and support
for newer hardware.

Firmware needs to be present for acceleration and in some cases
modesetting to work. It can be installed via fw_update
or manually via pkg_add.

With lots of help from kettenis@ some macppc bits from mpi@
and some ttm refcount/queue bits from FreeBSD.

Thanks to M:Tier and the OpenBSD Foundation for sponsoring this work.


# 1.14 08-Dec-2020 jsg

Call ttm_tt_unpopulate() instead of directly calling ttm_tt_unpopulate
function pointer in ttm_tt_swapout(). Reduces the diff to linux.

ok kettenis@


# 1.13 08-Dec-2020 jsg

correct ttm_tt error paths if bus_dmamap_create() fails

Avoids a double free of gtt in amdgpu_ttm_tt_create() if the
bus_dmamap_create() call in ttm_sg_tt_init() fails and ttm_tt_destroy()
calls amdgpu_ttm_backend_destroy().

feedback from and ok kettenis@


Revision tags: OPENBSD_6_8_BASE
# 1.12 22-Aug-2020 jsg

drm/ttm/nouveau: don't call tt destroy callback on alloc failure.

From Dave Airlie
7387ad86fe8ef830e88a586b021b322eef316211 in linux 5.7.y/5.7.16
5de5b6ecf97a021f29403aa272cb4e03318ef586 in mainline linux


# 1.11 08-Jun-2020 jsg

update drm to linux 5.7

adds kernel support for
amdgpu: vega20, raven2, renoir, navi10, navi14
inteldrm: icelake, tigerlake

Thanks to the OpenBSD Foundation for sponsoring this work, kettenis@ for
helping, patrick@ for helping adapt rockchip drm and many developers for
testing.


Revision tags: OPENBSD_6_6_BASE OPENBSD_6_7_BASE
# 1.10 11-Jun-2019 jsg

Use km_alloc() instead of mallocarray() when allocating ttm dma segments
to avoid running out of kmem space. Suggested by and ok kettenis@


# 1.9 09-Jun-2019 kettenis

Let drm(4) allocate memory without constraints if the hardware supports
64-bit DMA. Should reduce the pressure on DMA-reachable memory, which is
important since there are still cases where the pagedaemon ends up being
triggered continuously if we run out of DMA-reachable memory but have
plenty of memory left.

ok jsg@


# 1.8 14-Apr-2019 jsg

Update shared drm code, inteldrm(4) and radeondrm(4) from linux 4.4 to
linux 4.19.34.

Adds support for more Intel hardware:
Broxton/Apollo Lake (was is_preliminary in 4.4)
Amber Lake (another Kaby Lake refresh)
Gemini Lake
Coffee Lake
Whiskey Lake
Cannon Lake (though no hardware with Intel graphics ever shipped)
Ice Lake (alpha support, hardware not released)

This does not add support for new radeon hardware on the AMD side as
newer radeons have a different kernel driver (amdgpu).

Thanks to the OpenBSD Foundation for sponsoring this work, kettenis@ for
helping and a bunch of other developers for testing.


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE
# 1.7 25-Apr-2018 jsg

update ttm and radeondrm(4) to Linux 4.4.129

Compared to the previous Linux 3.8 based port this adds support for
KAVERI/KABINI/MULLINS APUs and OLAND/BONAIRE/HAINAN/HAWAII GPUs.

Thanks to the OpenBSD Foundation for sponsoring this work.


# 1.6 20-Apr-2018 deraadt

oops, snapshot tests not ready yet


# 1.5 20-Apr-2018 deraadt

sync


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.4 11-Feb-2015 jsg

Switch most printf style functions calls back to linux function names
and move DRM_INFO/pr_info/dev_info messages under DRMDEBUG.


Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.3 10-Feb-2014 jsg

drm/ttm: fix the tt_populated check in ttm_tt_destroy()

From Ben Skeggs
43a1ab9ba9d7c0d97e7079a09438fe1b4209e318 in ubuntu 3.8
182b17c8dc4e83aab000ce86587b6810e515da87 in mainline linux


# 1.2 08-Dec-2013 jsg

add static back to the ttm functions
ok kettenis@


# 1.1 12-Aug-2013 jsg

Add a port of the TTM and Radeon DRM code from Linux 3.8.13.
Includes kernel modesetting, framebuffer console and support
for newer hardware.

Firmware needs to be present for acceleration and in some cases
modesetting to work. It can be installed via fw_update
or manually via pkg_add.

With lots of help from kettenis@ some macppc bits from mpi@
and some ttm refcount/queue bits from FreeBSD.

Thanks to M:Tier and the OpenBSD Foundation for sponsoring this work.


# 1.14 08-Dec-2020 jsg

Call ttm_tt_unpopulate() instead of directly calling ttm_tt_unpopulate
function pointer in ttm_tt_swapout(). Reduces the diff to linux.

ok kettenis@


# 1.13 08-Dec-2020 jsg

correct ttm_tt error paths if bus_dmamap_create() fails

Avoids a double free of gtt in amdgpu_ttm_tt_create() if the
bus_dmamap_create() call in ttm_sg_tt_init() fails and ttm_tt_destroy()
calls amdgpu_ttm_backend_destroy().

feedback from and ok kettenis@


Revision tags: OPENBSD_6_8_BASE
# 1.12 22-Aug-2020 jsg

drm/ttm/nouveau: don't call tt destroy callback on alloc failure.

From Dave Airlie
7387ad86fe8ef830e88a586b021b322eef316211 in linux 5.7.y/5.7.16
5de5b6ecf97a021f29403aa272cb4e03318ef586 in mainline linux


# 1.11 08-Jun-2020 jsg

update drm to linux 5.7

adds kernel support for
amdgpu: vega20, raven2, renoir, navi10, navi14
inteldrm: icelake, tigerlake

Thanks to the OpenBSD Foundation for sponsoring this work, kettenis@ for
helping, patrick@ for helping adapt rockchip drm and many developers for
testing.


Revision tags: OPENBSD_6_6_BASE OPENBSD_6_7_BASE
# 1.10 11-Jun-2019 jsg

Use km_alloc() instead of mallocarray() when allocating ttm dma segments
to avoid running out of kmem space. Suggested by and ok kettenis@


# 1.9 09-Jun-2019 kettenis

Let drm(4) allocate memory without constraints if the hardware supports
64-bit DMA. Should reduce the pressure on DMA-reachable memory, which is
important since there are still cases where the pagedaemon ends up being
triggered continuously if we run out of DMA-reachable memory but have
plenty of memory left.

ok jsg@


# 1.8 14-Apr-2019 jsg

Update shared drm code, inteldrm(4) and radeondrm(4) from linux 4.4 to
linux 4.19.34.

Adds support for more Intel hardware:
Broxton/Apollo Lake (was is_preliminary in 4.4)
Amber Lake (another Kaby Lake refresh)
Gemini Lake
Coffee Lake
Whiskey Lake
Cannon Lake (though no hardware with Intel graphics ever shipped)
Ice Lake (alpha support, hardware not released)

This does not add support for new radeon hardware on the AMD side as
newer radeons have a different kernel driver (amdgpu).

Thanks to the OpenBSD Foundation for sponsoring this work, kettenis@ for
helping and a bunch of other developers for testing.


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE
# 1.7 25-Apr-2018 jsg

update ttm and radeondrm(4) to Linux 4.4.129

Compared to the previous Linux 3.8 based port this adds support for
KAVERI/KABINI/MULLINS APUs and OLAND/BONAIRE/HAINAN/HAWAII GPUs.

Thanks to the OpenBSD Foundation for sponsoring this work.


# 1.6 20-Apr-2018 deraadt

oops, snapshot tests not ready yet


# 1.5 20-Apr-2018 deraadt

sync


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.4 11-Feb-2015 jsg

Switch most printf style functions calls back to linux function names
and move DRM_INFO/pr_info/dev_info messages under DRMDEBUG.


Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.3 10-Feb-2014 jsg

drm/ttm: fix the tt_populated check in ttm_tt_destroy()

From Ben Skeggs
43a1ab9ba9d7c0d97e7079a09438fe1b4209e318 in ubuntu 3.8
182b17c8dc4e83aab000ce86587b6810e515da87 in mainline linux


# 1.2 08-Dec-2013 jsg

add static back to the ttm functions
ok kettenis@


# 1.1 12-Aug-2013 jsg

Add a port of the TTM and Radeon DRM code from Linux 3.8.13.
Includes kernel modesetting, framebuffer console and support
for newer hardware.

Firmware needs to be present for acceleration and in some cases
modesetting to work. It can be installed via fw_update
or manually via pkg_add.

With lots of help from kettenis@ some macppc bits from mpi@
and some ttm refcount/queue bits from FreeBSD.

Thanks to M:Tier and the OpenBSD Foundation for sponsoring this work.


# 1.12 22-Aug-2020 jsg

drm/ttm/nouveau: don't call tt destroy callback on alloc failure.

From Dave Airlie
7387ad86fe8ef830e88a586b021b322eef316211 in linux 5.7.y/5.7.16
5de5b6ecf97a021f29403aa272cb4e03318ef586 in mainline linux


# 1.11 08-Jun-2020 jsg

update drm to linux 5.7

adds kernel support for
amdgpu: vega20, raven2, renoir, navi10, navi14
inteldrm: icelake, tigerlake

Thanks to the OpenBSD Foundation for sponsoring this work, kettenis@ for
helping, patrick@ for helping adapt rockchip drm and many developers for
testing.


Revision tags: OPENBSD_6_6_BASE OPENBSD_6_7_BASE
# 1.10 11-Jun-2019 jsg

Use km_alloc() instead of mallocarray() when allocating ttm dma segments
to avoid running out of kmem space. Suggested by and ok kettenis@


# 1.9 09-Jun-2019 kettenis

Let drm(4) allocate memory without constraints if the hardware supports
64-bit DMA. Should reduce the pressure on DMA-reachable memory, which is
important since there are still cases where the pagedaemon ends up being
triggered continuously if we run out of DMA-reachable memory but have
plenty of memory left.

ok jsg@


# 1.8 14-Apr-2019 jsg

Update shared drm code, inteldrm(4) and radeondrm(4) from linux 4.4 to
linux 4.19.34.

Adds support for more Intel hardware:
Broxton/Apollo Lake (was is_preliminary in 4.4)
Amber Lake (another Kaby Lake refresh)
Gemini Lake
Coffee Lake
Whiskey Lake
Cannon Lake (though no hardware with Intel graphics ever shipped)
Ice Lake (alpha support, hardware not released)

This does not add support for new radeon hardware on the AMD side as
newer radeons have a different kernel driver (amdgpu).

Thanks to the OpenBSD Foundation for sponsoring this work, kettenis@ for
helping and a bunch of other developers for testing.


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE
# 1.7 25-Apr-2018 jsg

update ttm and radeondrm(4) to Linux 4.4.129

Compared to the previous Linux 3.8 based port this adds support for
KAVERI/KABINI/MULLINS APUs and OLAND/BONAIRE/HAINAN/HAWAII GPUs.

Thanks to the OpenBSD Foundation for sponsoring this work.


# 1.6 20-Apr-2018 deraadt

oops, snapshot tests not ready yet


# 1.5 20-Apr-2018 deraadt

sync


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.4 11-Feb-2015 jsg

Switch most printf style functions calls back to linux function names
and move DRM_INFO/pr_info/dev_info messages under DRMDEBUG.


Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.3 10-Feb-2014 jsg

drm/ttm: fix the tt_populated check in ttm_tt_destroy()

From Ben Skeggs
43a1ab9ba9d7c0d97e7079a09438fe1b4209e318 in ubuntu 3.8
182b17c8dc4e83aab000ce86587b6810e515da87 in mainline linux


# 1.2 08-Dec-2013 jsg

add static back to the ttm functions
ok kettenis@


# 1.1 12-Aug-2013 jsg

Add a port of the TTM and Radeon DRM code from Linux 3.8.13.
Includes kernel modesetting, framebuffer console and support
for newer hardware.

Firmware needs to be present for acceleration and in some cases
modesetting to work. It can be installed via fw_update
or manually via pkg_add.

With lots of help from kettenis@ some macppc bits from mpi@
and some ttm refcount/queue bits from FreeBSD.

Thanks to M:Tier and the OpenBSD Foundation for sponsoring this work.


# 1.11 08-Jun-2020 jsg

update drm to linux 5.7

adds kernel support for
amdgpu: vega20, raven2, renoir, navi10, navi14
inteldrm: icelake, tigerlake

Thanks to the OpenBSD Foundation for sponsoring this work, kettenis@ for
helping, patrick@ for helping adapt rockchip drm and many developers for
testing.


Revision tags: OPENBSD_6_6_BASE OPENBSD_6_7_BASE
# 1.10 11-Jun-2019 jsg

Use km_alloc() instead of mallocarray() when allocating ttm dma segments
to avoid running out of kmem space. Suggested by and ok kettenis@


# 1.9 09-Jun-2019 kettenis

Let drm(4) allocate memory without constraints if the hardware supports
64-bit DMA. Should reduce the pressure on DMA-reachable memory, which is
important since there are still cases where the pagedaemon ends up being
triggered continuously if we run out of DMA-reachable memory but have
plenty of memory left.

ok jsg@


# 1.8 14-Apr-2019 jsg

Update shared drm code, inteldrm(4) and radeondrm(4) from linux 4.4 to
linux 4.19.34.

Adds support for more Intel hardware:
Broxton/Apollo Lake (was is_preliminary in 4.4)
Amber Lake (another Kaby Lake refresh)
Gemini Lake
Coffee Lake
Whiskey Lake
Cannon Lake (though no hardware with Intel graphics ever shipped)
Ice Lake (alpha support, hardware not released)

This does not add support for new radeon hardware on the AMD side as
newer radeons have a different kernel driver (amdgpu).

Thanks to the OpenBSD Foundation for sponsoring this work, kettenis@ for
helping and a bunch of other developers for testing.


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE
# 1.7 25-Apr-2018 jsg

update ttm and radeondrm(4) to Linux 4.4.129

Compared to the previous Linux 3.8 based port this adds support for
KAVERI/KABINI/MULLINS APUs and OLAND/BONAIRE/HAINAN/HAWAII GPUs.

Thanks to the OpenBSD Foundation for sponsoring this work.


# 1.6 20-Apr-2018 deraadt

oops, snapshot tests not ready yet


# 1.5 20-Apr-2018 deraadt

sync


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.4 11-Feb-2015 jsg

Switch most printf style functions calls back to linux function names
and move DRM_INFO/pr_info/dev_info messages under DRMDEBUG.


Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.3 10-Feb-2014 jsg

drm/ttm: fix the tt_populated check in ttm_tt_destroy()

From Ben Skeggs
43a1ab9ba9d7c0d97e7079a09438fe1b4209e318 in ubuntu 3.8
182b17c8dc4e83aab000ce86587b6810e515da87 in mainline linux


# 1.2 08-Dec-2013 jsg

add static back to the ttm functions
ok kettenis@


# 1.1 12-Aug-2013 jsg

Add a port of the TTM and Radeon DRM code from Linux 3.8.13.
Includes kernel modesetting, framebuffer console and support
for newer hardware.

Firmware needs to be present for acceleration and in some cases
modesetting to work. It can be installed via fw_update
or manually via pkg_add.

With lots of help from kettenis@ some macppc bits from mpi@
and some ttm refcount/queue bits from FreeBSD.

Thanks to M:Tier and the OpenBSD Foundation for sponsoring this work.


# 1.10 11-Jun-2019 jsg

Use km_alloc() instead of mallocarray() when allocating ttm dma segments
to avoid running out of kmem space. Suggested by and ok kettenis@


# 1.9 09-Jun-2019 kettenis

Let drm(4) allocate memory without constraints if the hardware supports
64-bit DMA. Should reduce the pressure on DMA-reachable memory, which is
important since there are still cases where the pagedaemon ends up being
triggered continuously if we run out of DMA-reachable memory but have
plenty of memory left.

ok jsg@


# 1.8 14-Apr-2019 jsg

Update shared drm code, inteldrm(4) and radeondrm(4) from linux 4.4 to
linux 4.19.34.

Adds support for more Intel hardware:
Broxton/Apollo Lake (was is_preliminary in 4.4)
Amber Lake (another Kaby Lake refresh)
Gemini Lake
Coffee Lake
Whiskey Lake
Cannon Lake (though no hardware with Intel graphics ever shipped)
Ice Lake (alpha support, hardware not released)

This does not add support for new radeon hardware on the AMD side as
newer radeons have a different kernel driver (amdgpu).

Thanks to the OpenBSD Foundation for sponsoring this work, kettenis@ for
helping and a bunch of other developers for testing.


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE
# 1.7 25-Apr-2018 jsg

update ttm and radeondrm(4) to Linux 4.4.129

Compared to the previous Linux 3.8 based port this adds support for
KAVERI/KABINI/MULLINS APUs and OLAND/BONAIRE/HAINAN/HAWAII GPUs.

Thanks to the OpenBSD Foundation for sponsoring this work.


# 1.6 20-Apr-2018 deraadt

oops, snapshot tests not ready yet


# 1.5 20-Apr-2018 deraadt

sync


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.4 11-Feb-2015 jsg

Switch most printf style functions calls back to linux function names
and move DRM_INFO/pr_info/dev_info messages under DRMDEBUG.


Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.3 10-Feb-2014 jsg

drm/ttm: fix the tt_populated check in ttm_tt_destroy()

From Ben Skeggs
43a1ab9ba9d7c0d97e7079a09438fe1b4209e318 in ubuntu 3.8
182b17c8dc4e83aab000ce86587b6810e515da87 in mainline linux


# 1.2 08-Dec-2013 jsg

add static back to the ttm functions
ok kettenis@


# 1.1 12-Aug-2013 jsg

Add a port of the TTM and Radeon DRM code from Linux 3.8.13.
Includes kernel modesetting, framebuffer console and support
for newer hardware.

Firmware needs to be present for acceleration and in some cases
modesetting to work. It can be installed via fw_update
or manually via pkg_add.

With lots of help from kettenis@ some macppc bits from mpi@
and some ttm refcount/queue bits from FreeBSD.

Thanks to M:Tier and the OpenBSD Foundation for sponsoring this work.


# 1.9 09-Jun-2019 kettenis

Let drm(4) allocate memory without constraints if the hardware supports
64-bit DMA. Should reduce the pressure on DMA-reachable memory, which is
important since there are still cases where the pagedaemon ends up being
triggered continuously if we run out of DMA-reachable memory but have
plenty of memory left.

ok jsg@


# 1.8 14-Apr-2019 jsg

Update shared drm code, inteldrm(4) and radeondrm(4) from linux 4.4 to
linux 4.19.34.

Adds support for more Intel hardware:
Broxton/Apollo Lake (was is_preliminary in 4.4)
Amber Lake (another Kaby Lake refresh)
Gemini Lake
Coffee Lake
Whiskey Lake
Cannon Lake (though no hardware with Intel graphics ever shipped)
Ice Lake (alpha support, hardware not released)

This does not add support for new radeon hardware on the AMD side as
newer radeons have a different kernel driver (amdgpu).

Thanks to the OpenBSD Foundation for sponsoring this work, kettenis@ for
helping and a bunch of other developers for testing.


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE
# 1.7 25-Apr-2018 jsg

update ttm and radeondrm(4) to Linux 4.4.129

Compared to the previous Linux 3.8 based port this adds support for
KAVERI/KABINI/MULLINS APUs and OLAND/BONAIRE/HAINAN/HAWAII GPUs.

Thanks to the OpenBSD Foundation for sponsoring this work.


# 1.6 20-Apr-2018 deraadt

oops, snapshot tests not ready yet


# 1.5 20-Apr-2018 deraadt

sync


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.4 11-Feb-2015 jsg

Switch most printf style functions calls back to linux function names
and move DRM_INFO/pr_info/dev_info messages under DRMDEBUG.


Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.3 10-Feb-2014 jsg

drm/ttm: fix the tt_populated check in ttm_tt_destroy()

From Ben Skeggs
43a1ab9ba9d7c0d97e7079a09438fe1b4209e318 in ubuntu 3.8
182b17c8dc4e83aab000ce86587b6810e515da87 in mainline linux


# 1.2 08-Dec-2013 jsg

add static back to the ttm functions
ok kettenis@


# 1.1 12-Aug-2013 jsg

Add a port of the TTM and Radeon DRM code from Linux 3.8.13.
Includes kernel modesetting, framebuffer console and support
for newer hardware.

Firmware needs to be present for acceleration and in some cases
modesetting to work. It can be installed via fw_update
or manually via pkg_add.

With lots of help from kettenis@ some macppc bits from mpi@
and some ttm refcount/queue bits from FreeBSD.

Thanks to M:Tier and the OpenBSD Foundation for sponsoring this work.


# 1.8 14-Apr-2019 jsg

Update shared drm code, inteldrm(4) and radeondrm(4) from linux 4.4 to
linux 4.19.34.

Adds support for more Intel hardware:
Broxton/Apollo Lake (was is_preliminary in 4.4)
Amber Lake (another Kaby Lake refresh)
Gemini Lake
Coffee Lake
Whiskey Lake
Cannon Lake (though no hardware with Intel graphics ever shipped)
Ice Lake (alpha support, hardware not released)

This does not add support for new radeon hardware on the AMD side as
newer radeons have a different kernel driver (amdgpu).

Thanks to the OpenBSD Foundation for sponsoring this work, kettenis@ for
helping and a bunch of other developers for testing.


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE
# 1.7 25-Apr-2018 jsg

update ttm and radeondrm(4) to Linux 4.4.129

Compared to the previous Linux 3.8 based port this adds support for
KAVERI/KABINI/MULLINS APUs and OLAND/BONAIRE/HAINAN/HAWAII GPUs.

Thanks to the OpenBSD Foundation for sponsoring this work.


# 1.6 20-Apr-2018 deraadt

oops, snapshot tests not ready yet


# 1.5 20-Apr-2018 deraadt

sync


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.4 11-Feb-2015 jsg

Switch most printf style functions calls back to linux function names
and move DRM_INFO/pr_info/dev_info messages under DRMDEBUG.


Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.3 10-Feb-2014 jsg

drm/ttm: fix the tt_populated check in ttm_tt_destroy()

From Ben Skeggs
43a1ab9ba9d7c0d97e7079a09438fe1b4209e318 in ubuntu 3.8
182b17c8dc4e83aab000ce86587b6810e515da87 in mainline linux


# 1.2 08-Dec-2013 jsg

add static back to the ttm functions
ok kettenis@


# 1.1 12-Aug-2013 jsg

Add a port of the TTM and Radeon DRM code from Linux 3.8.13.
Includes kernel modesetting, framebuffer console and support
for newer hardware.

Firmware needs to be present for acceleration and in some cases
modesetting to work. It can be installed via fw_update
or manually via pkg_add.

With lots of help from kettenis@ some macppc bits from mpi@
and some ttm refcount/queue bits from FreeBSD.

Thanks to M:Tier and the OpenBSD Foundation for sponsoring this work.


# 1.7 25-Apr-2018 jsg

update ttm and radeondrm(4) to Linux 4.4.129

Compared to the previous Linux 3.8 based port this adds support for
KAVERI/KABINI/MULLINS APUs and OLAND/BONAIRE/HAINAN/HAWAII GPUs.

Thanks to the OpenBSD Foundation for sponsoring this work.


# 1.6 20-Apr-2018 deraadt

oops, snapshot tests not ready yet


# 1.5 20-Apr-2018 deraadt

sync


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.4 11-Feb-2015 jsg

Switch most printf style functions calls back to linux function names
and move DRM_INFO/pr_info/dev_info messages under DRMDEBUG.


Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.3 10-Feb-2014 jsg

drm/ttm: fix the tt_populated check in ttm_tt_destroy()

From Ben Skeggs
43a1ab9ba9d7c0d97e7079a09438fe1b4209e318 in ubuntu 3.8
182b17c8dc4e83aab000ce86587b6810e515da87 in mainline linux


# 1.2 08-Dec-2013 jsg

add static back to the ttm functions
ok kettenis@


# 1.1 12-Aug-2013 jsg

Add a port of the TTM and Radeon DRM code from Linux 3.8.13.
Includes kernel modesetting, framebuffer console and support
for newer hardware.

Firmware needs to be present for acceleration and in some cases
modesetting to work. It can be installed via fw_update
or manually via pkg_add.

With lots of help from kettenis@ some macppc bits from mpi@
and some ttm refcount/queue bits from FreeBSD.

Thanks to M:Tier and the OpenBSD Foundation for sponsoring this work.


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.4 11-Feb-2015 jsg

Switch most printf style functions calls back to linux function names
and move DRM_INFO/pr_info/dev_info messages under DRMDEBUG.


Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.3 10-Feb-2014 jsg

drm/ttm: fix the tt_populated check in ttm_tt_destroy()

From Ben Skeggs
43a1ab9ba9d7c0d97e7079a09438fe1b4209e318 in ubuntu 3.8
182b17c8dc4e83aab000ce86587b6810e515da87 in mainline linux


# 1.2 08-Dec-2013 jsg

add static back to the ttm functions
ok kettenis@


# 1.1 12-Aug-2013 jsg

Add a port of the TTM and Radeon DRM code from Linux 3.8.13.
Includes kernel modesetting, framebuffer console and support
for newer hardware.

Firmware needs to be present for acceleration and in some cases
modesetting to work. It can be installed via fw_update
or manually via pkg_add.

With lots of help from kettenis@ some macppc bits from mpi@
and some ttm refcount/queue bits from FreeBSD.

Thanks to M:Tier and the OpenBSD Foundation for sponsoring this work.