.. | .. |
---|
124 | 124 | wrong (check the bitmaps are sent correctly |
---|
125 | 125 | first) */ |
---|
126 | 126 | |
---|
127 | | - ptr = qxl_bo_kmap_local_page(qdev, chunk_bo, 0); |
---|
| 127 | + ptr = qxl_bo_kmap_atomic_page(qdev, chunk_bo, 0); |
---|
128 | 128 | chunk = ptr; |
---|
129 | 129 | chunk->data_size = height * chunk_stride; |
---|
130 | 130 | chunk->prev_chunk = 0; |
---|
131 | 131 | chunk->next_chunk = 0; |
---|
132 | | - qxl_bo_kunmap_local_page(qdev, chunk_bo, ptr); |
---|
| 132 | + qxl_bo_kunmap_atomic_page(qdev, chunk_bo, ptr); |
---|
133 | 133 | |
---|
134 | 134 | { |
---|
135 | 135 | void *k_data, *i_data; |
---|
.. | .. |
---|
143 | 143 | i_data = (void *)data; |
---|
144 | 144 | |
---|
145 | 145 | while (remain > 0) { |
---|
146 | | - ptr = qxl_bo_kmap_local_page(qdev, chunk_bo, page << PAGE_SHIFT); |
---|
| 146 | + ptr = qxl_bo_kmap_atomic_page(qdev, chunk_bo, page << PAGE_SHIFT); |
---|
147 | 147 | |
---|
148 | 148 | if (page == 0) { |
---|
149 | 149 | chunk = ptr; |
---|
.. | .. |
---|
157 | 157 | |
---|
158 | 158 | memcpy(k_data, i_data, size); |
---|
159 | 159 | |
---|
160 | | - qxl_bo_kunmap_local_page(qdev, chunk_bo, ptr); |
---|
| 160 | + qxl_bo_kunmap_atomic_page(qdev, chunk_bo, ptr); |
---|
161 | 161 | i_data += size; |
---|
162 | 162 | remain -= size; |
---|
163 | 163 | page++; |
---|
.. | .. |
---|
175 | 175 | page_offset = offset_in_page(out_offset); |
---|
176 | 176 | size = min((int)(PAGE_SIZE - page_offset), remain); |
---|
177 | 177 | |
---|
178 | | - ptr = qxl_bo_kmap_local_page(qdev, chunk_bo, page_base); |
---|
| 178 | + ptr = qxl_bo_kmap_atomic_page(qdev, chunk_bo, page_base); |
---|
179 | 179 | k_data = ptr + page_offset; |
---|
180 | 180 | memcpy(k_data, i_data, size); |
---|
181 | | - qxl_bo_kunmap_local_page(qdev, chunk_bo, ptr); |
---|
| 181 | + qxl_bo_kunmap_atomic_page(qdev, chunk_bo, ptr); |
---|
182 | 182 | remain -= size; |
---|
183 | 183 | i_data += size; |
---|
184 | 184 | out_offset += size; |
---|
.. | .. |
---|
189 | 189 | qxl_bo_kunmap(chunk_bo); |
---|
190 | 190 | |
---|
191 | 191 | image_bo = dimage->bo; |
---|
192 | | - ptr = qxl_bo_kmap_local_page(qdev, image_bo, 0); |
---|
| 192 | + ptr = qxl_bo_kmap_atomic_page(qdev, image_bo, 0); |
---|
193 | 193 | image = ptr; |
---|
194 | 194 | |
---|
195 | 195 | image->descriptor.id = 0; |
---|
.. | .. |
---|
212 | 212 | break; |
---|
213 | 213 | default: |
---|
214 | 214 | DRM_ERROR("unsupported image bit depth\n"); |
---|
215 | | - qxl_bo_kunmap_local_page(qdev, image_bo, ptr); |
---|
| 215 | + qxl_bo_kunmap_atomic_page(qdev, image_bo, ptr); |
---|
216 | 216 | return -EINVAL; |
---|
217 | 217 | } |
---|
218 | 218 | image->u.bitmap.flags = QXL_BITMAP_TOP_DOWN; |
---|
.. | .. |
---|
222 | 222 | image->u.bitmap.palette = 0; |
---|
223 | 223 | image->u.bitmap.data = qxl_bo_physical_address(qdev, chunk_bo, 0); |
---|
224 | 224 | |
---|
225 | | - qxl_bo_kunmap_local_page(qdev, image_bo, ptr); |
---|
| 225 | + qxl_bo_kunmap_atomic_page(qdev, image_bo, ptr); |
---|
226 | 226 | |
---|
227 | 227 | return 0; |
---|
228 | 228 | } |
---|