[PATCH 14/14 v5] drm/i915/intel_i2c: remove POSTING_READ() from gmbus transfers

2012-03-28 Thread Daniel Kurtz
On Wed, Mar 28, 2012 at 9:05 PM, Chris Wilson wrote: > On Wed, 28 Mar 2012 20:51:57 +0800, Daniel Kurtz > wrote: >> The POSTING_READ() calls were originally added to make sure the writes >> were flushed before any timing delays and across loops. >> However, the normal I915_READ() and I915_WRITE

[PATCH 14/14 v5] drm/i915/intel_i2c: remove POSTING_READ() from gmbus transfers

2012-03-28 Thread Daniel Kurtz
The POSTING_READ() calls were originally added to make sure the writes were flushed before any timing delays and across loops. However, the normal I915_READ() and I915_WRITE() macros already call readl() / writel(), which already have an explicit mb(). Now that the code has settled a bit, let's re

[PATCH 14/14 v5] drm/i915/intel_i2c: remove POSTING_READ() from gmbus transfers

2012-03-28 Thread Daniel Vetter
On Wed, Mar 28, 2012 at 03:30:13PM +0100, Chris Wilson wrote: > On Wed, 28 Mar 2012 21:21:42 +0800, Daniel Kurtz > wrote: > > On Wed, Mar 28, 2012 at 9:05 PM, Chris Wilson > > wrote: > > > We do need the write flush here (and set_data) as the next action is a > > > udelay loop which is not per-

[PATCH 14/14 v5] drm/i915/intel_i2c: remove POSTING_READ() from gmbus transfers

2012-03-28 Thread Chris Wilson
On Wed, 28 Mar 2012 21:21:42 +0800, Daniel Kurtz wrote: > On Wed, Mar 28, 2012 at 9:05 PM, Chris Wilson > wrote: > > We do need the write flush here (and set_data) as the next action is a > > udelay loop which is not per-se a mb. > > Now I am confused. I915_WRITE_NOTRACE() calls writel(), whi

[PATCH 14/14 v5] drm/i915/intel_i2c: remove POSTING_READ() from gmbus transfers

2012-03-28 Thread Chris Wilson
On Wed, 28 Mar 2012 20:51:57 +0800, Daniel Kurtz wrote: > The POSTING_READ() calls were originally added to make sure the writes > were flushed before any timing delays and across loops. > However, the normal I915_READ() and I915_WRITE() macros already call > readl() / writel(), which already hav

Re: [PATCH 14/14 v5] drm/i915/intel_i2c: remove POSTING_READ() from gmbus transfers

2012-03-28 Thread Daniel Kurtz
On Wed, Mar 28, 2012 at 9:05 PM, Chris Wilson wrote: > On Wed, 28 Mar 2012 20:51:57 +0800, Daniel Kurtz wrote: >> The POSTING_READ() calls were originally added to make sure the writes >> were flushed before any timing delays and across loops. >> However, the normal I915_READ() and I915_WRITE() m

[PATCH 14/14 v5] drm/i915/intel_i2c: remove POSTING_READ() from gmbus transfers

2012-03-28 Thread Daniel Kurtz
The POSTING_READ() calls were originally added to make sure the writes were flushed before any timing delays and across loops. However, the normal I915_READ() and I915_WRITE() macros already call readl() / writel(), which already have an explicit mb(). Now that the code has settled a bit, let's re

Re: [PATCH 14/14 v5] drm/i915/intel_i2c: remove POSTING_READ() from gmbus transfers

2012-03-28 Thread Daniel Vetter
On Wed, Mar 28, 2012 at 03:30:13PM +0100, Chris Wilson wrote: > On Wed, 28 Mar 2012 21:21:42 +0800, Daniel Kurtz wrote: > > On Wed, Mar 28, 2012 at 9:05 PM, Chris Wilson > > wrote: > > > We do need the write flush here (and set_data) as the next action is a > > > udelay loop which is not per-se

Re: [PATCH 14/14 v5] drm/i915/intel_i2c: remove POSTING_READ() from gmbus transfers

2012-03-28 Thread Chris Wilson
On Wed, 28 Mar 2012 21:21:42 +0800, Daniel Kurtz wrote: > On Wed, Mar 28, 2012 at 9:05 PM, Chris Wilson > wrote: > > We do need the write flush here (and set_data) as the next action is a > > udelay loop which is not per-se a mb. > > Now I am confused. I915_WRITE_NOTRACE() calls writel(), whic

Re: [PATCH 14/14 v5] drm/i915/intel_i2c: remove POSTING_READ() from gmbus transfers

2012-03-28 Thread Chris Wilson
On Wed, 28 Mar 2012 20:51:57 +0800, Daniel Kurtz wrote: > The POSTING_READ() calls were originally added to make sure the writes > were flushed before any timing delays and across loops. > However, the normal I915_READ() and I915_WRITE() macros already call > readl() / writel(), which already have