20 Commits

Author SHA1 Message Date
dumbbell
8b6ecde79a drm/i915: Add HW context support
This feature is required by Mesa 9.2+. Without this, a GL application
crashes with the following message:
    # glxinfo
    name of display: :0.0
    Gen6+ requires Kernel 3.6 or later.
    Assertion failed: (ctx->Version > 0), function handle_first_current,
      file ../../src/mesa/main/context.c, line 1498.
    Abort (core dumped)

Now, Mesa 10.2.4 and 10.3-rc3 works fine:
    # glxinfo
    name of display: :0
    display: :0  screen: 0
    direct rendering: Yes
    ...
    OpenGL renderer string: Mesa DRI Intel(R) 965GM
    OpenGL version string: 2.1 Mesa 10.2.4
    ...

The code was imported from Linux 3.8.13.

Reviewed by:	kib@
Tested by:	kwm@, danfe@, Henry Hu,
		Lundberg, Johannes <johannes@brilliantservice.co.jp>,
		Johannes Dieterich <dieterich.joh@gmail.com>,
		Lutz Bichler <lutz.bichler@gmail.com>,
MFC after:	3 days
Relnotes:	yes
2014-09-17 08:28:50 +00:00
dumbbell
9aac7efe79 drm/i915: Disable the build of i915 on PC98
This module is of no use on this platform and now, i915 depends on ACPI
anyway.

Suggested by:	nyan@
2014-08-25 14:58:36 +00:00
dumbbell
62fb4523d3 drm/i915: Add opt_acpi.h and acpi_if.h to the source files
While here, sort the list of generated source files.
2014-08-25 14:55:56 +00:00
imp
b20344b2e9 Remove dependence on source tree options. Move all kernel module
options into kern.opts.mk and change all the places where we use
src.opts.mk to pull in the options. Conditionally define SYSDIR and
use SYSDIR/conf/kern.opts.mk instead of a CURDIR path. Replace all
instances of CURDIR/../../etc with STSDIR, but only in the affected
files.

As a special compatibility hack, include bsd.owm.mk at the top of
kern.opts.mk to allow the bare build of sys/modules to work on older
systems. If the defaults ever change between 9.x, 10.x and current for
these options, however, you'll wind up with the host OS' defaults
rather than the -current defaults. This hack will be removed when
we no longer need to support this build scenario.

Reviewed by: jhb
Differential Revision: https://phabric.freebsd.org/D529
2014-08-11 14:50:49 +00:00
imp
d1662e2f7e Remove unnecessary inclusions of bsd.own.mk. 2014-08-04 22:34:12 +00:00
se
4bd97a0b63 Fix buildkernel breakage, which was fall-out from the move of options to
src.opts.mk.
2014-05-06 11:12:56 +00:00
dumbbell
b016f706b7 drm/radeon: Add 32bit ioctls support
This allows to run 32bit applications on a 64bit host. This was tested
successfully with Wine (emulators/i386-wine-devel) and StarCraft II.

Submitted by:	Jan Kokemüller <jan.kokemueller@gmail.com>
MFC after:	1 week
2014-05-03 11:23:10 +00:00
dim
076aa80e8f Similar to r260020, only use -fms-extensions with gcc, for all other
modules which require this flag to compile.  Use a GCC_MS_EXTENSIONS
variable, defined in kern.pre.mk, which can be used to easily supply the
flag (or not), depending on the compiler type.

MFC after:	3 days
2013-12-30 20:34:53 +00:00
dim
dcc4f1ae78 For sys/dev/drm2/radeon, only use -fms-extensions with gcc. This flag
is only to stop gcc complaining about anonymous unions, which clang does
not do.  For clang 3.4 however, -fms-extensions enables the Microsoft
__wchar_t type, which clashes with our own types.h.

MFC after:	3 days
2013-12-28 22:44:02 +00:00
dim
93d5b248f5 For some files under sys/dev/drm2/i915, turn off warnings about unused
functions and variables, since they are contributed code.

MFC after:	3 days
2013-12-28 22:35:16 +00:00
ray
3237a61b8e Disable error message about failed attempt to attach fbd when drm2 built with
syscons.

Sponsored by:	The FreeBSD Foundation
2013-12-10 15:53:00 +00:00
ray
35e1ac9e92 DRM2 have to know how to use fb_if.
Sponsored by:	The FreeBSD Foundation
2013-11-06 14:24:24 +00:00
dumbbell
b34d889a8e drm/radeon: Disable build on i386/pc98 2013-08-26 09:17:21 +00:00
dumbbell
0d898a1422 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
2013-08-25 19:37:15 +00:00
dumbbell
37cc370860 drm: Import drm_dp_helper.c from Linux 3.8-rc3
While here, update drm_dp_helper.h to better match Linux one.
2013-08-24 23:38:57 +00:00
dumbbell
da9fefded1 drm: Import drm_buffer.[ch] from Linux 3.8-rc3
This will be used by the Radeon KMS driver.
2013-08-24 16:14:20 +00:00
kib
e174230ed6 Import the preliminary port of the TTM.
The early commit is done to facilitate the off-tree work on the
porting of the Radeon driver.

Sponsored by:	The FreeBSD Foundation
Debugged and tested by:	    dumbbell
MFC after:	1 month
2013-03-05 09:49:34 +00:00
kib
62ff720da5 Import the drm_global references helpers.
Sponsored by:	The FreeBSD Foundation
MFC after:	1 month
2013-03-05 09:27:21 +00:00
kib
5028d10ff9 Add drm and i915 ioctl translations for 32 bit process on 64 bit host.
Submitted by:	meowthink@gmail.com
MFC after:	2 weeks
2012-08-18 18:26:25 +00:00
kib
cf48f53418 The drm2 modules makefiles commit.
Still not attached to the build.

Sponsored by:	The FreeBSD Foundation
MFC after:	1 month
2012-05-23 17:10:22 +00:00