ahajda has joined #linux-exynos
snawrocki has joined #linux-exynos
ahajda has quit [Ping timeout: 252 seconds]
snawrocki has quit [Ping timeout: 245 seconds]
snawrocki has joined #linux-exynos
ahajda has joined #linux-exynos
ahajda1 has joined #linux-exynos
ahajda has quit [Ping timeout: 252 seconds]
ahajda1 has quit [Ping timeout: 252 seconds]
snawrocki has quit [Ping timeout: 245 seconds]
genii has quit [Remote host closed the connection]
snawrocki has joined #linux-exynos
ahajda has joined #linux-exynos
ahajda1 has joined #linux-exynos
ahajda has quit [Ping timeout: 252 seconds]
snawrocki has quit [Ping timeout: 250 seconds]
ahajda1 has quit [Ping timeout: 252 seconds]
ahajda has joined #linux-exynos
snawrocki has joined #linux-exynos
ahajda has quit [Ping timeout: 252 seconds]
snawrocki has quit [Ping timeout: 250 seconds]
snawrocki has joined #linux-exynos
ahajda has joined #linux-exynos
ahajda1 has joined #linux-exynos
ahajda has quit [Ping timeout: 252 seconds]
snawrocki has quit [Ping timeout: 245 seconds]
ahajda1 has quit [Ping timeout: 252 seconds]
snawrocki has joined #linux-exynos
ahajda has joined #linux-exynos
ahajda has quit [Ping timeout: 252 seconds]
snawrocki has quit [Ping timeout: 250 seconds]
ahajda has joined #linux-exynos
ahajda has quit [Ping timeout: 252 seconds]
snawrocki has joined #linux-exynos
ahajda has joined #linux-exynos
ahajda has quit [Ping timeout: 252 seconds]
snawrocki has quit [Ping timeout: 245 seconds]
mszyprow has joined #linux-exynos
snawrocki has joined #linux-exynos
mszyprow_ has joined #linux-exynos
ahajda has joined #linux-exynos
mszyprow has quit [Ping timeout: 250 seconds]
mszyprow_ has quit [Ping timeout: 250 seconds]
snawrocki has quit [Ping timeout: 245 seconds]
ahajda has quit [Ping timeout: 252 seconds]
mszyprow has joined #linux-exynos
ahajda has joined #linux-exynos
ahajda1 has joined #linux-exynos
ahajda has quit [Ping timeout: 252 seconds]
mszyprow has quit [Ping timeout: 250 seconds]
mszyprow has joined #linux-exynos
ahajda has joined #linux-exynos
ahajda1 has quit [Ping timeout: 252 seconds]
snawrocki has joined #linux-exynos
<memeka> mszyprow: Ping
<memeka> mszyprow: I guess you can ignore my email
<mszyprow> memeka: pong
<memeka> mszyprow: looking at the last patch you sent me I think it kind of does exactly that
<memeka> The layout sync update
<mszyprow> memeka: that layout sync update described in the datasheet seems to be noop
<memeka> Minus setting the gsc regs
<memeka> Which I guess is needed just when gsc is in local output mode
<mszyprow> memeka: and playing with gsc regs has no relation too
<mszyprow> memeka: I have example code to trigger those bugs without touching gsc
<memeka> mszyprow: why use 8 bit burst instead of 16?
<mszyprow> memeka: as there are at least 2 separate issues there (proper buffer switch on vsync and access to bytes after buffer the configured buffer)
<mszyprow> memeka: just random idea I've tried
<mszyprow> memeka: it didn't change much
<memeka> I will try removing the h-2 from there too
<memeka> I think just the layer sync thing actually made the diff
<memeka> mszyprow: is it not possible to disable mixer1?
<memeka> Just leave mixer0 ... would that fix the issue? :)
<mszyprow> mixer1 is disabled by default...
<memeka> Hm
<memeka> mszyprow: is it possible to call gsc from mixer via ipp?
<mszyprow> memeka: in the current code? rather not
<memeka> mszyprow: I was thinking: drm falsely advertises nv12 on graphics0, and in mixer if format = nv12 then send it for gsc, and continue after getting result back
<memeka> Would that work? Would the delay be an issue?
<memeka> Also, mszyprow - who really uses ipp? Why all that effort in doing an alternative to v4
<memeka> To v4l2?
<mszyprow> memeka: some time ago I've did a p-o-c of using ipp transparently for displaying plane with unsupported fourcc/transformation
<memeka> mszyprow: that’s a feat that I would like to see repeated :))
<mszyprow> memeka: let me find the link...
<mszyprow> memeka: this one is the core patch for this feature: https://www.spinics.net/lists/dri-devel/msg95362.html
<mszyprow> memeka: one would need to adapt it to current drm code
<mszyprow> memeka: ipp v2 is quite easy to be called from inside exynos drm
<mszyprow> memeka: and it is state-less, what make things even easier to handle
<memeka> mszyprow: isn’t ipp2 already in mainline?
nighty- has joined #linux-exynos
<mszyprow> memeka: yes, it is
<memeka> Wouldn’t I just need patch 22 adapted to ippv2 and current drm?
<mszyprow> memeka: all you need to make it working is to adapt that patch #22 to the current code base
<mszyprow> and fix bugs ;)
<memeka> mszyprow: thx I will try!
<memeka> mszyprow: in 5.0, is gsc ipp still OR gsc v4l2?
<mszyprow> afair yes
<mszyprow> but it shouldn't be hard to share one for v4l2 and one for drm
<memeka> mszyprow: also, would that plane be visible from modetest? Patch 22 doesn’t touch the mixer - is this all happening before the mixer?
<mszyprow> memeka: it adds transparent ipp usage for all planes
<mszyprow> memeka: directly in the exynos drm core
<memeka> Where all planes = one plane :)
<memeka> Or 2, if combine with the other patch to enable graphics1 :)
<mszyprow> memeka: you can use whichever plane you want for nv12
<memeka> mszyprow: btw https://imgur.com/a/CTSJPQ6
<memeka> mszyprow: looks like it's quite some work to convert that to ippv2 :P
<mszyprow> memeka: it shouldn't be that hard, a matter of renaming a few structures and rewritting ipp glue
<memeka> yes rewriting ipp glue when you're looking at ipp for the first time :P
<mszyprow> memeka: you need to fill exynos_drm_ipp_task structure and call exynos_drm_ipp_schedule_task() ;P
<memeka> mszyprow: i was looking at exynos_ipp_process_internal being the hardest to rewrite :P
<mszyprow> memeka: btw, on xu4 you can use m2m scaler for ippv2 and gsc for v4l2
<memeka> mszyprow: can the scaler convert from nv12 to rgba? :P
<mszyprow> memeka: yep
<mszyprow> memeka: it even has more relaxed requirements than gsc
<mszyprow> memeka: for buffer width/height
<memeka> mszyprow: cool so then i don't need to do anything, i will just leave the gsc drm disabled (and leave the gsc v4l2 on)
<memeka> mszyprow: is ipp using dmabuf? would it be zero-copy?
<mszyprow> memeka: ipp2 uses drm gems
<mszyprow> memeka: and you can inport dma buf as drm gem
<memeka> but i can't send dmabuf to the plane, can i?
<memeka> unless i do a drmprime thing?
<memeka> mszyprow: do you think it will be faster than using mali?
<memeka> i just got a mali binary with drmbuf_import :D
genii has joined #linux-exynos
afaerber has joined #linux-exynos
mszyprow has quit [Ping timeout: 250 seconds]
nighty- has quit [Remote host closed the connection]
LiquidAcid has joined #linux-exynos
LiquidAcid has quit [Quit: Leaving]
afaerber has quit [Quit: Leaving]
mszyprow|home has joined #linux-exynos
jackmitchell has quit [Remote host closed the connection]
jackmitchell has joined #linux-exynos
mszyprow^home has joined #linux-exynos
mszyprow|home has quit [Ping timeout: 272 seconds]
<memeka> mszyprow^home: ping
<mszyprow^home> memeka: pong
<memeka> mszyprow^home: interesting that the layer_sync explanation I could find on 5250 manual but not on 5420
<mszyprow^home> memeka: true
<mszyprow^home> memeka: although that explanation doesn't help much fixing the issue
jackmitchell has quit [Ping timeout: 246 seconds]
<memeka> mszyprow^home: after your last patch, do you still get crashes with your tests?
<mszyprow^home> memeka: with height-2 and irq workarounds i don't get crash
<mszyprow^home> memeka: but I get only swap display buffer at 30fps instead of 60fps
<memeka> mszyprow^home: how about irq workarounds but keep h?
<mszyprow^home> iommu fault sooner or later
<mszyprow^home> usually when nothing happens
<mszyprow^home> i mean no buffers are swapped
<mszyprow^home> i can send you tomorrow a simple test app to trigger both issues if you are interested
<memeka> mszyprow^home: can’t you find someone at Samsung that knows more about this? :)
<mszyprow^home> well, its not that easy...
<memeka> mszyprow^home: to tell you the truth, after getting a mali blob with dmabuf import, I can do this with mali
<memeka> Conversions, rotations etc
<mszyprow^home> right
<memeka> But it still bugs me just because it’s a bug :)
<memeka> But in terms of capability, I can do what I need so the house is not in fire anymore :)
<mszyprow^home> well, i will try to keep it near the top on todo list anyway
<mszyprow^home> as it is somehow interesting to finally find how this hardware is really working
<memeka> mszyprow^home: btw I saw that comment about the DP on xu3 needing a hardware fix..?
<memeka> Why?
<mszyprow^home> memeka: it needs a fix if you want to use it with dp-> hdmi converter
<mszyprow^home> memeka: the problem is with 3,3v line on dp port
<memeka> got it
<mszyprow^home> memeka: is it provided by 2,4v regulator with too low power capacity
<mszyprow^home> it should work if you connect real dp monitor
<memeka> yup
<mszyprow^home> assuming it will not use that line to supply power to edid logic
<mszyprow^home> as it is definitely too low to get it working properly
<mszyprow^home> it is a know hardware bug
<mszyprow^home> i got an idea to steal some power from usb port with 5v->3.3V converter and wire it to dp port
<mszyprow^home> but i never had time to solder it
<memeka> mszyprow^home: I saw HK puts the modeline in the dtb
<memeka> So I guess there’s no edid logic?
<memeka> There was a howto: find your monitors modeling and compile dtb
<memeka> -modeline-
<mszyprow^home> frankly i have no idea why hk forces that edid mess into kernel/dtb/whatever
<memeka> For DP? Dunno
<mszyprow^home> reading edid works just fine with my setup
<mszyprow^home> at least for hdmi
<mszyprow^home> even with hdmi->dvi converters
<memeka> For hdmi... there were many complaints about monitor x and y
<memeka> That didn’t work
<mszyprow^home> for dp case - no idea really
<memeka> So they force some edids :)
<mszyprow^home> maybe they connected some weird panels
<memeka> It was not theirs, it was clients
<mszyprow^home> or maybe due to lack of power reading edid failed
<memeka> They got some modeline from some ppl, added them to the driver, then another then another :)
<memeka> mszyprow^home: I myself have some weird panel :)
<mszyprow^home> all this can be handled in userspace
<memeka> It’s a 5” 1080p touchscreen lcd
<mszyprow^home> drm framework supports injecting edid
<memeka> On hdmi with power from USB (and touch too)
<memeka> Pretty nice, but the modelines are crazy
<memeka> Pixel clocks are all non standard :)
<memeka> mszyprow^home: that’s exactly what they do
<memeka> It’s 2 things really
<memeka> 1. Add more pixel clocks
<memeka> 2. Bundle some edids and use drm to inject them
<memeka> So there is nothing I see funky here
<memeka> mszyprow^home: I gathered everything in 1 commit: https://github.com/mihailescu2m/linux/commit/4994bd68d7c9b1469a429a9d1d3e4612d6ed5744
<mszyprow^home> well, right, but i would still like to handle this mess fully in userspace without the need to add anything to the kernel
<mszyprow^home> anyway, /me needs to go to bed now...
<memeka> mszyprow^home: oki gnite and thx
mszyprow^home has quit [Ping timeout: 245 seconds]