diff options
Diffstat (limited to 'include/asm-arm/arch-omap/dma.h')
-rw-r--r-- | include/asm-arm/arch-omap/dma.h | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/include/asm-arm/arch-omap/dma.h b/include/asm-arm/arch-omap/dma.h index 1b1b02307e77..d591d0585bba 100644 --- a/include/asm-arm/arch-omap/dma.h +++ b/include/asm-arm/arch-omap/dma.h | |||
@@ -331,6 +331,12 @@ enum omap_dma_color_mode { | |||
331 | OMAP_DMA_TRANSPARENT_COPY | 331 | OMAP_DMA_TRANSPARENT_COPY |
332 | }; | 332 | }; |
333 | 333 | ||
334 | enum omap_dma_write_mode { | ||
335 | OMAP_DMA_WRITE_NON_POSTED = 0, | ||
336 | OMAP_DMA_WRITE_POSTED, | ||
337 | OMAP_DMA_WRITE_LAST_NON_POSTED | ||
338 | }; | ||
339 | |||
334 | struct omap_dma_channel_params { | 340 | struct omap_dma_channel_params { |
335 | int data_type; /* data type 8,16,32 */ | 341 | int data_type; /* data type 8,16,32 */ |
336 | int elem_count; /* number of elements in a frame */ | 342 | int elem_count; /* number of elements in a frame */ |
@@ -338,13 +344,13 @@ struct omap_dma_channel_params { | |||
338 | 344 | ||
339 | int src_port; /* Only on OMAP1 REVISIT: Is this needed? */ | 345 | int src_port; /* Only on OMAP1 REVISIT: Is this needed? */ |
340 | int src_amode; /* constant , post increment, indexed , double indexed */ | 346 | int src_amode; /* constant , post increment, indexed , double indexed */ |
341 | int src_start; /* source address : physical */ | 347 | unsigned long src_start; /* source address : physical */ |
342 | int src_ei; /* source element index */ | 348 | int src_ei; /* source element index */ |
343 | int src_fi; /* source frame index */ | 349 | int src_fi; /* source frame index */ |
344 | 350 | ||
345 | int dst_port; /* Only on OMAP1 REVISIT: Is this needed? */ | 351 | int dst_port; /* Only on OMAP1 REVISIT: Is this needed? */ |
346 | int dst_amode; /* constant , post increment, indexed , double indexed */ | 352 | int dst_amode; /* constant , post increment, indexed , double indexed */ |
347 | int dst_start; /* source address : physical */ | 353 | unsigned long dst_start; /* source address : physical */ |
348 | int dst_ei; /* source element index */ | 354 | int dst_ei; /* source element index */ |
349 | int dst_fi; /* source frame index */ | 355 | int dst_fi; /* source frame index */ |
350 | 356 | ||
@@ -356,7 +362,7 @@ struct omap_dma_channel_params { | |||
356 | }; | 362 | }; |
357 | 363 | ||
358 | 364 | ||
359 | extern void omap_set_dma_priority(int dst_port, int priority); | 365 | extern void omap_set_dma_priority(int lch, int dst_port, int priority); |
360 | extern int omap_request_dma(int dev_id, const char *dev_name, | 366 | extern int omap_request_dma(int dev_id, const char *dev_name, |
361 | void (* callback)(int lch, u16 ch_status, void *data), | 367 | void (* callback)(int lch, u16 ch_status, void *data), |
362 | void *data, int *dma_ch); | 368 | void *data, int *dma_ch); |
@@ -371,6 +377,7 @@ extern void omap_set_dma_transfer_params(int lch, int data_type, | |||
371 | int dma_trigger, int src_or_dst_synch); | 377 | int dma_trigger, int src_or_dst_synch); |
372 | extern void omap_set_dma_color_mode(int lch, enum omap_dma_color_mode mode, | 378 | extern void omap_set_dma_color_mode(int lch, enum omap_dma_color_mode mode, |
373 | u32 color); | 379 | u32 color); |
380 | extern void omap_set_dma_write_mode(int lch, enum omap_dma_write_mode mode); | ||
374 | 381 | ||
375 | extern void omap_set_dma_src_params(int lch, int src_port, int src_amode, | 382 | extern void omap_set_dma_src_params(int lch, int src_port, int src_amode, |
376 | unsigned long src_start, | 383 | unsigned long src_start, |
@@ -394,6 +401,9 @@ extern void omap_set_dma_params(int lch, | |||
394 | extern void omap_dma_link_lch (int lch_head, int lch_queue); | 401 | extern void omap_dma_link_lch (int lch_head, int lch_queue); |
395 | extern void omap_dma_unlink_lch (int lch_head, int lch_queue); | 402 | extern void omap_dma_unlink_lch (int lch_head, int lch_queue); |
396 | 403 | ||
404 | extern int omap_set_dma_callback(int lch, | ||
405 | void (* callback)(int lch, u16 ch_status, void *data), | ||
406 | void *data); | ||
397 | extern dma_addr_t omap_get_dma_src_pos(int lch); | 407 | extern dma_addr_t omap_get_dma_src_pos(int lch); |
398 | extern dma_addr_t omap_get_dma_dst_pos(int lch); | 408 | extern dma_addr_t omap_get_dma_dst_pos(int lch); |
399 | extern int omap_get_dma_src_addr_counter(int lch); | 409 | extern int omap_get_dma_src_addr_counter(int lch); |