On Tue, Sep 17, 2019 at 08:55:42AM -0700, security researcher wrote: > What's the latest solution here? I see a few patches in the thread, but not > sure which ones to pick and choose?
Use both: https://megous.com/git/linux/commit/?h=private-5.3&id=c186b256a869bab09103075a133f3c0d5f7b48cc https://megous.com/git/linux/commit/?h=private-5.3&id=5af208e90de5ced30350fc0fba8419e9662e9bb7 > On Monday, September 9, 2019 at 1:27:08 AM UTC, 张宁 wrote: > > > > thanks for your patches. > > > > BR. > > Ning. > > > > On Sunday, September 8, 2019 at 6:20:54 PM UTC+8, Ondřej Jirman wrote: > >> > >> Hi, > >> > >> On Sun, Sep 08, 2019 at 12:21:45AM +0200, megous hlavni wrote: > >> > On Thu, Sep 05, 2019 at 06:30:42PM -0700, 张宁 wrote: > >> > > Update my test result: > >> > > > >> > > 1, use 1st UI layer as primary plane and 3rd UI layer as cursor > >> plane. > >> > > display normally but slow with fbdev > >> > > display abnormally (only cursor shows) with modesetting (lima > >> enabled) > >> > > >> > You can "fix" this by switching to console and back. I've debugged this > >> > somewhat and it the sun4i drm driver is probably buggy. The drm layers/ > >> > framebuffers are exactly same before and after the switch. > >> > > >> > I have not yet dumped mixer registers before/after, but I suspect, > >> there > >> > will be some difference, for whatever reason. > >> > >> So I have dumped registers, and found out this: > >> > >> mixer0: > >> > >> first Xorg run: > >> > >> 0x01101000 : 00000201 > >> 0x01101080 : 00000030 > >> > >> BLD_FILL_COLOR_CTL: (aka SUN8I_MIXER_BLEND_PIPE_CTL) > >> P1_EN > >> > >> BLD_CH_RTCTL: (aka SUN8I_MIXER_BLEND_ROUTE) > >> P0_RTCTL channel0 > >> P1_RTCTL channel3 > >> > >> > >> after switch to console and back to Xorg: > >> > >> 0x01101000 : 00000301 > >> 0x01101080 : 00000031 > >> > >> BLD_FILL_COLOR_CTL: > >> P1_EN and P0_EN > >> > >> BLD_CH_RTCTL: > >> P0_RTCTL channel1 > >> P1_RTCTL channel3 > >> > >> > >> This is despite the layers config being exactly the same as indicated > >> in /sys/kernel/debug/dri/0/{state,framebuffer}. > >> > >> sun4i-drm driver just doesn't handle layer change correctly in all cases. > >> > >> For example when enabling a layer, it may disable a different layer if > >> old_zpos matches the zpos of the other layer. > >> > >> I've made a fix for this: > >> > >> > >> https://megous.com/git/linux/commit/?h=private-5.3&id=c186b256a869bab09103075a133f3c0d5f7b48cc > >> > >> > >> https://megous.com/git/linux/commit/?h=private-5.3&id=5af208e90de5ced30350fc0fba8419e9662e9bb7 > >> > >> > >> So with these two patches, Xorg server/modesetting driver will use the > >> cursor > >> plane, and plane enable/switching issues are gone (in general, even if > >> you > >> don't use the cursor plane patch). > >> > >> Anyway, this makes Xorg server work nicely with lima/panfrost without the > >> need to hack Xorg's modesetting driver to use non-cursor plane for > >> cursor. > >> > >> regards, > >> o. > >> > >> > regards, > >> > o. > >> > > >> > > 2, use VI layer as primary plane, and toppest UI layer as cursor > >> plane > >> > > display abnormal in both fbdev and modesetting( lima enabled) > >> > > > >> > > so as said by Jernej: these sub-layers don't fit in current DRM > >> design. > >> > > > >> > > > >> > > On Thursday, September 5, 2019 at 5:38:05 AM UTC+8, Jernej Škrabec > >> wrote: > >> > > > > >> > > > Dne sreda, 04. september 2019 ob 23:10:15 CEST je Ondřej Jirman > >> > > > napisal(a): > >> > > > > On Wed, Sep 04, 2019 at 11:02:33PM +0200, Jernej Škrabec wrote: > >> > > > > > Dne sreda, 04. september 2019 ob 22:45:47 CEST je Ondřej Jirman > >> > > > napisal(a): > >> > > > > > > On Wed, Sep 04, 2019 at 07:29:39AM +0200, Jernej Škrabec > >> wrote: > >> > > > > > > > Dne sreda, 04. september 2019 ob 05:08:14 CEST je 张宁 > >> napisal(a): > >> > > > > > > > > just check drm_mode_cursor_universal, cursor plane needs > >> to > >> > > > support > >> > > > > > > > > DRM_FORMAT_ARGB8888 > >> > > > > > > > > > >> > > > > > > > > but VI layer doesn't support alpha, directly change VI > >> layer to > >> > > > > > > > > cursor > >> > > > > > > > > plane is not possible. > >> > > > > > > > > > >> > > > > > > > > could we use UI layers? > >> > > > > > > > > >> > > > > > > > Sure, but note that second mixer usually supports only one > >> VI and > >> > > > one > >> > > > > > > > UI > >> > > > > > > > plane. Note that primary plane is always on first UI, so > >> you can > >> > > > run > >> > > > > > > > out > >> > > > > > > > of UI planes. > >> > > > > > > > > >> > > > > > > > Most notable example of that combination is A64 HDMI, while > >> LCD > >> > > > output > >> > > > > > > > on > >> > > > > > > > A64 has one VI and three UI planes. There is a switch in > >> hardware > >> > > > to > >> > > > > > > > connect 1 VI/ 3 UI mixer to A64 HDMI, but it's not > >> implemented and > >> > > > > > > > user > >> > > > > > > > space would have to be aware of that. > >> > > > > > > > >> > > > > > > Each mixer channel has 4 sub-layers, so it should be possible > >> even > >> > > > with > >> > > > > > > one > >> > > > > > > UI channel to have a a cursor plane within it (with some > >> > > > constraints). > >> > > > > > > >> > > > > > If it's acceptable that cursor is square image then yes. There > >> is no > >> > > > > > blending between sub-layers. > >> > > > > > >> > > > > Ah, bummer. > >> > > > > > >> > > > > >> > > > Looking at DE2 documentation, sub-layer concept is very simple from > >> HW > >> > > > point > >> > > > of view. There is no adjustable Z-pos, scaling, blending or pixel > >> format > >> > > > conversion (doc states that they must be in same format) between > >> > > > sub-layers. > >> > > > To no surprise DMA engine is not part of sub-layer according to > >> mixer > >> > > > block > >> > > > diagram. It seems like that sub-layers part only feeds DMA with > >> correct > >> > > > order > >> > > > of memory locations which DMA needs to transfer to the next unit > >> (scaler > >> > > > in > >> > > > this case). > >> > > > > >> > > > I don't think these sub-layers fit in current DRM design. I'm also > >> not > >> > > > sure in > >> > > > which case they would be usable. > >> > > > > >> > > > /offtopic > >> > > > > >> > > > > > > > Best regards, > >> > > > > > > > Jernej > >> > > > > > > > > >> > > > > > > > > On Wednesday, September 4, 2019 at 9:26:03 AM UTC+8, 张宁 > >> wrote: > >> > > > > > > > > > Hi, Vasily > >> > > > > > > > > > > >> > > > > > > > > > from source, it looks like VI layer is a video plane, > >> right? > >> > > > > > > > > > > >> > > > > > > > > > let xf86-vidoe-modesetting driver support sun4i-drm's > >> VI layer > >> > > > is > >> > > > > > > > > > a > >> > > > > > > > > > way to > >> > > > > > > > > > support HW cursor, > >> > > > > > > > > > I want to ask whether it's possible to change VI layer > >> type to > >> > > > > > > > > > cursor > >> > > > > > > > > > plane, then no changes in modesetting driver? > >> > > > > > > > > > > >> > > > > > > > > > BR. > >> > > > > > > > > > Ning. > >> > > > > > > > > > > >> > > > > > > > > > On Tuesday, September 3, 2019 at 11:21:48 PM UTC+8, > >> Vasily > >> > > > > > > > > > Khoruzhick > >> > > > > > > > > > > >> > > > > > > > > > wrote: > >> > > > > > > > > >> On Tue, Sep 3, 2019 at 1:49 AM 张宁 <zhang...@gmail.com> > >> > >> > > > wrote: > >> > > > > > > > > >> > Hi, Maxime, Icenowy and other developers > >> > > > > > > > > >> > > >> > > > > > > > > >> > In https://linux-sunxi.org/Xorg, it says legacy > >> display > >> > > > engine > >> > > > > > > > > >> > driver > >> > > > > > > > > >> > >> > > > > > > > > >> supports HW cursor, but there is no code actually > >> creates a > >> > > > > > > > > >> cursor > >> > > > > > > > > >> plane > >> > > > > > > > > >> in > >> > > > > > > > > >> mainline linux, this is also said in: > >> > > > > > > > > >> > >> > > > https://groups.google.com/forum/#!searchin/linux-sunxi/subject$3A > >> > > > > > > > > >> $20c > >> > > > > > > > > >> urso > >> > > > > > > > > >> r|sort:date/linux-sunxi/6dZVBtNgh5Q/dpBDfvEjBgAJ>> > >> > > > > > > > > >> > >> > > > > > > > > >> > currently, lima usespace driver in mesa already has > >> the > >> > > > basic > >> > > > > > > > > >> > function > >> > > > > > > > > >> > >> > > > > > > > > >> for desktop, if lima is enabled, cursor rendering will > >> > > > possibly > >> > > > > > > > > >> go > >> > > > > > > > > >> GPU, > >> > > > > > > > > >> this will be less efficient than HW cursor. > >> > > > > > > > > >> > >> > > > > > > > > >> > do you have plan to enable cursor plane? > >> > > > > > > > > >> > >> > > > > > > > > >> That's up to X11 developers. sun4i-drm exposes UI and > >> VI > >> > > > planes > >> > > > > > > > > >> on > >> > > > > > > > > >> SoCs with DE2, and there's no dedicated cursor plane > >> in > >> > > > hardware. > >> > > > > > > > > >> Basically sun4i-drm exposes what's available in > >> hardware. But > >> > > > > > > > > >> xf86-video-modesetting doesn't use VI plane for > >> anything > >> > > > while it > >> > > > > > > > > >> could use it for cursor. > >> > > > > > > > > >> > >> > > > > > > > > >> Groups "linux-sunxi" group. > >> > > > > > > > > >> > >> > > > > > > > > >> > To unsubscribe from this group and stop receiving > >> emails > >> > > > from > >> > > > > > > > > >> > it, > >> > > > > > > > > >> > send > >> > > > > > > > > >> > >> > > > > > > > > >> an email to linux...@googlegroups.com. > >> > > > > > > > > >> > >> > > > > > > > > >> > To view this discussion on the web, visit > >> > > > > > > > > >> > >> > > > > > > > > >> > >> > > > https://groups.google.com/d/msgid/linux-sunxi/8d091584-8e01-431d-> > >> > > > > >> > > > > >> b9b0 > >> > > > > > > > > >> -93d > >> > > > > > > > > >> d7e0f0cec%40googlegroups.com. > >> > > > > >> > > > > >> > > > > >> > > > > >> > > > > >> > > > >> > > -- > >> > > You received this message because you are subscribed to the Google > >> Groups "linux-sunxi" group. > >> > > To unsubscribe from this group and stop receiving emails from it, > >> send an email to linux...@googlegroups.com. > >> > > To view this discussion on the web, visit > >> https://groups.google.com/d/msgid/linux-sunxi/6aba8962-c9a5-49b3-96b8-e623562a06f1%40googlegroups.com. > >> > >> > >> > > >> > -- > >> > You received this message because you are subscribed to the Google > >> Groups "linux-sunxi" group. > >> > To unsubscribe from this group and stop receiving emails from it, send > >> an email to linux...@googlegroups.com. > >> > To view this discussion on the web, visit > >> https://groups.google.com/d/msgid/linux-sunxi/20190907222145.4yfa6qy2uwjlkrut%40core.my.home. > >> > >> > >> > > > > -- > You received this message because you are subscribed to the Google Groups > "linux-sunxi" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to linux-sunxi+unsubscr...@googlegroups.com. > To view this discussion on the web, visit > https://groups.google.com/d/msgid/linux-sunxi/14392370-4e1a-4a07-8350-26925b6d5192%40googlegroups.com. -- You received this message because you are subscribed to the Google Groups "linux-sunxi" group. To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscr...@googlegroups.com. To view this discussion on the web, visit https://groups.google.com/d/msgid/linux-sunxi/20190917164940.tl5wda4xpmf5kjf4%40core.my.home.