History log of /freebsd-current/sys/dev/drm2/drm_os_freebsd.h
Revision Date Author Comments
# c8b0c33b 24-Jun-2024 Doug Moore <dougm@FreeBSD.org>

log2: move log2 functions from linuxkpi to libkern

Linux has a header file that defines an ilog2 function and some simple
functions/macros that use it: roundup_pow_of_two, is_power_of_2,
rounddown_pow_of_two, and order_base_2. This change moves three of
those simple functions (all but is_power_of_2) from linuxkpi to
libkern. It also deletes a few implementations of these functions
that have previously been copied into code for various device drivers,
so that they can use the libkern version. The is_power_of_2 macro was
not moved because powerof2 in param.h provides almost the same service
already (except that they disagree about whether 0 is a power of two).

Since the linux definitions of these functions were copied into
FreeBSD 11 years ago, linux has improved them, and this change
provides those improvements. In particular, a giant table of log
values for evaluating ilog2 for constant values is no longer
necessary.

Reviewed by: alc, markj (previous version)
Differential Revision: https://reviews.freebsd.org/D45536


# c70c791f 05-Jun-2024 Mark Johnston <markj@FreeBSD.org>

drm2: Remove one more implementation of ilog2()

Reviewed by: dougm
Fixes: b0056b31e900 ("libkern: add ilog2 macro")
Differential Revision: https://reviews.freebsd.org/D45504


# ef545fe7 09-Sep-2023 Mateusz Guzik <mjg@FreeBSD.org>

drm2: fix build after abs64 became global

Fixes: 229c65a83fb ("kern: Globally define abs64")
Sponsored by: Rubicon Communications, LLC ("Netgate")


# 685dc743 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

sys: Remove $FreeBSD$: one-line .c pattern

Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/


# 662c3e20 02-Sep-2020 Niclas Zeising <zeising@FreeBSD.org>

drm2: Further improve deprecation message

Further improve the drm2 deprecation message, only displaying information
about the port for relevant architectures, and skipping the message
completely from arm, which uses some parts of drm2 still.

This is mostly intended to be merged to 12, since the base bits of drm2 on
FreeBSD 13 are only really used on arm.

Reviewed by: manu, mmel
Approved by: manu
MFC after: 3 days
X-MFC-with: r364737
Differential Revision: https://reviews.freebsd.org/D26275


# 8d9b400f 24-Aug-2020 Niclas Zeising <zeising@FreeBSD.org>

drm2: Update deprecation message

Update the deprecation message in the drm2 (aka legacy drm) drivers to point
towards the graphics/drm-kmod ports for all architectures, not just amd64.
drm-kmod has support for more architectures these days, and the
graphics/drm-legacy-kmod port is being deprecated.

Approved by: imp
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D26174


# 468002c5 20-Oct-2018 Warner Losh <imp@FreeBSD.org>

Add updating entry for DRM

Update messaging for which drm module to install. Add guidance on what
hardware is supported (which should be copied into the release
notes). Note: the in tree drivers are abandonware. There has been no
organized support for them for many years, and the plan is to still
remove them for all but arm once the transition to drm-*kmod is
complete. Also note that WITHOUT_MODULE_DRM and WITHOUT_MODULE_DRM2
should generally be added to src.conf for anybody using the drm-*kmod
ports. That will become default in 13 soon, however.

Approved by: FreeBSD Graphics Team
Relnotes: Yes
MFC After: 3 days
Differential Revision: https://reviews.freebsd.org/D17451


# 264d4ffd 28-Aug-2018 Warner Losh <imp@FreeBSD.org>

Add big, nasty abandonware tags to this code.

This code works for some people, but hasn't been updated in a long
time. Still allow people to use this code for the moment, but put a
big, nasty obsolete message to inform and encourage people to move to
the port.

Approved by: re@ (gjb)
Differential Review: https://reviews.freebsd.org/D16894


# 592ffb21 23-Aug-2018 Warner Losh <imp@FreeBSD.org>

Revert drm2 removal.

Revert r338177, r338176, r338175, r338174, r338172

After long consultations with re@, core members and mmacy, revert
these changes. Followup changes will be made to mark them as
deprecated and prent a message about where to find the up-to-date
driver. Followup commits will be made to make this clear in the
installer. Followup commits to reduce POLA in ways we're still
exploring.

It's anticipated that after the freeze, this will be removed in
13-current (with the residual of the drm2 code copied to
sys/arm/dev/drm2 for the TEGRA port's use w/o the intel or
radeon drivers).

Due to the impending freeze, there was no formal core vote for
this. I've been talking to different core members all day, as well as
Matt Macey and Glen Barber. Nobody is completely happy, all are
grudgingly going along with this. Work is in progress to mitigate
the negative effects as much as possible.

Requested by: re@ (gjb, rgrimes)


# d157fbd5 21-Aug-2018 Matt Macy <mmacy@FreeBSD.org>

Remove legacy drm and drm2 from tree

As discussed on the MLs drm2 conflicts with the ports' version and there
is no upstream for most if not all of drm. Both have been merged in to
a single port.

Users on powerpc, 32-bit hardware, or with GPUs predating Radeon
and i915 will need to install the graphics/drm-legacy-kmod. All
other users should be able to use one of the LinuxKPI-based ports:
graphics/drm-stable-kmod, graphics/drm-next-kmod, graphics/drm-devel-kmod.

MFC: never
Approved by: core@


# b7a18075 28-Jan-2017 Baptiste Daroussin <bapt@FreeBSD.org>

Really revert 312923 this time


# b4b4b530 28-Jan-2017 Baptiste Daroussin <bapt@FreeBSD.org>

Revert crap accidentally committed


# 814aaaa7 28-Jan-2017 Baptiste Daroussin <bapt@FreeBSD.org>

Revert r312923 a better approach will be taken later


# 2e8e6c3a 28-Jan-2017 Baptiste Daroussin <bapt@FreeBSD.org>

Make the drm2 module depend on linuxkpi

Use linux memory allocation to reduce diff with upstream


# 21b73749 27-Jan-2017 Mateusz Guzik <mjg@FreeBSD.org>

Introduce __read_mostly and __exclusive_cache_line macros.

The intended use is to annotate frequently used globals which either rarely
change (and thus can be grouped in the same cacheline) or are an atomic counter
(which means it may benefit from being the only variable in the cacheline).

Linker script support is provided only for amd64. Architectures without it risk
having other variables put in, i.e. as if they were not annotated. This is
harmless from correctness point of view.

Reviewed by: bde (previous version)
MFC after: 1 month


# aa1f683b 13-Nov-2016 Michal Meloun <mmel@FreeBSD.org>

Allow DRM2 code to be built on platforms without AGP.
This patch is taken from original drm-3.8 code.

Differential Revision: https://reviews.freebsd.org/D8454
MFC after: 3 weeks


# e5619a89 14-Jul-2016 Enji Cooper <ngie@FreeBSD.org>

Always panic if an invalid capability is passed to `capable(..)` instead of
just with INVARIANTS

rwatson's point was valid in the sense that if the data passed at runtime is
invalid, it should always trip the invariant, not just in the debug case.
This is a deterrent against malicious input, or input caused by hardware
errors.

MFC after: 4 days
X-MFC with: r302577
Requested by: rwatson
Sponsored by: EMC / Isilon Storage Division


# e3c76b36 11-Jul-2016 Enji Cooper <ngie@FreeBSD.org>

Add missing default case to capable(..) function definition

By definition (enum __drm_capabilities), cases other than CAP_SYS_ADMIN
aren't possible. Add in a KASSERT safety belt and return false in
!INVARIANTS case if an invalid value is passed in, as it would be a
programmer error.

This fixes a -Wreturn-type error with gcc 5.3.0.

Differential Revision: https://reviews.freebsd.org/D7188
MFC after: 1 week
Reported by: devel/amd64-gcc (5.3.0)
Reviewed by: dumbbell
Sponsored by: EMC / Isilon Storage Division


# 740be6d7 08-Mar-2016 Jean-Sébastien Pédron <dumbbell@FreeBSD.org>

drm/i915: Update to match Linux 3.8.13

This update brings initial support for Haswell GPUs.

Tested by: Many users of FreeBSD, PC-BSD and HardenedBSD
Relnotes: yes
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D5554


# 455fa651 17-Mar-2015 Jean-Sébastien Pédron <dumbbell@FreeBSD.org>

drm: Update the device-independent code to match Linux 3.8.13

This update brings few features:
o Support for the setmaster/dropmaster ioctls. For instance, they
are used to run multiple X servers simultaneously.
o Support for minor devices. The only user-visible change is a new
entry in /dev/dri but it is useless at the moment. This is a
first step to support render nodes [1].

The main benefit is to greatly reduce the diff with Linux (at the
expense of an unreadable commit diff). Hopefully, next upgrades will be
easier.

No updates were made to the drivers, beside adapting them to API
changes.

[1] https://en.wikipedia.org/wiki/Direct_Rendering_Manager#Render_nodes

Tested by: Many people
MFC after: 1 month
Relnotes: yes


# 27cf7d04 05-Dec-2013 Aleksandr Rybalko <ray@FreeBSD.org>

Merge VT(9) project (a.k.a. newcons).

Reviewed by: nwhitehorn
MFC_to_10_after: re approval

Sponsored by: The FreeBSD Foundation


# 01655b85 25-Aug-2013 Jean-Sébastien Pédron <dumbbell@FreeBSD.org>

drm: Add missing bits to drmP.h, required by the Radeon driver

Some of the FreeBSD-specific definitions are moved to drm_os_freebsd.h.
But there's still work to do to clean it up and reduce the diff with
Linux' drmP.h.