Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 228701
b: refs/heads/master
c: db5e417
h: refs/heads/master
i:
  228699: 00632a6
v: v3
  • Loading branch information
Yuanhan Liu authored and Chris Wilson committed Nov 8, 2010
1 parent 881186b commit 2c4007b
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 13 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 65e5ecb066fe54c13c8445d6acfdcdf149ad5df9
refs/heads/master: db5e4172a023cff68b3597ace8a5390b02669d27
25 changes: 13 additions & 12 deletions trunk/drivers/gpu/drm/i915/intel_i2c.c
Original file line number Diff line number Diff line change
Expand Up @@ -85,8 +85,9 @@ static u32 get_reserved(struct intel_gpio *gpio)

/* On most chips, these bits must be preserved in software. */
if (!IS_I830(dev) && !IS_845G(dev))
reserved = I915_READ(gpio->reg) & (GPIO_DATA_PULLUP_DISABLE |
GPIO_CLOCK_PULLUP_DISABLE);
reserved = I915_READ_NOTRACE(gpio->reg) &
(GPIO_DATA_PULLUP_DISABLE |
GPIO_CLOCK_PULLUP_DISABLE);

return reserved;
}
Expand All @@ -96,19 +97,19 @@ static int get_clock(void *data)
struct intel_gpio *gpio = data;
struct drm_i915_private *dev_priv = gpio->dev_priv;
u32 reserved = get_reserved(gpio);
I915_WRITE(gpio->reg, reserved | GPIO_CLOCK_DIR_MASK);
I915_WRITE(gpio->reg, reserved);
return (I915_READ(gpio->reg) & GPIO_CLOCK_VAL_IN) != 0;
I915_WRITE_NOTRACE(gpio->reg, reserved | GPIO_CLOCK_DIR_MASK);
I915_WRITE_NOTRACE(gpio->reg, reserved);
return (I915_READ_NOTRACE(gpio->reg) & GPIO_CLOCK_VAL_IN) != 0;
}

static int get_data(void *data)
{
struct intel_gpio *gpio = data;
struct drm_i915_private *dev_priv = gpio->dev_priv;
u32 reserved = get_reserved(gpio);
I915_WRITE(gpio->reg, reserved | GPIO_DATA_DIR_MASK);
I915_WRITE(gpio->reg, reserved);
return (I915_READ(gpio->reg) & GPIO_DATA_VAL_IN) != 0;
I915_WRITE_NOTRACE(gpio->reg, reserved | GPIO_DATA_DIR_MASK);
I915_WRITE_NOTRACE(gpio->reg, reserved);
return (I915_READ_NOTRACE(gpio->reg) & GPIO_DATA_VAL_IN) != 0;
}

static void set_clock(void *data, int state_high)
Expand All @@ -124,8 +125,8 @@ static void set_clock(void *data, int state_high)
clock_bits = GPIO_CLOCK_DIR_OUT | GPIO_CLOCK_DIR_MASK |
GPIO_CLOCK_VAL_MASK;

I915_WRITE(gpio->reg, reserved | clock_bits);
POSTING_READ(gpio->reg);
I915_WRITE_NOTRACE(gpio->reg, reserved | clock_bits);
POSTING_READ_NOTRACE(gpio->reg);
}

static void set_data(void *data, int state_high)
Expand All @@ -141,8 +142,8 @@ static void set_data(void *data, int state_high)
data_bits = GPIO_DATA_DIR_OUT | GPIO_DATA_DIR_MASK |
GPIO_DATA_VAL_MASK;

I915_WRITE(gpio->reg, reserved | data_bits);
POSTING_READ(gpio->reg);
I915_WRITE_NOTRACE(gpio->reg, reserved | data_bits);
POSTING_READ_NOTRACE(gpio->reg);
}

static struct i2c_adapter *
Expand Down

0 comments on commit 2c4007b

Please sign in to comment.