projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
8ee4f19
)
drm/i915: Don't try indexed reads to alternate slave addresses
author
Ville Syrjälä
<
[email protected]
>
Thu, 23 Nov 2017 19:41:56 +0000
(21:41 +0200)
committer
Ville Syrjälä
<
[email protected]
>
Fri, 24 Nov 2017 14:39:08 +0000
(16:39 +0200)
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:
[email protected]
Cc: Daniel Kurtz <
[email protected]
>
Cc: Chris Wilson <
[email protected]
>
Cc: Daniel Vetter <
[email protected]
>
Cc: Sean Paul <
[email protected]
>
Fixes: 56f9eac05489 ("drm/i915/intel_i2c: use INDEX cycles for i2c read transactions")
Signed-off-by: Ville Syrjälä <
[email protected]
>
Link:
https://patchwork.freedesktop.org/patch/msgid/
[email protected]
Reviewed-by: Chris Wilson <
[email protected]
>
drivers/gpu/drm/i915/intel_i2c.c
patch
|
blob
|
history
diff --git
a/drivers/gpu/drm/i915/intel_i2c.c
b/drivers/gpu/drm/i915/intel_i2c.c
index eb5827110d8ffca08cf6b46e6671265a43f40307..8affd47b98b814cfdcedbb511ebe47d5d90c9fbe 100644
(file)
--- a/
drivers/gpu/drm/i915/intel_i2c.c
+++ b/
drivers/gpu/drm/i915/intel_i2c.c
@@
-438,6
+438,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));
}