freebsd-nq/sys/dev/drm2
John Baldwin bc153c692f Add a new bus method to fetch device-specific CPU sets.
bus_get_cpus() returns a specified set of CPUs for a device.  It accepts
an enum for the second parameter that indicates the type of cpuset to
request.  Currently two valus are supported:

 - LOCAL_CPUS (on x86 this returns all the CPUs in the package closest to
   the device when DEVICE_NUMA is enabled)
 - INTR_CPUS (like LOCAL_CPUS but only returns 1 SMT thread for each core)

For systems that do not support NUMA (or if it is not enabled in the kernel
config), LOCAL_CPUS fails with EINVAL.  INTR_CPUS is mapped to 'all_cpus'
by default.  The idea is that INTR_CPUS should always return a valid set.

Device drivers which want to use per-CPU interrupts should start using
INTR_CPUS instead of simply assigning interrupts to all available CPUs.
In the future we may wish to add tunables to control the policy of
INTR_CPUS (e.g. should it be local-only or global, should it ignore
SMT threads or not).

The x86 nexus driver exposes the internal set of interrupt CPUs from the
the x86 interrupt code via INTR_CPUS.

The ACPI bus driver and PCI bridge drivers use _PXM to return a suitable
LOCAL_CPUS set when _PXM exists and DEVICE_NUMA is enabled.  They also and
the global INTR_CPUS set from the nexus driver with the per-domain set from
_PXM to generate a local INTR_CPUS set for child devices.

Reviewed by:	wblock (manpage)
Differential Revision:	https://reviews.freebsd.org/D5519
2016-05-02 18:00:38 +00:00
..
i915 Add a new bus method to fetch device-specific CPU sets. 2016-05-02 18:00:38 +00:00
radeon etc: minor spelling fixes. 2016-05-02 16:47:28 +00:00
ttm etc: minor spelling fixes. 2016-05-02 16:47:28 +00:00
ati_pcigart.c drm: Update the device-independent code to match Linux 3.8.13 2015-03-17 18:50:33 +00:00
drm_agpsupport.c drm: Update the device-independent code to match Linux 3.8.13 2015-03-17 18:50:33 +00:00
drm_atomic.h drm/i915: Update to match Linux 3.8.13 2016-03-08 20:33:02 +00:00
drm_auth.c drm: Update the device-independent code to match Linux 3.8.13 2015-03-17 18:50:33 +00:00
drm_buffer.c drm: Update the device-independent code to match Linux 3.8.13 2015-03-17 18:50:33 +00:00
drm_buffer.h
drm_bufs.c Add a new file operations hook for mmap operations. File type-specific 2015-06-04 19:41:15 +00:00
drm_context.c drm: Update the device-independent code to match Linux 3.8.13 2015-03-17 18:50:33 +00:00
drm_core.h
drm_crtc_helper.c drm: Import Linux commit 9bc3cd5673d84d29272fa7181a4dfca83cbb48c1 2015-03-29 18:45:51 +00:00
drm_crtc_helper.h drm: Update the device-independent code to match Linux 3.8.13 2015-03-17 18:50:33 +00:00
drm_crtc.c drm: Revert the part of r288653 about M_WAITOK vs M_NOWAIT 2016-01-13 20:35:02 +00:00
drm_crtc.h drm: Update the device-independent code to match Linux 3.8.13 2015-03-17 18:50:33 +00:00
drm_dma.c drm: Update the device-independent code to match Linux 3.8.13 2015-03-17 18:50:33 +00:00
drm_dp_helper.c drm: Update the device-independent code to match Linux 3.8.13 2015-03-17 18:50:33 +00:00
drm_dp_helper.h
drm_dp_iic_helper.c Add a new bus method to fetch device-specific CPU sets. 2016-05-02 18:00:38 +00:00
drm_drv.c drm: Fix dev->ioctl_count references leak 2016-03-11 18:59:15 +00:00
drm_edid_modes.h drm: Update the device-independent code to match Linux 3.8.13 2015-03-17 18:50:33 +00:00
drm_edid.c drm2(4): Fix double-free in low-memory error path 2016-04-20 03:45:45 +00:00
drm_edid.h drm: Update the device-independent code to match Linux 3.8.13 2015-03-17 18:50:33 +00:00
drm_fb_helper.c Remove taskqueue_enqueue_fast(). 2016-03-01 17:47:32 +00:00
drm_fb_helper.h drm: Update the device-independent code to match Linux 3.8.13 2015-03-17 18:50:33 +00:00
drm_fixed.h
drm_fops.c drm2: a few minor fixes after r280183 2015-10-04 07:45:36 +00:00
drm_fourcc.h drm: Update the device-independent code to match Linux 3.8.13 2015-03-17 18:50:33 +00:00
drm_gem_names.c drm: Update the device-independent code to match Linux 3.8.13 2015-03-17 18:50:33 +00:00
drm_gem_names.h
drm_gem.c drm: Update the device-independent code to match Linux 3.8.13 2015-03-17 18:50:33 +00:00
drm_global.c drm: Update the device-independent code to match Linux 3.8.13 2015-03-17 18:50:33 +00:00
drm_global.h
drm_hashtab.c drm: Update the device-independent code to match Linux 3.8.13 2015-03-17 18:50:33 +00:00
drm_hashtab.h
drm_ioc32.c drm: Update the device-independent code to match Linux 3.8.13 2015-03-17 18:50:33 +00:00
drm_ioctl.c drm: Update the device-independent code to match Linux 3.8.13 2015-03-17 18:50:33 +00:00
drm_irq.c CALLOUT_MPSAFE has lost its meaning since r141428, i.e., for more than ten 2015-05-22 17:05:21 +00:00
drm_linux_list_sort.c
drm_linux_list.h drm/i915: Update to match Linux 3.8.13 2016-03-08 20:33:02 +00:00
drm_lock.c Hide an unused in FreeBSD function behind #ifdef linux to get rid of 2015-09-22 15:32:27 +00:00
drm_mem_util.h drm/i915: Update to match Linux 3.8.13 2016-03-08 20:33:02 +00:00
drm_memory.c drm: Update the device-independent code to match Linux 3.8.13 2015-03-17 18:50:33 +00:00
drm_mm.c drm: Update the device-independent code to match Linux 3.8.13 2015-03-17 18:50:33 +00:00
drm_mm.h drm: Update the device-independent code to match Linux 3.8.13 2015-03-17 18:50:33 +00:00
drm_mode.h drm: Update the device-independent code to match Linux 3.8.13 2015-03-17 18:50:33 +00:00
drm_modes.c drm: Import Linux commit 9bc3cd5673d84d29272fa7181a4dfca83cbb48c1 2015-03-29 18:45:51 +00:00
drm_os_freebsd.c drm/i915: Update to match Linux 3.8.13 2016-03-08 20:33:02 +00:00
drm_os_freebsd.h drm/i915: Update to match Linux 3.8.13 2016-03-08 20:33:02 +00:00
drm_pci.c drm: Revert the part of r288653 about M_WAITOK vs M_NOWAIT 2016-01-13 20:35:02 +00:00
drm_pciids.h drm/i915: Update to match Linux 3.8.13 2016-03-08 20:33:02 +00:00
drm_sarea.h drm: Update the device-independent code to match Linux 3.8.13 2015-03-17 18:50:33 +00:00
drm_scatter.c drm: Update the device-independent code to match Linux 3.8.13 2015-03-17 18:50:33 +00:00
drm_stub.c drm2: a few minor fixes after r280183 2015-10-04 07:45:36 +00:00
drm_sysctl.c drm: Update the device-independent code to match Linux 3.8.13 2015-03-17 18:50:33 +00:00
drm_vm.c drm: Update the device-independent code to match Linux 3.8.13 2015-03-17 18:50:33 +00:00
drm.h drm: Update the device-independent code to match Linux 3.8.13 2015-03-17 18:50:33 +00:00
drmP.h drm/i915: Update to match Linux 3.8.13 2016-03-08 20:33:02 +00:00