search for: dma_put

Displaying 3 results from an estimated 3 matches for "dma_put".

Did you mean: dma_buf
2012 Dec 09
0
[PATCH 1/4] drm/nouveau: split fifo interrupt handler
...v_wr32(priv, NV04_PFIFO_CACHE1_DMA_PUSH, + nv_rd32(priv, NV04_PFIFO_CACHE1_DMA_PUSH) | 1); + nv_wr32(priv, NV04_PFIFO_CACHE1_PULL0, 1); +} + +static void +nv04_fifo_dma_pusher(struct nouveau_device *device, struct nv04_fifo_priv *priv, + u32 chid) +{ + u32 dma_get = nv_rd32(priv, 0x003244); + u32 dma_put = nv_rd32(priv, 0x003240); + u32 push = nv_rd32(priv, 0x003220); + u32 state = nv_rd32(priv, 0x003228); + + if (device->card_type == NV_50) { + u32 ho_get = nv_rd32(priv, 0x003328); + u32 ho_put = nv_rd32(priv, 0x003320); + u32 ib_get = nv_rd32(priv, 0x003334); + u32 ib_put = nv_rd32(priv, 0...
2012 Dec 05
2
[RFC PATCH] drm/nouveau: report channel owner in error messages
...;, + mthd & 0x1ffc, data); } nv_wr32(priv, NV04_PFIFO_CACHE1_DMA_PUSH, 0); @@ -445,11 +468,14 @@ static void nv04_fifo_dma_pusher(struct nouveau_device *device, struct nv04_fifo_priv *priv, u32 chid) { + struct nouveau_client *client; u32 dma_get = nv_rd32(priv, 0x003244); u32 dma_put = nv_rd32(priv, 0x003240); u32 push = nv_rd32(priv, 0x003220); u32 state = nv_rd32(priv, 0x003228); + client = nv04_fifo_client_for_chid(priv, chid); + if (device->card_type == NV_50) { u32 ho_get = nv_rd32(priv, 0x003328); u32 ho_put = nv_rd32(priv, 0x003320); @@ -457,9 +483,10 @@...
2010 Feb 07
3
[PATCH] drm/nouveau: don't hold spin lock while calling kzalloc with GFP_KERNEL
...v, NV04_RAMFC(chan->id), ~0, @@ -127,6 +128,8 @@ nv04_fifo_create_context(struct nouveau_channel *chan) if (ret) return ret; + spin_lock_irqsave(&dev_priv->context_switch_lock, flags); + /* Setup initial state */ dev_priv->engine.instmem.prepare_access(dev, true); RAMFC_WR(DMA_PUT, chan->pushbuf_base); @@ -144,6 +147,8 @@ nv04_fifo_create_context(struct nouveau_channel *chan) /* enable the fifo dma operation */ nv_wr32(dev, NV04_PFIFO_MODE, nv_rd32(dev, NV04_PFIFO_MODE) | (1 << chan->id)); + + spin_unlock_irqrestore(&dev_priv->context_switch_lock, f...