From: Greg Kroah-Hartman Date: Mon, 4 Dec 2017 14:02:32 +0000 (+0100) Subject: 4.9-stable patches X-Git-Tag: v3.18.86~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f586d82fac63e275769b984a8c82d0900777b353;p=thirdparty%2Fkernel%2Fstable-queue.git 4.9-stable patches added patches: drm-i915-don-t-try-indexed-reads-to-alternate-slave-addresses.patch drm-i915-prevent-zero-length-index-write.patch --- diff --git a/queue-4.9/drm-i915-don-t-try-indexed-reads-to-alternate-slave-addresses.patch b/queue-4.9/drm-i915-don-t-try-indexed-reads-to-alternate-slave-addresses.patch new file mode 100644 index 00000000000..e66e0763353 --- /dev/null +++ b/queue-4.9/drm-i915-don-t-try-indexed-reads-to-alternate-slave-addresses.patch @@ -0,0 +1,42 @@ +From ae5c631e605a452a5a0e73205a92810c01ed954b Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= +Date: Thu, 23 Nov 2017 21:41:56 +0200 +Subject: drm/i915: Don't try indexed reads to alternate slave addresses +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +From: Ville Syrjälä + +commit ae5c631e605a452a5a0e73205a92810c01ed954b upstream. + +We can only specify the one slave address to indexed reads/writes. +Make sure the messages we check are destined to the same slave +address before deciding to do an indexed transfer. + +Cc: Daniel Kurtz +Cc: Chris Wilson +Cc: Daniel Vetter +Cc: Sean Paul +Fixes: 56f9eac05489 ("drm/i915/intel_i2c: use INDEX cycles for i2c read transactions") +Signed-off-by: Ville Syrjälä +Link: https://patchwork.freedesktop.org/patch/msgid/20171123194157.25367-2-ville.syrjala@linux.intel.com +Reviewed-by: Chris Wilson +(cherry picked from commit c4deb62d7821672265b87952bcd1c808f3bf3e8f) +Signed-off-by: Joonas Lahtinen +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/gpu/drm/i915/intel_i2c.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/drivers/gpu/drm/i915/intel_i2c.c ++++ b/drivers/gpu/drm/i915/intel_i2c.c +@@ -430,6 +430,7 @@ static bool + gmbus_is_index_read(struct i2c_msg *msgs, int i, int num) + { + return (i + 1 < num && ++ msgs[i].addr == msgs[i + 1].addr && + !(msgs[i].flags & I2C_M_RD) && msgs[i].len <= 2 && + (msgs[i + 1].flags & I2C_M_RD)); + } diff --git a/queue-4.9/drm-i915-prevent-zero-length-index-write.patch b/queue-4.9/drm-i915-prevent-zero-length-index-write.patch new file mode 100644 index 00000000000..c6b3df33f77 --- /dev/null +++ b/queue-4.9/drm-i915-prevent-zero-length-index-write.patch @@ -0,0 +1,44 @@ +From 56350fb8978bbf4aafe08f21234e161dd128b417 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= +Date: Thu, 23 Nov 2017 21:41:57 +0200 +Subject: drm/i915: Prevent zero length "index" write +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +From: Ville Syrjälä + +commit 56350fb8978bbf4aafe08f21234e161dd128b417 upstream. + +The hardware always writes one or two bytes in the index portion of +an indexed transfer. Make sure the message we send as the index +doesn't have a zero length. + +Cc: Daniel Kurtz +Cc: Chris Wilson +Cc: Daniel Vetter +Cc: Sean Paul +Fixes: 56f9eac05489 ("drm/i915/intel_i2c: use INDEX cycles for i2c read transactions") +Signed-off-by: Ville Syrjälä +Link: https://patchwork.freedesktop.org/patch/msgid/20171123194157.25367-3-ville.syrjala@linux.intel.com +Reviewed-by: Chris Wilson +(cherry picked from commit bb9e0d4bca50f429152e74a459160b41f3d60fb2) +Signed-off-by: Joonas Lahtinen +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/gpu/drm/i915/intel_i2c.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +--- a/drivers/gpu/drm/i915/intel_i2c.c ++++ b/drivers/gpu/drm/i915/intel_i2c.c +@@ -431,7 +431,8 @@ gmbus_is_index_read(struct i2c_msg *msgs + { + return (i + 1 < num && + msgs[i].addr == msgs[i + 1].addr && +- !(msgs[i].flags & I2C_M_RD) && msgs[i].len <= 2 && ++ !(msgs[i].flags & I2C_M_RD) && ++ (msgs[i].len == 1 || msgs[i].len == 2) && + (msgs[i + 1].flags & I2C_M_RD)); + } + diff --git a/queue-4.9/series b/queue-4.9/series index de7e17b8c8d..d9b7a994c79 100644 --- a/queue-4.9/series +++ b/queue-4.9/series @@ -34,3 +34,5 @@ drm-ttm-once-more-fix-ttm_buffer_object_transfer.patch drm-amd-pp-fix-typecast-error-in-powerplay.patch revert-x86-entry-64-add-missing-irqflags-tracing-to.patch nfs-revalidate-.-etc-correctly-on-open.patch +drm-i915-don-t-try-indexed-reads-to-alternate-slave-addresses.patch +drm-i915-prevent-zero-length-index-write.patch