--- /dev/null
+From ae5c631e605a452a5a0e73205a92810c01ed954b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= <ville.syrjala@linux.intel.com>
+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ä <ville.syrjala@linux.intel.com>
+
+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 <djkurtz@chromium.org>
+Cc: Chris Wilson <chris@chris-wilson.co.uk>
+Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
+Cc: Sean Paul <seanpaul@chromium.org>
+Fixes: 56f9eac05489 ("drm/i915/intel_i2c: use INDEX cycles for i2c read transactions")
+Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
+Link: https://patchwork.freedesktop.org/patch/msgid/20171123194157.25367-2-ville.syrjala@linux.intel.com
+Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
+(cherry picked from commit c4deb62d7821672265b87952bcd1c808f3bf3e8f)
+Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ 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));
+ }
--- /dev/null
+From 56350fb8978bbf4aafe08f21234e161dd128b417 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= <ville.syrjala@linux.intel.com>
+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ä <ville.syrjala@linux.intel.com>
+
+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 <djkurtz@chromium.org>
+Cc: Chris Wilson <chris@chris-wilson.co.uk>
+Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
+Cc: Sean Paul <seanpaul@chromium.org>
+Fixes: 56f9eac05489 ("drm/i915/intel_i2c: use INDEX cycles for i2c read transactions")
+Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
+Link: https://patchwork.freedesktop.org/patch/msgid/20171123194157.25367-3-ville.syrjala@linux.intel.com
+Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
+(cherry picked from commit bb9e0d4bca50f429152e74a459160b41f3d60fb2)
+Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ 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));
+ }
+
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