From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Anholt Subject: Re: [RFC PATCH] drm/panfrost: Add initial panfrost driver Date: Wed, 13 Mar 2019 09:09:23 -0700 Message-ID: <87o96eoix8.fsf@anholt.net> References: <20190308002408.32682-1-robh@kernel.org> <87h8cdxrck.fsf@anholt.net> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1329852835==" Return-path: Received: from anholt.net (anholt.net [50.246.234.109]) by gabe.freedesktop.org (Postfix) with ESMTP id 4607E89125 for ; Wed, 13 Mar 2019 16:09:28 +0000 (UTC) In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Rob Herring Cc: Tomeu Vizoso , Maxime Ripard , dri-devel , David Airlie , "Marty E. Plummer" , Sean Paul , Alyssa Rosenzweig List-Id: dri-devel@lists.freedesktop.org --===============1329852835== Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" --=-=-= Content-Type: text/plain Rob Herring writes: > On Fri, Mar 8, 2019 at 10:29 AM Eric Anholt wrote: >> >> Rob Herring writes: >> >> > From: "Marty E. Plummer" >> > >> > This adds the initial driver for panfrost which supports Arm Mali >> > Midgard and Bifrost family of GPUs. Currently, only the T860 Midgard GPU >> > has been tested. > > [...] > >> It looks like you've got v3d's silliness with the fences -- we reserve a >> shared slot, then use excl only anyway. For v3d I'm planning on moving >> to just excl -- only one of my entrypoints has info on write vs >> read-only, and I don't know of a usecase where having multiple read-only >> consumers of a shared buffer simultaneously matters. >> >> More importantly, I think you also have my bug of not doing implicit >> synchronization on buffers, which will break X11 rendering >> sometimes. X11's GL requirements are that previously-submitted rendering >> by the client fd will execute before X11's rendering on its fd to the >> same buffers. If you're running a single client, X11's copies are cheap >> enough that it'll probably work out most of the time. > > Is there a fix for this? I didn't find anything that looked like one. > >> >> > --- /dev/null >> > +++ b/include/uapi/drm/panfrost_drm.h >> >> > +#define DRM_IOCTL_PANFROST_SUBMIT DRM_IOWR(DRM_COMMAND_BASE + DRM_PANFROST_SUBMIT, struct drm_panfrost_submit) >> > +#define DRM_IOCTL_PANFROST_WAIT_BO DRM_IOWR(DRM_COMMAND_BASE + DRM_PANFROST_WAIT_BO, struct drm_panfrost_wait_bo) >> > +#define DRM_IOCTL_PANFROST_CREATE_BO DRM_IOWR(DRM_COMMAND_BASE + DRM_PANFROST_CREATE_BO, struct drm_panfrost_create_bo) >> > +#define DRM_IOCTL_PANFROST_MMAP_BO DRM_IOWR(DRM_COMMAND_BASE + DRM_PANFROST_MMAP_BO, struct drm_panfrost_mmap_bo) >> > +#define DRM_IOCTL_PANFROST_GET_PARAM DRM_IOWR(DRM_COMMAND_BASE + DRM_PANFROST_GET_PARAM, struct drm_panfrost_get_param) >> > +#define DRM_IOCTL_PANFROST_GET_BO_OFFSET DRM_IOWR(DRM_COMMAND_BASE + DRM_PANFROST_GET_BO_OFFSET, struct drm_panfrost_get_bo_offset) >> >> SUBMIT and WAIT_BO might be IOR instead of IOWR > > Huh? Perhaps WAIT_BO should be IOW as we don't update the timeout > being absolute, but both have input parameters and SUBMIT has output > params. Sorry, IOW was what I meant. I'm not seeing the output param of SUBMIT -- are you thinking of how the syncobj gets updated? --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEE/JuuFDWp9/ZkuCBXtdYpNtH8nugFAlyJKzMACgkQtdYpNtH8 nuh33Q/8CSO+7i74TY97+84hLjhBGhtUuy/cs5nTON4Q2YQA55Gpw23RJnsyNzOG z5DKGdjbWUmH4wHFsoFpmlnN/NeJIIsK6OhzIZ0RxCMKsuVCHyJtbROIlcFU6n+c che8Ku2bbiuLugc/B00+2yvPpg5Zq22JhP3na1vgPK5XssrdTrIRmqcgkWIsv6bC 3IBhsgUftDzZ1Ox/JMBJ9za7gsV/Osz6FktEdF/KAp7hHCvVArPwKbcaes+UNvoJ C8287/B+4DbMM8hlM0f6XnmFrxRuUAEu9436/kVUKFwLz8/8WPEZls8d2zlJMZfC KuYMPHY/5RcqhpP7Wc5OvT7hdcTnX3n5dpgUmiSqxLV2a/VoSDt7GyPYmpQm6mqz M8DUndsgcXU6mnK4O/798qpiye66jSEvyAp5QiNPf+l37Rf96xbaLjui+k9bIroC EdcqY22AOVBXa2KsLCq/RnBWXbc9HX2oZnMxXcR7v4EDVpGEOMTdWQvd9+FWYkLl CrYXfqwnHmd5Xe2VdgEFHNj3GsmsrL6tTHxCfki+8id+y7ZRY2PlmhMfrHEHaTe2 dnybIpFBrM1GFyW50O3cRVi/0RvLyYp8iIVdCAQkIm25GLev+sz9oMhpOgdqpJae Lr8fSdEZSNZrh0Dygv2/nNlp+n8keNzD+mHENHs5jXajC1BBSyU= =QCaf -----END PGP SIGNATURE----- --=-=-=-- --===============1329852835== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVs IG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs --===============1329852835==--