drm/i915/vlv: Update Wait for FIFO and wait for 20 free entries. v3
authorDeepak S <deepak.s@intel.com>
Fri, 29 Nov 2013 10:26:30 +0000 (15:56 +0530)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 4 Dec 2013 11:09:37 +0000 (12:09 +0100)
commit5135d64b7f0c91c69af3147e5c93eec05f80b820
tree37ff8e372ee6aa6b79e0a88d3f6b77deecf030f0
parent1f1c2e2468f937cefd6bcb645c959c7b5d9821df
drm/i915/vlv: Update Wait for FIFO and wait for 20 free entries. v3

On VLV, FIFO will be shared by both SW and HW. So, we read the
free entries through register and update dev_priv variable
and wait for only 20 entries to be free

From Deepak's follow-up mail explaining why vlv is special:

"On SB, Out of 64 FIFO Entries, 20 Entries will be used by HW and
remaining 44 will be used by the SW,. I think due to this reason, we
have a threshold of 20 Entries."

"On VLV, HW and SW can access all 64 fifo entries, I don't think
having a threshold of 20 Entries is mandatory on VLV. Also, since both
SW and HW can access all 64 Entries. I think on VLV, we need to update
the fifo_count before waiting for the FIFO."

v2: Apply mask when we read the number of free FIFO entries (Ville).

v3: Mask applied after reading the register (Deepak).

Signed-off-by: Deepak S <deepak.s@intel.com>
[danvet: Add further explanation from Deepak to commit message.]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/intel_uncore.c