devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Tomi Valkeinen <tomi.valkeinen@ti.com>
Cc: Peter Ujfalusi <peter.ujfalusi@ti.com>,
	devicetree@vger.kernel.org, jsarha@ti.com,
	dri-devel@lists.freedesktop.org
Subject: Re: [PATCH v2 2/2] drm/omap: partial workaround for DRA7xx DMM errata i878
Date: Wed, 04 Apr 2018 14:17:23 +0300	[thread overview]
Message-ID: <1561664.RVAzNdDqiG@avalon> (raw)
In-Reply-To: <c6afad26-c015-d24b-b36f-d5266042621c@ti.com>

Hi Tomi,

On Wednesday, 4 April 2018 13:33:02 EEST Tomi Valkeinen wrote:
> On 04/04/18 13:28, Laurent Pinchart wrote:
> > On Wednesday, 4 April 2018 13:02:04 EEST Tomi Valkeinen wrote:
> >> On 04/04/18 12:51, Laurent Pinchart wrote:
> >>> On Wednesday, 4 April 2018 10:37:05 EEST Tomi Valkeinen wrote:
> >>>> On 04/04/18 00:11, Laurent Pinchart wrote:
> >>>>> I assume access to DMM-mapped buffers to be way more frequent than
> >>>>> access to the DMM registers. If that's the case, this partial
> >>>>> workaround should only slightly lower the probability of system lock-
> >>>>> up. Do you have plans to implement a workaround that will fix the
> >>>>> problem completely ?
> >>>> 
> >>>> CPU only accesses memory via DMM when using TILER 2D buffers, which are
> >>>> not officially supported. For non-2D, the pages are mapped directly to
> >>>> the CPU without DMM in between.
> >>> 
> >>> What is the DMM used for with non-2D then ? Does it need to be setup at
> >>> all ?
> >> 
> >> It creates a contiguous view of memory for IPs without IOMMUs, like DSS.
> > 
> > OK, got it. In that case the CPU accesses don't need to go through the
> > DMM, only the device accesses do, as the CPU will go through the MMU.
> > Sorry for the noise.
> 
> Slightly related, just thinking out loud:
> 
> This is the first part of the work-around. The other part would be to
> make TILER 2D available to the CPU via some kind of indirect access.
> TILER 2D memory is mapped in a custom way to the CPU even now (if I
> recall right, only two pages are mapped at once, with a custom DMM
> mapping for those).
> 
> I think sDMA would be the choice there too, allocating two pages as a
> "cache" and using sDMA to fill and flush those pages.

Thinking out loud too, I suppose we would trigger the sDMA to flush the page 
out when it has to be evicted from the usergart, through the same mechanism we 
use to evict the TILER 2D mapping now. If the sDMA is fast enough it could 
complete before the CPU fills the next page, and we wouldn't have any 
noticeable delay (there would be extra memory bandwidth consumption though).

However, when faulting a page in, we would also need to use sDMA to read the 
data, right ? That sDMA transfer could only be triggered at the time of the 
page fault, so every access resulting in a fault would be delayed by a page-
sized sDMA transfer. I wonder if the resulting performances would be 
acceptable.

> I haven't spent any time on that, as TILER 2D has other issues and is
> not very usable.

Maybe we should just not use it then ;-)

-- 
Regards,

Laurent Pinchart



_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

  reply	other threads:[~2018-04-04 11:17 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-22 13:42 [PATCH v2 0/2] drm/omap: Workaround for errata i878 Peter Ujfalusi
2018-03-22 13:42 ` [PATCH v2 1/2] dt-bindings: arm: omap: dmm: Document new compatible for DRA7xx family Peter Ujfalusi
2018-03-23  8:31   ` Peter Ujfalusi
2018-04-03 20:48     ` Laurent Pinchart
2018-03-26 22:24   ` Rob Herring
2018-04-03 20:44   ` Laurent Pinchart
2018-03-22 13:42 ` [PATCH v2 2/2] drm/omap: partial workaround for DRA7xx DMM errata i878 Peter Ujfalusi
2018-03-23  8:32   ` Peter Ujfalusi
2018-03-29 10:18   ` Tomi Valkeinen
2018-03-29 12:11     ` Peter Ujfalusi
2018-04-03 21:11   ` Laurent Pinchart
2018-04-04  7:37     ` Tomi Valkeinen
2018-04-04  9:51       ` Laurent Pinchart
2018-04-04 10:02         ` Tomi Valkeinen
2018-04-04 10:28           ` Laurent Pinchart
2018-04-04 10:33             ` Tomi Valkeinen
2018-04-04 11:17               ` Laurent Pinchart [this message]
2018-04-04 10:50     ` Tomi Valkeinen
2018-04-04 11:08       ` Laurent Pinchart
2018-04-10  6:50     ` Peter Ujfalusi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1561664.RVAzNdDqiG@avalon \
    --to=laurent.pinchart@ideasonboard.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=jsarha@ti.com \
    --cc=peter.ujfalusi@ti.com \
    --cc=tomi.valkeinen@ti.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).