[Bug 97965] [BSW] External HDMI monitor suddenly shows solid color when playing Youtube video at 1080p [fifo underrun]
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Fri Oct 14 16:56:09 UTC 2016
https://bugs.freedesktop.org/show_bug.cgi?id=97965
--- Comment #31 from Ville Syrjala <ville.syrjala at linux.intel.com> ---
(In reply to Yu Kang Ku from comment #30)
> In intel_display.c, there is one difference between valleyview_set_cdclk()
> and cherryview_set_cdclk() that seems rather interesting. The following
> snippet is in valleyview_set_cdclk() but NOT in cherryview_set_cdclk():
>
> /* adjust self-refresh exit latency value */
> val = vlv_bunit_read(dev_priv, BUNIT_REG_BISOC);
> val &= ~0x7f;
>
> /*
> * For high bandwidth configs, we set a higher latency in the bunit
> * so that the core display fetch happens in time to avoid underruns.
> */
> if (cdclk == 400000)
> val |= 4500 / 250; /* 4.5 usec */
> else
> val |= 3000 / 250; /* 3.0 usec */
> vlv_bunit_write(dev_priv, BUNIT_REG_BISOC, val);
>
>
> Is this snippet applicable to BSW?
The register does exist there as well. It might be something play around with.
You can do so with the intel_reg tool easily, eg. "intel_reg read bunit:0x11",
"intel_reg write bunit:0x11 <value>".
On my BSW the value is bunit:0x00000011 (0x03:0x00000011): 0x05804816
I didn't check whether the Punit or someone else adjusts that value at runtime.
This is what the register contains
EXIT_SELF_REFRESH_LATENCY 6:0
Exit Self Refresh Latency: Required latency to Exit Self Refresh in 250ns
increments. Default is 3uSec. PnP: This depends on SR exit+ data return for an
urgent ISOC request when dram is in SR. But SR exit latency depends on PM
opcode, setting it to h'24 i.e. 9us exit latency
RESERVED_2 7:7
SCHEDULER_LATENCY 11:8
Scheduler Latency: Request latency that is considered as a Hi-Priority Request
for ISOC requests. Value programmed has 250ns resolution. Default is 2uSec.
ENTER_SELF_REFRESH_DLY 17:12
Enter Self Refresh Delay: Number of 250ns pulses the Bunit waits before
entering Self Refresh. Note: should not be set to less than 2 when dynamic SR
is enabled, otherwise the system may become unresponsive.
SR_EXIT_SYNC_EN 18:18
Set this bit will prevent the Bunit get into SR if BRAM is full and high
priority requests blocked at badmit.
RESERVED_1 21:19
ENTER_SELF_REFRESH_THRSH 31:22
Enter Self Refresh Threshold: Required request latency to enter self refresh.
If the Bunit receives ISOC requests that have a required latency less than this
value the Bunit will keep the Dunit out of Self Refresh.
Actually bits 31:22 look fairly interesting here. But perhaps start
experimenting with bits 6:0 a bit instead, since that's what we do on VLV as
well.
--
You are receiving this mail because:
You are on the CC list for the bug.
You are the QA Contact for the bug.
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/intel-gfx-bugs/attachments/20161014/7b8623bb/attachment.html>
More information about the intel-gfx-bugs
mailing list