Lines Matching refs:buffer

29 //! create actual GART buffer
35 gart->buffer.size = size = (size + B_PAGE_SIZE - 1) & ~(B_PAGE_SIZE - 1);
37 // if this buffer is used for PCI BM, cache snooping
47 // the write buffer pointer
50 // the DMA buffer, we have to grant access for all apps
51 gart->buffer.area = create_area("Radeon PCI GART buffer",
52 &gart->buffer.ptr, B_ANY_KERNEL_ADDRESS,
56 if (gart->buffer.area < 0) {
57 SHOW_ERROR(1, "cannot create PCI GART buffer (%s)",
58 strerror(gart->buffer.area));
59 return gart->buffer.area;
62 gart->buffer.unaligned_area = -1;
64 memset( gart->buffer.ptr, 0, size );
78 gart->buffer.size = size = (size + B_PAGE_SIZE - 1) & ~(B_PAGE_SIZE - 1);
85 gart->buffer.unaligned_area = create_area( "Radeon PCI GART buffer",
90 if (gart->buffer.unaligned_area < 0) {
91 SHOW_ERROR( 1, "cannot create PCI GART buffer (%s)",
92 strerror( gart->buffer.unaligned_area ));
93 return gart->buffer.unaligned_area;
103 gart->buffer.area = map_physical_memory( "Radeon aligned PCI GART buffer",
106 B_READ_AREA | B_WRITE_AREA, &gart->buffer.ptr );
108 if( gart->buffer.area < 0 ) {
109 SHOW_ERROR0( 3, "cannot map buffer with WC" );
110 gart->buffer.area = map_physical_memory( "Radeon aligned PCI GART buffer",
113 B_READ_AREA | B_WRITE_AREA, &gart->buffer.ptr );
116 if( gart->buffer.area < 0 ) {
117 SHOW_ERROR0( 1, "cannot map GART buffer" );
118 delete_area( gart->buffer.unaligned_area );
119 gart->buffer.unaligned_area = -1;
120 return gart->buffer.area;
123 memset( gart->buffer.ptr, 0, size );
144 num_pages = (gart->buffer.size + B_PAGE_SIZE - 1) & ~(B_PAGE_SIZE - 1);
185 get_memory_map( gart->buffer.ptr, gart->buffer.size, map, map_count );
210 SHOW_ERROR0( 0, "memory map of GART buffer too large!" );
235 // destroy GART buffer
238 if( gart->buffer.area > 0 )
239 delete_area( gart->buffer.area );
241 if( gart->buffer.unaligned_area > 0 )
242 delete_area( gart->buffer.unaligned_area );
244 gart->buffer.area = gart->buffer.unaligned_area = -1;