History log of /openbsd-current/sys/dev/pci/drm/radeon/radeon_bios.c
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.21 01-Jan-2023 jsg

update drm to linux 6.1.2

new hardware support includes

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

Thanks to the OpenBSD Foundation for sponsoring this work.


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

update drm to linux 5.15.14

new hardware support includes

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

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

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


# 1.19 14-Dec-2021 jsg

use bus_space_read_region_1() when reading bios from pci rom

Avoids 'BIOS signature incorrect 0 0' warning seen on sparc64
(where pci is mapped little endian) reported by Ted Bullock.


Revision tags: OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE
# 1.18 12-Aug-2020 jsg

skip trying to read disabled bios on RV610

Reading the disabled bios on two Dell machines with RV610
passes initial checks but later fails atombios specific checks.
This occurs when running amd64 but not i386.

Returning early when reading the disabled bios will result in calling
radeon_read_platform_bios() and using the bios at 0xc0000 which works
for both systems this was reported for

semarie@ on Dell OptiPlex 755
RV610 0x1002:0x94C3 0x1028:0x0402 0x00

Andy Bradford on Dell DXP051
RV610 0x1002:0x94C1 0x1028:0x0D02 0x00


# 1.17 08-Jun-2020 jsg

update drm to linux 5.7

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

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


Revision tags: OPENBSD_6_6_BASE OPENBSD_6_7_BASE
# 1.16 18-Aug-2019 kettenis

Implement a few Linux compat ACPI interfaces and enable the ACPI support
code in radeon(4) and amdgpu(4).

ok jsg@


# 1.15 14-Apr-2019 jsg

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

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

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

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


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE
# 1.14 25-Aug-2018 kettenis

Use __HAVE_ACPI to decide whether ACPI support should be considered.

ok deraadt@, krw@, jca@


# 1.13 25-Apr-2018 jsg

update ttm and radeondrm(4) to Linux 4.4.129

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

Thanks to the OpenBSD Foundation for sponsoring this work.


# 1.12 20-Apr-2018 deraadt

oops, snapshot tests not ready yet


# 1.11 20-Apr-2018 deraadt

sync


Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.10 21-May-2017 visa

Enable radeondrm(4) on loongson to get accelerated graphics
with the RS780E chipset.

OK kettenis@, jsg@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE
# 1.9 06-Feb-2016 kettenis

Enable the code that reads the BIOS from the ACPI VFCT table on platforms
with ACPI.

ok jsg@


# 1.8 05-Feb-2016 kettenis

Fix a pci vendor/device conversion missed in rev 1.6.


# 1.7 04-Feb-2016 kettenis

If the ROM size is 0, we won't be able to read the video BIOS from it.
Bail out early to prevent a panic from calling bus_space_map(9) with size 0.


Revision tags: OPENBSD_5_8_BASE
# 1.6 12-Apr-2015 jsg

change back to linux style pci vendor/device defines


# 1.5 08-Apr-2015 jsg

change back to memcpy_toio/memcpy_fromio/memset_io


Revision tags: OPENBSD_5_7_BASE
# 1.4 11-Feb-2015 jsg

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


Revision tags: OPENBSD_5_6_BASE
# 1.3 06-Jul-2014 jsg

drm/radeon: handle non-VGA class pci devices with ATRM

From Alex Deucher
6a6170926060797bdf25e5d6609a3168466f2e6c in ubuntu 3.8
d8ade3526b2aa0505132c404c05a38b73ea15490 in mainline linux


Revision tags: OPENBSD_5_5_BASE
# 1.2 09-Feb-2014 jsg

use linux style memory allocations in radeon


# 1.1 12-Aug-2013 jsg

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

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

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

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


# 1.20 14-Jan-2022 jsg

update drm to linux 5.15.14

new hardware support includes

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

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

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


# 1.19 14-Dec-2021 jsg

use bus_space_read_region_1() when reading bios from pci rom

Avoids 'BIOS signature incorrect 0 0' warning seen on sparc64
(where pci is mapped little endian) reported by Ted Bullock.


Revision tags: OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE
# 1.18 12-Aug-2020 jsg

skip trying to read disabled bios on RV610

Reading the disabled bios on two Dell machines with RV610
passes initial checks but later fails atombios specific checks.
This occurs when running amd64 but not i386.

Returning early when reading the disabled bios will result in calling
radeon_read_platform_bios() and using the bios at 0xc0000 which works
for both systems this was reported for

semarie@ on Dell OptiPlex 755
RV610 0x1002:0x94C3 0x1028:0x0402 0x00

Andy Bradford on Dell DXP051
RV610 0x1002:0x94C1 0x1028:0x0D02 0x00


# 1.17 08-Jun-2020 jsg

update drm to linux 5.7

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

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


Revision tags: OPENBSD_6_6_BASE OPENBSD_6_7_BASE
# 1.16 18-Aug-2019 kettenis

Implement a few Linux compat ACPI interfaces and enable the ACPI support
code in radeon(4) and amdgpu(4).

ok jsg@


# 1.15 14-Apr-2019 jsg

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

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

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

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


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE
# 1.14 25-Aug-2018 kettenis

Use __HAVE_ACPI to decide whether ACPI support should be considered.

ok deraadt@, krw@, jca@


# 1.13 25-Apr-2018 jsg

update ttm and radeondrm(4) to Linux 4.4.129

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

Thanks to the OpenBSD Foundation for sponsoring this work.


# 1.12 20-Apr-2018 deraadt

oops, snapshot tests not ready yet


# 1.11 20-Apr-2018 deraadt

sync


Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.10 21-May-2017 visa

Enable radeondrm(4) on loongson to get accelerated graphics
with the RS780E chipset.

OK kettenis@, jsg@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE
# 1.9 06-Feb-2016 kettenis

Enable the code that reads the BIOS from the ACPI VFCT table on platforms
with ACPI.

ok jsg@


# 1.8 05-Feb-2016 kettenis

Fix a pci vendor/device conversion missed in rev 1.6.


# 1.7 04-Feb-2016 kettenis

If the ROM size is 0, we won't be able to read the video BIOS from it.
Bail out early to prevent a panic from calling bus_space_map(9) with size 0.


Revision tags: OPENBSD_5_8_BASE
# 1.6 12-Apr-2015 jsg

change back to linux style pci vendor/device defines


# 1.5 08-Apr-2015 jsg

change back to memcpy_toio/memcpy_fromio/memset_io


Revision tags: OPENBSD_5_7_BASE
# 1.4 11-Feb-2015 jsg

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


Revision tags: OPENBSD_5_6_BASE
# 1.3 06-Jul-2014 jsg

drm/radeon: handle non-VGA class pci devices with ATRM

From Alex Deucher
6a6170926060797bdf25e5d6609a3168466f2e6c in ubuntu 3.8
d8ade3526b2aa0505132c404c05a38b73ea15490 in mainline linux


Revision tags: OPENBSD_5_5_BASE
# 1.2 09-Feb-2014 jsg

use linux style memory allocations in radeon


# 1.1 12-Aug-2013 jsg

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

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

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

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


# 1.19 14-Dec-2021 jsg

use bus_space_read_region_1() when reading bios from pci rom

Avoids 'BIOS signature incorrect 0 0' warning seen on sparc64
(where pci is mapped little endian) reported by Ted Bullock.


Revision tags: OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE
# 1.18 12-Aug-2020 jsg

skip trying to read disabled bios on RV610

Reading the disabled bios on two Dell machines with RV610
passes initial checks but later fails atombios specific checks.
This occurs when running amd64 but not i386.

Returning early when reading the disabled bios will result in calling
radeon_read_platform_bios() and using the bios at 0xc0000 which works
for both systems this was reported for

semarie@ on Dell OptiPlex 755
RV610 0x1002:0x94C3 0x1028:0x0402 0x00

Andy Bradford on Dell DXP051
RV610 0x1002:0x94C1 0x1028:0x0D02 0x00


# 1.17 08-Jun-2020 jsg

update drm to linux 5.7

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

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


Revision tags: OPENBSD_6_6_BASE OPENBSD_6_7_BASE
# 1.16 18-Aug-2019 kettenis

Implement a few Linux compat ACPI interfaces and enable the ACPI support
code in radeon(4) and amdgpu(4).

ok jsg@


# 1.15 14-Apr-2019 jsg

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

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

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

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


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE
# 1.14 25-Aug-2018 kettenis

Use __HAVE_ACPI to decide whether ACPI support should be considered.

ok deraadt@, krw@, jca@


# 1.13 25-Apr-2018 jsg

update ttm and radeondrm(4) to Linux 4.4.129

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

Thanks to the OpenBSD Foundation for sponsoring this work.


# 1.12 20-Apr-2018 deraadt

oops, snapshot tests not ready yet


# 1.11 20-Apr-2018 deraadt

sync


Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.10 21-May-2017 visa

Enable radeondrm(4) on loongson to get accelerated graphics
with the RS780E chipset.

OK kettenis@, jsg@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE
# 1.9 06-Feb-2016 kettenis

Enable the code that reads the BIOS from the ACPI VFCT table on platforms
with ACPI.

ok jsg@


# 1.8 05-Feb-2016 kettenis

Fix a pci vendor/device conversion missed in rev 1.6.


# 1.7 04-Feb-2016 kettenis

If the ROM size is 0, we won't be able to read the video BIOS from it.
Bail out early to prevent a panic from calling bus_space_map(9) with size 0.


Revision tags: OPENBSD_5_8_BASE
# 1.6 12-Apr-2015 jsg

change back to linux style pci vendor/device defines


# 1.5 08-Apr-2015 jsg

change back to memcpy_toio/memcpy_fromio/memset_io


Revision tags: OPENBSD_5_7_BASE
# 1.4 11-Feb-2015 jsg

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


Revision tags: OPENBSD_5_6_BASE
# 1.3 06-Jul-2014 jsg

drm/radeon: handle non-VGA class pci devices with ATRM

From Alex Deucher
6a6170926060797bdf25e5d6609a3168466f2e6c in ubuntu 3.8
d8ade3526b2aa0505132c404c05a38b73ea15490 in mainline linux


Revision tags: OPENBSD_5_5_BASE
# 1.2 09-Feb-2014 jsg

use linux style memory allocations in radeon


# 1.1 12-Aug-2013 jsg

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

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

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

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


# 1.18 12-Aug-2020 jsg

skip trying to read disabled bios on RV610

Reading the disabled bios on two Dell machines with RV610
passes initial checks but later fails atombios specific checks.
This occurs when running amd64 but not i386.

Returning early when reading the disabled bios will result in calling
radeon_read_platform_bios() and using the bios at 0xc0000 which works
for both systems this was reported for

semarie@ on Dell OptiPlex 755
RV610 0x1002:0x94C3 0x1028:0x0402 0x00

Andy Bradford on Dell DXP051
RV610 0x1002:0x94C1 0x1028:0x0D02 0x00


# 1.17 08-Jun-2020 jsg

update drm to linux 5.7

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

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


Revision tags: OPENBSD_6_6_BASE OPENBSD_6_7_BASE
# 1.16 18-Aug-2019 kettenis

Implement a few Linux compat ACPI interfaces and enable the ACPI support
code in radeon(4) and amdgpu(4).

ok jsg@


# 1.15 14-Apr-2019 jsg

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

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

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

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


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE
# 1.14 25-Aug-2018 kettenis

Use __HAVE_ACPI to decide whether ACPI support should be considered.

ok deraadt@, krw@, jca@


# 1.13 25-Apr-2018 jsg

update ttm and radeondrm(4) to Linux 4.4.129

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

Thanks to the OpenBSD Foundation for sponsoring this work.


# 1.12 20-Apr-2018 deraadt

oops, snapshot tests not ready yet


# 1.11 20-Apr-2018 deraadt

sync


Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.10 21-May-2017 visa

Enable radeondrm(4) on loongson to get accelerated graphics
with the RS780E chipset.

OK kettenis@, jsg@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE
# 1.9 06-Feb-2016 kettenis

Enable the code that reads the BIOS from the ACPI VFCT table on platforms
with ACPI.

ok jsg@


# 1.8 05-Feb-2016 kettenis

Fix a pci vendor/device conversion missed in rev 1.6.


# 1.7 04-Feb-2016 kettenis

If the ROM size is 0, we won't be able to read the video BIOS from it.
Bail out early to prevent a panic from calling bus_space_map(9) with size 0.


Revision tags: OPENBSD_5_8_BASE
# 1.6 12-Apr-2015 jsg

change back to linux style pci vendor/device defines


# 1.5 08-Apr-2015 jsg

change back to memcpy_toio/memcpy_fromio/memset_io


Revision tags: OPENBSD_5_7_BASE
# 1.4 11-Feb-2015 jsg

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


Revision tags: OPENBSD_5_6_BASE
# 1.3 06-Jul-2014 jsg

drm/radeon: handle non-VGA class pci devices with ATRM

From Alex Deucher
6a6170926060797bdf25e5d6609a3168466f2e6c in ubuntu 3.8
d8ade3526b2aa0505132c404c05a38b73ea15490 in mainline linux


Revision tags: OPENBSD_5_5_BASE
# 1.2 09-Feb-2014 jsg

use linux style memory allocations in radeon


# 1.1 12-Aug-2013 jsg

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

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

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

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


# 1.17 08-Jun-2020 jsg

update drm to linux 5.7

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

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


Revision tags: OPENBSD_6_6_BASE OPENBSD_6_7_BASE
# 1.16 18-Aug-2019 kettenis

Implement a few Linux compat ACPI interfaces and enable the ACPI support
code in radeon(4) and amdgpu(4).

ok jsg@


# 1.15 14-Apr-2019 jsg

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

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

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

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


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE
# 1.14 25-Aug-2018 kettenis

Use __HAVE_ACPI to decide whether ACPI support should be considered.

ok deraadt@, krw@, jca@


# 1.13 25-Apr-2018 jsg

update ttm and radeondrm(4) to Linux 4.4.129

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

Thanks to the OpenBSD Foundation for sponsoring this work.


# 1.12 20-Apr-2018 deraadt

oops, snapshot tests not ready yet


# 1.11 20-Apr-2018 deraadt

sync


Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.10 21-May-2017 visa

Enable radeondrm(4) on loongson to get accelerated graphics
with the RS780E chipset.

OK kettenis@, jsg@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE
# 1.9 06-Feb-2016 kettenis

Enable the code that reads the BIOS from the ACPI VFCT table on platforms
with ACPI.

ok jsg@


# 1.8 05-Feb-2016 kettenis

Fix a pci vendor/device conversion missed in rev 1.6.


# 1.7 04-Feb-2016 kettenis

If the ROM size is 0, we won't be able to read the video BIOS from it.
Bail out early to prevent a panic from calling bus_space_map(9) with size 0.


Revision tags: OPENBSD_5_8_BASE
# 1.6 12-Apr-2015 jsg

change back to linux style pci vendor/device defines


# 1.5 08-Apr-2015 jsg

change back to memcpy_toio/memcpy_fromio/memset_io


Revision tags: OPENBSD_5_7_BASE
# 1.4 11-Feb-2015 jsg

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


Revision tags: OPENBSD_5_6_BASE
# 1.3 06-Jul-2014 jsg

drm/radeon: handle non-VGA class pci devices with ATRM

From Alex Deucher
6a6170926060797bdf25e5d6609a3168466f2e6c in ubuntu 3.8
d8ade3526b2aa0505132c404c05a38b73ea15490 in mainline linux


Revision tags: OPENBSD_5_5_BASE
# 1.2 09-Feb-2014 jsg

use linux style memory allocations in radeon


# 1.1 12-Aug-2013 jsg

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

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

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

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


# 1.16 18-Aug-2019 kettenis

Implement a few Linux compat ACPI interfaces and enable the ACPI support
code in radeon(4) and amdgpu(4).

ok jsg@


# 1.15 14-Apr-2019 jsg

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

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

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

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


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE
# 1.14 25-Aug-2018 kettenis

Use __HAVE_ACPI to decide whether ACPI support should be considered.

ok deraadt@, krw@, jca@


# 1.13 25-Apr-2018 jsg

update ttm and radeondrm(4) to Linux 4.4.129

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

Thanks to the OpenBSD Foundation for sponsoring this work.


# 1.12 20-Apr-2018 deraadt

oops, snapshot tests not ready yet


# 1.11 20-Apr-2018 deraadt

sync


Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.10 21-May-2017 visa

Enable radeondrm(4) on loongson to get accelerated graphics
with the RS780E chipset.

OK kettenis@, jsg@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE
# 1.9 06-Feb-2016 kettenis

Enable the code that reads the BIOS from the ACPI VFCT table on platforms
with ACPI.

ok jsg@


# 1.8 05-Feb-2016 kettenis

Fix a pci vendor/device conversion missed in rev 1.6.


# 1.7 04-Feb-2016 kettenis

If the ROM size is 0, we won't be able to read the video BIOS from it.
Bail out early to prevent a panic from calling bus_space_map(9) with size 0.


Revision tags: OPENBSD_5_8_BASE
# 1.6 12-Apr-2015 jsg

change back to linux style pci vendor/device defines


# 1.5 08-Apr-2015 jsg

change back to memcpy_toio/memcpy_fromio/memset_io


Revision tags: OPENBSD_5_7_BASE
# 1.4 11-Feb-2015 jsg

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


Revision tags: OPENBSD_5_6_BASE
# 1.3 06-Jul-2014 jsg

drm/radeon: handle non-VGA class pci devices with ATRM

From Alex Deucher
6a6170926060797bdf25e5d6609a3168466f2e6c in ubuntu 3.8
d8ade3526b2aa0505132c404c05a38b73ea15490 in mainline linux


Revision tags: OPENBSD_5_5_BASE
# 1.2 09-Feb-2014 jsg

use linux style memory allocations in radeon


# 1.1 12-Aug-2013 jsg

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

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

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

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


# 1.15 14-Apr-2019 jsg

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

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

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

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


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE
# 1.14 25-Aug-2018 kettenis

Use __HAVE_ACPI to decide whether ACPI support should be considered.

ok deraadt@, krw@, jca@


# 1.13 25-Apr-2018 jsg

update ttm and radeondrm(4) to Linux 4.4.129

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

Thanks to the OpenBSD Foundation for sponsoring this work.


# 1.12 20-Apr-2018 deraadt

oops, snapshot tests not ready yet


# 1.11 20-Apr-2018 deraadt

sync


Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.10 21-May-2017 visa

Enable radeondrm(4) on loongson to get accelerated graphics
with the RS780E chipset.

OK kettenis@, jsg@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE
# 1.9 06-Feb-2016 kettenis

Enable the code that reads the BIOS from the ACPI VFCT table on platforms
with ACPI.

ok jsg@


# 1.8 05-Feb-2016 kettenis

Fix a pci vendor/device conversion missed in rev 1.6.


# 1.7 04-Feb-2016 kettenis

If the ROM size is 0, we won't be able to read the video BIOS from it.
Bail out early to prevent a panic from calling bus_space_map(9) with size 0.


Revision tags: OPENBSD_5_8_BASE
# 1.6 12-Apr-2015 jsg

change back to linux style pci vendor/device defines


# 1.5 08-Apr-2015 jsg

change back to memcpy_toio/memcpy_fromio/memset_io


Revision tags: OPENBSD_5_7_BASE
# 1.4 11-Feb-2015 jsg

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


Revision tags: OPENBSD_5_6_BASE
# 1.3 06-Jul-2014 jsg

drm/radeon: handle non-VGA class pci devices with ATRM

From Alex Deucher
6a6170926060797bdf25e5d6609a3168466f2e6c in ubuntu 3.8
d8ade3526b2aa0505132c404c05a38b73ea15490 in mainline linux


Revision tags: OPENBSD_5_5_BASE
# 1.2 09-Feb-2014 jsg

use linux style memory allocations in radeon


# 1.1 12-Aug-2013 jsg

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

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

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

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


# 1.14 25-Aug-2018 kettenis

Use __HAVE_ACPI to decide whether ACPI support should be considered.

ok deraadt@, krw@, jca@


# 1.13 25-Apr-2018 jsg

update ttm and radeondrm(4) to Linux 4.4.129

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

Thanks to the OpenBSD Foundation for sponsoring this work.


# 1.12 20-Apr-2018 deraadt

oops, snapshot tests not ready yet


# 1.11 20-Apr-2018 deraadt

sync


Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.10 21-May-2017 visa

Enable radeondrm(4) on loongson to get accelerated graphics
with the RS780E chipset.

OK kettenis@, jsg@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE
# 1.9 06-Feb-2016 kettenis

Enable the code that reads the BIOS from the ACPI VFCT table on platforms
with ACPI.

ok jsg@


# 1.8 05-Feb-2016 kettenis

Fix a pci vendor/device conversion missed in rev 1.6.


# 1.7 04-Feb-2016 kettenis

If the ROM size is 0, we won't be able to read the video BIOS from it.
Bail out early to prevent a panic from calling bus_space_map(9) with size 0.


Revision tags: OPENBSD_5_8_BASE
# 1.6 12-Apr-2015 jsg

change back to linux style pci vendor/device defines


# 1.5 08-Apr-2015 jsg

change back to memcpy_toio/memcpy_fromio/memset_io


Revision tags: OPENBSD_5_7_BASE
# 1.4 11-Feb-2015 jsg

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


Revision tags: OPENBSD_5_6_BASE
# 1.3 06-Jul-2014 jsg

drm/radeon: handle non-VGA class pci devices with ATRM

From Alex Deucher
6a6170926060797bdf25e5d6609a3168466f2e6c in ubuntu 3.8
d8ade3526b2aa0505132c404c05a38b73ea15490 in mainline linux


Revision tags: OPENBSD_5_5_BASE
# 1.2 09-Feb-2014 jsg

use linux style memory allocations in radeon


# 1.1 12-Aug-2013 jsg

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

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

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

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


# 1.13 25-Apr-2018 jsg

update ttm and radeondrm(4) to Linux 4.4.129

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

Thanks to the OpenBSD Foundation for sponsoring this work.


# 1.12 20-Apr-2018 deraadt

oops, snapshot tests not ready yet


# 1.11 20-Apr-2018 deraadt

sync


Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.10 21-May-2017 visa

Enable radeondrm(4) on loongson to get accelerated graphics
with the RS780E chipset.

OK kettenis@, jsg@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE
# 1.9 06-Feb-2016 kettenis

Enable the code that reads the BIOS from the ACPI VFCT table on platforms
with ACPI.

ok jsg@


# 1.8 05-Feb-2016 kettenis

Fix a pci vendor/device conversion missed in rev 1.6.


# 1.7 04-Feb-2016 kettenis

If the ROM size is 0, we won't be able to read the video BIOS from it.
Bail out early to prevent a panic from calling bus_space_map(9) with size 0.


Revision tags: OPENBSD_5_8_BASE
# 1.6 12-Apr-2015 jsg

change back to linux style pci vendor/device defines


# 1.5 08-Apr-2015 jsg

change back to memcpy_toio/memcpy_fromio/memset_io


Revision tags: OPENBSD_5_7_BASE
# 1.4 11-Feb-2015 jsg

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


Revision tags: OPENBSD_5_6_BASE
# 1.3 06-Jul-2014 jsg

drm/radeon: handle non-VGA class pci devices with ATRM

From Alex Deucher
6a6170926060797bdf25e5d6609a3168466f2e6c in ubuntu 3.8
d8ade3526b2aa0505132c404c05a38b73ea15490 in mainline linux


Revision tags: OPENBSD_5_5_BASE
# 1.2 09-Feb-2014 jsg

use linux style memory allocations in radeon


# 1.1 12-Aug-2013 jsg

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

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

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

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


Revision tags: OPENBSD_6_2_BASE
# 1.10 21-May-2017 visa

Enable radeondrm(4) on loongson to get accelerated graphics
with the RS780E chipset.

OK kettenis@, jsg@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE
# 1.9 06-Feb-2016 kettenis

Enable the code that reads the BIOS from the ACPI VFCT table on platforms
with ACPI.

ok jsg@


# 1.8 05-Feb-2016 kettenis

Fix a pci vendor/device conversion missed in rev 1.6.


# 1.7 04-Feb-2016 kettenis

If the ROM size is 0, we won't be able to read the video BIOS from it.
Bail out early to prevent a panic from calling bus_space_map(9) with size 0.


Revision tags: OPENBSD_5_8_BASE
# 1.6 12-Apr-2015 jsg

change back to linux style pci vendor/device defines


# 1.5 08-Apr-2015 jsg

change back to memcpy_toio/memcpy_fromio/memset_io


Revision tags: OPENBSD_5_7_BASE
# 1.4 11-Feb-2015 jsg

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


Revision tags: OPENBSD_5_6_BASE
# 1.3 06-Jul-2014 jsg

drm/radeon: handle non-VGA class pci devices with ATRM

From Alex Deucher
6a6170926060797bdf25e5d6609a3168466f2e6c in ubuntu 3.8
d8ade3526b2aa0505132c404c05a38b73ea15490 in mainline linux


Revision tags: OPENBSD_5_5_BASE
# 1.2 09-Feb-2014 jsg

use linux style memory allocations in radeon


# 1.1 12-Aug-2013 jsg

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

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

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

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