narmstrong changed the topic of #linux-amlogic to: Amlogic mainline kernel development discussion - our wiki http://linux-meson.com/ - ml linux-amlogic@lists.infradead.org - official channel moved from Freenode - publicly logged on https://libera.irclog.whitequark.org/linux-amlogic
GNUtoo has quit [Remote host closed the connection]
GNUtoo has joined #linux-amlogic
camus has quit [Ping timeout: 248 seconds]
camus has joined #linux-amlogic
Daanct12 has joined #linux-amlogic
GNUtoo has quit [Remote host closed the connection]
GNUtoo has joined #linux-amlogic
vagrantc has quit [Quit: leaving]
ldevulder has quit [Quit: Leaving]
ldevulder has joined #linux-amlogic
tdebrouw has joined #linux-amlogic
GNUtoo has quit [Remote host closed the connection]
GNUtoo has joined #linux-amlogic
<narmstrong> lvrp16: I haven't, can you dump the /sys/kernel/debug/dri/*/state ?
<narmstrong> It could either be RAM BW saturation and/or too long delays from the vsync irq
GNUtoo has quit [Remote host closed the connection]
GNUtoo has joined #linux-amlogic
GNUtoo has quit [Remote host closed the connection]
GNUtoo has joined #linux-amlogic
Daanct12 has quit [Quit: Leaving]
Ballerburg9005 has joined #linux-amlogic
jelly-home is now known as jelly
camus has quit [Quit: camus]
elastic_dog has quit [Ping timeout: 248 seconds]
elastic_dog has joined #linux-amlogic
<cphealy> I've seen similar issues due to display IP FIFO underruns due to DRAM bandwidth issues. IIRC, the more recent vendor kernels have a proper perf PMU driver for the Amlogic DMC that could be used to look at what's going on DRAM bandwidth wise.
gbisson_ has quit [Quit: leaving]
jernej has joined #linux-amlogic
Danct12 has quit [Remote host closed the connection]
Ballerburg9005 has quit [Ping timeout: 276 seconds]
Ballerburg9005 has joined #linux-amlogic
jernej has quit [Ping timeout: 248 seconds]
Ballerburg9005 has quit [Ping timeout: 260 seconds]
Ballerburg9005 has joined #linux-amlogic
jernej has joined #linux-amlogic
GNUtoo has quit [Remote host closed the connection]
GNUtoo has joined #linux-amlogic
Ballerburg9005 has quit [Ping timeout: 248 seconds]
Ballerburg9005 has joined #linux-amlogic
Ballerburg9005 has quit [Ping timeout: 255 seconds]
<lvrp16> narmstrong cphealy: thanks, the flickering gets worst as I run benchmarks. I'll do further testing. but it's pretty fast/awesome.
<lvrp16> 200+ fps in benchmarks at 1080p...
<cphealy> lvrp16: Which specific Amlogic SoC are you working with ?
<lvrp16> S905X
<lvrp16> cphealy: the DDR4 is clocked at 1200MHz so it may be some other issue. I'll have to do further testing.
<cphealy> The FPS for graphics benchmark is likely orthogonal with this particular issue as from my experience, display FIFO underrun type issues such as this are a function of a combination of available DRAM bandwidth AND bus QoS priority.
<cphealy> I don't know what DRAM QoS bus priority dials exist with these SoCs, but display IP should be pretty high in priority. (Higher than GPU for sure.)
<lvrp16> cphealy: I'll do more testing. Maybe the VOP isn't fast enough to push 2 4K planes in time.
<cphealy> lvrp16: are you using vendor kernel or mainline?
<lvrp16> cphealy: everything mainline
<cphealy> ack
<cphealy> With vendor kernel, there are some DRAM bandwidth sysfs entries but these are not available with mainline.
<cphealy> Do you have AFBC enabled between GPU and display IP?
<cphealy> "cat /sys/kernel/debug/dri/0/framebuffer" should point to if you have buffer modifiers enabled or not.
<cphealy> If you don't have AFBC enabled, your display DRAM bandwidth requirements will be "significant" with 4K60 display.
<cphealy> significant like 2GB/sec. With AFBC working correctly, a typical GUI will be <500MB/sec. (The compression ratio is a function of the framebuffer complexity. Solid black background = great compression ratio. Picture of movie action scene = not so great compression ratio.
<lvrp16> cphealy: doesn't look like it: https://pastebin.com/k7EtSUsi
<cphealy> Yep, you have AFBC disabled: modifier=0x0
<cphealy> With the Amlogic SoCs I've worked with, the AFBC decoder in display IP only support graphics buffers up to 1080p as Amlogic expects graphics to be 1080p and video to be 4K.
<lvrp16> cphealy: DDR4 at 2400MT is almost 8GB/s, per plane is 2GB/s or are you assuming 2 planes?
<lvrp16> cphealy: this is on top of weston, so I'm assuming weston doesn't support Amlogic AFBC?
<lvrp16> i pegged the CPU clock as well to prevent some DVFS interference
<cphealy> My understanding is that it's more complex than graphics plane requires 2GB/s and we have 8GB/s so we should be good. 8GB/s may be the "theoretical" total available, but in real world use cases, one typically gets 66-75% of theoretical.
jernej has quit [Quit: Konversation terminated!]
<cphealy> Additionally, regardless of the total throughput capability of the DRAM interface, there are likely other constraints in the system that would prevent individual IP cores from achieving a throughput that high. For example, if the realizable throughput of the DRAM interface were 6GB/s, that doesn't mean the video decoder can use as much as 5GB/s. The video decoder (or display planes) may have other
<cphealy> limitations.
<cphealy> With Weston, AFBC should work, but you may need to force BGR instead of RGB for it to work.
jernej has joined #linux-amlogic
<lvrp16> cphealy: ahhh that's useful information, I'll give that a try
<cphealy> You may want to try changing the gbm-format in weston.ini
<cphealy> Also, check the output of "modetest" with the DRM/KMS device to see what modifiers it advertises support for.
<lvrp16> cphealy: yeah i thought maybe the display IP might not be able to handle the bandwidth of 2 planes as the normal setup for Android seems to be only 1 4k plane and a bunch of 1080p planes
jernej has quit [Client Quit]
jernej has joined #linux-amlogic
<lvrp16> cphealy: standard memset: 5802.5 MB/s out of 9600 MB/s so ~60%
Danct12 has joined #linux-amlogic
<cphealy> lvrp16: IIRC, even when the Amlogic SoC has 3 OSD planes, not all of them will necessarily support AFBC
<cphealy> Looks like I was being generous mentioning 66-75% ;-)
<lvrp16> cphealy: it's also driving 2 planes on 1080p so you're probably right on.
Ballerburg9005 has joined #linux-amlogic
buzzmarshall has joined #linux-amlogic
jernej has quit [Ping timeout: 260 seconds]
tdebrouw has quit [Quit: Leaving.]
vagrantc has joined #linux-amlogic