History log of /netbsd-current/sys/external/bsd/drm2/nouveau/nouveau_pci.c
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.38 07-Aug-2023 riastradh

nouveau: Suspend ioctls while device is suspended.

XXX pullup-10


# 1.37 01-Mar-2023 riastradh

nouveau: Kick out genfb on firmware framebuffer before initializing.

PR kern/53126


Revision tags: netbsd-10-base bouyer-sunxi-drm-base
# 1.36 18-Jul-2022 riastradh

branches: 1.36.4;
drm: Simplify async framebuffer child task attachment logic.

No need for scheduling the task to fail. Nix needless error
branches.


# 1.35 19-Dec-2021 riastradh

nouveau: adjust the list of PCI devices to match

linux 5.6 drm supports all the cards previously listed as unsupported.
make those supported, and, add the newer list of unsupported (the
supported list goes to GTX 20 series.)


Author: phone <mrg@NetBSD.org>
Committer: Taylor R Campbell <riastradh@NetBSD.org>


# 1.34 19-Dec-2021 riastradh

drm: Rework attach/detach and deferred task logic.

- Reduce the number of states the softc can be in.
- Fix races between attach and other threads.


# 1.33 19-Dec-2021 riastradh

drm: Omit needless pci_attach_args from our drm_pci_attach.

Can already get it from the struct pci_dev, and this way we can more
easily call it from patched upstream code as i915 will need to do.


# 1.32 19-Dec-2021 riastradh

drm: Remove local diffs for drm_pci_set_busid.

Instead, move it to its own file that can be safely used without
bringing in a link/run-time dependency on pci.


# 1.31 19-Dec-2021 riastradh

nouveau: Call nouveau_drm_device_init.


# 1.30 19-Dec-2021 riastradh

Split drm_dev_alloc/register out of drm_pci_attach.

Needed by nouveau which needs to do

drm_dev_alloc
drm_pci_attach
nouveau_drm_device_init
drm_dev_register


# 1.29 19-Dec-2021 riastradh

Get nouveau compiling.


# 1.28 19-Dec-2021 riastradh

Remove last users of drmP.h.


# 1.27 19-Dec-2021 riastradh

nouveau_drm.h was renamed upstream to nouveau_drv.h.


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 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.26 03-Feb-2020 jmcneill

Disable simplefb if nouveau attaches


Revision tags: ad-namecache-base2 ad-namecache-base1 ad-namecache-base phil-wifi-20191119
# 1.25 05-Oct-2019 mrg

branches: 1.25.2;
list the PCI ID range for new nvidia TU117 and TU116.
adjust the check to simply be >= 0x1580, which is the
first pciid not support.

should fix PR#54600.


Revision tags: netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 netbsd-9-base
# 1.24 03-Jul-2019 wiz

branches: 1.24.2;
Improve nouveau pci attachment code so it waits for the availability of /
before trying to load firmware.

Fixes my PR 54274.

LGTM mrg


Revision tags: phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226
# 1.23 24-Dec-2018 mrg

don't attach to new turing based nouveau cards.


# 1.22 24-Dec-2018 mrg

this works well enough to start and have basic accel only on GTX 750,
so enable those cards. maybe can enable some pascal cards too.

thanks to fly for fixing nouveau drm2 so it was worth trying :-)


Revision tags: pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906
# 1.21 28-Aug-2018 riastradh

Move nouveau pci initialization to nouveau_pci where it belongs.

Somehow I forgot this was a separate module.


# 1.20 27-Aug-2018 riastradh

Clarify nvkm_device_pci_create arguments. Use bogus parent for match prints.


# 1.19 27-Aug-2018 riastradh

Let upstream code attempt match for nouveau.


# 1.18 27-Aug-2018 riastradh

Call linux_pci_dev_destroy on detach.


# 1.17 27-Aug-2018 riastradh

Pass the parent explicitly to linux_pci_dev_init.

This will allow us to use it in match routines.


# 1.16 27-Aug-2018 riastradh

Move linux_pci_dev_init into callers of drm_pci_attach.

The order in nouveau has to be

- linux_pci_dev_init
- nvkm_device_pci_new
- rest of drm_pci_attach


# 1.15 27-Aug-2018 riastradh

Nix vestigial temporary.


# 1.14 27-Aug-2018 riastradh

The PCI driver is now named as such.


# 1.13 27-Aug-2018 riastradh

Update object reference API, now with types!


# 1.12 27-Aug-2018 riastradh

engine/device.h -> core/device.h, nouveau -> nvkm


Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625
# 1.11 31-May-2018 mrg

branches: 1.11.2;
the previous change doubled the check for pascal. fix it so
that we only check for later maxwell and pascal once each,
as intended.


# 1.10 31-May-2018 mrg

disable matching nouveau on pascal and the second generation of maxwell
cards that are not supported by this version of drm.

this should fix various modern systems vs nvidia issues, eg PR 53188.

XXX: pullup-7, pullup-8.


# 1.9 21-May-2018 mrg

disable drm2 on modern nouveau cards (Pascal-based).

our older drm doesn't have any support for modern Pascal or
the second version of Maxwell (but not disabled here yet)
but the driver tries to attach on any nvidia gpu.

this should workaround PR#53258, and other issues reported
with modern nvidia chipsets.

XXX: pullup-7, pullup-8.


Revision tags: 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 nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422
# 1.8 19-Apr-2016 mrg

branches: 1.8.10; 1.8.16; 1.8.18;
revert rev 1.6. we don't have access to those files as normal files
and possible will get them directly elsewhere soon.

(if i hack my nouveau to ignore fireware failure, it end up having
a vaguely working console and slowly working X, which is better than
the current situation.)


Revision tags: nick-nhusb-base-20160319
# 1.7 11-Feb-2016 riastradh

Pass a sensible device state pointer to nouveau suspend/resume ops.

Gives nouveau half a chance of suspending and resuming -- not that it
works on my test laptop yet, but it's a start.


Revision tags: nick-nhusb-base-20151226
# 1.6 27-Oct-2015 mrg

push the real attach down via config_mountroot, like radeon, as we
need firmware files.. which are currently missing:

drm kern error: nouveau E[ PGRAPH][nouveau0] failed to load fuc409c


# 1.5 27-Oct-2015 riastradh

Eliminate Linux struct pci_dev::dev, struct platform_device::dev.


# 1.4 17-Oct-2015 jmcneill

Split nouveau@pci from nouveau so we can attach it to other busses.
nouveaufb still depends on nouveau_pci, but it is not applicable to
non-PCI devices anyway.


Revision tags: nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
# 1.3 06-Mar-2015 riastradh

branches: 1.3.2; 1.3.4;
Create the nouveau device object so the driver can start.

I get a lot of messages on the console and then it hangs. Progress!

Next to try with a breakfast console.


# 1.2 06-Mar-2015 riastradh

Spurious blank line.


# 1.1 06-Mar-2015 riastradh

One last round for nouveau. It links!


# 1.37 01-Mar-2023 riastradh

nouveau: Kick out genfb on firmware framebuffer before initializing.

PR kern/53126


Revision tags: netbsd-10-base bouyer-sunxi-drm-base
# 1.36 18-Jul-2022 riastradh

drm: Simplify async framebuffer child task attachment logic.

No need for scheduling the task to fail. Nix needless error
branches.


# 1.35 19-Dec-2021 riastradh

nouveau: adjust the list of PCI devices to match

linux 5.6 drm supports all the cards previously listed as unsupported.
make those supported, and, add the newer list of unsupported (the
supported list goes to GTX 20 series.)


Author: phone <mrg@NetBSD.org>
Committer: Taylor R Campbell <riastradh@NetBSD.org>


# 1.34 19-Dec-2021 riastradh

drm: Rework attach/detach and deferred task logic.

- Reduce the number of states the softc can be in.
- Fix races between attach and other threads.


# 1.33 19-Dec-2021 riastradh

drm: Omit needless pci_attach_args from our drm_pci_attach.

Can already get it from the struct pci_dev, and this way we can more
easily call it from patched upstream code as i915 will need to do.


# 1.32 19-Dec-2021 riastradh

drm: Remove local diffs for drm_pci_set_busid.

Instead, move it to its own file that can be safely used without
bringing in a link/run-time dependency on pci.


# 1.31 19-Dec-2021 riastradh

nouveau: Call nouveau_drm_device_init.


# 1.30 19-Dec-2021 riastradh

Split drm_dev_alloc/register out of drm_pci_attach.

Needed by nouveau which needs to do

drm_dev_alloc
drm_pci_attach
nouveau_drm_device_init
drm_dev_register


# 1.29 19-Dec-2021 riastradh

Get nouveau compiling.


# 1.28 19-Dec-2021 riastradh

Remove last users of drmP.h.


# 1.27 19-Dec-2021 riastradh

nouveau_drm.h was renamed upstream to nouveau_drv.h.


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 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.26 03-Feb-2020 jmcneill

Disable simplefb if nouveau attaches


Revision tags: ad-namecache-base2 ad-namecache-base1 ad-namecache-base phil-wifi-20191119
# 1.25 05-Oct-2019 mrg

branches: 1.25.2;
list the PCI ID range for new nvidia TU117 and TU116.
adjust the check to simply be >= 0x1580, which is the
first pciid not support.

should fix PR#54600.


Revision tags: netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 netbsd-9-base
# 1.24 03-Jul-2019 wiz

branches: 1.24.2;
Improve nouveau pci attachment code so it waits for the availability of /
before trying to load firmware.

Fixes my PR 54274.

LGTM mrg


Revision tags: phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226
# 1.23 24-Dec-2018 mrg

don't attach to new turing based nouveau cards.


# 1.22 24-Dec-2018 mrg

this works well enough to start and have basic accel only on GTX 750,
so enable those cards. maybe can enable some pascal cards too.

thanks to fly for fixing nouveau drm2 so it was worth trying :-)


Revision tags: pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906
# 1.21 28-Aug-2018 riastradh

Move nouveau pci initialization to nouveau_pci where it belongs.

Somehow I forgot this was a separate module.


# 1.20 27-Aug-2018 riastradh

Clarify nvkm_device_pci_create arguments. Use bogus parent for match prints.


# 1.19 27-Aug-2018 riastradh

Let upstream code attempt match for nouveau.


# 1.18 27-Aug-2018 riastradh

Call linux_pci_dev_destroy on detach.


# 1.17 27-Aug-2018 riastradh

Pass the parent explicitly to linux_pci_dev_init.

This will allow us to use it in match routines.


# 1.16 27-Aug-2018 riastradh

Move linux_pci_dev_init into callers of drm_pci_attach.

The order in nouveau has to be

- linux_pci_dev_init
- nvkm_device_pci_new
- rest of drm_pci_attach


# 1.15 27-Aug-2018 riastradh

Nix vestigial temporary.


# 1.14 27-Aug-2018 riastradh

The PCI driver is now named as such.


# 1.13 27-Aug-2018 riastradh

Update object reference API, now with types!


# 1.12 27-Aug-2018 riastradh

engine/device.h -> core/device.h, nouveau -> nvkm


Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625
# 1.11 31-May-2018 mrg

branches: 1.11.2;
the previous change doubled the check for pascal. fix it so
that we only check for later maxwell and pascal once each,
as intended.


# 1.10 31-May-2018 mrg

disable matching nouveau on pascal and the second generation of maxwell
cards that are not supported by this version of drm.

this should fix various modern systems vs nvidia issues, eg PR 53188.

XXX: pullup-7, pullup-8.


# 1.9 21-May-2018 mrg

disable drm2 on modern nouveau cards (Pascal-based).

our older drm doesn't have any support for modern Pascal or
the second version of Maxwell (but not disabled here yet)
but the driver tries to attach on any nvidia gpu.

this should workaround PR#53258, and other issues reported
with modern nvidia chipsets.

XXX: pullup-7, pullup-8.


Revision tags: 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 nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422
# 1.8 19-Apr-2016 mrg

branches: 1.8.10; 1.8.16; 1.8.18;
revert rev 1.6. we don't have access to those files as normal files
and possible will get them directly elsewhere soon.

(if i hack my nouveau to ignore fireware failure, it end up having
a vaguely working console and slowly working X, which is better than
the current situation.)


Revision tags: nick-nhusb-base-20160319
# 1.7 11-Feb-2016 riastradh

Pass a sensible device state pointer to nouveau suspend/resume ops.

Gives nouveau half a chance of suspending and resuming -- not that it
works on my test laptop yet, but it's a start.


Revision tags: nick-nhusb-base-20151226
# 1.6 27-Oct-2015 mrg

push the real attach down via config_mountroot, like radeon, as we
need firmware files.. which are currently missing:

drm kern error: nouveau E[ PGRAPH][nouveau0] failed to load fuc409c


# 1.5 27-Oct-2015 riastradh

Eliminate Linux struct pci_dev::dev, struct platform_device::dev.


# 1.4 17-Oct-2015 jmcneill

Split nouveau@pci from nouveau so we can attach it to other busses.
nouveaufb still depends on nouveau_pci, but it is not applicable to
non-PCI devices anyway.


Revision tags: nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
# 1.3 06-Mar-2015 riastradh

branches: 1.3.2; 1.3.4;
Create the nouveau device object so the driver can start.

I get a lot of messages on the console and then it hangs. Progress!

Next to try with a breakfast console.


# 1.2 06-Mar-2015 riastradh

Spurious blank line.


# 1.1 06-Mar-2015 riastradh

One last round for nouveau. It links!


# 1.36 18-Jul-2022 riastradh

drm: Simplify async framebuffer child task attachment logic.

No need for scheduling the task to fail. Nix needless error
branches.


# 1.35 19-Dec-2021 riastradh

nouveau: adjust the list of PCI devices to match

linux 5.6 drm supports all the cards previously listed as unsupported.
make those supported, and, add the newer list of unsupported (the
supported list goes to GTX 20 series.)


Author: phone <mrg@NetBSD.org>
Committer: Taylor R Campbell <riastradh@NetBSD.org>


# 1.34 19-Dec-2021 riastradh

drm: Rework attach/detach and deferred task logic.

- Reduce the number of states the softc can be in.
- Fix races between attach and other threads.


# 1.33 19-Dec-2021 riastradh

drm: Omit needless pci_attach_args from our drm_pci_attach.

Can already get it from the struct pci_dev, and this way we can more
easily call it from patched upstream code as i915 will need to do.


# 1.32 19-Dec-2021 riastradh

drm: Remove local diffs for drm_pci_set_busid.

Instead, move it to its own file that can be safely used without
bringing in a link/run-time dependency on pci.


# 1.31 19-Dec-2021 riastradh

nouveau: Call nouveau_drm_device_init.


# 1.30 19-Dec-2021 riastradh

Split drm_dev_alloc/register out of drm_pci_attach.

Needed by nouveau which needs to do

drm_dev_alloc
drm_pci_attach
nouveau_drm_device_init
drm_dev_register


# 1.29 19-Dec-2021 riastradh

Get nouveau compiling.


# 1.28 19-Dec-2021 riastradh

Remove last users of drmP.h.


# 1.27 19-Dec-2021 riastradh

nouveau_drm.h was renamed upstream to nouveau_drv.h.


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 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.26 03-Feb-2020 jmcneill

Disable simplefb if nouveau attaches


Revision tags: ad-namecache-base2 ad-namecache-base1 ad-namecache-base phil-wifi-20191119
# 1.25 05-Oct-2019 mrg

branches: 1.25.2;
list the PCI ID range for new nvidia TU117 and TU116.
adjust the check to simply be >= 0x1580, which is the
first pciid not support.

should fix PR#54600.


Revision tags: netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 netbsd-9-base
# 1.24 03-Jul-2019 wiz

branches: 1.24.2;
Improve nouveau pci attachment code so it waits for the availability of /
before trying to load firmware.

Fixes my PR 54274.

LGTM mrg


Revision tags: phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226
# 1.23 24-Dec-2018 mrg

don't attach to new turing based nouveau cards.


# 1.22 24-Dec-2018 mrg

this works well enough to start and have basic accel only on GTX 750,
so enable those cards. maybe can enable some pascal cards too.

thanks to fly for fixing nouveau drm2 so it was worth trying :-)


Revision tags: pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906
# 1.21 28-Aug-2018 riastradh

Move nouveau pci initialization to nouveau_pci where it belongs.

Somehow I forgot this was a separate module.


# 1.20 27-Aug-2018 riastradh

Clarify nvkm_device_pci_create arguments. Use bogus parent for match prints.


# 1.19 27-Aug-2018 riastradh

Let upstream code attempt match for nouveau.


# 1.18 27-Aug-2018 riastradh

Call linux_pci_dev_destroy on detach.


# 1.17 27-Aug-2018 riastradh

Pass the parent explicitly to linux_pci_dev_init.

This will allow us to use it in match routines.


# 1.16 27-Aug-2018 riastradh

Move linux_pci_dev_init into callers of drm_pci_attach.

The order in nouveau has to be

- linux_pci_dev_init
- nvkm_device_pci_new
- rest of drm_pci_attach


# 1.15 27-Aug-2018 riastradh

Nix vestigial temporary.


# 1.14 27-Aug-2018 riastradh

The PCI driver is now named as such.


# 1.13 27-Aug-2018 riastradh

Update object reference API, now with types!


# 1.12 27-Aug-2018 riastradh

engine/device.h -> core/device.h, nouveau -> nvkm


Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625
# 1.11 31-May-2018 mrg

branches: 1.11.2;
the previous change doubled the check for pascal. fix it so
that we only check for later maxwell and pascal once each,
as intended.


# 1.10 31-May-2018 mrg

disable matching nouveau on pascal and the second generation of maxwell
cards that are not supported by this version of drm.

this should fix various modern systems vs nvidia issues, eg PR 53188.

XXX: pullup-7, pullup-8.


# 1.9 21-May-2018 mrg

disable drm2 on modern nouveau cards (Pascal-based).

our older drm doesn't have any support for modern Pascal or
the second version of Maxwell (but not disabled here yet)
but the driver tries to attach on any nvidia gpu.

this should workaround PR#53258, and other issues reported
with modern nvidia chipsets.

XXX: pullup-7, pullup-8.


Revision tags: 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 nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422
# 1.8 19-Apr-2016 mrg

branches: 1.8.10; 1.8.16; 1.8.18;
revert rev 1.6. we don't have access to those files as normal files
and possible will get them directly elsewhere soon.

(if i hack my nouveau to ignore fireware failure, it end up having
a vaguely working console and slowly working X, which is better than
the current situation.)


Revision tags: nick-nhusb-base-20160319
# 1.7 11-Feb-2016 riastradh

Pass a sensible device state pointer to nouveau suspend/resume ops.

Gives nouveau half a chance of suspending and resuming -- not that it
works on my test laptop yet, but it's a start.


Revision tags: nick-nhusb-base-20151226
# 1.6 27-Oct-2015 mrg

push the real attach down via config_mountroot, like radeon, as we
need firmware files.. which are currently missing:

drm kern error: nouveau E[ PGRAPH][nouveau0] failed to load fuc409c


# 1.5 27-Oct-2015 riastradh

Eliminate Linux struct pci_dev::dev, struct platform_device::dev.


# 1.4 17-Oct-2015 jmcneill

Split nouveau@pci from nouveau so we can attach it to other busses.
nouveaufb still depends on nouveau_pci, but it is not applicable to
non-PCI devices anyway.


Revision tags: nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
# 1.3 06-Mar-2015 riastradh

branches: 1.3.2; 1.3.4;
Create the nouveau device object so the driver can start.

I get a lot of messages on the console and then it hangs. Progress!

Next to try with a breakfast console.


# 1.2 06-Mar-2015 riastradh

Spurious blank line.


# 1.1 06-Mar-2015 riastradh

One last round for nouveau. It links!


# 1.35 19-Dec-2021 riastradh

nouveau: adjust the list of PCI devices to match

linux 5.6 drm supports all the cards previously listed as unsupported.
make those supported, and, add the newer list of unsupported (the
supported list goes to GTX 20 series.)


Author: phone <mrg@NetBSD.org>
Committer: Taylor R Campbell <riastradh@NetBSD.org>


# 1.34 19-Dec-2021 riastradh

drm: Rework attach/detach and deferred task logic.

- Reduce the number of states the softc can be in.
- Fix races between attach and other threads.


# 1.33 19-Dec-2021 riastradh

drm: Omit needless pci_attach_args from our drm_pci_attach.

Can already get it from the struct pci_dev, and this way we can more
easily call it from patched upstream code as i915 will need to do.


# 1.32 19-Dec-2021 riastradh

drm: Remove local diffs for drm_pci_set_busid.

Instead, move it to its own file that can be safely used without
bringing in a link/run-time dependency on pci.


# 1.31 19-Dec-2021 riastradh

nouveau: Call nouveau_drm_device_init.


# 1.30 19-Dec-2021 riastradh

Split drm_dev_alloc/register out of drm_pci_attach.

Needed by nouveau which needs to do

drm_dev_alloc
drm_pci_attach
nouveau_drm_device_init
drm_dev_register


# 1.29 19-Dec-2021 riastradh

Get nouveau compiling.


# 1.28 19-Dec-2021 riastradh

Remove last users of drmP.h.


# 1.27 19-Dec-2021 riastradh

nouveau_drm.h was renamed upstream to nouveau_drv.h.


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 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.26 03-Feb-2020 jmcneill

Disable simplefb if nouveau attaches


Revision tags: ad-namecache-base2 ad-namecache-base1 ad-namecache-base phil-wifi-20191119
# 1.25 05-Oct-2019 mrg

branches: 1.25.2;
list the PCI ID range for new nvidia TU117 and TU116.
adjust the check to simply be >= 0x1580, which is the
first pciid not support.

should fix PR#54600.


Revision tags: netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 netbsd-9-base
# 1.24 03-Jul-2019 wiz

branches: 1.24.2;
Improve nouveau pci attachment code so it waits for the availability of /
before trying to load firmware.

Fixes my PR 54274.

LGTM mrg


Revision tags: phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226
# 1.23 24-Dec-2018 mrg

don't attach to new turing based nouveau cards.


# 1.22 24-Dec-2018 mrg

this works well enough to start and have basic accel only on GTX 750,
so enable those cards. maybe can enable some pascal cards too.

thanks to fly for fixing nouveau drm2 so it was worth trying :-)


Revision tags: pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906
# 1.21 28-Aug-2018 riastradh

Move nouveau pci initialization to nouveau_pci where it belongs.

Somehow I forgot this was a separate module.


# 1.20 27-Aug-2018 riastradh

Clarify nvkm_device_pci_create arguments. Use bogus parent for match prints.


# 1.19 27-Aug-2018 riastradh

Let upstream code attempt match for nouveau.


# 1.18 27-Aug-2018 riastradh

Call linux_pci_dev_destroy on detach.


# 1.17 27-Aug-2018 riastradh

Pass the parent explicitly to linux_pci_dev_init.

This will allow us to use it in match routines.


# 1.16 27-Aug-2018 riastradh

Move linux_pci_dev_init into callers of drm_pci_attach.

The order in nouveau has to be

- linux_pci_dev_init
- nvkm_device_pci_new
- rest of drm_pci_attach


# 1.15 27-Aug-2018 riastradh

Nix vestigial temporary.


# 1.14 27-Aug-2018 riastradh

The PCI driver is now named as such.


# 1.13 27-Aug-2018 riastradh

Update object reference API, now with types!


# 1.12 27-Aug-2018 riastradh

engine/device.h -> core/device.h, nouveau -> nvkm


Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625
# 1.11 31-May-2018 mrg

branches: 1.11.2;
the previous change doubled the check for pascal. fix it so
that we only check for later maxwell and pascal once each,
as intended.


# 1.10 31-May-2018 mrg

disable matching nouveau on pascal and the second generation of maxwell
cards that are not supported by this version of drm.

this should fix various modern systems vs nvidia issues, eg PR 53188.

XXX: pullup-7, pullup-8.


# 1.9 21-May-2018 mrg

disable drm2 on modern nouveau cards (Pascal-based).

our older drm doesn't have any support for modern Pascal or
the second version of Maxwell (but not disabled here yet)
but the driver tries to attach on any nvidia gpu.

this should workaround PR#53258, and other issues reported
with modern nvidia chipsets.

XXX: pullup-7, pullup-8.


Revision tags: 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 nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422
# 1.8 19-Apr-2016 mrg

branches: 1.8.10; 1.8.16; 1.8.18;
revert rev 1.6. we don't have access to those files as normal files
and possible will get them directly elsewhere soon.

(if i hack my nouveau to ignore fireware failure, it end up having
a vaguely working console and slowly working X, which is better than
the current situation.)


Revision tags: nick-nhusb-base-20160319
# 1.7 11-Feb-2016 riastradh

Pass a sensible device state pointer to nouveau suspend/resume ops.

Gives nouveau half a chance of suspending and resuming -- not that it
works on my test laptop yet, but it's a start.


Revision tags: nick-nhusb-base-20151226
# 1.6 27-Oct-2015 mrg

push the real attach down via config_mountroot, like radeon, as we
need firmware files.. which are currently missing:

drm kern error: nouveau E[ PGRAPH][nouveau0] failed to load fuc409c


# 1.5 27-Oct-2015 riastradh

Eliminate Linux struct pci_dev::dev, struct platform_device::dev.


# 1.4 17-Oct-2015 jmcneill

Split nouveau@pci from nouveau so we can attach it to other busses.
nouveaufb still depends on nouveau_pci, but it is not applicable to
non-PCI devices anyway.


Revision tags: nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
# 1.3 06-Mar-2015 riastradh

branches: 1.3.2; 1.3.4;
Create the nouveau device object so the driver can start.

I get a lot of messages on the console and then it hangs. Progress!

Next to try with a breakfast console.


# 1.2 06-Mar-2015 riastradh

Spurious blank line.


# 1.1 06-Mar-2015 riastradh

One last round for nouveau. It links!


# 1.35 19-Dec-2021 riastradh

nouveau: adjust the list of PCI devices to match

linux 5.6 drm supports all the cards previously listed as unsupported.
make those supported, and, add the newer list of unsupported (the
supported list goes to GTX 20 series.)


Author: phone <mrg@NetBSD.org>
Committer: Taylor R Campbell <riastradh@NetBSD.org>


# 1.34 19-Dec-2021 riastradh

drm: Rework attach/detach and deferred task logic.

- Reduce the number of states the softc can be in.
- Fix races between attach and other threads.


# 1.33 19-Dec-2021 riastradh

drm: Omit needless pci_attach_args from our drm_pci_attach.

Can already get it from the struct pci_dev, and this way we can more
easily call it from patched upstream code as i915 will need to do.


# 1.32 19-Dec-2021 riastradh

drm: Remove local diffs for drm_pci_set_busid.

Instead, move it to its own file that can be safely used without
bringing in a link/run-time dependency on pci.


# 1.31 19-Dec-2021 riastradh

nouveau: Call nouveau_drm_device_init.


# 1.30 19-Dec-2021 riastradh

Split drm_dev_alloc/register out of drm_pci_attach.

Needed by nouveau which needs to do

drm_dev_alloc
drm_pci_attach
nouveau_drm_device_init
drm_dev_register


# 1.29 19-Dec-2021 riastradh

Get nouveau compiling.


# 1.28 19-Dec-2021 riastradh

Remove last users of drmP.h.


# 1.27 19-Dec-2021 riastradh

nouveau_drm.h was renamed upstream to nouveau_drv.h.


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 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.26 03-Feb-2020 jmcneill

Disable simplefb if nouveau attaches


Revision tags: ad-namecache-base2 ad-namecache-base1 ad-namecache-base phil-wifi-20191119
# 1.25 05-Oct-2019 mrg

branches: 1.25.2;
list the PCI ID range for new nvidia TU117 and TU116.
adjust the check to simply be >= 0x1580, which is the
first pciid not support.

should fix PR#54600.


Revision tags: netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 netbsd-9-base
# 1.24 03-Jul-2019 wiz

branches: 1.24.2;
Improve nouveau pci attachment code so it waits for the availability of /
before trying to load firmware.

Fixes my PR 54274.

LGTM mrg


Revision tags: phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226
# 1.23 24-Dec-2018 mrg

don't attach to new turing based nouveau cards.


# 1.22 24-Dec-2018 mrg

this works well enough to start and have basic accel only on GTX 750,
so enable those cards. maybe can enable some pascal cards too.

thanks to fly for fixing nouveau drm2 so it was worth trying :-)


Revision tags: pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906
# 1.21 28-Aug-2018 riastradh

Move nouveau pci initialization to nouveau_pci where it belongs.

Somehow I forgot this was a separate module.


# 1.20 27-Aug-2018 riastradh

Clarify nvkm_device_pci_create arguments. Use bogus parent for match prints.


# 1.19 27-Aug-2018 riastradh

Let upstream code attempt match for nouveau.


# 1.18 27-Aug-2018 riastradh

Call linux_pci_dev_destroy on detach.


# 1.17 27-Aug-2018 riastradh

Pass the parent explicitly to linux_pci_dev_init.

This will allow us to use it in match routines.


# 1.16 27-Aug-2018 riastradh

Move linux_pci_dev_init into callers of drm_pci_attach.

The order in nouveau has to be

- linux_pci_dev_init
- nvkm_device_pci_new
- rest of drm_pci_attach


# 1.15 27-Aug-2018 riastradh

Nix vestigial temporary.


# 1.14 27-Aug-2018 riastradh

The PCI driver is now named as such.


# 1.13 27-Aug-2018 riastradh

Update object reference API, now with types!


# 1.12 27-Aug-2018 riastradh

engine/device.h -> core/device.h, nouveau -> nvkm


Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625
# 1.11 31-May-2018 mrg

branches: 1.11.2;
the previous change doubled the check for pascal. fix it so
that we only check for later maxwell and pascal once each,
as intended.


# 1.10 31-May-2018 mrg

disable matching nouveau on pascal and the second generation of maxwell
cards that are not supported by this version of drm.

this should fix various modern systems vs nvidia issues, eg PR 53188.

XXX: pullup-7, pullup-8.


# 1.9 21-May-2018 mrg

disable drm2 on modern nouveau cards (Pascal-based).

our older drm doesn't have any support for modern Pascal or
the second version of Maxwell (but not disabled here yet)
but the driver tries to attach on any nvidia gpu.

this should workaround PR#53258, and other issues reported
with modern nvidia chipsets.

XXX: pullup-7, pullup-8.


Revision tags: 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 nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422
# 1.8 19-Apr-2016 mrg

branches: 1.8.10; 1.8.16; 1.8.18;
revert rev 1.6. we don't have access to those files as normal files
and possible will get them directly elsewhere soon.

(if i hack my nouveau to ignore fireware failure, it end up having
a vaguely working console and slowly working X, which is better than
the current situation.)


Revision tags: nick-nhusb-base-20160319
# 1.7 11-Feb-2016 riastradh

Pass a sensible device state pointer to nouveau suspend/resume ops.

Gives nouveau half a chance of suspending and resuming -- not that it
works on my test laptop yet, but it's a start.


Revision tags: nick-nhusb-base-20151226
# 1.6 27-Oct-2015 mrg

push the real attach down via config_mountroot, like radeon, as we
need firmware files.. which are currently missing:

drm kern error: nouveau E[ PGRAPH][nouveau0] failed to load fuc409c


# 1.5 27-Oct-2015 riastradh

Eliminate Linux struct pci_dev::dev, struct platform_device::dev.


# 1.4 17-Oct-2015 jmcneill

Split nouveau@pci from nouveau so we can attach it to other busses.
nouveaufb still depends on nouveau_pci, but it is not applicable to
non-PCI devices anyway.


Revision tags: nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
# 1.3 06-Mar-2015 riastradh

branches: 1.3.2; 1.3.4;
Create the nouveau device object so the driver can start.

I get a lot of messages on the console and then it hangs. Progress!

Next to try with a breakfast console.


# 1.2 06-Mar-2015 riastradh

Spurious blank line.


# 1.1 06-Mar-2015 riastradh

One last round for nouveau. It links!


# 1.26 03-Feb-2020 jmcneill

Disable simplefb if nouveau attaches


Revision tags: ad-namecache-base2 ad-namecache-base1 ad-namecache-base phil-wifi-20191119
# 1.25 05-Oct-2019 mrg

list the PCI ID range for new nvidia TU117 and TU116.
adjust the check to simply be >= 0x1580, which is the
first pciid not support.

should fix PR#54600.


Revision tags: netbsd-9-0-RC2 netbsd-9-0-RC1 netbsd-9-base
# 1.24 03-Jul-2019 wiz

Improve nouveau pci attachment code so it waits for the availability of /
before trying to load firmware.

Fixes my PR 54274.

LGTM mrg


Revision tags: phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226
# 1.23 24-Dec-2018 mrg

don't attach to new turing based nouveau cards.


# 1.22 24-Dec-2018 mrg

this works well enough to start and have basic accel only on GTX 750,
so enable those cards. maybe can enable some pascal cards too.

thanks to fly for fixing nouveau drm2 so it was worth trying :-)


Revision tags: pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906
# 1.21 28-Aug-2018 riastradh

Move nouveau pci initialization to nouveau_pci where it belongs.

Somehow I forgot this was a separate module.


# 1.20 27-Aug-2018 riastradh

Clarify nvkm_device_pci_create arguments. Use bogus parent for match prints.


# 1.19 27-Aug-2018 riastradh

Let upstream code attempt match for nouveau.


# 1.18 27-Aug-2018 riastradh

Call linux_pci_dev_destroy on detach.


# 1.17 27-Aug-2018 riastradh

Pass the parent explicitly to linux_pci_dev_init.

This will allow us to use it in match routines.


# 1.16 27-Aug-2018 riastradh

Move linux_pci_dev_init into callers of drm_pci_attach.

The order in nouveau has to be

- linux_pci_dev_init
- nvkm_device_pci_new
- rest of drm_pci_attach


# 1.15 27-Aug-2018 riastradh

Nix vestigial temporary.


# 1.14 27-Aug-2018 riastradh

The PCI driver is now named as such.


# 1.13 27-Aug-2018 riastradh

Update object reference API, now with types!


# 1.12 27-Aug-2018 riastradh

engine/device.h -> core/device.h, nouveau -> nvkm


Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625
# 1.11 31-May-2018 mrg

branches: 1.11.2;
the previous change doubled the check for pascal. fix it so
that we only check for later maxwell and pascal once each,
as intended.


# 1.10 31-May-2018 mrg

disable matching nouveau on pascal and the second generation of maxwell
cards that are not supported by this version of drm.

this should fix various modern systems vs nvidia issues, eg PR 53188.

XXX: pullup-7, pullup-8.


# 1.9 21-May-2018 mrg

disable drm2 on modern nouveau cards (Pascal-based).

our older drm doesn't have any support for modern Pascal or
the second version of Maxwell (but not disabled here yet)
but the driver tries to attach on any nvidia gpu.

this should workaround PR#53258, and other issues reported
with modern nvidia chipsets.

XXX: pullup-7, pullup-8.


Revision tags: 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 nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422
# 1.8 19-Apr-2016 mrg

branches: 1.8.10; 1.8.16; 1.8.18;
revert rev 1.6. we don't have access to those files as normal files
and possible will get them directly elsewhere soon.

(if i hack my nouveau to ignore fireware failure, it end up having
a vaguely working console and slowly working X, which is better than
the current situation.)


Revision tags: nick-nhusb-base-20160319
# 1.7 11-Feb-2016 riastradh

Pass a sensible device state pointer to nouveau suspend/resume ops.

Gives nouveau half a chance of suspending and resuming -- not that it
works on my test laptop yet, but it's a start.


Revision tags: nick-nhusb-base-20151226
# 1.6 27-Oct-2015 mrg

push the real attach down via config_mountroot, like radeon, as we
need firmware files.. which are currently missing:

drm kern error: nouveau E[ PGRAPH][nouveau0] failed to load fuc409c


# 1.5 27-Oct-2015 riastradh

Eliminate Linux struct pci_dev::dev, struct platform_device::dev.


# 1.4 17-Oct-2015 jmcneill

Split nouveau@pci from nouveau so we can attach it to other busses.
nouveaufb still depends on nouveau_pci, but it is not applicable to
non-PCI devices anyway.


Revision tags: nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
# 1.3 06-Mar-2015 riastradh

branches: 1.3.2; 1.3.4;
Create the nouveau device object so the driver can start.

I get a lot of messages on the console and then it hangs. Progress!

Next to try with a breakfast console.


# 1.2 06-Mar-2015 riastradh

Spurious blank line.


# 1.1 06-Mar-2015 riastradh

One last round for nouveau. It links!


# 1.25 05-Oct-2019 mrg

list the PCI ID range for new nvidia TU117 and TU116.
adjust the check to simply be >= 0x1580, which is the
first pciid not support.

should fix PR#54600.


Revision tags: netbsd-9-base
# 1.24 03-Jul-2019 wiz

Improve nouveau pci attachment code so it waits for the availability of /
before trying to load firmware.

Fixes my PR 54274.

LGTM mrg


Revision tags: phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226
# 1.23 24-Dec-2018 mrg

don't attach to new turing based nouveau cards.


# 1.22 24-Dec-2018 mrg

this works well enough to start and have basic accel only on GTX 750,
so enable those cards. maybe can enable some pascal cards too.

thanks to fly for fixing nouveau drm2 so it was worth trying :-)


Revision tags: pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906
# 1.21 28-Aug-2018 riastradh

Move nouveau pci initialization to nouveau_pci where it belongs.

Somehow I forgot this was a separate module.


# 1.20 27-Aug-2018 riastradh

Clarify nvkm_device_pci_create arguments. Use bogus parent for match prints.


# 1.19 27-Aug-2018 riastradh

Let upstream code attempt match for nouveau.


# 1.18 27-Aug-2018 riastradh

Call linux_pci_dev_destroy on detach.


# 1.17 27-Aug-2018 riastradh

Pass the parent explicitly to linux_pci_dev_init.

This will allow us to use it in match routines.


# 1.16 27-Aug-2018 riastradh

Move linux_pci_dev_init into callers of drm_pci_attach.

The order in nouveau has to be

- linux_pci_dev_init
- nvkm_device_pci_new
- rest of drm_pci_attach


# 1.15 27-Aug-2018 riastradh

Nix vestigial temporary.


# 1.14 27-Aug-2018 riastradh

The PCI driver is now named as such.


# 1.13 27-Aug-2018 riastradh

Update object reference API, now with types!


# 1.12 27-Aug-2018 riastradh

engine/device.h -> core/device.h, nouveau -> nvkm


Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625
# 1.11 31-May-2018 mrg

branches: 1.11.2;
the previous change doubled the check for pascal. fix it so
that we only check for later maxwell and pascal once each,
as intended.


# 1.10 31-May-2018 mrg

disable matching nouveau on pascal and the second generation of maxwell
cards that are not supported by this version of drm.

this should fix various modern systems vs nvidia issues, eg PR 53188.

XXX: pullup-7, pullup-8.


# 1.9 21-May-2018 mrg

disable drm2 on modern nouveau cards (Pascal-based).

our older drm doesn't have any support for modern Pascal or
the second version of Maxwell (but not disabled here yet)
but the driver tries to attach on any nvidia gpu.

this should workaround PR#53258, and other issues reported
with modern nvidia chipsets.

XXX: pullup-7, pullup-8.


Revision tags: 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 nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422
# 1.8 19-Apr-2016 mrg

branches: 1.8.10; 1.8.16; 1.8.18;
revert rev 1.6. we don't have access to those files as normal files
and possible will get them directly elsewhere soon.

(if i hack my nouveau to ignore fireware failure, it end up having
a vaguely working console and slowly working X, which is better than
the current situation.)


Revision tags: nick-nhusb-base-20160319
# 1.7 11-Feb-2016 riastradh

Pass a sensible device state pointer to nouveau suspend/resume ops.

Gives nouveau half a chance of suspending and resuming -- not that it
works on my test laptop yet, but it's a start.


Revision tags: nick-nhusb-base-20151226
# 1.6 27-Oct-2015 mrg

push the real attach down via config_mountroot, like radeon, as we
need firmware files.. which are currently missing:

drm kern error: nouveau E[ PGRAPH][nouveau0] failed to load fuc409c


# 1.5 27-Oct-2015 riastradh

Eliminate Linux struct pci_dev::dev, struct platform_device::dev.


# 1.4 17-Oct-2015 jmcneill

Split nouveau@pci from nouveau so we can attach it to other busses.
nouveaufb still depends on nouveau_pci, but it is not applicable to
non-PCI devices anyway.


Revision tags: nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
# 1.3 06-Mar-2015 riastradh

branches: 1.3.2; 1.3.4;
Create the nouveau device object so the driver can start.

I get a lot of messages on the console and then it hangs. Progress!

Next to try with a breakfast console.


# 1.2 06-Mar-2015 riastradh

Spurious blank line.


# 1.1 06-Mar-2015 riastradh

One last round for nouveau. It links!


# 1.24 03-Jul-2019 wiz

Improve nouveau pci attachment code so it waits for the availability of /
before trying to load firmware.

Fixes my PR 54274.

LGTM mrg


Revision tags: phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226
# 1.23 24-Dec-2018 mrg

don't attach to new turing based nouveau cards.


# 1.22 24-Dec-2018 mrg

this works well enough to start and have basic accel only on GTX 750,
so enable those cards. maybe can enable some pascal cards too.

thanks to fly for fixing nouveau drm2 so it was worth trying :-)


Revision tags: pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906
# 1.21 28-Aug-2018 riastradh

Move nouveau pci initialization to nouveau_pci where it belongs.

Somehow I forgot this was a separate module.


# 1.20 27-Aug-2018 riastradh

Clarify nvkm_device_pci_create arguments. Use bogus parent for match prints.


# 1.19 27-Aug-2018 riastradh

Let upstream code attempt match for nouveau.


# 1.18 27-Aug-2018 riastradh

Call linux_pci_dev_destroy on detach.


# 1.17 27-Aug-2018 riastradh

Pass the parent explicitly to linux_pci_dev_init.

This will allow us to use it in match routines.


# 1.16 27-Aug-2018 riastradh

Move linux_pci_dev_init into callers of drm_pci_attach.

The order in nouveau has to be

- linux_pci_dev_init
- nvkm_device_pci_new
- rest of drm_pci_attach


# 1.15 27-Aug-2018 riastradh

Nix vestigial temporary.


# 1.14 27-Aug-2018 riastradh

The PCI driver is now named as such.


# 1.13 27-Aug-2018 riastradh

Update object reference API, now with types!


# 1.12 27-Aug-2018 riastradh

engine/device.h -> core/device.h, nouveau -> nvkm


Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625
# 1.11 31-May-2018 mrg

branches: 1.11.2;
the previous change doubled the check for pascal. fix it so
that we only check for later maxwell and pascal once each,
as intended.


# 1.10 31-May-2018 mrg

disable matching nouveau on pascal and the second generation of maxwell
cards that are not supported by this version of drm.

this should fix various modern systems vs nvidia issues, eg PR 53188.

XXX: pullup-7, pullup-8.


# 1.9 21-May-2018 mrg

disable drm2 on modern nouveau cards (Pascal-based).

our older drm doesn't have any support for modern Pascal or
the second version of Maxwell (but not disabled here yet)
but the driver tries to attach on any nvidia gpu.

this should workaround PR#53258, and other issues reported
with modern nvidia chipsets.

XXX: pullup-7, pullup-8.


Revision tags: 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 nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422
# 1.8 19-Apr-2016 mrg

branches: 1.8.10; 1.8.16; 1.8.18;
revert rev 1.6. we don't have access to those files as normal files
and possible will get them directly elsewhere soon.

(if i hack my nouveau to ignore fireware failure, it end up having
a vaguely working console and slowly working X, which is better than
the current situation.)


Revision tags: nick-nhusb-base-20160319
# 1.7 11-Feb-2016 riastradh

Pass a sensible device state pointer to nouveau suspend/resume ops.

Gives nouveau half a chance of suspending and resuming -- not that it
works on my test laptop yet, but it's a start.


Revision tags: nick-nhusb-base-20151226
# 1.6 27-Oct-2015 mrg

push the real attach down via config_mountroot, like radeon, as we
need firmware files.. which are currently missing:

drm kern error: nouveau E[ PGRAPH][nouveau0] failed to load fuc409c


# 1.5 27-Oct-2015 riastradh

Eliminate Linux struct pci_dev::dev, struct platform_device::dev.


# 1.4 17-Oct-2015 jmcneill

Split nouveau@pci from nouveau so we can attach it to other busses.
nouveaufb still depends on nouveau_pci, but it is not applicable to
non-PCI devices anyway.


Revision tags: nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
# 1.3 06-Mar-2015 riastradh

branches: 1.3.2; 1.3.4;
Create the nouveau device object so the driver can start.

I get a lot of messages on the console and then it hangs. Progress!

Next to try with a breakfast console.


# 1.2 06-Mar-2015 riastradh

Spurious blank line.


# 1.1 06-Mar-2015 riastradh

One last round for nouveau. It links!


Revision tags: isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226
# 1.23 24-Dec-2018 mrg

don't attach to new turing based nouveau cards.


# 1.22 24-Dec-2018 mrg

this works well enough to start and have basic accel only on GTX 750,
so enable those cards. maybe can enable some pascal cards too.

thanks to fly for fixing nouveau drm2 so it was worth trying :-)


Revision tags: pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906
# 1.21 28-Aug-2018 riastradh

Move nouveau pci initialization to nouveau_pci where it belongs.

Somehow I forgot this was a separate module.


# 1.20 27-Aug-2018 riastradh

Clarify nvkm_device_pci_create arguments. Use bogus parent for match prints.


# 1.19 27-Aug-2018 riastradh

Let upstream code attempt match for nouveau.


# 1.18 27-Aug-2018 riastradh

Call linux_pci_dev_destroy on detach.


# 1.17 27-Aug-2018 riastradh

Pass the parent explicitly to linux_pci_dev_init.

This will allow us to use it in match routines.


# 1.16 27-Aug-2018 riastradh

Move linux_pci_dev_init into callers of drm_pci_attach.

The order in nouveau has to be

- linux_pci_dev_init
- nvkm_device_pci_new
- rest of drm_pci_attach


# 1.15 27-Aug-2018 riastradh

Nix vestigial temporary.


# 1.14 27-Aug-2018 riastradh

The PCI driver is now named as such.


# 1.13 27-Aug-2018 riastradh

Update object reference API, now with types!


# 1.12 27-Aug-2018 riastradh

engine/device.h -> core/device.h, nouveau -> nvkm


Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625
# 1.11 31-May-2018 mrg

the previous change doubled the check for pascal. fix it so
that we only check for later maxwell and pascal once each,
as intended.


# 1.10 31-May-2018 mrg

disable matching nouveau on pascal and the second generation of maxwell
cards that are not supported by this version of drm.

this should fix various modern systems vs nvidia issues, eg PR 53188.

XXX: pullup-7, pullup-8.


# 1.9 21-May-2018 mrg

disable drm2 on modern nouveau cards (Pascal-based).

our older drm doesn't have any support for modern Pascal or
the second version of Maxwell (but not disabled here yet)
but the driver tries to attach on any nvidia gpu.

this should workaround PR#53258, and other issues reported
with modern nvidia chipsets.

XXX: pullup-7, pullup-8.


Revision tags: 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 nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422
# 1.8 19-Apr-2016 mrg

branches: 1.8.10; 1.8.16; 1.8.18;
revert rev 1.6. we don't have access to those files as normal files
and possible will get them directly elsewhere soon.

(if i hack my nouveau to ignore fireware failure, it end up having
a vaguely working console and slowly working X, which is better than
the current situation.)


Revision tags: nick-nhusb-base-20160319
# 1.7 11-Feb-2016 riastradh

Pass a sensible device state pointer to nouveau suspend/resume ops.

Gives nouveau half a chance of suspending and resuming -- not that it
works on my test laptop yet, but it's a start.


Revision tags: nick-nhusb-base-20151226
# 1.6 27-Oct-2015 mrg

push the real attach down via config_mountroot, like radeon, as we
need firmware files.. which are currently missing:

drm kern error: nouveau E[ PGRAPH][nouveau0] failed to load fuc409c


# 1.5 27-Oct-2015 riastradh

Eliminate Linux struct pci_dev::dev, struct platform_device::dev.


# 1.4 17-Oct-2015 jmcneill

Split nouveau@pci from nouveau so we can attach it to other busses.
nouveaufb still depends on nouveau_pci, but it is not applicable to
non-PCI devices anyway.


Revision tags: nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
# 1.3 06-Mar-2015 riastradh

branches: 1.3.2; 1.3.4;
Create the nouveau device object so the driver can start.

I get a lot of messages on the console and then it hangs. Progress!

Next to try with a breakfast console.


# 1.2 06-Mar-2015 riastradh

Spurious blank line.


# 1.1 06-Mar-2015 riastradh

One last round for nouveau. It links!


Revision tags: nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422
# 1.8 19-Apr-2016 mrg

revert rev 1.6. we don't have access to those files as normal files
and possible will get them directly elsewhere soon.

(if i hack my nouveau to ignore fireware failure, it end up having
a vaguely working console and slowly working X, which is better than
the current situation.)


Revision tags: nick-nhusb-base-20160319
# 1.7 11-Feb-2016 riastradh

Pass a sensible device state pointer to nouveau suspend/resume ops.

Gives nouveau half a chance of suspending and resuming -- not that it
works on my test laptop yet, but it's a start.


Revision tags: nick-nhusb-base-20151226
# 1.6 27-Oct-2015 mrg

push the real attach down via config_mountroot, like radeon, as we
need firmware files.. which are currently missing:

drm kern error: nouveau E[ PGRAPH][nouveau0] failed to load fuc409c


# 1.5 27-Oct-2015 riastradh

Eliminate Linux struct pci_dev::dev, struct platform_device::dev.


# 1.4 17-Oct-2015 jmcneill

Split nouveau@pci from nouveau so we can attach it to other busses.
nouveaufb still depends on nouveau_pci, but it is not applicable to
non-PCI devices anyway.


Revision tags: nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
# 1.3 06-Mar-2015 riastradh

branches: 1.3.2; 1.3.4;
Create the nouveau device object so the driver can start.

I get a lot of messages on the console and then it hangs. Progress!

Next to try with a breakfast console.


# 1.2 06-Mar-2015 riastradh

Spurious blank line.


# 1.1 06-Mar-2015 riastradh

One last round for nouveau. It links!