#
263170 |
|
14-Mar-2014 |
dumbbell |
MFC Radeon KMS driver
FreeBSD 9 already had modern Intel GPUs support, now this is the case for Radeon GPUs too. This will ease the work on ports, where there won't be a need to distinguish between FreeBSD 9/10 and different hardware vendors.
Help from: jhb@, jkim@, kan@, kib@, J.R. Oldroyd <fbsd@opal.com> (previous version of the patch)
The following revisions were merged in this single commit:
r254885: drm/radeon: Import the Radeon KMS driver
This driver is based on Linux 3.8 and a previous effort by kan@.
More informations about this project can be found on the FreeBSD wiki: https://wiki.freebsd.org/AMD_GPU
The driver is split into:
sys/dev/drm2: The driver sources.
sys/modules/drm2/radeonkmw: The driver main kernel module's Makefile.
sys/modules/drm2/radeonkmsfw: All firmware kernel module Makefiles. There's one directory and one Makefile for each firmware.
sys/contrib/dev/drm2/radeonkmsfw: All firmware binary sources.
tools/tools/drm/radeon Tools to update firmwares or regenerate some headers.
Merging the driver to FreeBSD 9.x may be possible but not a priority for now.
Help from: kib@, kan@ Tested by: avg@, kwm@, ray@, Alexander Yerenkow <yerenkow@gmail.com>, Anders Bolt-Evensen <andersbo87@me.com>, Denis Djubajlo <stdedjub@googlemail.com>, J.R. Oldroyd <fbsd@opal.com>, Mikaël Urankar <mikael.urankar@gmail.com>, Pierre-Emmanuel Pédron <pepcitron@gmail.com>, Sam Fourman Jr. <sfourman@gmail.com>, Wade <wade-is-great@live.com>, (probably other I forgot...) HW donations: kyzh, Yakaz
r254894: drm/radeon: Rename the (S)DEBUG macros in atom.c to avoid conflicts
For instance, DEBUG is already defined in the LINT kernel configuration. This fixes the build of LINT.
r254899: drm/radeon: Disable build on i386/pc98
r255572: drm/radeon: Fix usage of vga_pci_map_bios()
vga_pci_(un)map_bios() takes a vgapci device as argument, not a drmn one. This fixes a bug where the BIOS couldn't be mapped if the device wasn't the boot display.
Approved by: re (kib; blanket for following drm2/radeon commits)
r255573: drm/radeon: Fix usage of pci_save_state() and pci_restore_state()
Calling those functions with the drmn device as argument causes a panic, because it's not a direct child of pci$N. They must be called with the vgapci device instead.
This fix is not enough to make suspend/resume work reliably.
Approved by: re (blanket)
r255587: drm/radeon: Add missing "return false" after unmapping invalid BIOS
Without that, we would try to copy the unmapped BIOS.
Submitted by: Christoph Mallon <christoph.mallon@gmx.de> Approved by: re (blanket)
r256771: drm/radeon: radeonkms depends on firmware(9)
Submitted by: tijl@
r257869: drm: Initialize "handle" to 0 before calling drm_gem_handle_create()
This is variable is being checked in drm_gem_name_create() before being set.
r257870: drm/radeon: Wake up userland after page flip
For instance, this caused issues in KDE, such as stuttered animations (with desktop effects enabled).
r259003: Initialize modesetting sysctls in radeonkms.
This is intended for MFC if re@ permits.
Reviewed by: kib, dumbbell Tested by: Steven Chamberlain <steven@pyro.eu.org> MFC after: 3 days
r259101: drm/radeon: agp_info->ai_aperture_size is in bytes, not Mbytes
This fixes radeon_agp_init() and gtt_size is now correct. However, this is not enough to make Radeon AGP cards work: ttm_agp_backend.c isn't implemented yet.
Submitted by: tijl@
r259104: drm/radeon: radeon_dp_i2c_aux_ch() must return 0 on FreeBSD
The code was unmodified compared to Linux and returned the amount of received bytes from the i2c bus. This led to non-working i2c bus and failure to eg. read monitor's EDID, if connected to DisplayPort.
MFC after: 3 days Tested by: Mikaël Urankar <mikael.urankar@gmail.com>
r259684: drm/ttm, drm/radeon: Replace EINTR/ERESTART by ERESTARTSYS...
... for msleep/cv_*wait() return values, where wait_event*() is used on Linux. ERESTARTSYS is the return code expected by callers when the operation was interrupted.
For instance, this is the case of radeon_cs_ioctl() (radeon_cs.c): if an error occurs, and the code isn't ERESTARTSYS (eg. EINTR), it logs an error.
Note that ERESTARTSYS is defined as ERESTART, but this keeps callers' code close to Linux.
Submitted by: avg@ (previous version)
r261497: Abort when firmware isn't present in R600+ models.
More details at: http://anonscm.debian.org/viewvc/kernel/dists/trunk/linux/debian/patches/bugfix/all/radeon-firmware-is-required-for-drm-and-kms-on-r600-onward.patch?revision=20909&view=co
Reviewed by: dumbbell MFC after: 1 week
|
#
254885 |
|
25-Aug-2013 |
dumbbell |
drm/radeon: Import the Radeon KMS driver
This driver is based on Linux 3.8 and a previous effort by kan@.
More informations about this project can be found on the FreeBSD wiki: https://wiki.freebsd.org/AMD_GPU
The driver is split into:
sys/dev/drm2: The driver sources.
sys/modules/drm2/radeonkmw: The driver main kernel module's Makefile.
sys/modules/drm2/radeonkmsfw: All firmware kernel module Makefiles. There's one directory and one Makefile for each firmware.
sys/contrib/dev/drm2/radeonkmsfw: All firmware binary sources.
tools/tools/drm/radeon Tools to update firmwares or regenerate some headers.
Merging the driver to FreeBSD 9.x may be possible but not a priority for now.
Help from: kib@, kan@ Tested by: avg@, kwm@, ray@, Alexander Yerenkow <yerenkow@gmail.com>, Anders Bolt-Evensen <andersbo87@me.com>, Denis Djubajlo <stdedjub@googlemail.com>, J.R. Oldroyd <fbsd@opal.com>, Mikaël Urankar <mikael.urankar@gmail.com>, Pierre-Emmanuel Pédron <pepcitron@gmail.com>, Sam Fourman Jr. <sfourman@gmail.com>, Wade <wade-is-great@live.com>, (probably other I forgot...) HW donations: kyzh, Yakaz
|