stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	stable@vger.kernel.org,
	Nicholas Kazlauskas <Nicholas.Kazlauskas@amd.com>,
	Qingqing Zhuo <qingqing.zhuo@amd.com>,
	Jude Shih <shenshih@amd.com>,
	Daniel Wheeler <Daniel.Wheeler@amd.com>,
	Alex Deucher <alexander.deucher@amd.com>,
	Sasha Levin <sashal@kernel.org>
Subject: [PATCH 5.15 042/201] drm/amd/display: Support for DMUB HPD interrupt handling
Date: Wed, 27 Jul 2022 18:09:06 +0200	[thread overview]
Message-ID: <20220727161028.621335564@linuxfoundation.org> (raw)
In-Reply-To: <20220727161026.977588183@linuxfoundation.org>

From: Jude Shih <shenshih@amd.com>

[ Upstream commit e27c41d5b0681c597ac1894f4e02cf626e062250 ]

[WHY]
To add support for HPD interrupt handling from DMUB.
HPD interrupt could be triggered from outbox1 from DMUB

[HOW]
1) Use queue_work to handle hpd task from outbox1

2) Add handle_hpd_irq_helper to share interrupt handling code
between legacy and DMUB HPD from outbox1

3) Added DMUB HPD handling in dmub_srv_stat_get_notification().
HPD handling callback function and wake up the DMUB thread.

Reviewed-by: Nicholas Kazlauskas <Nicholas.Kazlauskas@amd.com>
Acked-by: Qingqing Zhuo <qingqing.zhuo@amd.com>
Signed-off-by: Jude Shih <shenshih@amd.com>
Tested-by: Daniel Wheeler <Daniel.Wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 171 +++++++++++++++++-
 .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h |  40 ++++
 2 files changed, 203 insertions(+), 8 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
index d35a6f6d158e..19048f0d83a4 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
@@ -215,6 +215,8 @@ static void handle_cursor_update(struct drm_plane *plane,
 static const struct drm_format_info *
 amd_get_format_info(const struct drm_mode_fb_cmd2 *cmd);
 
+static void handle_hpd_irq_helper(struct amdgpu_dm_connector *aconnector);
+
 static bool
 is_timing_unchanged_for_freesync(struct drm_crtc_state *old_crtc_state,
 				 struct drm_crtc_state *new_crtc_state);
@@ -618,6 +620,116 @@ static void dm_dcn_vertical_interrupt0_high_irq(void *interrupt_params)
 }
 #endif
 
+/**
+ * dmub_aux_setconfig_reply_callback - Callback for AUX or SET_CONFIG command.
+ * @adev: amdgpu_device pointer
+ * @notify: dmub notification structure
+ *
+ * Dmub AUX or SET_CONFIG command completion processing callback
+ * Copies dmub notification to DM which is to be read by AUX command.
+ * issuing thread and also signals the event to wake up the thread.
+ */
+void dmub_aux_setconfig_callback(struct amdgpu_device *adev, struct dmub_notification *notify)
+{
+	if (adev->dm.dmub_notify)
+		memcpy(adev->dm.dmub_notify, notify, sizeof(struct dmub_notification));
+	if (notify->type == DMUB_NOTIFICATION_AUX_REPLY)
+		complete(&adev->dm.dmub_aux_transfer_done);
+}
+
+/**
+ * dmub_hpd_callback - DMUB HPD interrupt processing callback.
+ * @adev: amdgpu_device pointer
+ * @notify: dmub notification structure
+ *
+ * Dmub Hpd interrupt processing callback. Gets displayindex through the
+ * ink index and calls helper to do the processing.
+ */
+void dmub_hpd_callback(struct amdgpu_device *adev, struct dmub_notification *notify)
+{
+	struct amdgpu_dm_connector *aconnector;
+	struct drm_connector *connector;
+	struct drm_connector_list_iter iter;
+	struct dc_link *link;
+	uint8_t link_index = 0;
+	struct drm_device *dev = adev->dm.ddev;
+
+	if (adev == NULL)
+		return;
+
+	if (notify == NULL) {
+		DRM_ERROR("DMUB HPD callback notification was NULL");
+		return;
+	}
+
+	if (notify->link_index > adev->dm.dc->link_count) {
+		DRM_ERROR("DMUB HPD index (%u)is abnormal", notify->link_index);
+		return;
+	}
+
+	drm_modeset_lock(&dev->mode_config.connection_mutex, NULL);
+
+	link_index = notify->link_index;
+
+	link = adev->dm.dc->links[link_index];
+
+	drm_connector_list_iter_begin(dev, &iter);
+	drm_for_each_connector_iter(connector, &iter) {
+		aconnector = to_amdgpu_dm_connector(connector);
+		if (link && aconnector->dc_link == link) {
+			DRM_INFO("DMUB HPD callback: link_index=%u\n", link_index);
+			handle_hpd_irq_helper(aconnector);
+			break;
+		}
+	}
+	drm_connector_list_iter_end(&iter);
+	drm_modeset_unlock(&dev->mode_config.connection_mutex);
+
+}
+
+/**
+ * register_dmub_notify_callback - Sets callback for DMUB notify
+ * @adev: amdgpu_device pointer
+ * @type: Type of dmub notification
+ * @callback: Dmub interrupt callback function
+ * @dmub_int_thread_offload: offload indicator
+ *
+ * API to register a dmub callback handler for a dmub notification
+ * Also sets indicator whether callback processing to be offloaded.
+ * to dmub interrupt handling thread
+ * Return: true if successfully registered, false if there is existing registration
+ */
+bool register_dmub_notify_callback(struct amdgpu_device *adev, enum dmub_notification_type type,
+dmub_notify_interrupt_callback_t callback, bool dmub_int_thread_offload)
+{
+	if (callback != NULL && type < ARRAY_SIZE(adev->dm.dmub_thread_offload)) {
+		adev->dm.dmub_callback[type] = callback;
+		adev->dm.dmub_thread_offload[type] = dmub_int_thread_offload;
+	} else
+		return false;
+
+	return true;
+}
+
+static void dm_handle_hpd_work(struct work_struct *work)
+{
+	struct dmub_hpd_work *dmub_hpd_wrk;
+
+	dmub_hpd_wrk = container_of(work, struct dmub_hpd_work, handle_hpd_work);
+
+	if (!dmub_hpd_wrk->dmub_notify) {
+		DRM_ERROR("dmub_hpd_wrk dmub_notify is NULL");
+		return;
+	}
+
+	if (dmub_hpd_wrk->dmub_notify->type < ARRAY_SIZE(dmub_hpd_wrk->adev->dm.dmub_callback)) {
+		dmub_hpd_wrk->adev->dm.dmub_callback[dmub_hpd_wrk->dmub_notify->type](dmub_hpd_wrk->adev,
+		dmub_hpd_wrk->dmub_notify);
+	}
+	kfree(dmub_hpd_wrk);
+
+}
+
 #define DMUB_TRACE_MAX_READ 64
 /**
  * dm_dmub_outbox1_low_irq() - Handles Outbox interrupt
@@ -634,18 +746,33 @@ static void dm_dmub_outbox1_low_irq(void *interrupt_params)
 	struct amdgpu_display_manager *dm = &adev->dm;
 	struct dmcub_trace_buf_entry entry = { 0 };
 	uint32_t count = 0;
+	struct dmub_hpd_work *dmub_hpd_wrk;
 
 	if (dc_enable_dmub_notifications(adev->dm.dc)) {
+		dmub_hpd_wrk = kzalloc(sizeof(*dmub_hpd_wrk), GFP_ATOMIC);
+		if (!dmub_hpd_wrk) {
+			DRM_ERROR("Failed to allocate dmub_hpd_wrk");
+			return;
+		}
+		INIT_WORK(&dmub_hpd_wrk->handle_hpd_work, dm_handle_hpd_work);
+
 		if (irq_params->irq_src == DC_IRQ_SOURCE_DMCUB_OUTBOX) {
 			do {
 				dc_stat_get_dmub_notification(adev->dm.dc, &notify);
-			} while (notify.pending_notification);
+				if (notify.type > ARRAY_SIZE(dm->dmub_thread_offload)) {
+					DRM_ERROR("DM: notify type %d larger than the array size %ld !", notify.type,
+					ARRAY_SIZE(dm->dmub_thread_offload));
+					continue;
+				}
+				if (dm->dmub_thread_offload[notify.type] == true) {
+					dmub_hpd_wrk->dmub_notify = &notify;
+					dmub_hpd_wrk->adev = adev;
+					queue_work(adev->dm.delayed_hpd_wq, &dmub_hpd_wrk->handle_hpd_work);
+				} else {
+					dm->dmub_callback[notify.type](adev, &notify);
+				}
 
-			if (adev->dm.dmub_notify)
-				memcpy(adev->dm.dmub_notify, &notify, sizeof(struct dmub_notification));
-			if (notify.type == DMUB_NOTIFICATION_AUX_REPLY)
-				complete(&adev->dm.dmub_aux_transfer_done);
-			// TODO : HPD Implementation
+			} while (notify.pending_notification);
 
 		} else {
 			DRM_ERROR("DM: Failed to receive correct outbox IRQ !");
@@ -1287,7 +1414,25 @@ static int amdgpu_dm_init(struct amdgpu_device *adev)
 			DRM_INFO("amdgpu: fail to allocate adev->dm.dmub_notify");
 			goto error;
 		}
+
+		adev->dm.delayed_hpd_wq = create_singlethread_workqueue("amdgpu_dm_hpd_wq");
+		if (!adev->dm.delayed_hpd_wq) {
+			DRM_ERROR("amdgpu: failed to create hpd offload workqueue.\n");
+			goto error;
+		}
+
 		amdgpu_dm_outbox_init(adev);
+#if defined(CONFIG_DRM_AMD_DC_DCN)
+		if (!register_dmub_notify_callback(adev, DMUB_NOTIFICATION_AUX_REPLY,
+			dmub_aux_setconfig_callback, false)) {
+			DRM_ERROR("amdgpu: fail to register dmub aux callback");
+			goto error;
+		}
+		if (!register_dmub_notify_callback(adev, DMUB_NOTIFICATION_HPD, dmub_hpd_callback, true)) {
+			DRM_ERROR("amdgpu: fail to register dmub hpd callback");
+			goto error;
+		}
+#endif
 	}
 
 	if (amdgpu_dm_initialize_drm_device(adev)) {
@@ -1369,6 +1514,8 @@ static void amdgpu_dm_fini(struct amdgpu_device *adev)
 	if (dc_enable_dmub_notifications(adev->dm.dc)) {
 		kfree(adev->dm.dmub_notify);
 		adev->dm.dmub_notify = NULL;
+		destroy_workqueue(adev->dm.delayed_hpd_wq);
+		adev->dm.delayed_hpd_wq = NULL;
 	}
 
 	if (adev->dm.dmub_bo)
@@ -2654,9 +2801,8 @@ void amdgpu_dm_update_connector_after_detect(
 		dc_sink_release(sink);
 }
 
-static void handle_hpd_irq(void *param)
+static void handle_hpd_irq_helper(struct amdgpu_dm_connector *aconnector)
 {
-	struct amdgpu_dm_connector *aconnector = (struct amdgpu_dm_connector *)param;
 	struct drm_connector *connector = &aconnector->base;
 	struct drm_device *dev = connector->dev;
 	enum dc_connection_type new_connection_type = dc_connection_none;
@@ -2715,6 +2861,15 @@ static void handle_hpd_irq(void *param)
 
 }
 
+static void handle_hpd_irq(void *param)
+{
+	struct amdgpu_dm_connector *aconnector = (struct amdgpu_dm_connector *)param;
+
+	handle_hpd_irq_helper(aconnector);
+
+}
+
+
 static void dm_handle_hpd_rx_irq(struct amdgpu_dm_connector *aconnector)
 {
 	uint8_t esi[DP_PSR_ERROR_STATUS - DP_SINK_COUNT_ESI] = { 0 };
diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h
index 46d6e65f6bd4..da87ca77023d 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h
@@ -47,6 +47,8 @@
 #define AMDGPU_DM_MAX_CRTC 6
 
 #define AMDGPU_DM_MAX_NUM_EDP 2
+
+#define AMDGPU_DMUB_NOTIFICATION_MAX 5
 /*
 #include "include/amdgpu_dal_power_if.h"
 #include "amdgpu_dm_irq.h"
@@ -86,6 +88,21 @@ struct dm_compressor_info {
 	uint64_t gpu_addr;
 };
 
+typedef void (*dmub_notify_interrupt_callback_t)(struct amdgpu_device *adev, struct dmub_notification *notify);
+
+/**
+ * struct dmub_hpd_work - Handle time consuming work in low priority outbox IRQ
+ *
+ * @handle_hpd_work: Work to be executed in a separate thread to handle hpd_low_irq
+ * @dmub_notify:  notification for callback function
+ * @adev: amdgpu_device pointer
+ */
+struct dmub_hpd_work {
+	struct work_struct handle_hpd_work;
+	struct dmub_notification *dmub_notify;
+	struct amdgpu_device *adev;
+};
+
 /**
  * struct vblank_control_work - Work data for vblank control
  * @work: Kernel work data for the work event
@@ -190,8 +207,30 @@ struct amdgpu_display_manager {
 	 */
 	struct dmub_srv *dmub_srv;
 
+	/**
+	 * @dmub_notify:
+	 *
+	 * Notification from DMUB.
+	 */
+
 	struct dmub_notification *dmub_notify;
 
+	/**
+	 * @dmub_callback:
+	 *
+	 * Callback functions to handle notification from DMUB.
+	 */
+
+	dmub_notify_interrupt_callback_t dmub_callback[AMDGPU_DMUB_NOTIFICATION_MAX];
+
+	/**
+	 * @dmub_thread_offload:
+	 *
+	 * Flag to indicate if callback is offload.
+	 */
+
+	bool dmub_thread_offload[AMDGPU_DMUB_NOTIFICATION_MAX];
+
 	/**
 	 * @dmub_fb_info:
 	 *
@@ -439,6 +478,7 @@ struct amdgpu_display_manager {
 	 */
 	struct list_head da_list;
 	struct completion dmub_aux_transfer_done;
+	struct workqueue_struct *delayed_hpd_wq;
 
 	/**
 	 * @brightness:
-- 
2.35.1




  parent reply	other threads:[~2022-07-27 17:07 UTC|newest]

Thread overview: 212+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-27 16:08 [PATCH 5.15 000/201] 5.15.58-rc1 review Greg Kroah-Hartman
2022-07-27 16:08 ` [PATCH 5.15 001/201] pinctrl: stm32: fix optional IRQ support to gpios Greg Kroah-Hartman
2022-07-27 16:08 ` [PATCH 5.15 002/201] riscv: add as-options for modules with assembly compontents Greg Kroah-Hartman
2022-07-27 16:08 ` [PATCH 5.15 003/201] mlxsw: spectrum_router: Fix IPv4 nexthop gateway indication Greg Kroah-Hartman
2022-07-27 16:08 ` [PATCH 5.15 004/201] lockdown: Fix kexec lockdown bypass with ima policy Greg Kroah-Hartman
2022-07-27 16:08 ` [PATCH 5.15 005/201] drm/ttm: fix locking in vmap/vunmap TTM GEM helpers Greg Kroah-Hartman
2022-07-27 16:08 ` [PATCH 5.15 006/201] bus: mhi: host: pci_generic: add Telit FN980 v1 hardware revision Greg Kroah-Hartman
2022-07-27 16:08 ` [PATCH 5.15 007/201] bus: mhi: host: pci_generic: add Telit FN990 Greg Kroah-Hartman
2022-07-27 16:08 ` [PATCH 5.15 008/201] Revert "selftest/vm: verify remap destination address in mremap_test" Greg Kroah-Hartman
2022-07-27 16:08 ` [PATCH 5.15 009/201] Revert "selftest/vm: verify mmap addr " Greg Kroah-Hartman
2022-07-27 16:08 ` [PATCH 5.15 010/201] PCI: hv: Fix multi-MSI to allow more than one MSI vector Greg Kroah-Hartman
2022-07-27 16:08 ` [PATCH 5.15 011/201] PCI: hv: Fix hv_arch_irq_unmask() for multi-MSI Greg Kroah-Hartman
2022-07-27 16:08 ` [PATCH 5.15 012/201] PCI: hv: Reuse existing IRTE allocation in compose_msi_msg() Greg Kroah-Hartman
2022-07-27 16:08 ` [PATCH 5.15 013/201] PCI: hv: Fix interrupt mapping for multi-MSI Greg Kroah-Hartman
2022-07-27 16:08 ` [PATCH 5.15 014/201] serial: mvebu-uart: correctly report configured baudrate value Greg Kroah-Hartman
2022-07-27 16:08 ` [PATCH 5.15 015/201] batman-adv: Use netif_rx_any_context() any Greg Kroah-Hartman
2022-07-27 16:08 ` [PATCH 5.15 016/201] Revert "mt76: mt7921: Fix the error handling path of mt7921_pci_probe()" Greg Kroah-Hartman
2022-07-27 16:08 ` [PATCH 5.15 017/201] Revert "mt76: mt7921e: fix possible probe failure after reboot" Greg Kroah-Hartman
2022-07-27 16:08 ` [PATCH 5.15 018/201] mt76: mt7921: use physical addr to unify register access Greg Kroah-Hartman
2022-07-27 16:08 ` [PATCH 5.15 019/201] mt76: mt7921e: fix possible probe failure after reboot Greg Kroah-Hartman
2022-07-27 16:08 ` [PATCH 5.15 020/201] mt76: mt7921: Fix the error handling path of mt7921_pci_probe() Greg Kroah-Hartman
2022-07-27 16:08 ` [PATCH 5.15 021/201] xfs: fix maxlevels comparisons in the btree staging code Greg Kroah-Hartman
2022-07-27 16:08 ` [PATCH 5.15 022/201] xfs: fold perag loop iteration logic into helper function Greg Kroah-Hartman
2022-07-27 16:08 ` [PATCH 5.15 023/201] xfs: rename the next_agno perag iteration variable Greg Kroah-Hartman
2022-07-27 16:08 ` [PATCH 5.15 024/201] xfs: terminate perag iteration reliably on agcount Greg Kroah-Hartman
2022-07-27 16:08 ` [PATCH 5.15 025/201] xfs: fix perag reference leak on iteration race with growfs Greg Kroah-Hartman
2022-07-27 16:08 ` [PATCH 5.15 026/201] xfs: prevent a WARN_ONCE() in xfs_ioc_attr_list() Greg Kroah-Hartman
2022-07-27 16:08 ` [PATCH 5.15 027/201] r8152: fix a WOL issue Greg Kroah-Hartman
2022-07-27 16:08 ` [PATCH 5.15 028/201] ip: Fix data-races around sysctl_ip_default_ttl Greg Kroah-Hartman
2022-07-27 16:08 ` [PATCH 5.15 029/201] xfrm: xfrm_policy: fix a possible double xfrm_pols_put() in xfrm_bundle_lookup() Greg Kroah-Hartman
2022-07-27 16:08 ` [PATCH 5.15 030/201] power/reset: arm-versatile: Fix refcount leak in versatile_reboot_probe Greg Kroah-Hartman
2022-07-27 16:08 ` [PATCH 5.15 031/201] RDMA/irdma: Do not advertise 1GB page size for x722 Greg Kroah-Hartman
2022-07-27 16:08 ` [PATCH 5.15 032/201] RDMA/irdma: Fix sleep from invalid context BUG Greg Kroah-Hartman
2022-07-27 16:08 ` [PATCH 5.15 033/201] pinctrl: ralink: rename MT7628(an) functions to MT76X8 Greg Kroah-Hartman
2022-07-27 16:08 ` [PATCH 5.15 034/201] pinctrl: ralink: rename pinctrl-rt2880 to pinctrl-ralink Greg Kroah-Hartman
2022-07-27 16:08 ` [PATCH 5.15 035/201] pinctrl: ralink: Check for null return of devm_kcalloc Greg Kroah-Hartman
2022-07-27 16:09 ` [PATCH 5.15 036/201] perf/core: Fix data race between perf_event_set_output() and perf_mmap_close() Greg Kroah-Hartman
2022-07-27 16:09 ` [PATCH 5.15 037/201] ipv4/tcp: do not use per netns ctl sockets Greg Kroah-Hartman
2022-07-27 16:09 ` [PATCH 5.15 038/201] net: tun: split run_ebpf_filter() and pskb_trim() into different "if statement" Greg Kroah-Hartman
2022-07-27 16:09 ` [PATCH 5.15 039/201] mm/pagealloc: sysctl: change watermark_scale_factor max limit to 30% Greg Kroah-Hartman
2022-07-27 16:09 ` [PATCH 5.15 040/201] sysctl: move some boundary constants from sysctl.c to sysctl_vals Greg Kroah-Hartman
2022-07-27 17:31   ` Luis Chamberlain
2022-07-27 18:11     ` Greg Kroah-Hartman
2022-07-27 20:44       ` Sasha Levin
2022-07-27 16:09 ` [PATCH 5.15 041/201] tcp: Fix data-races around sysctl_tcp_ecn Greg Kroah-Hartman
2022-07-27 16:09 ` Greg Kroah-Hartman [this message]
2022-07-27 16:09 ` [PATCH 5.15 043/201] drm/amd/display: Add option to defer works of hpd_rx_irq Greg Kroah-Hartman
2022-07-27 16:09 ` [PATCH 5.15 044/201] drm/amd/display: Fork thread to offload work " Greg Kroah-Hartman
2022-07-27 16:09 ` [PATCH 5.15 045/201] drm/amdgpu/display: add quirk handling for stutter mode Greg Kroah-Hartman
2022-07-27 16:09 ` [PATCH 5.15 046/201] drm/amd/display: Ignore First MST Sideband Message Return Error Greg Kroah-Hartman
2022-07-27 16:09 ` [PATCH 5.15 047/201] scsi: megaraid: Clear READ queue maps nr_queues Greg Kroah-Hartman
2022-07-27 16:09 ` [PATCH 5.15 048/201] scsi: ufs: core: Drop loglevel of WriteBoost message Greg Kroah-Hartman
2022-07-27 16:09 ` [PATCH 5.15 049/201] nvme: check for duplicate identifiers earlier Greg Kroah-Hartman
2022-07-27 16:09 ` [PATCH 5.15 050/201] nvme: fix block device naming collision Greg Kroah-Hartman
2022-07-27 16:09 ` [PATCH 5.15 051/201] e1000e: Enable GPT clock before sending message to CSME Greg Kroah-Hartman
2022-07-27 16:09 ` [PATCH 5.15 052/201] Revert "e1000e: Fix possible HW unit hang after an s0ix exit" Greg Kroah-Hartman
2022-07-27 16:09 ` [PATCH 5.15 053/201] igc: Reinstate IGC_REMOVED logic and implement it properly Greg Kroah-Hartman
2022-07-27 16:09 ` [PATCH 5.15 054/201] ip: Fix data-races around sysctl_ip_no_pmtu_disc Greg Kroah-Hartman
2022-07-27 16:09 ` [PATCH 5.15 055/201] ip: Fix data-races around sysctl_ip_fwd_use_pmtu Greg Kroah-Hartman
2022-07-27 16:09 ` [PATCH 5.15 056/201] ip: Fix data-races around sysctl_ip_fwd_update_priority Greg Kroah-Hartman
2022-07-27 16:09 ` [PATCH 5.15 057/201] ip: Fix data-races around sysctl_ip_nonlocal_bind Greg Kroah-Hartman
2022-07-27 16:09 ` [PATCH 5.15 058/201] ip: Fix a data-race around sysctl_ip_autobind_reuse Greg Kroah-Hartman
2022-07-27 16:09 ` [PATCH 5.15 059/201] ip: Fix a data-race around sysctl_fwmark_reflect Greg Kroah-Hartman
2022-07-27 16:09 ` [PATCH 5.15 060/201] tcp/dccp: Fix a data-race around sysctl_tcp_fwmark_accept Greg Kroah-Hartman
2022-07-27 16:09 ` [PATCH 5.15 061/201] tcp: sk->sk_bound_dev_if once in inet_request_bound_dev_if() Greg Kroah-Hartman
2022-07-27 16:09 ` [PATCH 5.15 062/201] tcp: Fix data-races around sysctl_tcp_l3mdev_accept Greg Kroah-Hartman
2022-07-27 16:09 ` [PATCH 5.15 063/201] tcp: Fix data-races around sysctl_tcp_mtu_probing Greg Kroah-Hartman
2022-07-27 16:09 ` [PATCH 5.15 064/201] tcp: Fix data-races around sysctl_tcp_base_mss Greg Kroah-Hartman
2022-07-27 16:09 ` [PATCH 5.15 065/201] tcp: Fix data-races around sysctl_tcp_min_snd_mss Greg Kroah-Hartman
2022-07-27 16:09 ` [PATCH 5.15 066/201] tcp: Fix a data-race around sysctl_tcp_mtu_probe_floor Greg Kroah-Hartman
2022-07-27 16:09 ` [PATCH 5.15 067/201] tcp: Fix a data-race around sysctl_tcp_probe_threshold Greg Kroah-Hartman
2022-07-27 16:09 ` [PATCH 5.15 068/201] tcp: Fix a data-race around sysctl_tcp_probe_interval Greg Kroah-Hartman
2022-07-27 16:09 ` [PATCH 5.15 069/201] net: stmmac: fix pm runtime issue in stmmac_dvr_remove() Greg Kroah-Hartman
2022-07-27 16:09 ` [PATCH 5.15 070/201] net: stmmac: fix unbalanced ptp clock issue in suspend/resume flow Greg Kroah-Hartman
2022-07-27 16:09 ` [PATCH 5.15 071/201] mtd: rawnand: gpmi: validate controller clock rate Greg Kroah-Hartman
2022-07-27 16:09 ` [PATCH 5.15 072/201] mtd: rawnand: gpmi: Set WAIT_FOR_READY timeout based on program/erase times Greg Kroah-Hartman
2022-07-27 16:09 ` [PATCH 5.15 073/201] net: dsa: microchip: ksz_common: Fix refcount leak bug Greg Kroah-Hartman
2022-07-27 16:09 ` [PATCH 5.15 074/201] net: skb: introduce kfree_skb_reason() Greg Kroah-Hartman
2022-07-27 16:09 ` [PATCH 5.15 075/201] net: skb: use kfree_skb_reason() in tcp_v4_rcv() Greg Kroah-Hartman
2022-07-27 16:09 ` [PATCH 5.15 076/201] net: skb: use kfree_skb_reason() in __udp4_lib_rcv() Greg Kroah-Hartman
2022-07-27 16:09 ` [PATCH 5.15 077/201] net: socket: rename SKB_DROP_REASON_SOCKET_FILTER Greg Kroah-Hartman
2022-07-27 16:09 ` [PATCH 5.15 078/201] net: skb_drop_reason: add document for drop reasons Greg Kroah-Hartman
2022-07-27 16:09 ` [PATCH 5.15 079/201] net: netfilter: use kfree_drop_reason() for NF_DROP Greg Kroah-Hartman
2022-07-27 16:09 ` [PATCH 5.15 080/201] net: ipv4: use kfree_skb_reason() in ip_rcv_core() Greg Kroah-Hartman
2022-07-27 16:09 ` [PATCH 5.15 081/201] net: ipv4: use kfree_skb_reason() in ip_rcv_finish_core() Greg Kroah-Hartman
2022-07-27 16:09 ` [PATCH 5.15 082/201] i2c: mlxcpld: Fix register setting for 400KHz frequency Greg Kroah-Hartman
2022-07-27 16:09 ` [PATCH 5.15 083/201] i2c: cadence: Change large transfer count reset logic to be unconditional Greg Kroah-Hartman
2022-07-27 16:09 ` [PATCH 5.15 084/201] perf tests: Fix Convert perf time to TSC test for hybrid Greg Kroah-Hartman
2022-07-27 16:09 ` [PATCH 5.15 085/201] net: stmmac: fix dma queue left shift overflow issue Greg Kroah-Hartman
2022-07-27 16:09 ` [PATCH 5.15 086/201] net/tls: Fix race in TLS device down flow Greg Kroah-Hartman
2022-07-27 16:09 ` [PATCH 5.15 087/201] igmp: Fix data-races around sysctl_igmp_llm_reports Greg Kroah-Hartman
2022-07-27 16:09 ` [PATCH 5.15 088/201] igmp: Fix a data-race around sysctl_igmp_max_memberships Greg Kroah-Hartman
2022-07-27 16:09 ` [PATCH 5.15 089/201] igmp: Fix data-races around sysctl_igmp_max_msf Greg Kroah-Hartman
2022-07-27 16:09 ` [PATCH 5.15 090/201] tcp: Fix data-races around keepalive sysctl knobs Greg Kroah-Hartman
2022-07-27 16:09 ` [PATCH 5.15 091/201] tcp: Fix data-races around sysctl_tcp_syn(ack)?_retries Greg Kroah-Hartman
2022-07-27 16:09 ` [PATCH 5.15 092/201] tcp: Fix data-races around sysctl_tcp_syncookies Greg Kroah-Hartman
2022-07-27 16:09 ` [PATCH 5.15 093/201] tcp: Fix data-races around sysctl_tcp_migrate_req Greg Kroah-Hartman
2022-07-27 16:09 ` [PATCH 5.15 094/201] tcp: Fix data-races around sysctl_tcp_reordering Greg Kroah-Hartman
2022-07-27 16:09 ` [PATCH 5.15 095/201] tcp: Fix data-races around some timeout sysctl knobs Greg Kroah-Hartman
2022-07-27 16:10 ` [PATCH 5.15 096/201] tcp: Fix a data-race around sysctl_tcp_notsent_lowat Greg Kroah-Hartman
2022-07-27 16:10 ` [PATCH 5.15 097/201] tcp: Fix a data-race around sysctl_tcp_tw_reuse Greg Kroah-Hartman
2022-07-27 16:10 ` [PATCH 5.15 098/201] tcp: Fix data-races around sysctl_max_syn_backlog Greg Kroah-Hartman
2022-07-27 16:10 ` [PATCH 5.15 099/201] tcp: Fix data-races around sysctl_tcp_fastopen Greg Kroah-Hartman
2022-07-27 16:10 ` [PATCH 5.15 100/201] tcp: Fix data-races around sysctl_tcp_fastopen_blackhole_timeout Greg Kroah-Hartman
2022-07-27 16:10 ` [PATCH 5.15 101/201] iavf: Fix handling of dummy receive descriptors Greg Kroah-Hartman
2022-07-27 16:10 ` [PATCH 5.15 102/201] pinctrl: armada-37xx: Use temporary variable for struct device Greg Kroah-Hartman
2022-07-27 16:10 ` [PATCH 5.15 103/201] pinctrl: armada-37xx: Make use of the devm_platform_ioremap_resource() Greg Kroah-Hartman
2022-07-27 16:10 ` [PATCH 5.15 104/201] pinctrl: armada-37xx: Convert to use dev_err_probe() Greg Kroah-Hartman
2022-07-27 16:10 ` [PATCH 5.15 105/201] pinctrl: armada-37xx: use raw spinlocks for regmap to avoid invalid wait context Greg Kroah-Hartman
2022-07-27 16:10 ` [PATCH 5.15 106/201] i40e: Fix erroneous adapter reinitialization during recovery process Greg Kroah-Hartman
2022-07-27 16:10 ` [PATCH 5.15 107/201] ixgbe: Add locking to prevent panic when setting sriov_numvfs to zero Greg Kroah-Hartman
2022-07-27 16:10 ` [PATCH 5.15 108/201] net: stmmac: remove redunctant disable xPCS EEE call Greg Kroah-Hartman
2022-07-27 16:10 ` [PATCH 5.15 109/201] gpio: pca953x: only use single read/write for No AI mode Greg Kroah-Hartman
2022-07-27 16:10 ` [PATCH 5.15 110/201] gpio: pca953x: use the correct range when do regmap sync Greg Kroah-Hartman
2022-07-27 16:10 ` [PATCH 5.15 111/201] gpio: pca953x: use the correct register address when regcache sync during init Greg Kroah-Hartman
2022-07-27 16:10 ` [PATCH 5.15 112/201] be2net: Fix buffer overflow in be_get_module_eeprom Greg Kroah-Hartman
2022-07-27 16:10 ` [PATCH 5.15 113/201] net: dsa: sja1105: silent spi_device_id warnings Greg Kroah-Hartman
2022-07-27 16:10 ` [PATCH 5.15 114/201] net: dsa: vitesse-vsc73xx: " Greg Kroah-Hartman
2022-07-27 16:10 ` [PATCH 5.15 115/201] drm/imx/dcss: Add missing of_node_put() in fail path Greg Kroah-Hartman
2022-07-27 16:10 ` [PATCH 5.15 116/201] ipv4: Fix a data-race around sysctl_fib_multipath_use_neigh Greg Kroah-Hartman
2022-07-27 16:10 ` [PATCH 5.15 117/201] ipv4: Fix data-races around sysctl_fib_multipath_hash_policy Greg Kroah-Hartman
2022-07-27 16:10 ` [PATCH 5.15 118/201] ipv4: Fix data-races around sysctl_fib_multipath_hash_fields Greg Kroah-Hartman
2022-07-27 16:10 ` [PATCH 5.15 119/201] ip: Fix data-races around sysctl_ip_prot_sock Greg Kroah-Hartman
2022-07-27 16:10 ` [PATCH 5.15 120/201] udp: Fix a data-race around sysctl_udp_l3mdev_accept Greg Kroah-Hartman
2022-07-27 16:10 ` [PATCH 5.15 121/201] tcp: Fix data-races around sysctl knobs related to SYN option Greg Kroah-Hartman
2022-07-27 16:10 ` [PATCH 5.15 122/201] tcp: Fix a data-race around sysctl_tcp_early_retrans Greg Kroah-Hartman
2022-07-27 16:10 ` [PATCH 5.15 123/201] tcp: Fix data-races around sysctl_tcp_recovery Greg Kroah-Hartman
2022-07-27 16:10 ` [PATCH 5.15 124/201] tcp: Fix a data-race around sysctl_tcp_thin_linear_timeouts Greg Kroah-Hartman
2022-07-27 16:10 ` [PATCH 5.15 125/201] tcp: Fix data-races around sysctl_tcp_slow_start_after_idle Greg Kroah-Hartman
2022-07-27 16:10 ` [PATCH 5.15 126/201] tcp: Fix a data-race around sysctl_tcp_retrans_collapse Greg Kroah-Hartman
2022-07-27 16:10 ` [PATCH 5.15 127/201] tcp: Fix a data-race around sysctl_tcp_stdurg Greg Kroah-Hartman
2022-07-27 16:10 ` [PATCH 5.15 128/201] tcp: Fix a data-race around sysctl_tcp_rfc1337 Greg Kroah-Hartman
2022-07-27 16:10 ` [PATCH 5.15 129/201] tcp: Fix a data-race around sysctl_tcp_abort_on_overflow Greg Kroah-Hartman
2022-07-27 16:10 ` [PATCH 5.15 130/201] tcp: Fix data-races around sysctl_tcp_max_reordering Greg Kroah-Hartman
2022-07-27 16:10 ` [PATCH 5.15 131/201] gpio: gpio-xilinx: Fix integer overflow Greg Kroah-Hartman
2022-07-27 16:10 ` [PATCH 5.15 132/201] KVM: selftests: Fix target thread to be migrated in rseq_test Greg Kroah-Hartman
2022-07-27 16:10 ` [PATCH 5.15 133/201] spi: bcm2835: bcm2835_spi_handle_err(): fix NULL pointer deref for non DMA transfers Greg Kroah-Hartman
2022-07-27 16:10 ` [PATCH 5.15 134/201] KVM: Dont null dereference ops->destroy Greg Kroah-Hartman
2022-07-27 16:10 ` [PATCH 5.15 135/201] mm/mempolicy: fix uninit-value in mpol_rebind_policy() Greg Kroah-Hartman
2022-07-27 16:10 ` [PATCH 5.15 136/201] bpf: Make sure mac_header was set before using it Greg Kroah-Hartman
2022-07-27 16:10 ` [PATCH 5.15 137/201] sched/deadline: Fix BUG_ON condition for deboosted tasks Greg Kroah-Hartman
2022-07-27 16:10 ` [PATCH 5.15 138/201] x86/bugs: Warn when "ibrs" mitigation is selected on Enhanced IBRS parts Greg Kroah-Hartman
2022-07-27 16:10 ` [PATCH 5.15 139/201] dlm: fix pending remove if msg allocation fails Greg Kroah-Hartman
2022-07-27 16:10 ` [PATCH 5.15 140/201] x86/uaccess: Implement macros for CMPXCHG on user addresses Greg Kroah-Hartman
2022-07-27 16:10 ` [PATCH 5.15 141/201] x86/extable: Tidy up redundant handler functions Greg Kroah-Hartman
2022-07-27 16:10 ` [PATCH 5.15 142/201] x86/extable: Get rid of redundant macros Greg Kroah-Hartman
2022-07-27 16:10 ` [PATCH 5.15 143/201] x86/mce: Deduplicate exception handling Greg Kroah-Hartman
2022-07-27 16:10 ` [PATCH 5.15 144/201] x86/extable: Rework the exception table mechanics Greg Kroah-Hartman
2022-07-27 16:10 ` [PATCH 5.15 145/201] x86/extable: Provide EX_TYPE_DEFAULT_MCE_SAFE and EX_TYPE_FAULT_MCE_SAFE Greg Kroah-Hartman
2022-07-27 16:10 ` [PATCH 5.15 146/201] bitfield.h: Fix "type of reg too small for mask" test Greg Kroah-Hartman
2022-07-27 16:10 ` [PATCH 5.15 147/201] x86/entry_32: Remove .fixup usage Greg Kroah-Hartman
2022-07-27 16:10 ` [PATCH 5.15 148/201] x86/extable: Extend extable functionality Greg Kroah-Hartman
2022-07-27 16:10 ` [PATCH 5.15 149/201] x86/msr: Remove .fixup usage Greg Kroah-Hartman
2022-07-27 16:10 ` [PATCH 5.15 150/201] x86/futex: " Greg Kroah-Hartman
2022-07-27 16:10 ` [PATCH 5.15 151/201] KVM: x86: Use __try_cmpxchg_user() to emulate atomic accesses Greg Kroah-Hartman
2022-07-27 16:10 ` [PATCH 5.15 152/201] xhci: dbc: refactor xhci_dbc_init() Greg Kroah-Hartman
2022-07-27 16:10 ` [PATCH 5.15 153/201] xhci: dbc: create and remove dbc structure in dbgtty driver Greg Kroah-Hartman
2022-07-27 16:10 ` [PATCH 5.15 154/201] xhci: dbc: Rename xhci_dbc_init and xhci_dbc_exit Greg Kroah-Hartman
2022-07-27 16:10 ` [PATCH 5.15 155/201] xhci: Set HCD flag to defer primary roothub registration Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.15 156/201] mt76: fix use-after-free by removing a non-RCU wcid pointer Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.15 157/201] iwlwifi: fw: uefi: add missing include guards Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.15 158/201] crypto: qat - set to zero DH parameters before free Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.15 159/201] crypto: qat - use pre-allocated buffers in datapath Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.15 160/201] crypto: qat - refactor submission logic Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.15 161/201] crypto: qat - add backlog mechanism Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.15 162/201] crypto: qat - fix memory leak in RSA Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.15 163/201] crypto: qat - remove dma_free_coherent() for RSA Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.15 164/201] crypto: qat - remove dma_free_coherent() for DH Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.15 165/201] crypto: qat - add param check for RSA Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.15 166/201] crypto: qat - add param check for DH Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.15 167/201] crypto: qat - re-enable registration of algorithms Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.15 168/201] exfat: fix referencing wrong parent directory information after renaming Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.15 169/201] tracing: Have event format check not flag %p* on __get_dynamic_array() Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.15 170/201] tracing: Place trace_pid_list logic into abstract functions Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.15 171/201] tracing: Fix return value of trace_pid_write() Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.15 172/201] um: virtio_uml: Allow probing from devicetree Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.15 173/201] um: virtio_uml: Fix broken device handling in time-travel Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.15 174/201] Bluetooth: Add bt_skb_sendmsg helper Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.15 175/201] Bluetooth: Add bt_skb_sendmmsg helper Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.15 176/201] Bluetooth: SCO: Replace use of memcpy_from_msg with bt_skb_sendmsg Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.15 177/201] Bluetooth: RFCOMM: Replace use of memcpy_from_msg with bt_skb_sendmmsg Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.15 178/201] Bluetooth: Fix passing NULL to PTR_ERR Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.15 179/201] Bluetooth: SCO: Fix sco_send_frame returning skb->len Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.15 180/201] Bluetooth: Fix bt_skb_sendmmsg not allocating partial chunks Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.15 181/201] exfat: use updated exfat_chain directly during renaming Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.15 182/201] drm/amd/display: Reset DMCUB before HW init Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.15 183/201] drm/amd/display: Optimize bandwidth on following fast update Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.15 184/201] drm/amd/display: Fix surface optimization regression on Carrizo Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.15 185/201] x86/amd: Use IBPB for firmware calls Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.15 186/201] x86/alternative: Report missing return thunk details Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.15 187/201] watchqueue: make sure to serialize wqueue->defunct properly Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.15 188/201] tty: drivers/tty/, stop using tty_schedule_flip() Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.15 189/201] tty: the rest, " Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.15 190/201] tty: drop tty_schedule_flip() Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.15 191/201] tty: extract tty_flip_buffer_commit() from tty_flip_buffer_push() Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.15 192/201] tty: use new tty_insert_flip_string_and_push_buffer() in pty_write() Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.15 193/201] net: usb: ax88179_178a needs FLAG_SEND_ZLP Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.15 194/201] watch-queue: remove spurious double semicolon Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.15 195/201] drm/amd/display: Dont lock connection_mutex for DMUB HPD Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.15 196/201] drm/amd/display: invalid parameter check in dmub_hpd_callback Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.15 197/201] x86/extable: Prefer local labels in .set directives Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.15 198/201] KVM: x86: fix typo in __try_cmpxchg_user causing non-atomicness Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.15 199/201] x86: drop bogus "cc" clobber from __try_cmpxchg_user_asm() Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.15 200/201] drm/amdgpu: Off by one in dm_dmub_outbox1_low_irq() Greg Kroah-Hartman
2022-07-27 16:11 ` [PATCH 5.15 201/201] x86/entry_32: Fix segment exceptions Greg Kroah-Hartman
2022-07-28  0:27 ` [PATCH 5.15 000/201] 5.15.58-rc1 review Florian Fainelli
2022-07-28  5:42 ` Naresh Kamboju
2022-07-28  7:43 ` Bagas Sanjaya
2022-07-28 13:13 ` Guenter Roeck
2022-07-28 13:20   ` Greg Kroah-Hartman
2022-07-28 14:32 ` Jon Hunter
2022-07-28 14:39 ` Shuah Khan

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=20220727161028.621335564@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=Daniel.Wheeler@amd.com \
    --cc=Nicholas.Kazlauskas@amd.com \
    --cc=alexander.deucher@amd.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=qingqing.zhuo@amd.com \
    --cc=sashal@kernel.org \
    --cc=shenshih@amd.com \
    --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;
as well as URLs for NNTP newsgroup(s).