Lines Matching refs:priv
115 struct ps3vram_priv *priv = ps3_system_bus_get_drvdata(dev); in ps3vram_notifier_reset() local
116 u32 __iomem *notify = ps3vram_get_notifier(priv->reports, NOTIFIER); in ps3vram_notifier_reset()
126 struct ps3vram_priv *priv = ps3_system_bus_get_drvdata(dev); in ps3vram_notifier_wait() local
127 u32 __iomem *notify = ps3vram_get_notifier(priv->reports, NOTIFIER); in ps3vram_notifier_wait()
149 struct ps3vram_priv *priv = ps3_system_bus_get_drvdata(dev); in ps3vram_init_ring() local
151 iowrite32be(FIFO_BASE + FIFO_OFFSET, priv->ctrl + CTRL_PUT); in ps3vram_init_ring()
152 iowrite32be(FIFO_BASE + FIFO_OFFSET, priv->ctrl + CTRL_GET); in ps3vram_init_ring()
158 struct ps3vram_priv *priv = ps3_system_bus_get_drvdata(dev); in ps3vram_wait_ring() local
162 if (ioread32be(priv->ctrl + CTRL_PUT) == ioread32be(priv->ctrl + CTRL_GET)) in ps3vram_wait_ring()
168 ioread32be(priv->ctrl + CTRL_PUT), ioread32be(priv->ctrl + CTRL_GET), in ps3vram_wait_ring()
169 ioread32be(priv->ctrl + CTRL_TOP)); in ps3vram_wait_ring()
174 static void ps3vram_out_ring(struct ps3vram_priv *priv, u32 data) in ps3vram_out_ring() argument
176 *(priv->fifo_ptr)++ = data; in ps3vram_out_ring()
179 static void ps3vram_begin_ring(struct ps3vram_priv *priv, u32 chan, u32 tag, in ps3vram_begin_ring() argument
182 ps3vram_out_ring(priv, (size << 18) | (chan << 13) | tag); in ps3vram_begin_ring()
187 struct ps3vram_priv *priv = ps3_system_bus_get_drvdata(dev); in ps3vram_rewind_ring() local
190 ps3vram_out_ring(priv, 0x20000000 | (FIFO_BASE + FIFO_OFFSET)); in ps3vram_rewind_ring()
192 iowrite32be(FIFO_BASE + FIFO_OFFSET, priv->ctrl + CTRL_PUT); in ps3vram_rewind_ring()
195 status = lv1_gpu_fb_blit(priv->context_handle, 0, 0, 0, 0); in ps3vram_rewind_ring()
200 priv->fifo_ptr = priv->fifo_base; in ps3vram_rewind_ring()
205 struct ps3vram_priv *priv = ps3_system_bus_get_drvdata(dev); in ps3vram_fire_ring() local
210 iowrite32be(FIFO_BASE + FIFO_OFFSET + (priv->fifo_ptr - priv->fifo_base) in ps3vram_fire_ring()
211 * sizeof(u32), priv->ctrl + CTRL_PUT); in ps3vram_fire_ring()
214 status = lv1_gpu_fb_blit(priv->context_handle, 0, 0, 0, 0); in ps3vram_fire_ring()
219 if ((priv->fifo_ptr - priv->fifo_base) * sizeof(u32) > in ps3vram_fire_ring()
231 struct ps3vram_priv *priv = ps3_system_bus_get_drvdata(dev); in ps3vram_bind() local
233 ps3vram_begin_ring(priv, UPLOAD_SUBCH, 0, 1); in ps3vram_bind()
234 ps3vram_out_ring(priv, 0x31337303); in ps3vram_bind()
235 ps3vram_begin_ring(priv, UPLOAD_SUBCH, 0x180, 3); in ps3vram_bind()
236 ps3vram_out_ring(priv, DMA_NOTIFIER_HANDLE_BASE + NOTIFIER); in ps3vram_bind()
237 ps3vram_out_ring(priv, 0xfeed0001); /* DMA system RAM instance */ in ps3vram_bind()
238 ps3vram_out_ring(priv, 0xfeed0000); /* DMA video RAM instance */ in ps3vram_bind()
240 ps3vram_begin_ring(priv, DOWNLOAD_SUBCH, 0, 1); in ps3vram_bind()
241 ps3vram_out_ring(priv, 0x3137c0de); in ps3vram_bind()
242 ps3vram_begin_ring(priv, DOWNLOAD_SUBCH, 0x180, 3); in ps3vram_bind()
243 ps3vram_out_ring(priv, DMA_NOTIFIER_HANDLE_BASE + NOTIFIER); in ps3vram_bind()
244 ps3vram_out_ring(priv, 0xfeed0000); /* DMA video RAM instance */ in ps3vram_bind()
245 ps3vram_out_ring(priv, 0xfeed0001); /* DMA system RAM instance */ in ps3vram_bind()
254 struct ps3vram_priv *priv = ps3_system_bus_get_drvdata(dev); in ps3vram_upload() local
256 ps3vram_begin_ring(priv, UPLOAD_SUBCH, in ps3vram_upload()
258 ps3vram_out_ring(priv, XDR_IOIF + src_offset); in ps3vram_upload()
259 ps3vram_out_ring(priv, dst_offset); in ps3vram_upload()
260 ps3vram_out_ring(priv, len); in ps3vram_upload()
261 ps3vram_out_ring(priv, len); in ps3vram_upload()
262 ps3vram_out_ring(priv, len); in ps3vram_upload()
263 ps3vram_out_ring(priv, count); in ps3vram_upload()
264 ps3vram_out_ring(priv, (1 << 8) | 1); in ps3vram_upload()
265 ps3vram_out_ring(priv, 0); in ps3vram_upload()
268 ps3vram_begin_ring(priv, UPLOAD_SUBCH, in ps3vram_upload()
270 ps3vram_out_ring(priv, 0); in ps3vram_upload()
271 ps3vram_begin_ring(priv, UPLOAD_SUBCH, 0x100, 1); in ps3vram_upload()
272 ps3vram_out_ring(priv, 0); in ps3vram_upload()
286 struct ps3vram_priv *priv = ps3_system_bus_get_drvdata(dev); in ps3vram_download() local
288 ps3vram_begin_ring(priv, DOWNLOAD_SUBCH, in ps3vram_download()
290 ps3vram_out_ring(priv, src_offset); in ps3vram_download()
291 ps3vram_out_ring(priv, XDR_IOIF + dst_offset); in ps3vram_download()
292 ps3vram_out_ring(priv, len); in ps3vram_download()
293 ps3vram_out_ring(priv, len); in ps3vram_download()
294 ps3vram_out_ring(priv, len); in ps3vram_download()
295 ps3vram_out_ring(priv, count); in ps3vram_download()
296 ps3vram_out_ring(priv, (1 << 8) | 1); in ps3vram_download()
297 ps3vram_out_ring(priv, 0); in ps3vram_download()
300 ps3vram_begin_ring(priv, DOWNLOAD_SUBCH, in ps3vram_download()
302 ps3vram_out_ring(priv, 0); in ps3vram_download()
303 ps3vram_begin_ring(priv, DOWNLOAD_SUBCH, 0x100, 1); in ps3vram_download()
304 ps3vram_out_ring(priv, 0); in ps3vram_download()
316 struct ps3vram_priv *priv = ps3_system_bus_get_drvdata(dev); in ps3vram_cache_evict() local
317 struct ps3vram_cache *cache = &priv->cache; in ps3vram_cache_evict()
338 struct ps3vram_priv *priv = ps3_system_bus_get_drvdata(dev); in ps3vram_cache_load() local
339 struct ps3vram_cache *cache = &priv->cache; in ps3vram_cache_load()
358 struct ps3vram_priv *priv = ps3_system_bus_get_drvdata(dev); in ps3vram_cache_flush() local
359 struct ps3vram_cache *cache = &priv->cache; in ps3vram_cache_flush()
372 struct ps3vram_priv *priv = ps3_system_bus_get_drvdata(dev); in ps3vram_cache_match() local
373 struct ps3vram_cache *cache = &priv->cache; in ps3vram_cache_match()
406 struct ps3vram_priv *priv = ps3_system_bus_get_drvdata(dev); in ps3vram_cache_init() local
408 priv->cache.page_count = CACHE_PAGE_COUNT; in ps3vram_cache_init()
409 priv->cache.page_size = CACHE_PAGE_SIZE; in ps3vram_cache_init()
410 priv->cache.tags = kzalloc(sizeof(struct ps3vram_tag) * in ps3vram_cache_init()
412 if (priv->cache.tags == NULL) { in ps3vram_cache_init()
425 struct ps3vram_priv *priv = ps3_system_bus_get_drvdata(dev); in ps3vram_cache_cleanup() local
428 kfree(priv->cache.tags); in ps3vram_cache_cleanup()
434 struct ps3vram_priv *priv = ps3_system_bus_get_drvdata(dev); in ps3vram_read() local
440 if (from >= priv->size) in ps3vram_read()
443 if (len > priv->size - from) in ps3vram_read()
444 len = priv->size - from; in ps3vram_read()
452 offset = (unsigned int) (from & (priv->cache.page_size - 1)); in ps3vram_read()
453 avail = priv->cache.page_size - offset; in ps3vram_read()
456 cached = CACHE_OFFSET + entry * priv->cache.page_size + offset; in ps3vram_read()
464 memcpy(buf, priv->xdr_buf + cached, avail); in ps3vram_read()
478 struct ps3vram_priv *priv = ps3_system_bus_get_drvdata(dev); in ps3vram_write() local
481 if (to >= priv->size) in ps3vram_write()
484 if (len > priv->size - to) in ps3vram_write()
485 len = priv->size - to; in ps3vram_write()
493 offset = (unsigned int) (to & (priv->cache.page_size - 1)); in ps3vram_write()
494 avail = priv->cache.page_size - offset; in ps3vram_write()
497 cached = CACHE_OFFSET + entry * priv->cache.page_size + offset; in ps3vram_write()
505 memcpy(priv->xdr_buf + cached, buf, avail); in ps3vram_write()
507 priv->cache.tags[entry].flags |= CACHE_PAGE_DIRTY; in ps3vram_write()
520 struct ps3vram_priv *priv = m->private; in ps3vram_proc_show() local
522 seq_printf(m, "hit:%u\nmiss:%u\n", priv->cache.hit, priv->cache.miss); in ps3vram_proc_show()
541 struct ps3vram_priv *priv = ps3_system_bus_get_drvdata(dev); in ps3vram_proc_init() local
545 priv); in ps3vram_proc_init()
553 struct ps3vram_priv *priv = ps3_system_bus_get_drvdata(dev); in ps3vram_do_bio() local
591 spin_lock_irq(&priv->lock); in ps3vram_do_bio()
592 bio_list_pop(&priv->list); in ps3vram_do_bio()
593 next = bio_list_peek(&priv->list); in ps3vram_do_bio()
594 spin_unlock_irq(&priv->lock); in ps3vram_do_bio()
604 struct ps3vram_priv *priv = ps3_system_bus_get_drvdata(dev); in ps3vram_make_request() local
611 spin_lock_irq(&priv->lock); in ps3vram_make_request()
612 busy = !bio_list_empty(&priv->list); in ps3vram_make_request()
613 bio_list_add(&priv->list, bio); in ps3vram_make_request()
614 spin_unlock_irq(&priv->lock); in ps3vram_make_request()
628 struct ps3vram_priv *priv; in ps3vram_probe() local
636 priv = kzalloc(sizeof(*priv), GFP_KERNEL); in ps3vram_probe()
637 if (!priv) { in ps3vram_probe()
642 spin_lock_init(&priv->lock); in ps3vram_probe()
643 bio_list_init(&priv->list); in ps3vram_probe()
644 ps3_system_bus_set_drvdata(dev, priv); in ps3vram_probe()
647 priv->xdr_buf = (void *)__get_free_pages(GFP_KERNEL, in ps3vram_probe()
649 if (priv->xdr_buf == NULL) { in ps3vram_probe()
656 priv->fifo_base = (u32 *) (priv->xdr_buf + FIFO_OFFSET); in ps3vram_probe()
657 priv->fifo_ptr = priv->fifo_base; in ps3vram_probe()
677 &priv->memory_handle, in ps3vram_probe()
691 status = lv1_gpu_context_allocate(priv->memory_handle, 0, in ps3vram_probe()
692 &priv->context_handle, &ctrl_lpar, in ps3vram_probe()
703 xdr_lpar = ps3_mm_phys_to_lpar(__pa(priv->xdr_buf)); in ps3vram_probe()
704 status = lv1_gpu_context_iomap(priv->context_handle, XDR_IOIF, in ps3vram_probe()
715 priv->ctrl = ioremap(ctrl_lpar, 64 * 1024); in ps3vram_probe()
716 if (!priv->ctrl) { in ps3vram_probe()
722 priv->reports = ioremap(reports_lpar, reports_size); in ps3vram_probe()
723 if (!priv->reports) { in ps3vram_probe()
733 priv->size = ddr_size; in ps3vram_probe()
756 priv->queue = queue; in ps3vram_probe()
770 priv->gendisk = gendisk; in ps3vram_probe()
778 set_capacity(gendisk, priv->size >> 9); in ps3vram_probe()
792 iounmap(priv->reports); in ps3vram_probe()
794 iounmap(priv->ctrl); in ps3vram_probe()
796 lv1_gpu_context_iomap(priv->context_handle, XDR_IOIF, xdr_lpar, in ps3vram_probe()
799 lv1_gpu_context_free(priv->context_handle); in ps3vram_probe()
801 lv1_gpu_memory_free(priv->memory_handle); in ps3vram_probe()
805 free_pages((unsigned long) priv->xdr_buf, get_order(XDR_BUF_SIZE)); in ps3vram_probe()
807 kfree(priv); in ps3vram_probe()
815 struct ps3vram_priv *priv = ps3_system_bus_get_drvdata(dev); in ps3vram_remove() local
817 del_gendisk(priv->gendisk); in ps3vram_remove()
818 put_disk(priv->gendisk); in ps3vram_remove()
819 blk_cleanup_queue(priv->queue); in ps3vram_remove()
822 iounmap(priv->reports); in ps3vram_remove()
823 iounmap(priv->ctrl); in ps3vram_remove()
824 lv1_gpu_context_iomap(priv->context_handle, XDR_IOIF, in ps3vram_remove()
825 ps3_mm_phys_to_lpar(__pa(priv->xdr_buf)), in ps3vram_remove()
827 lv1_gpu_context_free(priv->context_handle); in ps3vram_remove()
828 lv1_gpu_memory_free(priv->memory_handle); in ps3vram_remove()
830 free_pages((unsigned long) priv->xdr_buf, get_order(XDR_BUF_SIZE)); in ps3vram_remove()
831 kfree(priv); in ps3vram_remove()