History log of /netbsd-current/sys/external/bsd/drm2/dist/drm/radeon/radeon_ttm.c
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.26 20-Jul-2022 riastradh

drm: Ifdef out alpha-specific logic in radeon.

Guessing this is handled transparently by bus_space(9) when we ask
for prefetchable linear mappings. Need an alpha wizard to review!


# 1.25 21-May-2022 riastradh

drm: Nix driver-specific DRM_FILE_PAGE_OFFSET defs and tests.

This was consolidated upstream into the vma manager.

PR kern/56812


# 1.24 23-Dec-2021 hannken

Cast addr to uint64_t before printing.
Ok: riastradh@


# 1.23 19-Dec-2021 riastradh

radeon: Fix dma_addressing_limited call.


# 1.22 19-Dec-2021 riastradh

Stub dma_addressing_limited, fixup references for caller

This might turn out to be a mistake if we actually need to distinguish
if a device is only capable of 32-bit DMA.


Author: Maya Rashish <maya@NetBSD.org>


# 1.21 19-Dec-2021 riastradh

'r' is just for us, so let's declare it


Author: Maya Rashish <maya@NetBSD.org>


# 1.20 19-Dec-2021 riastradh

match the 'else' case here to get vma_node


Author: Maya Rashish <maya@NetBSD.org>


# 1.19 19-Dec-2021 riastradh

Fix up radeon.

Enough to make it compile. (Next up: make it link.)


# 1.18 18-Dec-2021 riastradh

Merge linux-drm-v5-6-rc3


Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
# 1.17 27-Apr-2020 tsutsui

Fix possible bus_dmamap_load(9) leak. PR/55127

"Looks good to me" from riastradh@.
Note it was also commented "that code path is likely to be reached"
so maybe pullups are not necessary.


Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3
# 1.16 14-Feb-2020 riastradh

Implement drm userptr with uvm_vslock & bus_dmamap_load_uio.


Revision tags: netbsd-9-2-RELEASE netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906
# 1.15 27-Aug-2018 riastradh

branches: 1.15.6;
Draft support for drm prime.


# 1.14 27-Aug-2018 riastradh

Sprinkle AGP conditionals where needed.


# 1.13 27-Aug-2018 riastradh

Kill legacy mmap in radeon like was done upstream.


# 1.12 27-Aug-2018 riastradh

Ifdef out some more radeon userptr code.


# 1.11 27-Aug-2018 riastradh

Disable radeon userptr for now.


# 1.10 27-Aug-2018 riastradh

merge linux-drm-v4-4-143


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.9 10-Jul-2016 pgoyette

branches: 1.9.16; 1.9.18;
Don't assign value to rdev unless we're going to use the value.

Therefore, don't declare the variable unless we're going to assign it a
value.


Revision tags: nick-nhusb-base-20160907 nick-nhusb-base-20160529
# 1.8 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


Revision tags: nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606
# 1.7 10-Apr-2015 riastradh

KASSERT about page-alignment on initialization too.


Revision tags: nick-nhusb-base-20150406
# 1.6 05-Jan-2015 mrg

apply a patch from rjs@, which is necessary for radeondrmkms on i386:

set DRM_FILE_PAGE_OFFSET to 0xa0000000UL for 32 bit platforms.


Revision tags: nick-nhusb-base tls-maxphys-base netbsd-7-base tls-earlyentropy-base
# 1.5 26-Jul-2014 riastradh

branches: 1.5.2; 1.5.4; 1.5.6; 1.5.8;
Make sure the low bits, not the high bits, of the offset are zero!


# 1.4 26-Jul-2014 riastradh

Let the drm driver decide what part of what object gets mmapped.

Pass the file around too so radeon/ttm can get at it to verify access.

Add drm_gem_or_legacy_mmap_object for drivers to choose the previous
behaviour, like i915.


# 1.3 17-Jul-2014 riastradh

Actually hook up the radeon_ttm uvm pager ops!


# 1.2 16-Jul-2014 riastradh

First whack at radeon driver.

No hardware to test yet, but it builds.


# 1.1 16-Jul-2014 riastradh

branches: 1.1.1;
Initial revision


# 1.25 21-May-2022 riastradh

drm: Nix driver-specific DRM_FILE_PAGE_OFFSET defs and tests.

This was consolidated upstream into the vma manager.

PR kern/56812


# 1.24 23-Dec-2021 hannken

Cast addr to uint64_t before printing.
Ok: riastradh@


# 1.23 19-Dec-2021 riastradh

radeon: Fix dma_addressing_limited call.


# 1.22 19-Dec-2021 riastradh

Stub dma_addressing_limited, fixup references for caller

This might turn out to be a mistake if we actually need to distinguish
if a device is only capable of 32-bit DMA.


Author: Maya Rashish <maya@NetBSD.org>


# 1.21 19-Dec-2021 riastradh

'r' is just for us, so let's declare it


Author: Maya Rashish <maya@NetBSD.org>


# 1.20 19-Dec-2021 riastradh

match the 'else' case here to get vma_node


Author: Maya Rashish <maya@NetBSD.org>


# 1.19 19-Dec-2021 riastradh

Fix up radeon.

Enough to make it compile. (Next up: make it link.)


# 1.18 18-Dec-2021 riastradh

Merge linux-drm-v5-6-rc3


Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
# 1.17 27-Apr-2020 tsutsui

Fix possible bus_dmamap_load(9) leak. PR/55127

"Looks good to me" from riastradh@.
Note it was also commented "that code path is likely to be reached"
so maybe pullups are not necessary.


Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3
# 1.16 14-Feb-2020 riastradh

Implement drm userptr with uvm_vslock & bus_dmamap_load_uio.


Revision tags: netbsd-9-2-RELEASE netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906
# 1.15 27-Aug-2018 riastradh

branches: 1.15.6;
Draft support for drm prime.


# 1.14 27-Aug-2018 riastradh

Sprinkle AGP conditionals where needed.


# 1.13 27-Aug-2018 riastradh

Kill legacy mmap in radeon like was done upstream.


# 1.12 27-Aug-2018 riastradh

Ifdef out some more radeon userptr code.


# 1.11 27-Aug-2018 riastradh

Disable radeon userptr for now.


# 1.10 27-Aug-2018 riastradh

merge linux-drm-v4-4-143


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.9 10-Jul-2016 pgoyette

branches: 1.9.16; 1.9.18;
Don't assign value to rdev unless we're going to use the value.

Therefore, don't declare the variable unless we're going to assign it a
value.


Revision tags: nick-nhusb-base-20160907 nick-nhusb-base-20160529
# 1.8 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


Revision tags: nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606
# 1.7 10-Apr-2015 riastradh

KASSERT about page-alignment on initialization too.


Revision tags: nick-nhusb-base-20150406
# 1.6 05-Jan-2015 mrg

apply a patch from rjs@, which is necessary for radeondrmkms on i386:

set DRM_FILE_PAGE_OFFSET to 0xa0000000UL for 32 bit platforms.


Revision tags: nick-nhusb-base tls-maxphys-base netbsd-7-base tls-earlyentropy-base
# 1.5 26-Jul-2014 riastradh

branches: 1.5.2; 1.5.4; 1.5.6; 1.5.8;
Make sure the low bits, not the high bits, of the offset are zero!


# 1.4 26-Jul-2014 riastradh

Let the drm driver decide what part of what object gets mmapped.

Pass the file around too so radeon/ttm can get at it to verify access.

Add drm_gem_or_legacy_mmap_object for drivers to choose the previous
behaviour, like i915.


# 1.3 17-Jul-2014 riastradh

Actually hook up the radeon_ttm uvm pager ops!


# 1.2 16-Jul-2014 riastradh

First whack at radeon driver.

No hardware to test yet, but it builds.


# 1.1 16-Jul-2014 riastradh

branches: 1.1.1;
Initial revision


# 1.24 23-Dec-2021 hannken

Cast addr to uint64_t before printing.
Ok: riastradh@


# 1.23 19-Dec-2021 riastradh

radeon: Fix dma_addressing_limited call.


# 1.22 19-Dec-2021 riastradh

Stub dma_addressing_limited, fixup references for caller

This might turn out to be a mistake if we actually need to distinguish
if a device is only capable of 32-bit DMA.


Author: Maya Rashish <maya@NetBSD.org>


# 1.21 19-Dec-2021 riastradh

'r' is just for us, so let's declare it


Author: Maya Rashish <maya@NetBSD.org>


# 1.20 19-Dec-2021 riastradh

match the 'else' case here to get vma_node


Author: Maya Rashish <maya@NetBSD.org>


# 1.19 19-Dec-2021 riastradh

Fix up radeon.

Enough to make it compile. (Next up: make it link.)


# 1.18 18-Dec-2021 riastradh

Merge linux-drm-v5-6-rc3


Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
# 1.17 27-Apr-2020 tsutsui

Fix possible bus_dmamap_load(9) leak. PR/55127

"Looks good to me" from riastradh@.
Note it was also commented "that code path is likely to be reached"
so maybe pullups are not necessary.


Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3
# 1.16 14-Feb-2020 riastradh

Implement drm userptr with uvm_vslock & bus_dmamap_load_uio.


Revision tags: netbsd-9-2-RELEASE netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906
# 1.15 27-Aug-2018 riastradh

branches: 1.15.6;
Draft support for drm prime.


# 1.14 27-Aug-2018 riastradh

Sprinkle AGP conditionals where needed.


# 1.13 27-Aug-2018 riastradh

Kill legacy mmap in radeon like was done upstream.


# 1.12 27-Aug-2018 riastradh

Ifdef out some more radeon userptr code.


# 1.11 27-Aug-2018 riastradh

Disable radeon userptr for now.


# 1.10 27-Aug-2018 riastradh

merge linux-drm-v4-4-143


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.9 10-Jul-2016 pgoyette

branches: 1.9.16; 1.9.18;
Don't assign value to rdev unless we're going to use the value.

Therefore, don't declare the variable unless we're going to assign it a
value.


Revision tags: nick-nhusb-base-20160907 nick-nhusb-base-20160529
# 1.8 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


Revision tags: nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606
# 1.7 10-Apr-2015 riastradh

KASSERT about page-alignment on initialization too.


Revision tags: nick-nhusb-base-20150406
# 1.6 05-Jan-2015 mrg

apply a patch from rjs@, which is necessary for radeondrmkms on i386:

set DRM_FILE_PAGE_OFFSET to 0xa0000000UL for 32 bit platforms.


Revision tags: nick-nhusb-base tls-maxphys-base netbsd-7-base tls-earlyentropy-base
# 1.5 26-Jul-2014 riastradh

branches: 1.5.2; 1.5.4; 1.5.6; 1.5.8;
Make sure the low bits, not the high bits, of the offset are zero!


# 1.4 26-Jul-2014 riastradh

Let the drm driver decide what part of what object gets mmapped.

Pass the file around too so radeon/ttm can get at it to verify access.

Add drm_gem_or_legacy_mmap_object for drivers to choose the previous
behaviour, like i915.


# 1.3 17-Jul-2014 riastradh

Actually hook up the radeon_ttm uvm pager ops!


# 1.2 16-Jul-2014 riastradh

First whack at radeon driver.

No hardware to test yet, but it builds.


# 1.1 16-Jul-2014 riastradh

branches: 1.1.1;
Initial revision


# 1.23 19-Dec-2021 riastradh

radeon: Fix dma_addressing_limited call.


# 1.22 19-Dec-2021 riastradh

Stub dma_addressing_limited, fixup references for caller

This might turn out to be a mistake if we actually need to distinguish
if a device is only capable of 32-bit DMA.


Author: Maya Rashish <maya@NetBSD.org>


# 1.21 19-Dec-2021 riastradh

'r' is just for us, so let's declare it


Author: Maya Rashish <maya@NetBSD.org>


# 1.20 19-Dec-2021 riastradh

match the 'else' case here to get vma_node


Author: Maya Rashish <maya@NetBSD.org>


# 1.19 19-Dec-2021 riastradh

Fix up radeon.

Enough to make it compile. (Next up: make it link.)


# 1.18 18-Dec-2021 riastradh

Merge linux-drm-v5-6-rc3


Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
# 1.17 27-Apr-2020 tsutsui

Fix possible bus_dmamap_load(9) leak. PR/55127

"Looks good to me" from riastradh@.
Note it was also commented "that code path is likely to be reached"
so maybe pullups are not necessary.


Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3
# 1.16 14-Feb-2020 riastradh

Implement drm userptr with uvm_vslock & bus_dmamap_load_uio.


Revision tags: netbsd-9-2-RELEASE netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906
# 1.15 27-Aug-2018 riastradh

branches: 1.15.6;
Draft support for drm prime.


# 1.14 27-Aug-2018 riastradh

Sprinkle AGP conditionals where needed.


# 1.13 27-Aug-2018 riastradh

Kill legacy mmap in radeon like was done upstream.


# 1.12 27-Aug-2018 riastradh

Ifdef out some more radeon userptr code.


# 1.11 27-Aug-2018 riastradh

Disable radeon userptr for now.


# 1.10 27-Aug-2018 riastradh

merge linux-drm-v4-4-143


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.9 10-Jul-2016 pgoyette

branches: 1.9.16; 1.9.18;
Don't assign value to rdev unless we're going to use the value.

Therefore, don't declare the variable unless we're going to assign it a
value.


Revision tags: nick-nhusb-base-20160907 nick-nhusb-base-20160529
# 1.8 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


Revision tags: nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606
# 1.7 10-Apr-2015 riastradh

KASSERT about page-alignment on initialization too.


Revision tags: nick-nhusb-base-20150406
# 1.6 05-Jan-2015 mrg

apply a patch from rjs@, which is necessary for radeondrmkms on i386:

set DRM_FILE_PAGE_OFFSET to 0xa0000000UL for 32 bit platforms.


Revision tags: nick-nhusb-base tls-maxphys-base netbsd-7-base tls-earlyentropy-base
# 1.5 26-Jul-2014 riastradh

branches: 1.5.2; 1.5.4; 1.5.6; 1.5.8;
Make sure the low bits, not the high bits, of the offset are zero!


# 1.4 26-Jul-2014 riastradh

Let the drm driver decide what part of what object gets mmapped.

Pass the file around too so radeon/ttm can get at it to verify access.

Add drm_gem_or_legacy_mmap_object for drivers to choose the previous
behaviour, like i915.


# 1.3 17-Jul-2014 riastradh

Actually hook up the radeon_ttm uvm pager ops!


# 1.2 16-Jul-2014 riastradh

First whack at radeon driver.

No hardware to test yet, but it builds.


# 1.1 16-Jul-2014 riastradh

branches: 1.1.1;
Initial revision


# 1.17 27-Apr-2020 tsutsui

Fix possible bus_dmamap_load(9) leak. PR/55127

"Looks good to me" from riastradh@.
Note it was also commented "that code path is likely to be reached"
so maybe pullups are not necessary.


Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3
# 1.16 14-Feb-2020 riastradh

Implement drm userptr with uvm_vslock & bus_dmamap_load_uio.


Revision tags: netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906
# 1.15 27-Aug-2018 riastradh

branches: 1.15.6;
Draft support for drm prime.


# 1.14 27-Aug-2018 riastradh

Sprinkle AGP conditionals where needed.


# 1.13 27-Aug-2018 riastradh

Kill legacy mmap in radeon like was done upstream.


# 1.12 27-Aug-2018 riastradh

Ifdef out some more radeon userptr code.


# 1.11 27-Aug-2018 riastradh

Disable radeon userptr for now.


# 1.10 27-Aug-2018 riastradh

merge linux-drm-v4-4-143


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.9 10-Jul-2016 pgoyette

branches: 1.9.16; 1.9.18;
Don't assign value to rdev unless we're going to use the value.

Therefore, don't declare the variable unless we're going to assign it a
value.


Revision tags: nick-nhusb-base-20160907 nick-nhusb-base-20160529
# 1.8 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


Revision tags: nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606
# 1.7 10-Apr-2015 riastradh

KASSERT about page-alignment on initialization too.


Revision tags: nick-nhusb-base-20150406
# 1.6 05-Jan-2015 mrg

apply a patch from rjs@, which is necessary for radeondrmkms on i386:

set DRM_FILE_PAGE_OFFSET to 0xa0000000UL for 32 bit platforms.


Revision tags: nick-nhusb-base tls-maxphys-base netbsd-7-base tls-earlyentropy-base
# 1.5 26-Jul-2014 riastradh

branches: 1.5.2; 1.5.4; 1.5.6; 1.5.8;
Make sure the low bits, not the high bits, of the offset are zero!


# 1.4 26-Jul-2014 riastradh

Let the drm driver decide what part of what object gets mmapped.

Pass the file around too so radeon/ttm can get at it to verify access.

Add drm_gem_or_legacy_mmap_object for drivers to choose the previous
behaviour, like i915.


# 1.3 17-Jul-2014 riastradh

Actually hook up the radeon_ttm uvm pager ops!


# 1.2 16-Jul-2014 riastradh

First whack at radeon driver.

No hardware to test yet, but it builds.


# 1.1 16-Jul-2014 riastradh

branches: 1.1.1;
Initial revision


# 1.16 14-Feb-2020 riastradh

Implement drm userptr with uvm_vslock & bus_dmamap_load_uio.


Revision tags: netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906
# 1.15 27-Aug-2018 riastradh

Draft support for drm prime.


# 1.14 27-Aug-2018 riastradh

Sprinkle AGP conditionals where needed.


# 1.13 27-Aug-2018 riastradh

Kill legacy mmap in radeon like was done upstream.


# 1.12 27-Aug-2018 riastradh

Ifdef out some more radeon userptr code.


# 1.11 27-Aug-2018 riastradh

Disable radeon userptr for now.


# 1.10 27-Aug-2018 riastradh

merge linux-drm-v4-4-143


Revision tags: netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.9 10-Jul-2016 pgoyette

branches: 1.9.16; 1.9.18;
Don't assign value to rdev unless we're going to use the value.

Therefore, don't declare the variable unless we're going to assign it a
value.


Revision tags: nick-nhusb-base-20160907 nick-nhusb-base-20160529
# 1.8 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


Revision tags: nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606
# 1.7 10-Apr-2015 riastradh

KASSERT about page-alignment on initialization too.


Revision tags: nick-nhusb-base-20150406
# 1.6 05-Jan-2015 mrg

apply a patch from rjs@, which is necessary for radeondrmkms on i386:

set DRM_FILE_PAGE_OFFSET to 0xa0000000UL for 32 bit platforms.


Revision tags: nick-nhusb-base tls-maxphys-base netbsd-7-base tls-earlyentropy-base
# 1.5 26-Jul-2014 riastradh

branches: 1.5.2; 1.5.4; 1.5.6; 1.5.8;
Make sure the low bits, not the high bits, of the offset are zero!


# 1.4 26-Jul-2014 riastradh

Let the drm driver decide what part of what object gets mmapped.

Pass the file around too so radeon/ttm can get at it to verify access.

Add drm_gem_or_legacy_mmap_object for drivers to choose the previous
behaviour, like i915.


# 1.3 17-Jul-2014 riastradh

Actually hook up the radeon_ttm uvm pager ops!


# 1.2 16-Jul-2014 riastradh

First whack at radeon driver.

No hardware to test yet, but it builds.


# 1.1 16-Jul-2014 riastradh

branches: 1.1.1;
Initial revision


Revision tags: isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906
# 1.15 27-Aug-2018 riastradh

Draft support for drm prime.


# 1.14 27-Aug-2018 riastradh

Sprinkle AGP conditionals where needed.


# 1.13 27-Aug-2018 riastradh

Kill legacy mmap in radeon like was done upstream.


# 1.12 27-Aug-2018 riastradh

Ifdef out some more radeon userptr code.


# 1.11 27-Aug-2018 riastradh

Disable radeon userptr for now.


# 1.10 27-Aug-2018 riastradh

merge linux-drm-v4-4-143


Revision tags: pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.9 10-Jul-2016 pgoyette

branches: 1.9.16;
Don't assign value to rdev unless we're going to use the value.

Therefore, don't declare the variable unless we're going to assign it a
value.


Revision tags: nick-nhusb-base-20160907 nick-nhusb-base-20160529
# 1.8 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


Revision tags: nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606
# 1.7 10-Apr-2015 riastradh

KASSERT about page-alignment on initialization too.


Revision tags: nick-nhusb-base-20150406
# 1.6 05-Jan-2015 mrg

apply a patch from rjs@, which is necessary for radeondrmkms on i386:

set DRM_FILE_PAGE_OFFSET to 0xa0000000UL for 32 bit platforms.


Revision tags: nick-nhusb-base tls-maxphys-base netbsd-7-base tls-earlyentropy-base
# 1.5 26-Jul-2014 riastradh

branches: 1.5.2; 1.5.4; 1.5.6; 1.5.8;
Make sure the low bits, not the high bits, of the offset are zero!


# 1.4 26-Jul-2014 riastradh

Let the drm driver decide what part of what object gets mmapped.

Pass the file around too so radeon/ttm can get at it to verify access.

Add drm_gem_or_legacy_mmap_object for drivers to choose the previous
behaviour, like i915.


# 1.3 17-Jul-2014 riastradh

Actually hook up the radeon_ttm uvm pager ops!


# 1.2 16-Jul-2014 riastradh

First whack at radeon driver.

No hardware to test yet, but it builds.


# 1.1 16-Jul-2014 riastradh

branches: 1.1.1;
Initial revision


Revision tags: nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.9 10-Jul-2016 pgoyette

Don't assign value to rdev unless we're going to use the value.

Therefore, don't declare the variable unless we're going to assign it a
value.


Revision tags: nick-nhusb-base-20160907 nick-nhusb-base-20160529
# 1.8 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


Revision tags: nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606
# 1.7 10-Apr-2015 riastradh

KASSERT about page-alignment on initialization too.


Revision tags: nick-nhusb-base-20150406
# 1.6 05-Jan-2015 mrg

apply a patch from rjs@, which is necessary for radeondrmkms on i386:

set DRM_FILE_PAGE_OFFSET to 0xa0000000UL for 32 bit platforms.


Revision tags: nick-nhusb-base tls-maxphys-base netbsd-7-base tls-earlyentropy-base
# 1.5 26-Jul-2014 riastradh

branches: 1.5.2; 1.5.4; 1.5.6; 1.5.8;
Make sure the low bits, not the high bits, of the offset are zero!


# 1.4 26-Jul-2014 riastradh

Let the drm driver decide what part of what object gets mmapped.

Pass the file around too so radeon/ttm can get at it to verify access.

Add drm_gem_or_legacy_mmap_object for drivers to choose the previous
behaviour, like i915.


# 1.3 17-Jul-2014 riastradh

Actually hook up the radeon_ttm uvm pager ops!


# 1.2 16-Jul-2014 riastradh

First whack at radeon driver.

No hardware to test yet, but it builds.


# 1.1 16-Jul-2014 riastradh

branches: 1.1.1;
Initial revision