From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
patches@lists.linux.dev,
Jonathan Cavitt <jonathan.cavitt@intel.com>,
Ashutosh Dixit <ashutosh.dixit@intel.com>,
Sasha Levin <sashal@kernel.org>
Subject: [PATCH 6.12 045/150] drm/xe/oa: Move functions up so they can be reused for config ioctl
Date: Wed, 5 Mar 2025 18:47:54 +0100 [thread overview]
Message-ID: <20250305174505.634288514@linuxfoundation.org> (raw)
In-Reply-To: <20250305174503.801402104@linuxfoundation.org>
6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Ashutosh Dixit <ashutosh.dixit@intel.com>
[ Upstream commit cc4e6994d5a237ef38363e459ac83cf8ef7626ff ]
No code changes, only code movement so that functions used during stream
open can be reused for the stream reconfiguration
ioctl (DRM_XE_OBSERVATION_IOCTL_CONFIG).
Reviewed-by: Jonathan Cavitt <jonathan.cavitt@intel.com>
Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20241022200352.1192560-6-ashutosh.dixit@intel.com
Stable-dep-of: 5bd566703e16 ("drm/xe/oa: Allow oa_exponent value of 0")
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/gpu/drm/xe/xe_oa.c | 458 ++++++++++++++++++-------------------
1 file changed, 229 insertions(+), 229 deletions(-)
diff --git a/drivers/gpu/drm/xe/xe_oa.c b/drivers/gpu/drm/xe/xe_oa.c
index a54098c1a944a..dd541b62942f8 100644
--- a/drivers/gpu/drm/xe/xe_oa.c
+++ b/drivers/gpu/drm/xe/xe_oa.c
@@ -1091,6 +1091,235 @@ static int xe_oa_enable_metric_set(struct xe_oa_stream *stream)
return xe_oa_emit_oa_config(stream, stream->oa_config);
}
+static int decode_oa_format(struct xe_oa *oa, u64 fmt, enum xe_oa_format_name *name)
+{
+ u32 counter_size = FIELD_GET(DRM_XE_OA_FORMAT_MASK_COUNTER_SIZE, fmt);
+ u32 counter_sel = FIELD_GET(DRM_XE_OA_FORMAT_MASK_COUNTER_SEL, fmt);
+ u32 bc_report = FIELD_GET(DRM_XE_OA_FORMAT_MASK_BC_REPORT, fmt);
+ u32 type = FIELD_GET(DRM_XE_OA_FORMAT_MASK_FMT_TYPE, fmt);
+ int idx;
+
+ for_each_set_bit(idx, oa->format_mask, __XE_OA_FORMAT_MAX) {
+ const struct xe_oa_format *f = &oa->oa_formats[idx];
+
+ if (counter_size == f->counter_size && bc_report == f->bc_report &&
+ type == f->type && counter_sel == f->counter_select) {
+ *name = idx;
+ return 0;
+ }
+ }
+
+ return -EINVAL;
+}
+
+static int xe_oa_set_prop_oa_unit_id(struct xe_oa *oa, u64 value,
+ struct xe_oa_open_param *param)
+{
+ if (value >= oa->oa_unit_ids) {
+ drm_dbg(&oa->xe->drm, "OA unit ID out of range %lld\n", value);
+ return -EINVAL;
+ }
+ param->oa_unit_id = value;
+ return 0;
+}
+
+static int xe_oa_set_prop_sample_oa(struct xe_oa *oa, u64 value,
+ struct xe_oa_open_param *param)
+{
+ param->sample = value;
+ return 0;
+}
+
+static int xe_oa_set_prop_metric_set(struct xe_oa *oa, u64 value,
+ struct xe_oa_open_param *param)
+{
+ param->metric_set = value;
+ return 0;
+}
+
+static int xe_oa_set_prop_oa_format(struct xe_oa *oa, u64 value,
+ struct xe_oa_open_param *param)
+{
+ int ret = decode_oa_format(oa, value, ¶m->oa_format);
+
+ if (ret) {
+ drm_dbg(&oa->xe->drm, "Unsupported OA report format %#llx\n", value);
+ return ret;
+ }
+ return 0;
+}
+
+static int xe_oa_set_prop_oa_exponent(struct xe_oa *oa, u64 value,
+ struct xe_oa_open_param *param)
+{
+#define OA_EXPONENT_MAX 31
+
+ if (value > OA_EXPONENT_MAX) {
+ drm_dbg(&oa->xe->drm, "OA timer exponent too high (> %u)\n", OA_EXPONENT_MAX);
+ return -EINVAL;
+ }
+ param->period_exponent = value;
+ return 0;
+}
+
+static int xe_oa_set_prop_disabled(struct xe_oa *oa, u64 value,
+ struct xe_oa_open_param *param)
+{
+ param->disabled = value;
+ return 0;
+}
+
+static int xe_oa_set_prop_exec_queue_id(struct xe_oa *oa, u64 value,
+ struct xe_oa_open_param *param)
+{
+ param->exec_queue_id = value;
+ return 0;
+}
+
+static int xe_oa_set_prop_engine_instance(struct xe_oa *oa, u64 value,
+ struct xe_oa_open_param *param)
+{
+ param->engine_instance = value;
+ return 0;
+}
+
+static int xe_oa_set_no_preempt(struct xe_oa *oa, u64 value,
+ struct xe_oa_open_param *param)
+{
+ param->no_preempt = value;
+ return 0;
+}
+
+static int xe_oa_set_prop_num_syncs(struct xe_oa *oa, u64 value,
+ struct xe_oa_open_param *param)
+{
+ param->num_syncs = value;
+ return 0;
+}
+
+static int xe_oa_set_prop_syncs_user(struct xe_oa *oa, u64 value,
+ struct xe_oa_open_param *param)
+{
+ param->syncs_user = u64_to_user_ptr(value);
+ return 0;
+}
+
+typedef int (*xe_oa_set_property_fn)(struct xe_oa *oa, u64 value,
+ struct xe_oa_open_param *param);
+static const xe_oa_set_property_fn xe_oa_set_property_funcs[] = {
+ [DRM_XE_OA_PROPERTY_OA_UNIT_ID] = xe_oa_set_prop_oa_unit_id,
+ [DRM_XE_OA_PROPERTY_SAMPLE_OA] = xe_oa_set_prop_sample_oa,
+ [DRM_XE_OA_PROPERTY_OA_METRIC_SET] = xe_oa_set_prop_metric_set,
+ [DRM_XE_OA_PROPERTY_OA_FORMAT] = xe_oa_set_prop_oa_format,
+ [DRM_XE_OA_PROPERTY_OA_PERIOD_EXPONENT] = xe_oa_set_prop_oa_exponent,
+ [DRM_XE_OA_PROPERTY_OA_DISABLED] = xe_oa_set_prop_disabled,
+ [DRM_XE_OA_PROPERTY_EXEC_QUEUE_ID] = xe_oa_set_prop_exec_queue_id,
+ [DRM_XE_OA_PROPERTY_OA_ENGINE_INSTANCE] = xe_oa_set_prop_engine_instance,
+ [DRM_XE_OA_PROPERTY_NO_PREEMPT] = xe_oa_set_no_preempt,
+ [DRM_XE_OA_PROPERTY_NUM_SYNCS] = xe_oa_set_prop_num_syncs,
+ [DRM_XE_OA_PROPERTY_SYNCS] = xe_oa_set_prop_syncs_user,
+};
+
+static int xe_oa_user_ext_set_property(struct xe_oa *oa, u64 extension,
+ struct xe_oa_open_param *param)
+{
+ u64 __user *address = u64_to_user_ptr(extension);
+ struct drm_xe_ext_set_property ext;
+ int err;
+ u32 idx;
+
+ err = __copy_from_user(&ext, address, sizeof(ext));
+ if (XE_IOCTL_DBG(oa->xe, err))
+ return -EFAULT;
+
+ if (XE_IOCTL_DBG(oa->xe, ext.property >= ARRAY_SIZE(xe_oa_set_property_funcs)) ||
+ XE_IOCTL_DBG(oa->xe, ext.pad))
+ return -EINVAL;
+
+ idx = array_index_nospec(ext.property, ARRAY_SIZE(xe_oa_set_property_funcs));
+ return xe_oa_set_property_funcs[idx](oa, ext.value, param);
+}
+
+typedef int (*xe_oa_user_extension_fn)(struct xe_oa *oa, u64 extension,
+ struct xe_oa_open_param *param);
+static const xe_oa_user_extension_fn xe_oa_user_extension_funcs[] = {
+ [DRM_XE_OA_EXTENSION_SET_PROPERTY] = xe_oa_user_ext_set_property,
+};
+
+#define MAX_USER_EXTENSIONS 16
+static int xe_oa_user_extensions(struct xe_oa *oa, u64 extension, int ext_number,
+ struct xe_oa_open_param *param)
+{
+ u64 __user *address = u64_to_user_ptr(extension);
+ struct drm_xe_user_extension ext;
+ int err;
+ u32 idx;
+
+ if (XE_IOCTL_DBG(oa->xe, ext_number >= MAX_USER_EXTENSIONS))
+ return -E2BIG;
+
+ err = __copy_from_user(&ext, address, sizeof(ext));
+ if (XE_IOCTL_DBG(oa->xe, err))
+ return -EFAULT;
+
+ if (XE_IOCTL_DBG(oa->xe, ext.pad) ||
+ XE_IOCTL_DBG(oa->xe, ext.name >= ARRAY_SIZE(xe_oa_user_extension_funcs)))
+ return -EINVAL;
+
+ idx = array_index_nospec(ext.name, ARRAY_SIZE(xe_oa_user_extension_funcs));
+ err = xe_oa_user_extension_funcs[idx](oa, extension, param);
+ if (XE_IOCTL_DBG(oa->xe, err))
+ return err;
+
+ if (ext.next_extension)
+ return xe_oa_user_extensions(oa, ext.next_extension, ++ext_number, param);
+
+ return 0;
+}
+
+static int xe_oa_parse_syncs(struct xe_oa *oa, struct xe_oa_open_param *param)
+{
+ int ret, num_syncs, num_ufence = 0;
+
+ if (param->num_syncs && !param->syncs_user) {
+ drm_dbg(&oa->xe->drm, "num_syncs specified without sync array\n");
+ ret = -EINVAL;
+ goto exit;
+ }
+
+ if (param->num_syncs) {
+ param->syncs = kcalloc(param->num_syncs, sizeof(*param->syncs), GFP_KERNEL);
+ if (!param->syncs) {
+ ret = -ENOMEM;
+ goto exit;
+ }
+ }
+
+ for (num_syncs = 0; num_syncs < param->num_syncs; num_syncs++) {
+ ret = xe_sync_entry_parse(oa->xe, param->xef, ¶m->syncs[num_syncs],
+ ¶m->syncs_user[num_syncs], 0);
+ if (ret)
+ goto err_syncs;
+
+ if (xe_sync_is_ufence(¶m->syncs[num_syncs]))
+ num_ufence++;
+ }
+
+ if (XE_IOCTL_DBG(oa->xe, num_ufence > 1)) {
+ ret = -EINVAL;
+ goto err_syncs;
+ }
+
+ return 0;
+
+err_syncs:
+ while (num_syncs--)
+ xe_sync_entry_cleanup(¶m->syncs[num_syncs]);
+ kfree(param->syncs);
+exit:
+ return ret;
+}
+
static void xe_oa_stream_enable(struct xe_oa_stream *stream)
{
stream->pollin = false;
@@ -1664,27 +1893,6 @@ static bool engine_supports_oa_format(const struct xe_hw_engine *hwe, int type)
}
}
-static int decode_oa_format(struct xe_oa *oa, u64 fmt, enum xe_oa_format_name *name)
-{
- u32 counter_size = FIELD_GET(DRM_XE_OA_FORMAT_MASK_COUNTER_SIZE, fmt);
- u32 counter_sel = FIELD_GET(DRM_XE_OA_FORMAT_MASK_COUNTER_SEL, fmt);
- u32 bc_report = FIELD_GET(DRM_XE_OA_FORMAT_MASK_BC_REPORT, fmt);
- u32 type = FIELD_GET(DRM_XE_OA_FORMAT_MASK_FMT_TYPE, fmt);
- int idx;
-
- for_each_set_bit(idx, oa->format_mask, __XE_OA_FORMAT_MAX) {
- const struct xe_oa_format *f = &oa->oa_formats[idx];
-
- if (counter_size == f->counter_size && bc_report == f->bc_report &&
- type == f->type && counter_sel == f->counter_select) {
- *name = idx;
- return 0;
- }
- }
-
- return -EINVAL;
-}
-
/**
* xe_oa_unit_id - Return OA unit ID for a hardware engine
* @hwe: @xe_hw_engine
@@ -1731,214 +1939,6 @@ static int xe_oa_assign_hwe(struct xe_oa *oa, struct xe_oa_open_param *param)
return ret;
}
-static int xe_oa_set_prop_oa_unit_id(struct xe_oa *oa, u64 value,
- struct xe_oa_open_param *param)
-{
- if (value >= oa->oa_unit_ids) {
- drm_dbg(&oa->xe->drm, "OA unit ID out of range %lld\n", value);
- return -EINVAL;
- }
- param->oa_unit_id = value;
- return 0;
-}
-
-static int xe_oa_set_prop_sample_oa(struct xe_oa *oa, u64 value,
- struct xe_oa_open_param *param)
-{
- param->sample = value;
- return 0;
-}
-
-static int xe_oa_set_prop_metric_set(struct xe_oa *oa, u64 value,
- struct xe_oa_open_param *param)
-{
- param->metric_set = value;
- return 0;
-}
-
-static int xe_oa_set_prop_oa_format(struct xe_oa *oa, u64 value,
- struct xe_oa_open_param *param)
-{
- int ret = decode_oa_format(oa, value, ¶m->oa_format);
-
- if (ret) {
- drm_dbg(&oa->xe->drm, "Unsupported OA report format %#llx\n", value);
- return ret;
- }
- return 0;
-}
-
-static int xe_oa_set_prop_oa_exponent(struct xe_oa *oa, u64 value,
- struct xe_oa_open_param *param)
-{
-#define OA_EXPONENT_MAX 31
-
- if (value > OA_EXPONENT_MAX) {
- drm_dbg(&oa->xe->drm, "OA timer exponent too high (> %u)\n", OA_EXPONENT_MAX);
- return -EINVAL;
- }
- param->period_exponent = value;
- return 0;
-}
-
-static int xe_oa_set_prop_disabled(struct xe_oa *oa, u64 value,
- struct xe_oa_open_param *param)
-{
- param->disabled = value;
- return 0;
-}
-
-static int xe_oa_set_prop_exec_queue_id(struct xe_oa *oa, u64 value,
- struct xe_oa_open_param *param)
-{
- param->exec_queue_id = value;
- return 0;
-}
-
-static int xe_oa_set_prop_engine_instance(struct xe_oa *oa, u64 value,
- struct xe_oa_open_param *param)
-{
- param->engine_instance = value;
- return 0;
-}
-
-static int xe_oa_set_no_preempt(struct xe_oa *oa, u64 value,
- struct xe_oa_open_param *param)
-{
- param->no_preempt = value;
- return 0;
-}
-
-static int xe_oa_set_prop_num_syncs(struct xe_oa *oa, u64 value,
- struct xe_oa_open_param *param)
-{
- param->num_syncs = value;
- return 0;
-}
-
-static int xe_oa_set_prop_syncs_user(struct xe_oa *oa, u64 value,
- struct xe_oa_open_param *param)
-{
- param->syncs_user = u64_to_user_ptr(value);
- return 0;
-}
-
-typedef int (*xe_oa_set_property_fn)(struct xe_oa *oa, u64 value,
- struct xe_oa_open_param *param);
-static const xe_oa_set_property_fn xe_oa_set_property_funcs[] = {
- [DRM_XE_OA_PROPERTY_OA_UNIT_ID] = xe_oa_set_prop_oa_unit_id,
- [DRM_XE_OA_PROPERTY_SAMPLE_OA] = xe_oa_set_prop_sample_oa,
- [DRM_XE_OA_PROPERTY_OA_METRIC_SET] = xe_oa_set_prop_metric_set,
- [DRM_XE_OA_PROPERTY_OA_FORMAT] = xe_oa_set_prop_oa_format,
- [DRM_XE_OA_PROPERTY_OA_PERIOD_EXPONENT] = xe_oa_set_prop_oa_exponent,
- [DRM_XE_OA_PROPERTY_OA_DISABLED] = xe_oa_set_prop_disabled,
- [DRM_XE_OA_PROPERTY_EXEC_QUEUE_ID] = xe_oa_set_prop_exec_queue_id,
- [DRM_XE_OA_PROPERTY_OA_ENGINE_INSTANCE] = xe_oa_set_prop_engine_instance,
- [DRM_XE_OA_PROPERTY_NO_PREEMPT] = xe_oa_set_no_preempt,
- [DRM_XE_OA_PROPERTY_NUM_SYNCS] = xe_oa_set_prop_num_syncs,
- [DRM_XE_OA_PROPERTY_SYNCS] = xe_oa_set_prop_syncs_user,
-};
-
-static int xe_oa_user_ext_set_property(struct xe_oa *oa, u64 extension,
- struct xe_oa_open_param *param)
-{
- u64 __user *address = u64_to_user_ptr(extension);
- struct drm_xe_ext_set_property ext;
- int err;
- u32 idx;
-
- err = __copy_from_user(&ext, address, sizeof(ext));
- if (XE_IOCTL_DBG(oa->xe, err))
- return -EFAULT;
-
- if (XE_IOCTL_DBG(oa->xe, ext.property >= ARRAY_SIZE(xe_oa_set_property_funcs)) ||
- XE_IOCTL_DBG(oa->xe, ext.pad))
- return -EINVAL;
-
- idx = array_index_nospec(ext.property, ARRAY_SIZE(xe_oa_set_property_funcs));
- return xe_oa_set_property_funcs[idx](oa, ext.value, param);
-}
-
-typedef int (*xe_oa_user_extension_fn)(struct xe_oa *oa, u64 extension,
- struct xe_oa_open_param *param);
-static const xe_oa_user_extension_fn xe_oa_user_extension_funcs[] = {
- [DRM_XE_OA_EXTENSION_SET_PROPERTY] = xe_oa_user_ext_set_property,
-};
-
-#define MAX_USER_EXTENSIONS 16
-static int xe_oa_user_extensions(struct xe_oa *oa, u64 extension, int ext_number,
- struct xe_oa_open_param *param)
-{
- u64 __user *address = u64_to_user_ptr(extension);
- struct drm_xe_user_extension ext;
- int err;
- u32 idx;
-
- if (XE_IOCTL_DBG(oa->xe, ext_number >= MAX_USER_EXTENSIONS))
- return -E2BIG;
-
- err = __copy_from_user(&ext, address, sizeof(ext));
- if (XE_IOCTL_DBG(oa->xe, err))
- return -EFAULT;
-
- if (XE_IOCTL_DBG(oa->xe, ext.pad) ||
- XE_IOCTL_DBG(oa->xe, ext.name >= ARRAY_SIZE(xe_oa_user_extension_funcs)))
- return -EINVAL;
-
- idx = array_index_nospec(ext.name, ARRAY_SIZE(xe_oa_user_extension_funcs));
- err = xe_oa_user_extension_funcs[idx](oa, extension, param);
- if (XE_IOCTL_DBG(oa->xe, err))
- return err;
-
- if (ext.next_extension)
- return xe_oa_user_extensions(oa, ext.next_extension, ++ext_number, param);
-
- return 0;
-}
-
-static int xe_oa_parse_syncs(struct xe_oa *oa, struct xe_oa_open_param *param)
-{
- int ret, num_syncs, num_ufence = 0;
-
- if (param->num_syncs && !param->syncs_user) {
- drm_dbg(&oa->xe->drm, "num_syncs specified without sync array\n");
- ret = -EINVAL;
- goto exit;
- }
-
- if (param->num_syncs) {
- param->syncs = kcalloc(param->num_syncs, sizeof(*param->syncs), GFP_KERNEL);
- if (!param->syncs) {
- ret = -ENOMEM;
- goto exit;
- }
- }
-
- for (num_syncs = 0; num_syncs < param->num_syncs; num_syncs++) {
- ret = xe_sync_entry_parse(oa->xe, param->xef, ¶m->syncs[num_syncs],
- ¶m->syncs_user[num_syncs], 0);
- if (ret)
- goto err_syncs;
-
- if (xe_sync_is_ufence(¶m->syncs[num_syncs]))
- num_ufence++;
- }
-
- if (XE_IOCTL_DBG(oa->xe, num_ufence > 1)) {
- ret = -EINVAL;
- goto err_syncs;
- }
-
- return 0;
-
-err_syncs:
- while (num_syncs--)
- xe_sync_entry_cleanup(¶m->syncs[num_syncs]);
- kfree(param->syncs);
-exit:
- return ret;
-}
-
/**
* xe_oa_stream_open_ioctl - Opens an OA stream
* @dev: @drm_device
--
2.39.5
next prev parent reply other threads:[~2025-03-05 18:08 UTC|newest]
Thread overview: 163+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-05 17:47 [PATCH 6.12 000/150] 6.12.18-rc1 review Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.12 001/150] RDMA/mlx5: Fix the recovery flow of the UMR QP Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.12 002/150] IB/mlx5: Set and get correct qp_num for a DCT QP Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.12 003/150] RDMA/mlx5: Fix a race for DMABUF MR which can lead to CQE with error Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.12 004/150] RDMA/mlx5: Fix a WARN during dereg_mr for DM type Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.12 005/150] RDMA/mana_ib: Allocate PAGE aligned doorbell index Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.12 006/150] RDMA/hns: Fix mbox timing out by adding retry mechanism Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.12 007/150] RDMA/bnxt_re: Fail probe early when not enough MSI-x vectors are reserved Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.12 008/150] RDMA/bnxt_re: Refactor NQ allocation Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.12 009/150] RDMA/bnxt_re: Cache MSIx info to a local structure Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.12 010/150] RDMA/bnxt_re: Add sanity checks on rdev validity Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.12 011/150] RDMA/bnxt_re: Allocate dev_attr information dynamically Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.12 012/150] RDMA/bnxt_re: Fix the statistics for Gen P7 VF Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.12 013/150] landlock: Fix non-TCP sockets restriction Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.12 014/150] scsi: ufs: core: Fix ufshcd_is_ufs_dev_busy() and ufshcd_eh_timed_out() Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.12 015/150] ovl: fix UAF in ovl_dentry_update_reval by moving dput() in ovl_link_up Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.12 016/150] NFS: O_DIRECT writes must check and adjust the file length Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.12 017/150] NFS: Adjust delegated timestamps for O_DIRECT reads and writes Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.12 018/150] SUNRPC: Prevent looping due to rpc_signal_task() races Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.12 019/150] NFSv4: Fix a deadlock when recovering state on a sillyrenamed file Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.12 020/150] SUNRPC: Handle -ETIMEDOUT return from tlshd Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.12 021/150] RDMA/mlx5: Fix implicit ODP hang on parent deregistration Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.12 022/150] RDMA/mlx5: Fix AH static rate parsing Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.12 023/150] scsi: core: Clear driver private data when retrying request Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.12 024/150] scsi: ufs: core: Set default runtime/system PM levels before ufshcd_hba_init() Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.12 025/150] RDMA/mlx5: Fix bind QP error cleanup flow Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.12 026/150] RDMA/bnxt_re: Fix the page details for the srq created by kernel consumers Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.12 027/150] sunrpc: suppress warnings for unused procfs functions Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.12 028/150] ALSA: usb-audio: Avoid dropping MIDI events at closing multiple ports Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.12 029/150] Bluetooth: L2CAP: Fix L2CAP_ECRED_CONN_RSP response Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.12 030/150] rxrpc: rxperf: Fix missing decoding of terminal magic cookie Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.12 031/150] afs: Fix the server_list to unuse a displaced server rather than putting it Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.12 032/150] afs: Give an afs_server object a ref on the afs_cell object it points to Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.12 033/150] net: loopback: Avoid sending IP packets without an Ethernet header Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.12 034/150] net: set the minimum for net_hotdata.netdev_budget_usecs Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.12 035/150] ipv4: Convert icmp_route_lookup() to dscp_t Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.12 036/150] ipv4: Convert ip_route_input() " Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.12 037/150] ipvlan: Prepare ipvlan_process_v4_outbound() to future .flowi4_tos conversion Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.12 038/150] ipvlan: ensure network headers are in skb linear part Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.12 039/150] net: cadence: macb: Synchronize stats calculations Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.12 040/150] net: dsa: rtl8366rb: Fix compilation problem Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.12 041/150] ASoC: es8328: fix route from DAC to output Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.12 042/150] ASoC: fsl: Rename stream name of SAI DAI driver Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.12 043/150] ipvs: Always clear ipvs_property flag in skb_scrub_packet() Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.12 044/150] drm/xe/oa: Signal output fences Greg Kroah-Hartman
2025-03-05 17:47 ` Greg Kroah-Hartman [this message]
2025-03-05 17:47 ` [PATCH 6.12 046/150] drm/xe/oa: Add syncs support to OA config ioctl Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.12 047/150] drm/xe/oa: Allow only certain property changes from config Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.12 048/150] drm/xe/oa: Allow oa_exponent value of 0 Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.12 049/150] firmware: cs_dsp: Remove async regmap writes Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.12 050/150] ASoC: cs35l56: Prevent races when soft-resetting using SPI control Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.12 051/150] ALSA: hda/realtek: Fix wrong mic setup for ASUS VivoBook 15 Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.12 052/150] net: ethernet: ti: am65-cpsw: select PAGE_POOL Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.12 053/150] tcp: devmem: dont write truncated dmabuf CMSGs to userspace Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.12 054/150] ice: add E830 HW VF mailbox message limit support Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.12 055/150] ice: Fix deinitializing VF in error path Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.12 056/150] ice: Avoid setting default Rx VSI twice in switchdev setup Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.12 057/150] tcp: Defer ts_recent changes until req is owned Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.12 058/150] drm/xe: cancel pending job timer before freeing scheduler Greg Kroah-Hartman
2025-03-06 4:29 ` Matthew Brost
2025-03-06 13:32 ` Greg Kroah-Hartman
2025-03-07 6:14 ` Matthew Brost
2025-03-07 6:19 ` Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.12 059/150] net: Clear old fragment checksum value in napi_reuse_skb Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.12 060/150] net: mvpp2: cls: Fixed Non IP flow, with vlan tag flow defination Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.12 061/150] net/mlx5: IRQ, Fix null string in debug print Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.12 062/150] net: ipv6: fix dst ref loop on input in seg6 lwt Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.12 063/150] net: ipv6: fix dst ref loop on input in rpl lwt Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.12 064/150] selftests: drv-net: Check if combined-count exists Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.12 065/150] idpf: fix checksums set in idpf_rx_rsc() Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.12 066/150] net: ti: icss-iep: Reject perout generation request Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.12 067/150] thermal: gov_power_allocator: Fix incorrect calculation in divvy_up_power() Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.12 068/150] perf/core: Order the PMU list to fix warning about unordered pmu_ctx_list Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.12 069/150] uprobes: Reject the shared zeropage in uprobe_write_opcode() Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.12 070/150] thermal: of: Simplify thermal_of_should_bind with scoped for each OF child Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.12 071/150] thermal/of: Fix cdev lookup in thermal_of_should_bind() Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.12 072/150] thermal: core: Move lists of thermal instances to trip descriptors Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.12 073/150] thermal: gov_power_allocator: Update total_weight on bind and cdev updates Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.12 074/150] io_uring/net: save msg_control for compat Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.12 075/150] unreachable: Unify Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.12 076/150] objtool: Remove annotate_{,un}reachable() Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.12 077/150] objtool: Fix C jump table annotations for Clang Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.12 078/150] x86/CPU: Fix warm boot hang regression on AMD SC1100 SoC systems Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.12 079/150] phy: rockchip: fix Kconfig dependency more Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.12 080/150] phy: rockchip: naneng-combphy: compatible reset with old DT Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.12 081/150] riscv: KVM: Fix hart suspend status check Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.12 082/150] riscv: KVM: Fix hart suspend_type use Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.12 083/150] riscv: KVM: Fix SBI IPI error generation Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.12 084/150] riscv: KVM: Fix SBI TIME " Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.12 085/150] tracing: Fix bad hist from corrupting named_triggers list Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.12 086/150] ftrace: Avoid potential division by zero in function_stat_show() Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.12 087/150] ALSA: usb-audio: Re-add sample rate quirk for Pioneer DJM-900NXS2 Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.12 088/150] ALSA: hda/realtek: Fix microphone regression on ASUS N705UD Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.12 089/150] KVM: arm64: Ensure a VMID is allocated before programming VTTBR_EL2 Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.12 090/150] perf/core: Add RCU read lock protection to perf_iterate_ctx() Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.12 091/150] perf/x86: Fix low freqency setting issue Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.12 092/150] perf/core: Fix low freq setting via IOC_PERIOD Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.12 093/150] drm/xe/regs: remove a duplicate definition for RING_CTL_SIZE(size) Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.12 094/150] drm/xe/userptr: restore invalidation list on error Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.12 095/150] drm/xe/userptr: fix EFAULT handling Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.12 096/150] drm/amdkfd: Preserve cp_hqd_pq_control on update_mqd Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.12 097/150] drm/amdgpu: disable BAR resize on Dell G5 SE Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.12 098/150] drm/amdgpu: init return value in amdgpu_ttm_clear_buffer Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.12 099/150] drm/amd/display: Disable PSR-SU on eDP panels Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.12 100/150] drm/amd/display: add a quirk to enable eDP0 on DP1 Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.12 101/150] drm/amd/display: Fix HPD after gpu reset Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.12 102/150] arm64/mm: Fix Boot panic on Ampere Altra Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.12 103/150] arm64: hugetlb: Fix huge_ptep_get_and_clear() for non-present ptes Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.12 104/150] arm64: hugetlb: Fix flush_hugetlb_tlb_range() invalidation level Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.12 105/150] block: Remove zone write plugs when handling native zone append writes Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.12 106/150] i2c: npcm: disable interrupt enable bit before devm_request_irq Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.12 107/150] i2c: ls2x: Fix frequency division register access Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.12 108/150] usbnet: gl620a: fix endpoint checking in genelink_bind() Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.12 109/150] net: stmmac: dwmac-loongson: Add fix_soc_reset() callback Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.12 110/150] net: phy: qcom: qca807x fix condition for DAC_DSP_BIAS_CURRENT Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.12 111/150] net: enetc: fix the off-by-one issue in enetc_map_tx_buffs() Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.12 112/150] net: enetc: keep track of correct Tx BD count in enetc_map_tx_tso_buffs() Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.12 113/150] net: enetc: VFs do not support HWTSTAMP_TX_ONESTEP_SYNC Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.12 114/150] net: enetc: update UDP checksum when updating originTimestamp field Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.12 115/150] net: enetc: correct the xdp_tx statistics Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.12 116/150] net: enetc: fix the off-by-one issue in enetc_map_tx_tso_buffs() Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.12 117/150] phy: tegra: xusb: reset VBUS & ID OVERRIDE Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.12 118/150] phy: exynos5-usbdrd: fix MPLL_MULTIPLIER and SSC_REFCLKSEL masks in refclk Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.12 119/150] phy: exynos5-usbdrd: gs101: ensure power is gated to SS phy in phy_exit() Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.12 120/150] iommu/vt-d: Remove device comparison in context_setup_pass_through_cb Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.12 121/150] iommu/vt-d: Fix suspicious RCU usage Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.12 122/150] intel_idle: Handle older CPUs, which stop the TSC in deeper C states, correctly Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.12 123/150] mptcp: always handle address removal under msk socket lock Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.12 124/150] mptcp: reset when MPTCP opts are dropped after join Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.12 125/150] selftests/landlock: Test that MPTCP actions are not restricted Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.12 126/150] vmlinux.lds: Ensure that const vars with relocations are mapped R/O Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.12 127/150] rcuref: Plug slowpath race in rcuref_put() Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.12 128/150] sched/core: Prevent rescheduling when interrupts are disabled Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.12 129/150] sched_ext: Fix pick_task_scx() picking non-queued tasks when its called without balance() Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.12 130/150] selftests/landlock: Test TCP accesses with protocol=IPPROTO_TCP Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.12 131/150] dm-integrity: Avoid divide by zero in table status in Inline mode Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.12 132/150] dm vdo: add missing spin_lock_init Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.12 133/150] ima: Reset IMA_NONACTION_RULE_FLAGS after post_setattr Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.12 134/150] scsi: ufs: core: bsg: Fix crash when arpmb command fails Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.12 135/150] rseq/selftests: Fix riscv rseq_offset_deref_addv inline asm Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.12 136/150] riscv/futex: sign extend compare value in atomic cmpxchg Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.12 137/150] riscv: signal: fix signal frame size Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.12 138/150] riscv: cacheinfo: Use of_property_present() for non-boolean properties Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.12 139/150] riscv: signal: fix signal_minsigstksz Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.12 140/150] riscv: cpufeature: use bitmap_equal() instead of memcmp() Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.12 141/150] efi: Dont map the entire mokvar table to determine its size Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.12 142/150] amdgpu/pm/legacy: fix suspend/resume issues Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.12 143/150] x86/microcode/AMD: Return bool from find_blobs_in_containers() Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.12 144/150] x86/microcode/AMD: Have __apply_microcode_amd() return bool Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.12 145/150] x86/microcode/AMD: Remove ugly linebreak in __verify_patch_section() signature Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.12 146/150] x86/microcode/AMD: Remove unused save_microcode_in_initrd_amd() declarations Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.12 147/150] x86/microcode/AMD: Merge early_apply_microcode() into its single callsite Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.12 148/150] x86/microcode/AMD: Get rid of the _load_microcode_amd() forward declaration Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.12 149/150] x86/microcode/AMD: Add get_patch_level() Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.12 150/150] x86/microcode/AMD: Load only SHA256-checksummed patches Greg Kroah-Hartman
2025-03-06 1:11 ` [PATCH 6.12 000/150] 6.12.18-rc1 review SeongJae Park
2025-03-06 2:48 ` Peter Schneider
2025-03-06 8:10 ` Ron Economos
2025-03-06 12:11 ` Naresh Kamboju
2025-03-06 13:01 ` Ryan Roberts
2025-03-06 12:14 ` Jon Hunter
2025-03-06 15:54 ` Shuah Khan
2025-03-06 16:23 ` Hardik Garg
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250305174505.634288514@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=ashutosh.dixit@intel.com \
--cc=jonathan.cavitt@intel.com \
--cc=patches@lists.linux.dev \
--cc=sashal@kernel.org \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox