summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau/nouveau_i2c.h
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2011-12-21 18:09:12 +1000
committerBen Skeggs <bskeggs@redhat.com>2011-12-21 19:01:41 +1000
commitf553b79c03f0dbd52f6f03abe8233a2bef8cbd0d (patch)
tree113aab2ad223825d67f79d0e19c6cb96522db098 /drivers/gpu/drm/nouveau/nouveau_i2c.h
parent9e3b6b99075a01ce47379eee74365aece14242f3 (diff)
downloadblackbird-op-linux-f553b79c03f0dbd52f6f03abe8233a2bef8cbd0d.tar.gz
blackbird-op-linux-f553b79c03f0dbd52f6f03abe8233a2bef8cbd0d.zip
drm/nouveau/i2c: handle bit-banging ourselves
i2c-algo-bit doesn't actually work very well on one card I have access to (NVS 300), random single-bit errors occur most of the time - what we're doing now is closer to what xf86i2c.c does. The original plan was to figure out why i2c-algo-bit fails on the NVS 300, and fix it. However, while investigating I discovered i2c-algo-bit calls cond_resched(), which makes it a bad idea for us to be using as we execute VBIOS scripts from a tasklet, and there may very well be i2c transfers as a result. So, since I already wrote this code in userspace to track down the NVS 300 bug, and it's not really much code - lets use it. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nouveau_i2c.h')
-rw-r--r--drivers/gpu/drm/nouveau/nouveau_i2c.h1
1 files changed, 0 insertions, 1 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_i2c.h b/drivers/gpu/drm/nouveau/nouveau_i2c.h
index 1d083893a4d7..4d2e4e9031be 100644
--- a/drivers/gpu/drm/nouveau/nouveau_i2c.h
+++ b/drivers/gpu/drm/nouveau/nouveau_i2c.h
@@ -34,7 +34,6 @@
struct nouveau_i2c_chan {
struct i2c_adapter adapter;
struct drm_device *dev;
- struct i2c_algo_bit_data bit;
struct list_head head;
u8 index;
u8 type;
OpenPOWER on IntegriCloud