Archive-only list for patches
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	patches@lists.linux.dev, Suraj Kandpal <suraj.kandpal@intel.com>,
	Jani Nikula <jani.nikula@intel.com>,
	Sasha Levin <sashal@kernel.org>
Subject: [PATCH 6.6 256/261] drm/i915/hdcp: Move to using intel_display in intel_hdcp
Date: Fri,  7 Aug 2026 16:40:13 +0200	[thread overview]
Message-ID: <20260807143420.941568616@linuxfoundation.org> (raw)
In-Reply-To: <20260807143415.358597922@linuxfoundation.org>

6.6-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Suraj Kandpal <suraj.kandpal@intel.com>

[ Upstream commit e35bf8f6a0ff06ceeff15bb032351cd5d006f92b ]

Move to using intel_display wherever possible in intel_hdcp.c
as a part of code refactor.

--v2
-Move intel_display to the first line wherever possible [Jani]
-use the closest reference when using to_intel_display [Jani]

Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240911090540.643155-2-suraj.kandpal@intel.com
Stable-dep-of: db9e64c983dc ("drm/i915/hdcp: require monotonically increasing seq_num_v")
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 drivers/gpu/drm/i915/display/intel_display_core.h   |    3 
 drivers/gpu/drm/i915/display/intel_display_device.c |    3 
 drivers/gpu/drm/i915/display/intel_display_types.h  |   40 +++
 drivers/gpu/drm/i915/display/intel_hdcp.c           |  250 +++++++++-----------
 4 files changed, 170 insertions(+), 126 deletions(-)

--- a/drivers/gpu/drm/i915/display/intel_display_core.h
+++ b/drivers/gpu/drm/i915/display/intel_display_core.h
@@ -267,6 +267,9 @@ struct intel_wm {
 };
 
 struct intel_display {
+	/* drm device backpointer */
+	struct drm_device *drm;
+
 	/* Display functions */
 	struct {
 		/* Top level crtc-ish functions */
--- a/drivers/gpu/drm/i915/display/intel_display_device.c
+++ b/drivers/gpu/drm/i915/display/intel_display_device.c
@@ -857,6 +857,9 @@ intel_display_device_probe(struct drm_i9
 	struct pci_dev *pdev = to_pci_dev(i915->drm.dev);
 	int i;
 
+	/* Add drm device backpointer as early as possible. */
+	i915->display.drm = &i915->drm;
+
 	if (has_gmdid)
 		return probe_gmdid_display(i915, gmdid_ver, gmdid_rel, gmdid_step);
 
--- a/drivers/gpu/drm/i915/display/intel_display_types.h
+++ b/drivers/gpu/drm/i915/display/intel_display_types.h
@@ -2112,4 +2112,44 @@ to_intel_frontbuffer(struct drm_framebuf
 	return fb ? to_intel_framebuffer(fb)->frontbuffer : NULL;
 }
 
+/*
+ * Conversion functions/macros from various pointer types to struct
+ * intel_display pointer.
+ */
+#define __drm_device_to_intel_display(p) \
+	((p) ? &to_i915(p)->display : NULL)
+#define __device_to_intel_display(p)			\
+	__drm_device_to_intel_display(&kdev_to_i915(p)->drm)
+#define __intel_connector_to_intel_display(p)		\
+	__drm_device_to_intel_display((p)->base.dev)
+#define __intel_crtc_to_intel_display(p)		\
+	__drm_device_to_intel_display((p)->base.dev)
+#define __intel_crtc_state_to_intel_display(p)			\
+	__drm_device_to_intel_display((p)->uapi.crtc->dev)
+#define __intel_digital_port_to_intel_display(p)		\
+	__drm_device_to_intel_display((p)->base.base.dev)
+#define __intel_dp_to_intel_display(p)	\
+	__drm_device_to_intel_display(dp_to_dig_port(p)->base.base.dev)
+#define __intel_encoder_to_intel_display(p)		\
+	__drm_device_to_intel_display((p)->base.dev)
+#define __intel_hdmi_to_intel_display(p)	\
+	__drm_device_to_intel_display(hdmi_to_dig_port(p)->base.base.dev)
+
+/* Helper for generic association. Map types to conversion functions/macros. */
+#define __assoc(type, p) \
+	struct type: __##type##_to_intel_display((struct type *)(p))
+
+/* Convert various pointer types to struct intel_display pointer. */
+#define to_intel_display(p)				\
+	_Generic(*p,					\
+		 __assoc(drm_device, p),		\
+		 __assoc(device, p),			\
+		 __assoc(intel_connector, p),		\
+		 __assoc(intel_crtc, p),		\
+		 __assoc(intel_crtc_state, p),		\
+		 __assoc(intel_digital_port, p),	\
+		 __assoc(intel_dp, p),			\
+		 __assoc(intel_encoder, p),		\
+		 __assoc(intel_hdmi, p))
+
 #endif /*  __INTEL_DISPLAY_TYPES_H__ */
--- a/drivers/gpu/drm/i915/display/intel_hdcp.c
+++ b/drivers/gpu/drm/i915/display/intel_hdcp.c
@@ -120,7 +120,7 @@ static
 int intel_hdcp_read_valid_bksv(struct intel_digital_port *dig_port,
 			       const struct intel_hdcp_shim *shim, u8 *bksv)
 {
-	struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev);
+	struct intel_display *display = to_intel_display(dig_port);
 	int ret, i, tries = 2;
 
 	/* HDCP spec states that we must retry the bksv if it is invalid */
@@ -132,7 +132,7 @@ int intel_hdcp_read_valid_bksv(struct in
 			break;
 	}
 	if (i == tries) {
-		drm_dbg_kms(&i915->drm, "Bksv is invalid\n");
+		drm_dbg_kms(display->drm, "Bksv is invalid\n");
 		return -ENODEV;
 	}
 
@@ -622,15 +622,15 @@ int intel_hdcp_validate_v_prime(struct i
 static
 int intel_hdcp_auth_downstream(struct intel_connector *connector)
 {
+	struct intel_display *display = to_intel_display(connector);
 	struct intel_digital_port *dig_port = intel_attached_dig_port(connector);
-	struct drm_i915_private *i915 = to_i915(connector->base.dev);
 	const struct intel_hdcp_shim *shim = connector->hdcp.shim;
 	u8 bstatus[2], num_downstream, *ksv_fifo;
 	int ret, i, tries = 3;
 
 	ret = intel_hdcp_poll_ksv_fifo(dig_port, shim);
 	if (ret) {
-		drm_dbg_kms(&i915->drm,
+		drm_dbg_kms(display->drm,
 			    "KSV list failed to become ready (%d)\n", ret);
 		return ret;
 	}
@@ -641,7 +641,7 @@ int intel_hdcp_auth_downstream(struct in
 
 	if (DRM_HDCP_MAX_DEVICE_EXCEEDED(bstatus[0]) ||
 	    DRM_HDCP_MAX_CASCADE_EXCEEDED(bstatus[1])) {
-		drm_dbg_kms(&i915->drm, "Max Topology Limit Exceeded\n");
+		drm_dbg_kms(display->drm, "Max Topology Limit Exceeded\n");
 		return -EPERM;
 	}
 
@@ -654,14 +654,14 @@ int intel_hdcp_auth_downstream(struct in
 	 */
 	num_downstream = DRM_HDCP_NUM_DOWNSTREAM(bstatus[0]);
 	if (num_downstream == 0) {
-		drm_dbg_kms(&i915->drm,
+		drm_dbg_kms(display->drm,
 			    "Repeater with zero downstream devices\n");
 		return -EINVAL;
 	}
 
 	ksv_fifo = kcalloc(DRM_HDCP_KSV_LEN, num_downstream, GFP_KERNEL);
 	if (!ksv_fifo) {
-		drm_dbg_kms(&i915->drm, "Out of mem: ksv_fifo\n");
+		drm_dbg_kms(display->drm, "Out of mem: ksv_fifo\n");
 		return -ENOMEM;
 	}
 
@@ -669,9 +669,9 @@ int intel_hdcp_auth_downstream(struct in
 	if (ret)
 		goto err;
 
-	if (drm_hdcp_check_ksvs_revoked(&i915->drm, ksv_fifo,
+	if (drm_hdcp_check_ksvs_revoked(display->drm, ksv_fifo,
 					num_downstream) > 0) {
-		drm_err(&i915->drm, "Revoked Ksv(s) in ksv_fifo\n");
+		drm_err(display->drm, "Revoked Ksv(s) in ksv_fifo\n");
 		ret = -EPERM;
 		goto err;
 	}
@@ -689,12 +689,12 @@ int intel_hdcp_auth_downstream(struct in
 	}
 
 	if (i == tries) {
-		drm_dbg_kms(&i915->drm,
+		drm_dbg_kms(display->drm,
 			    "V Prime validation failed.(%d)\n", ret);
 		goto err;
 	}
 
-	drm_dbg_kms(&i915->drm, "HDCP is enabled (%d downstream devices)\n",
+	drm_dbg_kms(display->drm, "HDCP is enabled (%d downstream devices)\n",
 		    num_downstream);
 	ret = 0;
 err:
@@ -1086,9 +1086,9 @@ static void intel_hdcp_prop_work(struct
 	struct intel_hdcp *hdcp = container_of(work, struct intel_hdcp,
 					       prop_work);
 	struct intel_connector *connector = intel_hdcp_to_connector(hdcp);
-	struct drm_i915_private *i915 = to_i915(connector->base.dev);
+	struct intel_display *display = to_intel_display(connector);
 
-	drm_modeset_lock(&i915->drm.mode_config.connection_mutex, NULL);
+	drm_modeset_lock(&display->drm->mode_config.connection_mutex, NULL);
 	mutex_lock(&hdcp->mutex);
 
 	/*
@@ -1101,7 +1101,7 @@ static void intel_hdcp_prop_work(struct
 						   hdcp->value);
 
 	mutex_unlock(&hdcp->mutex);
-	drm_modeset_unlock(&i915->drm.mode_config.connection_mutex);
+	drm_modeset_unlock(&display->drm->mode_config.connection_mutex);
 
 	drm_connector_put(&connector->base);
 }
@@ -1116,25 +1116,25 @@ static int
 hdcp2_prepare_ake_init(struct intel_connector *connector,
 		       struct hdcp2_ake_init *ake_data)
 {
+	struct intel_display *display = to_intel_display(connector);
 	struct intel_digital_port *dig_port = intel_attached_dig_port(connector);
 	struct hdcp_port_data *data = &dig_port->hdcp_port_data;
-	struct drm_i915_private *i915 = to_i915(connector->base.dev);
 	struct i915_hdcp_arbiter *arbiter;
 	int ret;
 
-	mutex_lock(&i915->display.hdcp.hdcp_mutex);
-	arbiter = i915->display.hdcp.arbiter;
+	mutex_lock(&display->hdcp.hdcp_mutex);
+	arbiter = display->hdcp.arbiter;
 
 	if (!arbiter || !arbiter->ops) {
-		mutex_unlock(&i915->display.hdcp.hdcp_mutex);
+		mutex_unlock(&display->hdcp.hdcp_mutex);
 		return -EINVAL;
 	}
 
 	ret = arbiter->ops->initiate_hdcp2_session(arbiter->hdcp_dev, data, ake_data);
 	if (ret)
-		drm_dbg_kms(&i915->drm, "Prepare_ake_init failed. %d\n",
+		drm_dbg_kms(display->drm, "Prepare_ake_init failed. %d\n",
 			    ret);
-	mutex_unlock(&i915->display.hdcp.hdcp_mutex);
+	mutex_unlock(&display->hdcp.hdcp_mutex);
 
 	return ret;
 }
@@ -1146,17 +1146,17 @@ hdcp2_verify_rx_cert_prepare_km(struct i
 				struct hdcp2_ake_no_stored_km *ek_pub_km,
 				size_t *msg_sz)
 {
+	struct intel_display *display = to_intel_display(connector);
 	struct intel_digital_port *dig_port = intel_attached_dig_port(connector);
 	struct hdcp_port_data *data = &dig_port->hdcp_port_data;
-	struct drm_i915_private *i915 = to_i915(connector->base.dev);
 	struct i915_hdcp_arbiter *arbiter;
 	int ret;
 
-	mutex_lock(&i915->display.hdcp.hdcp_mutex);
-	arbiter = i915->display.hdcp.arbiter;
+	mutex_lock(&display->hdcp.hdcp_mutex);
+	arbiter = display->hdcp.arbiter;
 
 	if (!arbiter || !arbiter->ops) {
-		mutex_unlock(&i915->display.hdcp.hdcp_mutex);
+		mutex_unlock(&display->hdcp.hdcp_mutex);
 		return -EINVAL;
 	}
 
@@ -1164,9 +1164,9 @@ hdcp2_verify_rx_cert_prepare_km(struct i
 							 rx_cert, paired,
 							 ek_pub_km, msg_sz);
 	if (ret < 0)
-		drm_dbg_kms(&i915->drm, "Verify rx_cert failed. %d\n",
+		drm_dbg_kms(display->drm, "Verify rx_cert failed. %d\n",
 			    ret);
-	mutex_unlock(&i915->display.hdcp.hdcp_mutex);
+	mutex_unlock(&display->hdcp.hdcp_mutex);
 
 	return ret;
 }
@@ -1174,24 +1174,24 @@ hdcp2_verify_rx_cert_prepare_km(struct i
 static int hdcp2_verify_hprime(struct intel_connector *connector,
 			       struct hdcp2_ake_send_hprime *rx_hprime)
 {
+	struct intel_display *display = to_intel_display(connector);
 	struct intel_digital_port *dig_port = intel_attached_dig_port(connector);
 	struct hdcp_port_data *data = &dig_port->hdcp_port_data;
-	struct drm_i915_private *i915 = to_i915(connector->base.dev);
 	struct i915_hdcp_arbiter *arbiter;
 	int ret;
 
-	mutex_lock(&i915->display.hdcp.hdcp_mutex);
-	arbiter = i915->display.hdcp.arbiter;
+	mutex_lock(&display->hdcp.hdcp_mutex);
+	arbiter = display->hdcp.arbiter;
 
 	if (!arbiter || !arbiter->ops) {
-		mutex_unlock(&i915->display.hdcp.hdcp_mutex);
+		mutex_unlock(&display->hdcp.hdcp_mutex);
 		return -EINVAL;
 	}
 
 	ret = arbiter->ops->verify_hprime(arbiter->hdcp_dev, data, rx_hprime);
 	if (ret < 0)
-		drm_dbg_kms(&i915->drm, "Verify hprime failed. %d\n", ret);
-	mutex_unlock(&i915->display.hdcp.hdcp_mutex);
+		drm_dbg_kms(display->drm, "Verify hprime failed. %d\n", ret);
+	mutex_unlock(&display->hdcp.hdcp_mutex);
 
 	return ret;
 }
@@ -1200,25 +1200,25 @@ static int
 hdcp2_store_pairing_info(struct intel_connector *connector,
 			 struct hdcp2_ake_send_pairing_info *pairing_info)
 {
+	struct intel_display *display = to_intel_display(connector);
 	struct intel_digital_port *dig_port = intel_attached_dig_port(connector);
 	struct hdcp_port_data *data = &dig_port->hdcp_port_data;
-	struct drm_i915_private *i915 = to_i915(connector->base.dev);
 	struct i915_hdcp_arbiter *arbiter;
 	int ret;
 
-	mutex_lock(&i915->display.hdcp.hdcp_mutex);
-	arbiter = i915->display.hdcp.arbiter;
+	mutex_lock(&display->hdcp.hdcp_mutex);
+	arbiter = display->hdcp.arbiter;
 
 	if (!arbiter || !arbiter->ops) {
-		mutex_unlock(&i915->display.hdcp.hdcp_mutex);
+		mutex_unlock(&display->hdcp.hdcp_mutex);
 		return -EINVAL;
 	}
 
 	ret = arbiter->ops->store_pairing_info(arbiter->hdcp_dev, data, pairing_info);
 	if (ret < 0)
-		drm_dbg_kms(&i915->drm, "Store pairing info failed. %d\n",
+		drm_dbg_kms(display->drm, "Store pairing info failed. %d\n",
 			    ret);
-	mutex_unlock(&i915->display.hdcp.hdcp_mutex);
+	mutex_unlock(&display->hdcp.hdcp_mutex);
 
 	return ret;
 }
@@ -1227,25 +1227,25 @@ static int
 hdcp2_prepare_lc_init(struct intel_connector *connector,
 		      struct hdcp2_lc_init *lc_init)
 {
+	struct intel_display *display = to_intel_display(connector);
 	struct intel_digital_port *dig_port = intel_attached_dig_port(connector);
 	struct hdcp_port_data *data = &dig_port->hdcp_port_data;
-	struct drm_i915_private *i915 = to_i915(connector->base.dev);
 	struct i915_hdcp_arbiter *arbiter;
 	int ret;
 
-	mutex_lock(&i915->display.hdcp.hdcp_mutex);
-	arbiter = i915->display.hdcp.arbiter;
+	mutex_lock(&display->hdcp.hdcp_mutex);
+	arbiter = display->hdcp.arbiter;
 
 	if (!arbiter || !arbiter->ops) {
-		mutex_unlock(&i915->display.hdcp.hdcp_mutex);
+		mutex_unlock(&display->hdcp.hdcp_mutex);
 		return -EINVAL;
 	}
 
 	ret = arbiter->ops->initiate_locality_check(arbiter->hdcp_dev, data, lc_init);
 	if (ret < 0)
-		drm_dbg_kms(&i915->drm, "Prepare lc_init failed. %d\n",
+		drm_dbg_kms(display->drm, "Prepare lc_init failed. %d\n",
 			    ret);
-	mutex_unlock(&i915->display.hdcp.hdcp_mutex);
+	mutex_unlock(&display->hdcp.hdcp_mutex);
 
 	return ret;
 }
@@ -1254,25 +1254,25 @@ static int
 hdcp2_verify_lprime(struct intel_connector *connector,
 		    struct hdcp2_lc_send_lprime *rx_lprime)
 {
+	struct intel_display *display = to_intel_display(connector);
 	struct intel_digital_port *dig_port = intel_attached_dig_port(connector);
 	struct hdcp_port_data *data = &dig_port->hdcp_port_data;
-	struct drm_i915_private *i915 = to_i915(connector->base.dev);
 	struct i915_hdcp_arbiter *arbiter;
 	int ret;
 
-	mutex_lock(&i915->display.hdcp.hdcp_mutex);
-	arbiter = i915->display.hdcp.arbiter;
+	mutex_lock(&display->hdcp.hdcp_mutex);
+	arbiter = display->hdcp.arbiter;
 
 	if (!arbiter || !arbiter->ops) {
-		mutex_unlock(&i915->display.hdcp.hdcp_mutex);
+		mutex_unlock(&display->hdcp.hdcp_mutex);
 		return -EINVAL;
 	}
 
 	ret = arbiter->ops->verify_lprime(arbiter->hdcp_dev, data, rx_lprime);
 	if (ret < 0)
-		drm_dbg_kms(&i915->drm, "Verify L_Prime failed. %d\n",
+		drm_dbg_kms(display->drm, "Verify L_Prime failed. %d\n",
 			    ret);
-	mutex_unlock(&i915->display.hdcp.hdcp_mutex);
+	mutex_unlock(&display->hdcp.hdcp_mutex);
 
 	return ret;
 }
@@ -1280,25 +1280,25 @@ hdcp2_verify_lprime(struct intel_connect
 static int hdcp2_prepare_skey(struct intel_connector *connector,
 			      struct hdcp2_ske_send_eks *ske_data)
 {
+	struct intel_display *display = to_intel_display(connector);
 	struct intel_digital_port *dig_port = intel_attached_dig_port(connector);
 	struct hdcp_port_data *data = &dig_port->hdcp_port_data;
-	struct drm_i915_private *i915 = to_i915(connector->base.dev);
 	struct i915_hdcp_arbiter *arbiter;
 	int ret;
 
-	mutex_lock(&i915->display.hdcp.hdcp_mutex);
-	arbiter = i915->display.hdcp.arbiter;
+	mutex_lock(&display->hdcp.hdcp_mutex);
+	arbiter = display->hdcp.arbiter;
 
 	if (!arbiter || !arbiter->ops) {
-		mutex_unlock(&i915->display.hdcp.hdcp_mutex);
+		mutex_unlock(&display->hdcp.hdcp_mutex);
 		return -EINVAL;
 	}
 
 	ret = arbiter->ops->get_session_key(arbiter->hdcp_dev, data, ske_data);
 	if (ret < 0)
-		drm_dbg_kms(&i915->drm, "Get session key failed. %d\n",
+		drm_dbg_kms(display->drm, "Get session key failed. %d\n",
 			    ret);
-	mutex_unlock(&i915->display.hdcp.hdcp_mutex);
+	mutex_unlock(&display->hdcp.hdcp_mutex);
 
 	return ret;
 }
@@ -1309,17 +1309,17 @@ hdcp2_verify_rep_topology_prepare_ack(st
 								*rep_topology,
 				      struct hdcp2_rep_send_ack *rep_send_ack)
 {
+	struct intel_display *display = to_intel_display(connector);
 	struct intel_digital_port *dig_port = intel_attached_dig_port(connector);
 	struct hdcp_port_data *data = &dig_port->hdcp_port_data;
-	struct drm_i915_private *i915 = to_i915(connector->base.dev);
 	struct i915_hdcp_arbiter *arbiter;
 	int ret;
 
-	mutex_lock(&i915->display.hdcp.hdcp_mutex);
-	arbiter = i915->display.hdcp.arbiter;
+	mutex_lock(&display->hdcp.hdcp_mutex);
+	arbiter = display->hdcp.arbiter;
 
 	if (!arbiter || !arbiter->ops) {
-		mutex_unlock(&i915->display.hdcp.hdcp_mutex);
+		mutex_unlock(&display->hdcp.hdcp_mutex);
 		return -EINVAL;
 	}
 
@@ -1328,9 +1328,9 @@ hdcp2_verify_rep_topology_prepare_ack(st
 							    rep_topology,
 							    rep_send_ack);
 	if (ret < 0)
-		drm_dbg_kms(&i915->drm,
+		drm_dbg_kms(display->drm,
 			    "Verify rep topology failed. %d\n", ret);
-	mutex_unlock(&i915->display.hdcp.hdcp_mutex);
+	mutex_unlock(&display->hdcp.hdcp_mutex);
 
 	return ret;
 }
@@ -1339,71 +1339,71 @@ static int
 hdcp2_verify_mprime(struct intel_connector *connector,
 		    struct hdcp2_rep_stream_ready *stream_ready)
 {
+	struct intel_display *display = to_intel_display(connector);
 	struct intel_digital_port *dig_port = intel_attached_dig_port(connector);
 	struct hdcp_port_data *data = &dig_port->hdcp_port_data;
-	struct drm_i915_private *i915 = to_i915(connector->base.dev);
 	struct i915_hdcp_arbiter *arbiter;
 	int ret;
 
-	mutex_lock(&i915->display.hdcp.hdcp_mutex);
-	arbiter = i915->display.hdcp.arbiter;
+	mutex_lock(&display->hdcp.hdcp_mutex);
+	arbiter = display->hdcp.arbiter;
 
 	if (!arbiter || !arbiter->ops) {
-		mutex_unlock(&i915->display.hdcp.hdcp_mutex);
+		mutex_unlock(&display->hdcp.hdcp_mutex);
 		return -EINVAL;
 	}
 
 	ret = arbiter->ops->verify_mprime(arbiter->hdcp_dev, data, stream_ready);
 	if (ret < 0)
-		drm_dbg_kms(&i915->drm, "Verify mprime failed. %d\n", ret);
-	mutex_unlock(&i915->display.hdcp.hdcp_mutex);
+		drm_dbg_kms(display->drm, "Verify mprime failed. %d\n", ret);
+	mutex_unlock(&display->hdcp.hdcp_mutex);
 
 	return ret;
 }
 
 static int hdcp2_authenticate_port(struct intel_connector *connector)
 {
+	struct intel_display *display = to_intel_display(connector);
 	struct intel_digital_port *dig_port = intel_attached_dig_port(connector);
 	struct hdcp_port_data *data = &dig_port->hdcp_port_data;
-	struct drm_i915_private *i915 = to_i915(connector->base.dev);
 	struct i915_hdcp_arbiter *arbiter;
 	int ret;
 
-	mutex_lock(&i915->display.hdcp.hdcp_mutex);
-	arbiter = i915->display.hdcp.arbiter;
+	mutex_lock(&display->hdcp.hdcp_mutex);
+	arbiter = display->hdcp.arbiter;
 
 	if (!arbiter || !arbiter->ops) {
-		mutex_unlock(&i915->display.hdcp.hdcp_mutex);
+		mutex_unlock(&display->hdcp.hdcp_mutex);
 		return -EINVAL;
 	}
 
 	ret = arbiter->ops->enable_hdcp_authentication(arbiter->hdcp_dev, data);
 	if (ret < 0)
-		drm_dbg_kms(&i915->drm, "Enable hdcp auth failed. %d\n",
+		drm_dbg_kms(display->drm, "Enable hdcp auth failed. %d\n",
 			    ret);
-	mutex_unlock(&i915->display.hdcp.hdcp_mutex);
+	mutex_unlock(&display->hdcp.hdcp_mutex);
 
 	return ret;
 }
 
 static int hdcp2_close_session(struct intel_connector *connector)
 {
+	struct intel_display *display = to_intel_display(connector);
 	struct intel_digital_port *dig_port = intel_attached_dig_port(connector);
-	struct drm_i915_private *i915 = to_i915(connector->base.dev);
 	struct i915_hdcp_arbiter *arbiter;
 	int ret;
 
-	mutex_lock(&i915->display.hdcp.hdcp_mutex);
-	arbiter = i915->display.hdcp.arbiter;
+	mutex_lock(&display->hdcp.hdcp_mutex);
+	arbiter = display->hdcp.arbiter;
 
 	if (!arbiter || !arbiter->ops) {
-		mutex_unlock(&i915->display.hdcp.hdcp_mutex);
+		mutex_unlock(&display->hdcp.hdcp_mutex);
 		return -EINVAL;
 	}
 
 	ret = arbiter->ops->close_hdcp_session(arbiter->hdcp_dev,
 					     &dig_port->hdcp_port_data);
-	mutex_unlock(&i915->display.hdcp.hdcp_mutex);
+	mutex_unlock(&display->hdcp.hdcp_mutex);
 
 	return ret;
 }
@@ -1416,8 +1416,8 @@ static int hdcp2_deauthenticate_port(str
 /* Authentication flow starts from here */
 static int hdcp2_authentication_key_exchange(struct intel_connector *connector)
 {
+	struct intel_display *display = to_intel_display(connector);
 	struct intel_digital_port *dig_port = intel_attached_dig_port(connector);
-	struct drm_i915_private *i915 = to_i915(connector->base.dev);
 	struct intel_hdcp *hdcp = &connector->hdcp;
 	union {
 		struct hdcp2_ake_init ake_init;
@@ -1449,16 +1449,16 @@ static int hdcp2_authentication_key_exch
 		return ret;
 
 	if (msgs.send_cert.rx_caps[0] != HDCP_2_2_RX_CAPS_VERSION_VAL) {
-		drm_dbg_kms(&i915->drm, "cert.rx_caps dont claim HDCP2.2\n");
+		drm_dbg_kms(display->drm, "cert.rx_caps dont claim HDCP2.2\n");
 		return -EINVAL;
 	}
 
 	hdcp->is_repeater = HDCP_2_2_RX_REPEATER(msgs.send_cert.rx_caps[2]);
 
-	if (drm_hdcp_check_ksvs_revoked(&i915->drm,
+	if (drm_hdcp_check_ksvs_revoked(display->drm,
 					msgs.send_cert.cert_rx.receiver_id,
 					1) > 0) {
-		drm_err(&i915->drm, "Receiver ID is revoked\n");
+		drm_err(display->drm, "Receiver ID is revoked\n");
 		return -EPERM;
 	}
 
@@ -1611,8 +1611,8 @@ out:
 static
 int hdcp2_authenticate_repeater_topology(struct intel_connector *connector)
 {
+	struct intel_display *display = to_intel_display(connector);
 	struct intel_digital_port *dig_port = intel_attached_dig_port(connector);
-	struct drm_i915_private *i915 = to_i915(connector->base.dev);
 	struct intel_hdcp *hdcp = &connector->hdcp;
 	union {
 		struct hdcp2_rep_send_receiverid_list recvid_list;
@@ -1632,7 +1632,7 @@ int hdcp2_authenticate_repeater_topology
 
 	if (HDCP_2_2_MAX_CASCADE_EXCEEDED(rx_info[1]) ||
 	    HDCP_2_2_MAX_DEVS_EXCEEDED(rx_info[1])) {
-		drm_dbg_kms(&i915->drm, "Topology Max Size Exceeded\n");
+		drm_dbg_kms(display->drm, "Topology Max Size Exceeded\n");
 		return -EINVAL;
 	}
 
@@ -1649,23 +1649,23 @@ int hdcp2_authenticate_repeater_topology
 		drm_hdcp_be24_to_cpu((const u8 *)msgs.recvid_list.seq_num_v);
 
 	if (!hdcp->hdcp2_encrypted && seq_num_v) {
-		drm_dbg_kms(&i915->drm,
+		drm_dbg_kms(display->drm,
 			    "Non zero Seq_num_v at first RecvId_List msg\n");
 		return -EINVAL;
 	}
 
 	if (seq_num_v < hdcp->seq_num_v) {
 		/* Roll over of the seq_num_v from repeater. Reauthenticate. */
-		drm_dbg_kms(&i915->drm, "Seq_num_v roll over.\n");
+		drm_dbg_kms(display->drm, "Seq_num_v roll over.\n");
 		return -EINVAL;
 	}
 
 	device_cnt = (HDCP_2_2_DEV_COUNT_HI(rx_info[0]) << 4 |
 		      HDCP_2_2_DEV_COUNT_LO(rx_info[1]));
-	if (drm_hdcp_check_ksvs_revoked(&i915->drm,
+	if (drm_hdcp_check_ksvs_revoked(display->drm,
 					msgs.recvid_list.receiver_ids,
 					device_cnt) > 0) {
-		drm_err(&i915->drm, "Revoked receiver ID(s) is in list\n");
+		drm_err(display->drm, "Revoked receiver ID(s) is in list\n");
 		return -EPERM;
 	}
 
@@ -1686,28 +1686,28 @@ int hdcp2_authenticate_repeater_topology
 
 static int hdcp2_authenticate_sink(struct intel_connector *connector)
 {
+	struct intel_display *display = to_intel_display(connector);
 	struct intel_digital_port *dig_port = intel_attached_dig_port(connector);
-	struct drm_i915_private *i915 = to_i915(connector->base.dev);
 	struct intel_hdcp *hdcp = &connector->hdcp;
 	const struct intel_hdcp_shim *shim = hdcp->shim;
 	int ret;
 
 	ret = hdcp2_authentication_key_exchange(connector);
 	if (ret < 0) {
-		drm_dbg_kms(&i915->drm, "AKE Failed. Err : %d\n", ret);
+		drm_dbg_kms(display->drm, "AKE Failed. Err : %d\n", ret);
 		return ret;
 	}
 
 	ret = hdcp2_locality_check(connector);
 	if (ret < 0) {
-		drm_dbg_kms(&i915->drm,
+		drm_dbg_kms(display->drm,
 			    "Locality Check failed. Err : %d\n", ret);
 		return ret;
 	}
 
 	ret = hdcp2_session_key_exchange(connector);
 	if (ret < 0) {
-		drm_dbg_kms(&i915->drm, "SKE Failed. Err : %d\n", ret);
+		drm_dbg_kms(display->drm, "SKE Failed. Err : %d\n", ret);
 		return ret;
 	}
 
@@ -1722,7 +1722,7 @@ static int hdcp2_authenticate_sink(struc
 	if (hdcp->is_repeater) {
 		ret = hdcp2_authenticate_repeater_topology(connector);
 		if (ret < 0) {
-			drm_dbg_kms(&i915->drm,
+			drm_dbg_kms(display->drm,
 				    "Repeater Auth Failed. Err: %d\n", ret);
 			return ret;
 		}
@@ -1851,7 +1851,7 @@ static int hdcp2_disable_encryption(stru
 static int
 hdcp2_propagate_stream_management_info(struct intel_connector *connector)
 {
-	struct drm_i915_private *i915 = to_i915(connector->base.dev);
+	struct intel_display *display = to_intel_display(connector);
 	int i, tries = 3, ret;
 
 	if (!connector->hdcp.is_repeater)
@@ -1864,12 +1864,12 @@ hdcp2_propagate_stream_management_info(s
 
 		/* Lets restart the auth incase of seq_num_m roll over */
 		if (connector->hdcp.seq_num_m > HDCP_2_2_SEQ_NUM_MAX) {
-			drm_dbg_kms(&i915->drm,
+			drm_dbg_kms(display->drm,
 				    "seq_num_m roll over.(%d)\n", ret);
 			break;
 		}
 
-		drm_dbg_kms(&i915->drm,
+		drm_dbg_kms(display->drm,
 			    "HDCP2 stream management %d of %d Failed.(%d)\n",
 			    i + 1, tries, ret);
 	}
@@ -1879,8 +1879,8 @@ hdcp2_propagate_stream_management_info(s
 
 static int hdcp2_authenticate_and_encrypt(struct intel_connector *connector)
 {
+	struct intel_display *display = to_intel_display(connector);
 	struct intel_digital_port *dig_port = intel_attached_dig_port(connector);
-	struct drm_i915_private *i915 = to_i915(connector->base.dev);
 	int ret = 0, i, tries = 3;
 
 	for (i = 0; i < tries && !dig_port->hdcp_auth_status; i++) {
@@ -1890,7 +1890,7 @@ static int hdcp2_authenticate_and_encryp
 
 			ret = hdcp2_propagate_stream_management_info(connector);
 			if (ret) {
-				drm_dbg_kms(&i915->drm,
+				drm_dbg_kms(display->drm,
 					    "Stream management failed.(%d)\n",
 					    ret);
 				break;
@@ -1899,15 +1899,15 @@ static int hdcp2_authenticate_and_encryp
 			ret = hdcp2_authenticate_port(connector);
 			if (!ret)
 				break;
-			drm_dbg_kms(&i915->drm, "HDCP2 port auth failed.(%d)\n",
+			drm_dbg_kms(display->drm, "HDCP2 port auth failed.(%d)\n",
 				    ret);
 		}
 
 		/* Clearing the mei hdcp session */
-		drm_dbg_kms(&i915->drm, "HDCP2.2 Auth %d of %d Failed.(%d)\n",
+		drm_dbg_kms(display->drm, "HDCP2.2 Auth %d of %d Failed.(%d)\n",
 			    i + 1, tries, ret);
 		if (hdcp2_deauthenticate_port(connector) < 0)
-			drm_dbg_kms(&i915->drm, "Port deauth failed.\n");
+			drm_dbg_kms(display->drm, "Port deauth failed.\n");
 	}
 
 	if (!ret && !dig_port->hdcp_auth_status) {
@@ -1918,10 +1918,10 @@ static int hdcp2_authenticate_and_encryp
 		msleep(HDCP_2_2_DELAY_BEFORE_ENCRYPTION_EN);
 		ret = hdcp2_enable_encryption(connector);
 		if (ret < 0) {
-			drm_dbg_kms(&i915->drm,
+			drm_dbg_kms(display->drm,
 				    "Encryption Enable Failed.(%d)\n", ret);
 			if (hdcp2_deauthenticate_port(connector) < 0)
-				drm_dbg_kms(&i915->drm, "Port deauth failed.\n");
+				drm_dbg_kms(display->drm, "Port deauth failed.\n");
 		}
 	}
 
@@ -1933,22 +1933,22 @@ static int hdcp2_authenticate_and_encryp
 
 static int _intel_hdcp2_enable(struct intel_connector *connector)
 {
-	struct drm_i915_private *i915 = to_i915(connector->base.dev);
+	struct intel_display *display = to_intel_display(connector);
 	struct intel_hdcp *hdcp = &connector->hdcp;
 	int ret;
 
-	drm_dbg_kms(&i915->drm, "[%s:%d] HDCP2.2 is being enabled. Type: %d\n",
+	drm_dbg_kms(display->drm, "[%s:%d] HDCP2.2 is being enabled. Type: %d\n",
 		    connector->base.name, connector->base.base.id,
 		    hdcp->content_type);
 
 	ret = hdcp2_authenticate_and_encrypt(connector);
 	if (ret) {
-		drm_dbg_kms(&i915->drm, "HDCP2 Type%d  Enabling Failed. (%d)\n",
+		drm_dbg_kms(display->drm, "HDCP2 Type%d  Enabling Failed. (%d)\n",
 			    hdcp->content_type, ret);
 		return ret;
 	}
 
-	drm_dbg_kms(&i915->drm, "[%s:%d] HDCP2.2 is enabled. Type %d\n",
+	drm_dbg_kms(display->drm, "[%s:%d] HDCP2.2 is enabled. Type %d\n",
 		    connector->base.name, connector->base.base.id,
 		    hdcp->content_type);
 
@@ -1959,23 +1959,23 @@ static int _intel_hdcp2_enable(struct in
 static int
 _intel_hdcp2_disable(struct intel_connector *connector, bool hdcp2_link_recovery)
 {
+	struct intel_display *display = to_intel_display(connector);
 	struct intel_digital_port *dig_port = intel_attached_dig_port(connector);
-	struct drm_i915_private *i915 = to_i915(connector->base.dev);
 	struct hdcp_port_data *data = &dig_port->hdcp_port_data;
 	struct intel_hdcp *hdcp = &connector->hdcp;
 	int ret;
 
-	drm_dbg_kms(&i915->drm, "[%s:%d] HDCP2.2 is being Disabled\n",
+	drm_dbg_kms(display->drm, "[%s:%d] HDCP2.2 is being Disabled\n",
 		    connector->base.name, connector->base.base.id);
 
 	if (hdcp->shim->stream_2_2_encryption) {
 		ret = hdcp->shim->stream_2_2_encryption(connector, false);
 		if (ret) {
-			drm_err(&i915->drm, "[%s:%d] Failed to disable HDCP 2.2 stream enc\n",
+			drm_err(display->drm, "[%s:%d] Failed to disable HDCP 2.2 stream enc\n",
 				connector->base.name, connector->base.base.id);
 			return ret;
 		}
-		drm_dbg_kms(&i915->drm, "HDCP 2.2 transcoder: %s stream encryption disabled\n",
+		drm_dbg_kms(display->drm, "HDCP 2.2 transcoder: %s stream encryption disabled\n",
 			    transcoder_name(hdcp->stream_transcoder));
 
 		if (dig_port->num_hdcp_streams > 0 && !hdcp2_link_recovery)
@@ -1985,7 +1985,7 @@ _intel_hdcp2_disable(struct intel_connec
 	ret = hdcp2_disable_encryption(connector);
 
 	if (hdcp2_deauthenticate_port(connector) < 0)
-		drm_dbg_kms(&i915->drm, "Port deauth failed.\n");
+		drm_dbg_kms(display->drm, "Port deauth failed.\n");
 
 	connector->hdcp.hdcp2_encrypted = false;
 	dig_port->hdcp_auth_status = false;
@@ -2112,13 +2112,12 @@ static int i915_hdcp_component_bind(stru
 				    struct device *mei_kdev, void *data)
 {
 	struct intel_display *display = to_intel_display(drv_kdev);
-	struct drm_i915_private *i915 = to_i915(display->drm);
 
-	drm_dbg(&i915->drm, "I915 HDCP comp bind\n");
-	mutex_lock(&i915->display.hdcp.hdcp_mutex);
-	i915->display.hdcp.arbiter = (struct i915_hdcp_arbiter *)data;
-	i915->display.hdcp.arbiter->hdcp_dev = mei_kdev;
-	mutex_unlock(&i915->display.hdcp.hdcp_mutex);
+	drm_dbg(display->drm, "I915 HDCP comp bind\n");
+	mutex_lock(&display->hdcp.hdcp_mutex);
+	display->hdcp.arbiter = (struct i915_hdcp_arbiter *)data;
+	display->hdcp.arbiter->hdcp_dev = mei_kdev;
+	mutex_unlock(&display->hdcp.hdcp_mutex);
 
 	return 0;
 }
@@ -2127,12 +2126,11 @@ static void i915_hdcp_component_unbind(s
 				       struct device *mei_kdev, void *data)
 {
 	struct intel_display *display = to_intel_display(drv_kdev);
-	struct drm_i915_private *i915 = to_i915(display->drm);
 
-	drm_dbg(&i915->drm, "I915 HDCP comp unbind\n");
-	mutex_lock(&i915->display.hdcp.hdcp_mutex);
-	i915->display.hdcp.arbiter = NULL;
-	mutex_unlock(&i915->display.hdcp.hdcp_mutex);
+	drm_dbg(display->drm, "I915 HDCP comp unbind\n");
+	mutex_lock(&display->hdcp.hdcp_mutex);
+	display->hdcp.arbiter = NULL;
+	mutex_unlock(&display->hdcp.hdcp_mutex);
 }
 
 static const struct component_ops i915_hdcp_ops = {
@@ -2247,13 +2245,13 @@ static void intel_hdcp2_init(struct inte
 			     struct intel_digital_port *dig_port,
 			     const struct intel_hdcp_shim *shim)
 {
-	struct drm_i915_private *i915 = to_i915(connector->base.dev);
+	struct intel_display *display = to_intel_display(connector);
 	struct intel_hdcp *hdcp = &connector->hdcp;
 	int ret;
 
 	ret = initialize_hdcp_port_data(connector, dig_port, shim);
 	if (ret) {
-		drm_dbg_kms(&i915->drm, "Mei hdcp data init failed\n");
+		drm_dbg_kms(display->drm, "Mei hdcp data init failed\n");
 		return;
 	}
 



  parent reply	other threads:[~2026-08-07 15:28 UTC|newest]

Thread overview: 269+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-07 14:35 [PATCH 6.6 000/261] 6.6.151-rc1 review Greg Kroah-Hartman
2026-08-07 14:35 ` [PATCH 6.6 001/261] netfilter: nf_conntrack_expect: restore helper propagation via expectation Greg Kroah-Hartman
2026-08-07 14:35 ` [PATCH 6.6 002/261] netfilter: br_netfilter: Reallocate headroom if necessary in neigh_hh_bridge() Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 6.6 003/261] net: mpls: initialize rtm_tos in mpls_getroute() Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 6.6 004/261] gve: fix Rx queue stall on alloc failure Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 6.6 005/261] HID: logitech-dj: Standardise hid_report_enum variable nomenclature Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 6.6 006/261] HID: logitech-dj: Prevent REPORT_ID_DJ_SHORT related user initiated OOB write Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 6.6 007/261] HID: logitech-dj: fix wrong detection of bad DJ_SHORT output report Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 6.6 008/261] soc: qcom: ice: Allow explicit votes on iface clock for ICE Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 6.6 009/261] thunderbolt: Prevent XDomain delayed work use-after-free on disconnect Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 6.6 010/261] pinctrl: qcom: sc8280xp: Add missing wakeup entries for GPIO143/151 Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 6.6 011/261] dmaengine: sun6i-dma: Fix reclaim descriptors while terminating DMA Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 6.6 012/261] dmaengine: idxd: fix fdev setup failure cleanup in idxd_cdev_open() Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 6.6 013/261] ata: sata_mv: accept 1 or 2 resources in platform probe Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 6.6 014/261] ata: libahci_platform: support non-consecutive port numbers Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 6.6 015/261] ahci: Introduce ahci_ignore_port() helper Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 6.6 016/261] ata: ahci_ceva: fix error paths in ceva_ahci_platform_enable_resources() Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 6.6 017/261] ASoC: max98095: fix missing IS_ERR() before PTR_ERR() on mclk lookup Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 6.6 018/261] ASoC: max98090: " Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 6.6 019/261] btrfs: zoned: fix deadlock between metadata writeback and transaction commit Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 6.6 020/261] phy-zynqmp: Postpone getting clock rate until actually needed Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 6.6 021/261] phy: zynqmp: fix clock error handling in xpsgtr_phy_init() Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 6.6 022/261] phy: zynqmp: fix runtime PM leak on probe allocation failure Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 6.6 023/261] netfilter: nf_conntrack_sip: widen NAT rewrite delta to s32 in sip_help_tcp() Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 6.6 024/261] drm/mediatek: Check CRTC state before freeing Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 6.6 025/261] keys: fix out-of-bounds read in keyring_get_key_chunk() Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 6.6 026/261] keys: make keyring key-chunk byte order agree with keyring_diff_objects() Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 6.6 027/261] assoc_array: trim the final shortcut word using the current chunk end Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 6.6 028/261] netfilter: xt_hashlimit: validate hashtable supports XT_HASHLIMIT_RATE_MATCH Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 6.6 029/261] sched: Add task_struct->faults_disabled_mapping Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 6.6 030/261] ipvs: fix the checksum validations Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 6.6 031/261] ipvs: fix places with wrong packet offsets Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 6.6 032/261] ipvs: do not mangle ICMP replies for non-first fragments Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 6.6 033/261] netfilter: nft_payload: fix mask build for partial field offload Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 6.6 034/261] rds: Fix inet6_addr_lst NULL dereference when IPv6 is disabled Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 6.6 035/261] rds: tcp: hold the RCU lock across ipv6_chk_addr() in rds_tcp_laddr_check() Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 6.6 036/261] pinctrl-amd: Dont clear S4 wake bits at probe Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 6.6 037/261] scsi: libiscsi: Fix stale-data leak into the SCSI sense buffer Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 6.6 038/261] scsi: libiscsi_tcp: Bound SCSI Response data segment to the connection buffer Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 6.6 039/261] scsi: libsas: Fix HA resume deadlock and hisi_sas disk-wake race Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 6.6 040/261] smb: client: fix buffer leaks in SMB1 read and write Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 6.6 041/261] spi: spi-cadence: supports transmission with bits_per_word of 16 and 32 Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 6.6 042/261] spi: spi-cadence: Move TX FIFO full busy-wait into FIFO Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 6.6 043/261] hwmon: (nct6775-core) Fix number of temperature registers for NCT6116 Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 6.6 044/261] hwmon: (lm90) Only report alarms if driver is ready Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 6.6 045/261] hwmon: (nzxt-smart2) DMA-align output buffer Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 6.6 046/261] net: do not send ICMP/NDISC Redirects when peer allocation fails Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 6.6 047/261] hwmon: (nct6775-core) Prevent access to unsupported weight registers Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 6.6 048/261] net: bridge: mrp: fix Option TLV length in MRP_Test frames Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 6.6 049/261] forcedeth: fix UAF of txrx_stats in nv_remove Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 6.6 050/261] hwmon: (adt7470) Fix fans stuck in manual mode on I2C errors Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 6.6 051/261] hwmon: (adt7470) Fix cache updated before hardware write on I2C error Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 6.6 052/261] hwmon: (adt7470) Fix busy-loop and I2C flooding in update thread Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 6.6 053/261] hwmon: (adt7470) Fix temperature alarm logic in hwmon_temp_read() Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 6.6 054/261] hwmon: (adt7470) Fix swapped PWM3 and PWM4 auto mode masks Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 6.6 055/261] hwmon: (adt7470) Use cached PWM frequency value Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 6.6 056/261] hwmon: (adt7470) Fix divide-by-zero TOCTOU crash in fan speed read Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 6.6 057/261] hwmon: (adt7470) Fix PWM auto temp state array and bounds check Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 6.6 058/261] powerpc/boot: Fix simpleboot CPU node lookup check Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 6.6 059/261] powerpc/boot: Fix treeboot-currituck " Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 6.6 060/261] powerpc/boot: Fix treeboot-akebono " Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 6.6 061/261] wifi: mac80211: validate individual TWT params before driver setup Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 6.6 062/261] hwmon: (pmbus) Fix return value from pmbus_update_byte_data() Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 6.6 063/261] Bluetooth: ISO: clear iso_data always when detaching conn from hcon Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 6.6 064/261] Bluetooth: L2CAP: fix UAF in l2cap_le_connect_rsp Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 6.6 065/261] Bluetooth: ISO: fix timeout vs sync_timeout typo in check_bcast_qos Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 6.6 066/261] Bluetooth: btintel: Validate length before parsing diagnostics TLV Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 6.6 067/261] Bluetooth: hci_sync: make hci_cmd_sync_run_once return -EEXIST if exists Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 6.6 068/261] Bluetooth: hci_conn: hold conn reference in abort_conn_sync() Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 6.6 069/261] Bluetooth: hci_sync: fix hci_conn_del() use in hci_le_create_conn_sync Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 6.6 070/261] Bluetooth: hci_sync: remove unnecessary hci_conn_get in create_conn_sync Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 6.6 071/261] net: phylink: put link_gpio if phylink_create fails Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 6.6 072/261] scsi: target: iblock: Fix wrong PR ops NULL check for PREEMPT/RELEASE Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 6.6 073/261] scsi: ufs: core: Cancel RTC work in active-active suspend Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 6.6 074/261] scsi: zfcp: Fix memory leak during adapter release by destroying gid_pn_req Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 6.6 075/261] scsi: target: Clear cmd_cnt when initial counter enrollment fails Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 6.6 076/261] net: sxgbe: free TX rings on RX allocation failure Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 6.6 077/261] net: sxgbe: check descriptor ring allocation failures Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 6.6 078/261] can: isotp: check register_netdevice_notifier() error in module init Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 6.6 079/261] tracing/mmiotrace: Reset dropped_count in mmio_reset_data() Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 6.6 080/261] accel/qaic: use sizeof(*trans_hdr) for transaction length check Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 6.6 081/261] net: dsa: mt7530: error out on failed reads in MT7531 PHY polling Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 6.6 082/261] octeontx2-pf: Set correct sequence for carrier off and tx queue stop Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 6.6 083/261] qede: sync udp_tunnel ports outside qede_lock in the recovery path Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 6.6 084/261] ksmbd: return success for deferred final close Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 6.6 085/261] ksmbd: fix use-after-free in __close_file_table_ids() Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 6.6 086/261] ipv6: fib6: fix NULL deref in fib6_walk_continue() on multi-batch dump Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 6.6 087/261] rhashtable: clear stale iter->p on table restart Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 6.6 088/261] pinctrl: microchip-sgpio: add missing select REGMAP_MMIO Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 6.6 089/261] pinctrl: devicetree: dont free uninitialized dev_name on error path Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 6.6 090/261] erofs: cap LZMA stream pool size Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 6.6 091/261] pinctrl: bm1880: add missing select GENERIC_PINCONF Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 6.6 092/261] mm/percpu-km: fix bitmap overflow and accounting in pcpu_create_chunk() Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 6.6 093/261] mm/hugetlb: fix list corruption in allocate_file_region_entries() Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 6.6 094/261] mm/vmstat: fold stranded per-cpu node stats when a node comes online Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 6.6 095/261] tracing/probes: Reject $arg0 in meta argument expansion Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 6.6 096/261] KVM: SVM: Update x2APIC MSR intercepts if AVIC is inhibited while L2 is active Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 6.6 097/261] KVM: s390: pci: Reject adapter interrupt forwarding if already enabled Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 6.6 098/261] KVM: s390: pci: Fix NULL dereference on AIBV allocation failure Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 6.6 099/261] KVM: s390: pci: Validate AIBV and AISB before pinning guest pages Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 6.6 100/261] sctp: validate Adaptation Indication parameter length Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 6.6 101/261] audit: fix potential integer overflow in audit_log_n_string() Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 6.6 102/261] audit: fix potential use-after-free in audit_del_rule() Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 6.6 103/261] Bluetooth: btmtk: Fix short read errors in btmtk_usb_uhw_reg_read() Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 6.6 104/261] Bluetooth: mgmt: fix pending command UAF in EIR updates Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 6.6 105/261] Bluetooth: mgmt: fix UAF in pair command cancellation Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 6.6 106/261] Bluetooth: HIDP: reject frames without a transaction header Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 6.6 107/261] Bluetooth: HIDP: validate numbered report payloads Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 6.6 108/261] bpf: lwt: Fix dst reference leak on reroute failure Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 6.6 109/261] ALSA: 6fire: Fix UAF at error handling during probe Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 6.6 110/261] ALSA: lx6464es: fix period byte count for 16-bit streams Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 6.6 111/261] ALSA: pcm: wake linked drain waiters on unlink Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 6.6 112/261] ALSA: ump: fix double free of out_cvts on rawmidi error Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 6.6 113/261] ASoC: tas2562: fix DVC coefficient write order Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 6.6 114/261] ASoC: tas2562: fix broken entries in the volume lookup table Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 6.6 115/261] ata: libata-eh: Increase STANDBY IMMEDIATE timeout Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 6.6 116/261] ALSA: usb-audio: fix use-after-free in ump_to_endpoint() Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 6.6 117/261] ALSA: usb-audio: fix OOB write in snd_usbmidi_akai_output() Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 6.6 118/261] ALSA: usb-audio: Fix DMA buffer out-of-bounds write when fill_max is set Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 6.6 119/261] ALSA: usb-audio: Clamp frame size in implicit-feedback mode Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 6.6 120/261] dmaengine: qcom: bam_dma: Fix command element mask field for BAM v1.6.0+ Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 6.6 121/261] e1000: fix memory leak in e1000_probe() Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 6.6 122/261] igbvf: Fix leak in TX DMA error cleanup Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 6.6 123/261] ipvs: do not propagate one-packet flag to synced conns Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 6.6 124/261] net/smc: fix socket use-after-free during link group termination Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 6.6 125/261] netfilter: ipset: do not update comments from kernel-side hash adds Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 6.6 126/261] tipc: avoid use-after-free in poll trace queue dumps Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 6.6 127/261] wifi: mwifiex: use the subframe length when parsing A-MSDU TDLS frames Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 6.6 128/261] binfmt_misc: reject a flag character as the field delimiter Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 6.6 129/261] mm/page_reporting: use system_freezable_wq to fix UAF during suspend Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 6.6 130/261] net: bridge: stop fast-leave after deleting a port group Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 6.6 131/261] net: ipv6: clear suppressed fib6 rule result Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 6.6 132/261] powerpc/ps3: Fix map failure path in dma_ioc0_map_pages() Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 6.6 133/261] um: vector: fix use-after-free in vector_mmsg_rx() Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 6.6 134/261] vxlan: re-fetch eth header after route_shortcircuit() Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 6.6 135/261] vxlan: unclone skb head before modifying eth header in route_shortcircuit() Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 6.6 136/261] vxlan: use neigh_ha_snapshot() " Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 6.6 137/261] vxlan: use pskb_network_may_pull() " Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 6.6 138/261] ublk: reset kernel-owned dev_info fields in ublk_ctrl_add_dev() Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 6.6 139/261] tracing: Check return value of __register_event() in trace_module_add_events() Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 6.6 140/261] tracing/filters: Fix false positive match in regex_match_full() Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 6.6 141/261] spi: qcom-qspi: Correct max DMA length to avoid 64K boundary failure Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 6.6 142/261] selftests/mm: fix potential wild pointer access of getline due to missing init Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 6.6 143/261] selftests/clone3: fix " Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 6.6 144/261] scsi: scsi_debug: Fix REPORT ZONES alloc_len underflow OOB write Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 6.6 145/261] sctp: reject stale cookies with mismatched verification tags Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 6.6 146/261] sctp: prevent peer transport count overflow Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 6.6 147/261] hwmon: (npcm750-pwm-fan): stop fan timer on device detach Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 6.6 148/261] hwmon: (pmbus/core) notify on the hwmon device, not the i2c client Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 6.6 149/261] i2c: amd-mp2: Unregister callback on adapter add failure Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 6.6 150/261] gpio: pca953x: fix cache_only and IRQ state on restore_context() failure Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 6.6 151/261] cpufreq: powernow-k8: Fix possible memory leak in powernowk8_cpu_init() Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 6.6 152/261] power: supply: bq25890: fix the -10 C NTC lookup entry Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 6.6 153/261] s390/qeth: Check CAP_NET_ADMIN for private ioctls Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 6.6 154/261] s390/dasd: Fix potential NULL pointer dereference Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 6.6 155/261] s390/dasd: Fix undersized format-check buffer Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 6.6 156/261] s390/zcrypt: Fix wrong domain value verification with EP11 CPRBs Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 6.6 157/261] s390/zcrypt: Validate length for CCA AES cipher key requests Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 6.6 158/261] s390/zcrypt: Validate length for CCA ECC private " Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 6.6 159/261] phy: zynqmp: fix L0_TM_DISABLE_SCRAMBLE_ENCODER mask Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 6.6 160/261] phy: zynqmp: use read-modify-write for SERDES scrambler bypass Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 6.6 161/261] phy: zynqmp: keep SERDES scrambler and 8b/10b enabled for USB Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 6.6 162/261] net: openvswitch: fix potential UAF on meter attach failure Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 6.6 163/261] net: openvswitch: fix skb leak on flow key update failure during recirculation Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 6.6 164/261] net: openvswitch: fix skb leak on flow key update failure during ct Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 6.6 165/261] ice: wait for reset completion in ice_resume() Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 6.6 166/261] ice: fix memory leak in ice_lbtest_prepare_rings() Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 6.6 167/261] i2c: jz4780: Cache host clock rate at probe to prevent CCF prepare_lock deadlock Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 6.6 168/261] i2c: imx: Fix slave registration race and error handling Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 6.6 169/261] i2c: imx: Cancel hrtimer before clearing slave pointer Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 6.6 170/261] can: c_can: c_can_chip_config(): keep controller in init mode until bittiming is configured Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 6.6 171/261] can: ems_usb: validate CPC message lengths Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 6.6 172/261] can: etas_es58x: es58x_read_bulk_callback(): fix RX buffer leak on URB resubmit failure Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 6.6 173/261] can: gs_usb: gs_usb_receive_bulk_callback(): resubmit URB on skb allocation failure Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 6.6 174/261] can: j1939: transport: j1939_session_fresh_new(): initialize receive buffer Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 6.6 175/261] can: j1939: use netdevice_tracker for j1939_{priv,session,ecu} tracking Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 6.6 176/261] can: kvaser_usb: kvaser_usb_hydra_get_busparams(): fix memory leak in kvaser_usb_hydra_get_busparams() Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 6.6 177/261] can: kvaser_usb_leaf: kvaser_usb_leaf_wait_cmd(): validate received command extents Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 6.6 178/261] can: softing: fw_parse(): validate firmware record spans Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 6.6 179/261] can: peak_usb: add bounds check for USB channel index Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 6.6 180/261] can: peak_usb: peak_usb_start(): fix double free of transfer buffer on URB submit error Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 6.6 181/261] can: peak_usb: validate uCAN receive record lengths Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 6.6 182/261] can: ctucanfd: add missing MODULE_DEVICE_TABLE() Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 6.6 183/261] can: ctucanfd: use self-test mode for PRESUME_ACK Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 6.6 184/261] can: ctucanfd: unmap BAR0 using base address Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 6.6 185/261] can: ctucanfd: handle bus error interrupts Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 6.6 186/261] can: ctucanfd: mark error-active controller status valid Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 6.6 187/261] drm/dp: Read the PCON max FRL bandwidth only for HDMI DFPs Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 6.6 188/261] drm/vc4: Supply the overflow slot size in BPOS, not the whole bin BO size Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 6.6 189/261] drm/vc4: Zero the tile state data array before each BIN job Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 6.6 190/261] drm/mediatek: ovl_adaptor: balance component registrations Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 6.6 191/261] drm/amdgpu: restore UMD profile pstate after runtime resume Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 6.6 192/261] drm/amdgpu: cap GTT size to physical RAM on APUs Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 6.6 193/261] drm/amdkfd: Fix missing authorization check in KFD_IOC_DBG_TRAP_DISABLE Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 6.6 194/261] drm/amdkfd: fix QID bit leak in pqm_create_queue() Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 6.6 195/261] drm/amdkfd: Handle invalid event type in CRIU event restore Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 6.6 196/261] drm/amdkfd: hold event_mutex while checkpointing CRIU events Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 6.6 197/261] drm/vmwgfx: fix guest_memory_dirty bitfield clobbered as size Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 6.6 198/261] drm/vmwgfx: reject DX_BIND_QUERY without a DX context Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 6.6 199/261] drm/vmwgfx: drop dma_buf reference on foreign-fd prime import Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 6.6 200/261] drm/vmwgfx: validate DRAW_PRIMITIVES header size before division Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 6.6 201/261] drm/vmwgfx: bound DMA command body size against suffix pointer Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 6.6 202/261] drm/vmwgfx: use check_add_overflow for shader size+offset bound Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 6.6 203/261] drm/vmwgfx: validate external BO copy bounds for both stride paths Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 6.6 204/261] spi: spi-cadence: enable SPI_CONTROLLER_MUST_TX Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 6.6 205/261] HID: logitech-dj: Fix maxfield check in DJ short report validation Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 6.6 206/261] ata: libahci_platform: Do not set mask_port_map when not needed Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 6.6 207/261] ata: ahci: Make ahci_ignore_port() handle empty mask_port_map Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 6.6 208/261] iommu/sva: move x86 disable check before allocation Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 6.6 209/261] mm/hugetlb: fix swap entry corruption when clearing uffd-wp at fork() Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 6.6 210/261] mm/huge_memory: unlock i_mmap_rwsem before releasing after-split folios Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 6.6 212/261] gpio: pch: use raw_spinlock_t for the register lock Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 6.6 213/261] Revert "ia64: Make acpi_cpufreq_cpu_exit return void" Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 6.6 214/261] usb: musb: omap2430: clean up probe error handling Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 6.6 215/261] usb: musb: omap2430: Do not put borrowed of_node in probe Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 6.6 216/261] drm: renesas: Move RZ/G2L MIPI DSI driver to rz-du Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 6.6 217/261] drm: renesas: rzg2l_mipi_dsi: Increase reset deassertion delay Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 6.6 218/261] usb: gadget: f_tcm: synchronize delayed set_alt with teardown Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 6.6 219/261] usb: typec: ucsi: Only enable supported notifications Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 6.6 220/261] usb: typec: ucsi: split connector lock classes Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 6.6 221/261] usb: typec: ucsi: Fix race condition and ordering in port unregistration Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 6.6 222/261] drm/fb-helper: Allocate and release fb_info in single place Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 6.6 223/261] drm/tegra: fbdev: Remove offset into framebuffer memory Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 6.6 224/261] drm/amdgpu: Respect placement requirements in amdgpu_gtt_mgr functions Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 6.6 225/261] drm/i915/vrr: Check HAS_VRR() first in intel_vrr_is_capable() Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 6.6 226/261] drm/i915/vrr: require valid min/max vfreq for VRR Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 6.6 227/261] media: i2c: imx219: Access height from active format in imx219_set_ctrl Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 6.6 228/261] media: i2c: imx219: Dont store the current mode in the imx219 structure Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 6.6 229/261] media: i2c: imx219: Drop IMX219_VTS_* macros Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 6.6 230/261] media: i2c: imx219: Group functions by purpose Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 6.6 231/261] media: i2c: imx219: Calculate crop rectangle dynamically Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 6.6 232/261] media: i2c: imx219: Rename VTS to FRM_LENGTH Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 6.6 233/261] media: imx219: Fix maximum frame length in lines Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 6.6 234/261] rxrpc: Fix irq-disabled in local_bh_enable() Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 6.6 235/261] netfilter: nf_tables: clone set on flush only Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 6.6 236/261] media: v4l: async: Set owner for async sub-devices Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 6.6 237/261] media: v4l2-fwnode: Fix subdev owner overwritten in v4l2_async_register_subdev_sensor() Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 6.6 238/261] wifi: ath6kl: fix use-after-free in aggr_reset_state() Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 6.6 239/261] wifi: brcmfmac: fix 43752 SDIO FWVID incorrectly labelled as Cypress (CYW) Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 6.6 240/261] wifi: brcmfmac: set F2 blocksize to 256 for BCM43752 Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 6.6 241/261] wifi: brcmfmac: drain bus_reset work on device removal Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 6.6 242/261] sysctl: treewide: constify ctl_table_header::ctl_table_arg Greg Kroah-Hartman
2026-08-07 14:40 ` [PATCH 6.6 243/261] sctp: avoid auth_enable sysctl UAF during netns teardown Greg Kroah-Hartman
2026-08-07 14:40 ` [PATCH 6.6 244/261] can: use skb hash instead of private variable in headroom Greg Kroah-Hartman
2026-08-07 14:40 ` [PATCH 6.6 245/261] can: isotp: fix timer drain order, wakeup handling and tx_gen ordering Greg Kroah-Hartman
2026-08-07 14:40 ` [PATCH 6.6 246/261] libceph: add doutc and *_client debug macros support Greg Kroah-Hartman
2026-08-07 14:40 ` [PATCH 6.6 247/261] ceph: print cluster fsid and client global_id in all debug logs Greg Kroah-Hartman
2026-08-07 14:40 ` [PATCH 6.6 248/261] ceph: fix refcount leak in ceph_readdir() Greg Kroah-Hartman
2026-08-07 14:40 ` [PATCH 6.6 249/261] mptcp: pm: avoid code duplication to lookup endp Greg Kroah-Hartman
2026-08-07 14:40 ` [PATCH 6.6 250/261] mptcp: add mptcp_userspace_pm_lookup_addr helper Greg Kroah-Hartman
2026-08-07 14:40 ` [PATCH 6.6 251/261] mptcp: pm: use addr entry for get_local_id Greg Kroah-Hartman
2026-08-07 14:40 ` [PATCH 6.6 252/261] mptcp: pm: userspace: fix use-after-free in get_local_id Greg Kroah-Hartman
2026-08-07 14:40 ` [PATCH 6.6 253/261] sctp: close UDP tunnel sockets during netns teardown Greg Kroah-Hartman
2026-08-07 14:40 ` [PATCH 6.6 254/261] drm/i915/fbc: Extract intel_fbc_has_fences() Greg Kroah-Hartman
2026-08-07 14:40 ` [PATCH 6.6 255/261] drm/i915/hdcp: migrate away from kdev_to_i915() in bind/unbind Greg Kroah-Hartman
2026-08-07 14:40 ` Greg Kroah-Hartman [this message]
2026-08-07 14:40 ` [PATCH 6.6 257/261] drm/i915/hdcp: require monotonically increasing seq_num_v Greg Kroah-Hartman
2026-08-07 14:40 ` [PATCH 6.6 258/261] drm/i915/hdcp: check streams[] bounds before overflow Greg Kroah-Hartman
2026-08-07 14:40 ` [PATCH 6.6 259/261] ALSA: hda: codecs: hdmi: disable keep-alive before audio format change Greg Kroah-Hartman
2026-08-07 14:40 ` [PATCH 6.6 260/261] drm/tegra: fbdev: Do not assign to struct drm_fb_helper.info Greg Kroah-Hartman
2026-08-07 14:40 ` [PATCH 6.6 261/261] usb: typec: ucsi: Correct teardown ordering in ucsi_init() error path Greg Kroah-Hartman
2026-08-07 18:33 ` [PATCH 6.6 000/261] 6.6.151-rc1 review Pavel Machek
2026-08-08  0:38 ` Shuah Khan
2026-08-08  1:21 ` Peter Schneider
2026-08-08  3:10 ` Wentao Guan
2026-08-08 10:22 ` Brett A C Sheffield
2026-08-08 22:58 ` Ron Economos
2026-08-09  8:22 ` Miguel Ojeda
2026-08-09 11:55 ` Mark Brown

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=20260807143420.941568616@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=jani.nikula@intel.com \
    --cc=patches@lists.linux.dev \
    --cc=sashal@kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=suraj.kandpal@intel.com \
    /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