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.

Reply via email to