mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git
synced 2026-04-23 05:56:14 -04:00
Merge drm/drm-next into drm-xe-next
Need to sync some header include that propagated through drm-intel-next. v2: After some changes in drm/drm-next Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
This commit is contained in:
@@ -1283,6 +1283,15 @@ struct drm_amdgpu_info_gpuvm_fault {
|
||||
#define AMDGPU_FAMILY_GC_11_5_0 150 /* GC 11.5.0 */
|
||||
#define AMDGPU_FAMILY_GC_12_0_0 152 /* GC 12.0.0 */
|
||||
|
||||
/* FIXME wrong namespace! */
|
||||
struct drm_color_ctm_3x4 {
|
||||
/*
|
||||
* Conversion matrix with 3x4 dimensions in S31.32 sign-magnitude
|
||||
* (not two's complement!) format.
|
||||
*/
|
||||
__u64 matrix[12];
|
||||
};
|
||||
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -846,14 +846,6 @@ struct drm_color_ctm {
|
||||
__u64 matrix[9];
|
||||
};
|
||||
|
||||
struct drm_color_ctm_3x4 {
|
||||
/*
|
||||
* Conversion matrix with 3x4 dimensions in S31.32 sign-magnitude
|
||||
* (not two's complement!) format.
|
||||
*/
|
||||
__u64 matrix[12];
|
||||
};
|
||||
|
||||
struct drm_color_lut {
|
||||
/*
|
||||
* Values are mapped linearly to 0.0 - 1.0 range, with 0x0 == 0.0 and
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note */
|
||||
/*
|
||||
* Copyright (C) 2020-2023 Intel Corporation
|
||||
* Copyright (C) 2020-2024 Intel Corporation
|
||||
*/
|
||||
|
||||
#ifndef __UAPI_IVPU_DRM_H__
|
||||
@@ -21,6 +21,10 @@ extern "C" {
|
||||
#define DRM_IVPU_BO_INFO 0x03
|
||||
#define DRM_IVPU_SUBMIT 0x05
|
||||
#define DRM_IVPU_BO_WAIT 0x06
|
||||
#define DRM_IVPU_METRIC_STREAMER_START 0x07
|
||||
#define DRM_IVPU_METRIC_STREAMER_STOP 0x08
|
||||
#define DRM_IVPU_METRIC_STREAMER_GET_DATA 0x09
|
||||
#define DRM_IVPU_METRIC_STREAMER_GET_INFO 0x0a
|
||||
|
||||
#define DRM_IOCTL_IVPU_GET_PARAM \
|
||||
DRM_IOWR(DRM_COMMAND_BASE + DRM_IVPU_GET_PARAM, struct drm_ivpu_param)
|
||||
@@ -40,6 +44,22 @@ extern "C" {
|
||||
#define DRM_IOCTL_IVPU_BO_WAIT \
|
||||
DRM_IOWR(DRM_COMMAND_BASE + DRM_IVPU_BO_WAIT, struct drm_ivpu_bo_wait)
|
||||
|
||||
#define DRM_IOCTL_IVPU_METRIC_STREAMER_START \
|
||||
DRM_IOWR(DRM_COMMAND_BASE + DRM_IVPU_METRIC_STREAMER_START, \
|
||||
struct drm_ivpu_metric_streamer_start)
|
||||
|
||||
#define DRM_IOCTL_IVPU_METRIC_STREAMER_STOP \
|
||||
DRM_IOW(DRM_COMMAND_BASE + DRM_IVPU_METRIC_STREAMER_STOP, \
|
||||
struct drm_ivpu_metric_streamer_stop)
|
||||
|
||||
#define DRM_IOCTL_IVPU_METRIC_STREAMER_GET_DATA \
|
||||
DRM_IOWR(DRM_COMMAND_BASE + DRM_IVPU_METRIC_STREAMER_GET_DATA, \
|
||||
struct drm_ivpu_metric_streamer_get_data)
|
||||
|
||||
#define DRM_IOCTL_IVPU_METRIC_STREAMER_GET_INFO \
|
||||
DRM_IOWR(DRM_COMMAND_BASE + DRM_IVPU_METRIC_STREAMER_GET_INFO, \
|
||||
struct drm_ivpu_metric_streamer_get_data)
|
||||
|
||||
/**
|
||||
* DOC: contexts
|
||||
*
|
||||
@@ -336,6 +356,53 @@ struct drm_ivpu_bo_wait {
|
||||
__u32 pad;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct drm_ivpu_metric_streamer_start - Start collecting metric data
|
||||
*/
|
||||
struct drm_ivpu_metric_streamer_start {
|
||||
/** @metric_group_mask: Indicates metric streamer instance */
|
||||
__u64 metric_group_mask;
|
||||
/** @sampling_period_ns: Sampling period in nanoseconds */
|
||||
__u64 sampling_period_ns;
|
||||
/**
|
||||
* @read_period_samples:
|
||||
*
|
||||
* Number of samples after which user space will try to read the data.
|
||||
* Reading the data after significantly longer period may cause data loss.
|
||||
*/
|
||||
__u32 read_period_samples;
|
||||
/** @sample_size: Returned size of a single sample in bytes */
|
||||
__u32 sample_size;
|
||||
/** @max_data_size: Returned max @data_size from %DRM_IOCTL_IVPU_METRIC_STREAMER_GET_DATA */
|
||||
__u32 max_data_size;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct drm_ivpu_metric_streamer_get_data - Copy collected metric data
|
||||
*/
|
||||
struct drm_ivpu_metric_streamer_get_data {
|
||||
/** @metric_group_mask: Indicates metric streamer instance */
|
||||
__u64 metric_group_mask;
|
||||
/** @buffer_ptr: A pointer to a destination for the copied data */
|
||||
__u64 buffer_ptr;
|
||||
/** @buffer_size: Size of the destination buffer */
|
||||
__u64 buffer_size;
|
||||
/**
|
||||
* @data_size: Returned size of copied metric data
|
||||
*
|
||||
* If the @buffer_size is zero, returns the amount of data ready to be copied.
|
||||
*/
|
||||
__u64 data_size;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct drm_ivpu_metric_streamer_stop - Stop collecting metric data
|
||||
*/
|
||||
struct drm_ivpu_metric_streamer_stop {
|
||||
/** @metric_group_mask: Indicates metric streamer instance */
|
||||
__u64 metric_group_mask;
|
||||
};
|
||||
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -42,6 +42,7 @@ extern "C" {
|
||||
#define DRM_V3D_PERFMON_DESTROY 0x09
|
||||
#define DRM_V3D_PERFMON_GET_VALUES 0x0a
|
||||
#define DRM_V3D_SUBMIT_CPU 0x0b
|
||||
#define DRM_V3D_PERFMON_GET_COUNTER 0x0c
|
||||
|
||||
#define DRM_IOCTL_V3D_SUBMIT_CL DRM_IOWR(DRM_COMMAND_BASE + DRM_V3D_SUBMIT_CL, struct drm_v3d_submit_cl)
|
||||
#define DRM_IOCTL_V3D_WAIT_BO DRM_IOWR(DRM_COMMAND_BASE + DRM_V3D_WAIT_BO, struct drm_v3d_wait_bo)
|
||||
@@ -58,6 +59,8 @@ extern "C" {
|
||||
#define DRM_IOCTL_V3D_PERFMON_GET_VALUES DRM_IOWR(DRM_COMMAND_BASE + DRM_V3D_PERFMON_GET_VALUES, \
|
||||
struct drm_v3d_perfmon_get_values)
|
||||
#define DRM_IOCTL_V3D_SUBMIT_CPU DRM_IOW(DRM_COMMAND_BASE + DRM_V3D_SUBMIT_CPU, struct drm_v3d_submit_cpu)
|
||||
#define DRM_IOCTL_V3D_PERFMON_GET_COUNTER DRM_IOWR(DRM_COMMAND_BASE + DRM_V3D_PERFMON_GET_COUNTER, \
|
||||
struct drm_v3d_perfmon_get_counter)
|
||||
|
||||
#define DRM_V3D_SUBMIT_CL_FLUSH_CACHE 0x01
|
||||
#define DRM_V3D_SUBMIT_EXTENSION 0x02
|
||||
@@ -286,6 +289,7 @@ enum drm_v3d_param {
|
||||
DRM_V3D_PARAM_SUPPORTS_PERFMON,
|
||||
DRM_V3D_PARAM_SUPPORTS_MULTISYNC_EXT,
|
||||
DRM_V3D_PARAM_SUPPORTS_CPU_QUEUE,
|
||||
DRM_V3D_PARAM_MAX_PERF_COUNTERS,
|
||||
};
|
||||
|
||||
struct drm_v3d_get_param {
|
||||
@@ -599,6 +603,16 @@ struct drm_v3d_submit_cpu {
|
||||
__u64 extensions;
|
||||
};
|
||||
|
||||
/* The performance counters index represented by this enum are deprecated and
|
||||
* must no longer be used. These counters are only valid for V3D 4.2.
|
||||
*
|
||||
* In order to check for performance counter information,
|
||||
* use DRM_IOCTL_V3D_PERFMON_GET_COUNTER.
|
||||
*
|
||||
* Don't use V3D_PERFCNT_NUM to retrieve the maximum number of performance
|
||||
* counters. You should use DRM_IOCTL_V3D_GET_PARAM with the following
|
||||
* parameter: DRM_V3D_PARAM_MAX_PERF_COUNTERS.
|
||||
*/
|
||||
enum {
|
||||
V3D_PERFCNT_FEP_VALID_PRIMTS_NO_PIXELS,
|
||||
V3D_PERFCNT_FEP_VALID_PRIMS,
|
||||
@@ -717,6 +731,40 @@ struct drm_v3d_perfmon_get_values {
|
||||
__u64 values_ptr;
|
||||
};
|
||||
|
||||
#define DRM_V3D_PERFCNT_MAX_NAME 64
|
||||
#define DRM_V3D_PERFCNT_MAX_CATEGORY 32
|
||||
#define DRM_V3D_PERFCNT_MAX_DESCRIPTION 256
|
||||
|
||||
/**
|
||||
* struct drm_v3d_perfmon_get_counter - ioctl to get the description of a
|
||||
* performance counter
|
||||
*
|
||||
* As userspace needs to retrieve information about the performance counters
|
||||
* available, this IOCTL allows users to get information about a performance
|
||||
* counter (name, category and description).
|
||||
*/
|
||||
struct drm_v3d_perfmon_get_counter {
|
||||
/*
|
||||
* Counter ID
|
||||
*
|
||||
* Must be smaller than the maximum number of performance counters, which
|
||||
* can be retrieve through DRM_V3D_PARAM_MAX_PERF_COUNTERS.
|
||||
*/
|
||||
__u8 counter;
|
||||
|
||||
/* Name of the counter */
|
||||
__u8 name[DRM_V3D_PERFCNT_MAX_NAME];
|
||||
|
||||
/* Category of the counter */
|
||||
__u8 category[DRM_V3D_PERFCNT_MAX_CATEGORY];
|
||||
|
||||
/* Description of the counter */
|
||||
__u8 description[DRM_V3D_PERFCNT_MAX_DESCRIPTION];
|
||||
|
||||
/* mbz */
|
||||
__u8 reserved[7];
|
||||
};
|
||||
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user