Lines Matching refs:chan

683 nve0_bo_move_init(struct nouveau_channel *chan, u32 handle)  in nve0_bo_move_init()  argument
685 int ret = RING_SPACE(chan, 2); in nve0_bo_move_init()
687 BEGIN_NVC0(chan, NvSubCopy, 0x0000, 1); in nve0_bo_move_init()
688 OUT_RING (chan, handle & 0x0000ffff); in nve0_bo_move_init()
689 FIRE_RING (chan); in nve0_bo_move_init()
695 nve0_bo_move_copy(struct nouveau_channel *chan, struct ttm_buffer_object *bo, in nve0_bo_move_copy() argument
699 int ret = RING_SPACE(chan, 10); in nve0_bo_move_copy()
701 BEGIN_NVC0(chan, NvSubCopy, 0x0400, 8); in nve0_bo_move_copy()
702 OUT_RING (chan, upper_32_bits(node->vma[0].offset)); in nve0_bo_move_copy()
703 OUT_RING (chan, lower_32_bits(node->vma[0].offset)); in nve0_bo_move_copy()
704 OUT_RING (chan, upper_32_bits(node->vma[1].offset)); in nve0_bo_move_copy()
705 OUT_RING (chan, lower_32_bits(node->vma[1].offset)); in nve0_bo_move_copy()
706 OUT_RING (chan, PAGE_SIZE); in nve0_bo_move_copy()
707 OUT_RING (chan, PAGE_SIZE); in nve0_bo_move_copy()
708 OUT_RING (chan, PAGE_SIZE); in nve0_bo_move_copy()
709 OUT_RING (chan, new_mem->num_pages); in nve0_bo_move_copy()
710 BEGIN_IMC0(chan, NvSubCopy, 0x0300, 0x0386); in nve0_bo_move_copy()
716 nvc0_bo_move_init(struct nouveau_channel *chan, u32 handle) in nvc0_bo_move_init() argument
718 int ret = RING_SPACE(chan, 2); in nvc0_bo_move_init()
720 BEGIN_NVC0(chan, NvSubCopy, 0x0000, 1); in nvc0_bo_move_init()
721 OUT_RING (chan, handle); in nvc0_bo_move_init()
727 nvc0_bo_move_copy(struct nouveau_channel *chan, struct ttm_buffer_object *bo, in nvc0_bo_move_copy() argument
740 ret = RING_SPACE(chan, 11); in nvc0_bo_move_copy()
744 BEGIN_NVC0(chan, NvSubCopy, 0x030c, 8); in nvc0_bo_move_copy()
745 OUT_RING (chan, upper_32_bits(src_offset)); in nvc0_bo_move_copy()
746 OUT_RING (chan, lower_32_bits(src_offset)); in nvc0_bo_move_copy()
747 OUT_RING (chan, upper_32_bits(dst_offset)); in nvc0_bo_move_copy()
748 OUT_RING (chan, lower_32_bits(dst_offset)); in nvc0_bo_move_copy()
749 OUT_RING (chan, PAGE_SIZE); in nvc0_bo_move_copy()
750 OUT_RING (chan, PAGE_SIZE); in nvc0_bo_move_copy()
751 OUT_RING (chan, PAGE_SIZE); in nvc0_bo_move_copy()
752 OUT_RING (chan, line_count); in nvc0_bo_move_copy()
753 BEGIN_NVC0(chan, NvSubCopy, 0x0300, 1); in nvc0_bo_move_copy()
754 OUT_RING (chan, 0x00000110); in nvc0_bo_move_copy()
765 nvc0_bo_move_m2mf(struct nouveau_channel *chan, struct ttm_buffer_object *bo, in nvc0_bo_move_m2mf() argument
778 ret = RING_SPACE(chan, 12); in nvc0_bo_move_m2mf()
782 BEGIN_NVC0(chan, NvSubCopy, 0x0238, 2); in nvc0_bo_move_m2mf()
783 OUT_RING (chan, upper_32_bits(dst_offset)); in nvc0_bo_move_m2mf()
784 OUT_RING (chan, lower_32_bits(dst_offset)); in nvc0_bo_move_m2mf()
785 BEGIN_NVC0(chan, NvSubCopy, 0x030c, 6); in nvc0_bo_move_m2mf()
786 OUT_RING (chan, upper_32_bits(src_offset)); in nvc0_bo_move_m2mf()
787 OUT_RING (chan, lower_32_bits(src_offset)); in nvc0_bo_move_m2mf()
788 OUT_RING (chan, PAGE_SIZE); /* src_pitch */ in nvc0_bo_move_m2mf()
789 OUT_RING (chan, PAGE_SIZE); /* dst_pitch */ in nvc0_bo_move_m2mf()
790 OUT_RING (chan, PAGE_SIZE); /* line_length */ in nvc0_bo_move_m2mf()
791 OUT_RING (chan, line_count); in nvc0_bo_move_m2mf()
792 BEGIN_NVC0(chan, NvSubCopy, 0x0300, 1); in nvc0_bo_move_m2mf()
793 OUT_RING (chan, 0x00100110); in nvc0_bo_move_m2mf()
804 nva3_bo_move_copy(struct nouveau_channel *chan, struct ttm_buffer_object *bo, in nva3_bo_move_copy() argument
817 ret = RING_SPACE(chan, 11); in nva3_bo_move_copy()
821 BEGIN_NV04(chan, NvSubCopy, 0x030c, 8); in nva3_bo_move_copy()
822 OUT_RING (chan, upper_32_bits(src_offset)); in nva3_bo_move_copy()
823 OUT_RING (chan, lower_32_bits(src_offset)); in nva3_bo_move_copy()
824 OUT_RING (chan, upper_32_bits(dst_offset)); in nva3_bo_move_copy()
825 OUT_RING (chan, lower_32_bits(dst_offset)); in nva3_bo_move_copy()
826 OUT_RING (chan, PAGE_SIZE); in nva3_bo_move_copy()
827 OUT_RING (chan, PAGE_SIZE); in nva3_bo_move_copy()
828 OUT_RING (chan, PAGE_SIZE); in nva3_bo_move_copy()
829 OUT_RING (chan, line_count); in nva3_bo_move_copy()
830 BEGIN_NV04(chan, NvSubCopy, 0x0300, 1); in nva3_bo_move_copy()
831 OUT_RING (chan, 0x00000110); in nva3_bo_move_copy()
842 nv98_bo_move_exec(struct nouveau_channel *chan, struct ttm_buffer_object *bo, in nv98_bo_move_exec() argument
846 int ret = RING_SPACE(chan, 7); in nv98_bo_move_exec()
848 BEGIN_NV04(chan, NvSubCopy, 0x0320, 6); in nv98_bo_move_exec()
849 OUT_RING (chan, upper_32_bits(node->vma[0].offset)); in nv98_bo_move_exec()
850 OUT_RING (chan, lower_32_bits(node->vma[0].offset)); in nv98_bo_move_exec()
851 OUT_RING (chan, upper_32_bits(node->vma[1].offset)); in nv98_bo_move_exec()
852 OUT_RING (chan, lower_32_bits(node->vma[1].offset)); in nv98_bo_move_exec()
853 OUT_RING (chan, 0x00000000 /* COPY */); in nv98_bo_move_exec()
854 OUT_RING (chan, new_mem->num_pages << PAGE_SHIFT); in nv98_bo_move_exec()
860 nv84_bo_move_exec(struct nouveau_channel *chan, struct ttm_buffer_object *bo, in nv84_bo_move_exec() argument
864 int ret = RING_SPACE(chan, 7); in nv84_bo_move_exec()
866 BEGIN_NV04(chan, NvSubCopy, 0x0304, 6); in nv84_bo_move_exec()
867 OUT_RING (chan, new_mem->num_pages << PAGE_SHIFT); in nv84_bo_move_exec()
868 OUT_RING (chan, upper_32_bits(node->vma[0].offset)); in nv84_bo_move_exec()
869 OUT_RING (chan, lower_32_bits(node->vma[0].offset)); in nv84_bo_move_exec()
870 OUT_RING (chan, upper_32_bits(node->vma[1].offset)); in nv84_bo_move_exec()
871 OUT_RING (chan, lower_32_bits(node->vma[1].offset)); in nv84_bo_move_exec()
872 OUT_RING (chan, 0x00000000 /* MODE_COPY, QUERY_NONE */); in nv84_bo_move_exec()
878 nv50_bo_move_init(struct nouveau_channel *chan, u32 handle) in nv50_bo_move_init() argument
880 int ret = RING_SPACE(chan, 6); in nv50_bo_move_init()
882 BEGIN_NV04(chan, NvSubCopy, 0x0000, 1); in nv50_bo_move_init()
883 OUT_RING (chan, handle); in nv50_bo_move_init()
884 BEGIN_NV04(chan, NvSubCopy, 0x0180, 3); in nv50_bo_move_init()
885 OUT_RING (chan, chan->drm->ntfy.handle); in nv50_bo_move_init()
886 OUT_RING (chan, chan->vram.handle); in nv50_bo_move_init()
887 OUT_RING (chan, chan->vram.handle); in nv50_bo_move_init()
894 nv50_bo_move_m2mf(struct nouveau_channel *chan, struct ttm_buffer_object *bo, in nv50_bo_move_m2mf() argument
908 ret = RING_SPACE(chan, 18 + 6 * (src_tiled + dst_tiled)); in nv50_bo_move_m2mf()
917 BEGIN_NV04(chan, NvSubCopy, 0x0200, 7); in nv50_bo_move_m2mf()
918 OUT_RING (chan, 0); in nv50_bo_move_m2mf()
919 OUT_RING (chan, 0); in nv50_bo_move_m2mf()
920 OUT_RING (chan, stride); in nv50_bo_move_m2mf()
921 OUT_RING (chan, height); in nv50_bo_move_m2mf()
922 OUT_RING (chan, 1); in nv50_bo_move_m2mf()
923 OUT_RING (chan, 0); in nv50_bo_move_m2mf()
924 OUT_RING (chan, 0); in nv50_bo_move_m2mf()
926 BEGIN_NV04(chan, NvSubCopy, 0x0200, 1); in nv50_bo_move_m2mf()
927 OUT_RING (chan, 1); in nv50_bo_move_m2mf()
930 BEGIN_NV04(chan, NvSubCopy, 0x021c, 7); in nv50_bo_move_m2mf()
931 OUT_RING (chan, 0); in nv50_bo_move_m2mf()
932 OUT_RING (chan, 0); in nv50_bo_move_m2mf()
933 OUT_RING (chan, stride); in nv50_bo_move_m2mf()
934 OUT_RING (chan, height); in nv50_bo_move_m2mf()
935 OUT_RING (chan, 1); in nv50_bo_move_m2mf()
936 OUT_RING (chan, 0); in nv50_bo_move_m2mf()
937 OUT_RING (chan, 0); in nv50_bo_move_m2mf()
939 BEGIN_NV04(chan, NvSubCopy, 0x021c, 1); in nv50_bo_move_m2mf()
940 OUT_RING (chan, 1); in nv50_bo_move_m2mf()
943 BEGIN_NV04(chan, NvSubCopy, 0x0238, 2); in nv50_bo_move_m2mf()
944 OUT_RING (chan, upper_32_bits(src_offset)); in nv50_bo_move_m2mf()
945 OUT_RING (chan, upper_32_bits(dst_offset)); in nv50_bo_move_m2mf()
946 BEGIN_NV04(chan, NvSubCopy, 0x030c, 8); in nv50_bo_move_m2mf()
947 OUT_RING (chan, lower_32_bits(src_offset)); in nv50_bo_move_m2mf()
948 OUT_RING (chan, lower_32_bits(dst_offset)); in nv50_bo_move_m2mf()
949 OUT_RING (chan, stride); in nv50_bo_move_m2mf()
950 OUT_RING (chan, stride); in nv50_bo_move_m2mf()
951 OUT_RING (chan, stride); in nv50_bo_move_m2mf()
952 OUT_RING (chan, height); in nv50_bo_move_m2mf()
953 OUT_RING (chan, 0x00000101); in nv50_bo_move_m2mf()
954 OUT_RING (chan, 0x00000000); in nv50_bo_move_m2mf()
955 BEGIN_NV04(chan, NvSubCopy, NV_MEMORY_TO_MEMORY_FORMAT_NOP, 1); in nv50_bo_move_m2mf()
956 OUT_RING (chan, 0); in nv50_bo_move_m2mf()
967 nv04_bo_move_init(struct nouveau_channel *chan, u32 handle) in nv04_bo_move_init() argument
969 int ret = RING_SPACE(chan, 4); in nv04_bo_move_init()
971 BEGIN_NV04(chan, NvSubCopy, 0x0000, 1); in nv04_bo_move_init()
972 OUT_RING (chan, handle); in nv04_bo_move_init()
973 BEGIN_NV04(chan, NvSubCopy, 0x0180, 1); in nv04_bo_move_init()
974 OUT_RING (chan, chan->drm->ntfy.handle); in nv04_bo_move_init()
982 struct nouveau_channel *chan, struct ttm_mem_reg *mem) in nouveau_bo_mem_ctxdma() argument
986 return chan->vram.handle; in nouveau_bo_mem_ctxdma()
990 nv04_bo_move_m2mf(struct nouveau_channel *chan, struct ttm_buffer_object *bo, in nv04_bo_move_m2mf() argument
998 ret = RING_SPACE(chan, 3); in nv04_bo_move_m2mf()
1002 BEGIN_NV04(chan, NvSubCopy, NV_MEMORY_TO_MEMORY_FORMAT_DMA_SOURCE, 2); in nv04_bo_move_m2mf()
1003 OUT_RING (chan, nouveau_bo_mem_ctxdma(bo, chan, old_mem)); in nv04_bo_move_m2mf()
1004 OUT_RING (chan, nouveau_bo_mem_ctxdma(bo, chan, new_mem)); in nv04_bo_move_m2mf()
1010 ret = RING_SPACE(chan, 11); in nv04_bo_move_m2mf()
1014 BEGIN_NV04(chan, NvSubCopy, in nv04_bo_move_m2mf()
1016 OUT_RING (chan, src_offset); in nv04_bo_move_m2mf()
1017 OUT_RING (chan, dst_offset); in nv04_bo_move_m2mf()
1018 OUT_RING (chan, PAGE_SIZE); /* src_pitch */ in nv04_bo_move_m2mf()
1019 OUT_RING (chan, PAGE_SIZE); /* dst_pitch */ in nv04_bo_move_m2mf()
1020 OUT_RING (chan, PAGE_SIZE); /* line_length */ in nv04_bo_move_m2mf()
1021 OUT_RING (chan, line_count); in nv04_bo_move_m2mf()
1022 OUT_RING (chan, 0x00000101); in nv04_bo_move_m2mf()
1023 OUT_RING (chan, 0x00000000); in nv04_bo_move_m2mf()
1024 BEGIN_NV04(chan, NvSubCopy, NV_MEMORY_TO_MEMORY_FORMAT_NOP, 1); in nv04_bo_move_m2mf()
1025 OUT_RING (chan, 0); in nv04_bo_move_m2mf()
1066 struct nouveau_channel *chan = drm->ttm.chan; in nouveau_bo_move_m2mf() local
1067 struct nouveau_cli *cli = (void *)nvif_client(&chan->device->base); in nouveau_bo_move_m2mf()
1082 ret = nouveau_fence_sync(nouveau_bo(bo), chan, true, intr); in nouveau_bo_move_m2mf()
1084 ret = drm->ttm.move(chan, bo, &bo->mem, new_mem); in nouveau_bo_move_m2mf()
1086 ret = nouveau_fence_new(chan, false, &fence); in nouveau_bo_move_m2mf()
1131 struct nouveau_channel *chan; in nouveau_bo_move_init() local
1134 chan = drm->cechan; in nouveau_bo_move_init()
1136 chan = drm->channel; in nouveau_bo_move_init()
1137 if (chan == NULL) in nouveau_bo_move_init()
1140 ret = nvif_object_init(chan->object, NULL, in nouveau_bo_move_init()
1145 ret = mthd->init(chan, drm->ttm.copy.handle); in nouveau_bo_move_init()
1152 drm->ttm.chan = chan; in nouveau_bo_move_init()