On Mon, Dec 4, 2023 at 11:04 AM Ilia Mirkin <imirkin@xxxxxxxxxxxx> wrote: > > On Sun, Dec 3, 2023 at 11:37 AM Monty Montgomery <xiphmont@xxxxxxxxx> wrote: > > 1) The nv50 DMA code clearly believed push buffers could not (or > > should not) exceed NV50_DMA_PUSH_MAX_LENGTH, when my analysis logging > > shows that they regularly exceed this maximum by an order of magnitude > > or more. Was the assumption originally true? If so, when/why did it > > change? Is the more correct fix to enforce individual pushbuf size > > limits? > > The BO itself can be artibrarily sized. However the length stored in > the ring only has so many bits, so that provides a natural maximum. > > https://envytools.readthedocs.io/en/latest/hw/fifo/dma-pusher.html#ib-mode > > This might be different on newer gens though. Oh, but that said, the way we pass the NO_PREFETCH flag through *is* by bumping the length -- IIRC the uapi doesn't have an explicit setting for it. e.g. see https://cgit.freedesktop.org/mesa/mesa/tree/src/gallium/drivers/nouveau/nvc0/nvc0_query_hw.c#n477 This is the API for libdrm_nouveau, but I seem to recall it's largely just passed through. Cheers, -ilia