Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: OMAP: DMA: Clean-up code

DMA clean-up, mostly checkpatch.pl fixes.

Signed-off-by: Tony Lindgren <tony@atomide.com>

+236 -182
+133 -124
arch/arm/plat-omap/dma.c
··· 1 1 /* 2 2 * linux/arch/arm/plat-omap/dma.c 3 3 * 4 - * Copyright (C) 2003 Nokia Corporation 4 + * Copyright (C) 2003 - 2008 Nokia Corporation 5 5 * Author: Juha Yrjölä <juha.yrjola@nokia.com> 6 6 * DMA channel linking for 1610 by Samuel Ortiz <samuel.ortiz@nokia.com> 7 7 * Graphics DMA and LCD DMA graphics tranformations ··· 25 25 #include <linux/errno.h> 26 26 #include <linux/interrupt.h> 27 27 #include <linux/irq.h> 28 + #include <linux/io.h> 28 29 29 30 #include <asm/system.h> 30 31 #include <asm/hardware.h> 31 32 #include <asm/dma.h> 32 - #include <asm/io.h> 33 33 34 34 #include <asm/arch/tc.h> 35 35 ··· 43 43 enum { DMA_CHAIN_STARTED, DMA_CHAIN_NOTSTARTED }; 44 44 #endif 45 45 46 - #define OMAP_DMA_ACTIVE 0x01 47 - #define OMAP_DMA_CCR_EN (1 << 7) 46 + #define OMAP_DMA_ACTIVE 0x01 47 + #define OMAP_DMA_CCR_EN (1 << 7) 48 48 #define OMAP2_DMA_CSR_CLEAR_MASK 0xffe 49 49 50 - #define OMAP_FUNC_MUX_ARM_BASE (0xfffe1000 + 0xec) 50 + #define OMAP_FUNC_MUX_ARM_BASE (0xfffe1000 + 0xec) 51 51 52 - static int enable_1510_mode = 0; 52 + static int enable_1510_mode; 53 53 54 54 struct omap_dma_lch { 55 55 int next_lch; ··· 57 57 u16 saved_csr; 58 58 u16 enabled_irqs; 59 59 const char *dev_name; 60 - void (* callback)(int lch, u16 ch_status, void *data); 60 + void (*callback)(int lch, u16 ch_status, void *data); 61 61 void *data; 62 62 63 63 #ifndef CONFIG_ARCH_OMAP1 ··· 245 245 dma_write(ccr, CCR(lch)); 246 246 } 247 247 } 248 + EXPORT_SYMBOL(omap_set_dma_priority); 248 249 249 250 void omap_set_dma_transfer_params(int lch, int data_type, int elem_count, 250 251 int frame_count, int sync_mode, ··· 308 307 dma_write(elem_count, CEN(lch)); 309 308 dma_write(frame_count, CFN(lch)); 310 309 } 310 + EXPORT_SYMBOL(omap_set_dma_transfer_params); 311 311 312 312 void omap_set_dma_color_mode(int lch, enum omap_dma_color_mode mode, u32 color) 313 313 { ··· 348 346 } 349 347 dma_write(w, LCH_CTRL(lch)); 350 348 } 349 + EXPORT_SYMBOL(omap_set_dma_color_mode); 351 350 352 351 void omap_set_dma_write_mode(int lch, enum omap_dma_write_mode mode) 353 352 { ··· 361 358 dma_write(csdp, CSDP(lch)); 362 359 } 363 360 } 361 + EXPORT_SYMBOL(omap_set_dma_write_mode); 364 362 365 363 void omap_set_dma_channel_mode(int lch, enum omap_dma_channel_mode mode) 366 364 { ··· 381 377 unsigned long src_start, 382 378 int src_ei, int src_fi) 383 379 { 380 + u32 l; 381 + 384 382 if (cpu_class_is_omap1()) { 385 383 u16 w; 386 384 ··· 390 384 w &= ~(0x1f << 2); 391 385 w |= src_port << 2; 392 386 dma_write(w, CSDP(lch)); 387 + } 393 388 394 - w = dma_read(CCR(lch)); 395 - w &= ~(0x03 << 12); 396 - w |= src_amode << 12; 397 - dma_write(w, CCR(lch)); 389 + l = dma_read(CCR(lch)); 390 + l &= ~(0x03 << 12); 391 + l |= src_amode << 12; 392 + dma_write(l, CCR(lch)); 398 393 394 + if (cpu_class_is_omap1()) { 399 395 dma_write(src_start >> 16, CSSA_U(lch)); 400 396 dma_write((u16)src_start, CSSA_L(lch)); 401 - 402 - dma_write(src_ei, CSEI(lch)); 403 - dma_write(src_fi, CSFI(lch)); 404 397 } 405 398 406 - if (cpu_class_is_omap2()) { 407 - u32 l; 408 - 409 - l = dma_read(CCR(lch)); 410 - l &= ~(0x03 << 12); 411 - l |= src_amode << 12; 412 - dma_write(l, CCR(lch)); 413 - 399 + if (cpu_class_is_omap2()) 414 400 dma_write(src_start, CSSA(lch)); 415 - dma_write(src_ei, CSEI(lch)); 416 - dma_write(src_fi, CSFI(lch)); 417 - } 418 - } 419 401 420 - void omap_set_dma_params(int lch, struct omap_dma_channel_params * params) 402 + dma_write(src_ei, CSEI(lch)); 403 + dma_write(src_fi, CSFI(lch)); 404 + } 405 + EXPORT_SYMBOL(omap_set_dma_src_params); 406 + 407 + void omap_set_dma_params(int lch, struct omap_dma_channel_params *params) 421 408 { 422 409 omap_set_dma_transfer_params(lch, params->data_type, 423 410 params->elem_count, params->frame_count, ··· 427 428 omap_dma_set_prio_lch(lch, params->read_prio, 428 429 params->write_prio); 429 430 } 431 + EXPORT_SYMBOL(omap_set_dma_params); 430 432 431 433 void omap_set_dma_src_index(int lch, int eidx, int fidx) 432 434 { 433 - if (cpu_class_is_omap2()) { 434 - REVISIT_24XX(); 435 + if (cpu_class_is_omap2()) 435 436 return; 436 - } 437 + 437 438 dma_write(eidx, CSEI(lch)); 438 439 dma_write(fidx, CSFI(lch)); 439 440 } 441 + EXPORT_SYMBOL(omap_set_dma_src_index); 440 442 441 443 void omap_set_dma_src_data_pack(int lch, int enable) 442 444 { ··· 449 449 l |= (1 << 6); 450 450 dma_write(l, CSDP(lch)); 451 451 } 452 + EXPORT_SYMBOL(omap_set_dma_src_data_pack); 452 453 453 454 void omap_set_dma_src_burst_mode(int lch, enum omap_dma_burst_mode burst_mode) 454 455 { ··· 492 491 l |= (burst << 7); 493 492 dma_write(l, CSDP(lch)); 494 493 } 494 + EXPORT_SYMBOL(omap_set_dma_src_burst_mode); 495 495 496 496 /* Note that dest_port is only for OMAP1 */ 497 497 void omap_set_dma_dest_params(int lch, int dest_port, int dest_amode, ··· 524 522 dma_write(dst_ei, CDEI(lch)); 525 523 dma_write(dst_fi, CDFI(lch)); 526 524 } 525 + EXPORT_SYMBOL(omap_set_dma_dest_params); 527 526 528 527 void omap_set_dma_dest_index(int lch, int eidx, int fidx) 529 528 { 530 - if (cpu_class_is_omap2()) { 531 - REVISIT_24XX(); 529 + if (cpu_class_is_omap2()) 532 530 return; 533 - } 531 + 534 532 dma_write(eidx, CDEI(lch)); 535 533 dma_write(fidx, CDFI(lch)); 536 534 } 535 + EXPORT_SYMBOL(omap_set_dma_dest_index); 537 536 538 537 void omap_set_dma_dest_data_pack(int lch, int enable) 539 538 { ··· 546 543 l |= 1 << 13; 547 544 dma_write(l, CSDP(lch)); 548 545 } 546 + EXPORT_SYMBOL(omap_set_dma_dest_data_pack); 549 547 550 548 void omap_set_dma_dest_burst_mode(int lch, enum omap_dma_burst_mode burst_mode) 551 549 { ··· 587 583 l |= (burst << 14); 588 584 dma_write(l, CSDP(lch)); 589 585 } 586 + EXPORT_SYMBOL(omap_set_dma_dest_burst_mode); 590 587 591 588 static inline void omap_enable_channel_irq(int lch) 592 589 { ··· 613 608 { 614 609 dma_chan[lch].enabled_irqs |= bits; 615 610 } 611 + EXPORT_SYMBOL(omap_enable_dma_irq); 616 612 617 613 void omap_disable_dma_irq(int lch, u16 bits) 618 614 { 619 615 dma_chan[lch].enabled_irqs &= ~bits; 620 616 } 617 + EXPORT_SYMBOL(omap_disable_dma_irq); 621 618 622 619 static inline void enable_lnk(int lch) 623 620 { ··· 635 628 l = dma_chan[lch].next_lch | (1 << 15); 636 629 637 630 #ifndef CONFIG_ARCH_OMAP1 638 - if (dma_chan[lch].next_linked_ch != -1) 639 - l = dma_chan[lch].next_linked_ch | (1 << 15); 631 + if (cpu_class_is_omap2()) 632 + if (dma_chan[lch].next_linked_ch != -1) 633 + l = dma_chan[lch].next_linked_ch | (1 << 15); 640 634 #endif 641 635 642 636 dma_write(l, CLNK_CTRL(lch)); ··· 679 671 } 680 672 681 673 int omap_request_dma(int dev_id, const char *dev_name, 682 - void (* callback)(int lch, u16 ch_status, void *data), 674 + void (*callback)(int lch, u16 ch_status, void *data), 683 675 void *data, int *dma_ch_out) 684 676 { 685 677 int ch, free_ch = -1; ··· 712 704 chan->dev_name = dev_name; 713 705 chan->callback = callback; 714 706 chan->data = data; 707 + 715 708 #ifndef CONFIG_ARCH_OMAP1 716 - chan->chain_id = -1; 717 - chan->next_linked_ch = -1; 709 + if (cpu_class_is_omap2()) { 710 + chan->chain_id = -1; 711 + chan->next_linked_ch = -1; 712 + } 718 713 #endif 714 + 719 715 chan->enabled_irqs = OMAP_DMA_DROP_IRQ | OMAP_DMA_BLOCK_IRQ; 720 716 721 717 if (cpu_class_is_omap1()) ··· 734 722 set_gdma_dev(free_ch + 1, dev_id); 735 723 dev_id = free_ch + 1; 736 724 } 737 - /* Disable the 1510 compatibility mode and set the sync device 738 - * id. */ 725 + /* 726 + * Disable the 1510 compatibility mode and set the sync device 727 + * id. 728 + */ 739 729 dma_write(dev_id | (1 << 10), CCR(free_ch)); 740 730 } else if (cpu_is_omap730() || cpu_is_omap15xx()) { 741 731 dma_write(dev_id, CCR(free_ch)); ··· 745 731 746 732 if (cpu_class_is_omap2()) { 747 733 omap2_enable_irq_lch(free_ch); 748 - 749 734 omap_enable_channel_irq(free_ch); 750 735 /* Clear the CSR register and IRQ status register */ 751 736 dma_write(OMAP2_DMA_CSR_CLEAR_MASK, CSR(free_ch)); ··· 755 742 756 743 return 0; 757 744 } 745 + EXPORT_SYMBOL(omap_request_dma); 758 746 759 747 void omap_free_dma(int lch) 760 748 { ··· 763 749 764 750 spin_lock_irqsave(&dma_chan_lock, flags); 765 751 if (dma_chan[lch].dev_id == -1) { 766 - printk("omap_dma: trying to free nonallocated DMA channel %d\n", 752 + pr_err("omap_dma: trying to free unallocated DMA channel %d\n", 767 753 lch); 768 754 spin_unlock_irqrestore(&dma_chan_lock, flags); 769 755 return; 770 756 } 757 + 771 758 dma_chan[lch].dev_id = -1; 772 759 dma_chan[lch].next_lch = -1; 773 760 dma_chan[lch].callback = NULL; ··· 800 785 omap_clear_dma(lch); 801 786 } 802 787 } 788 + EXPORT_SYMBOL(omap_free_dma); 803 789 804 790 /** 805 791 * @brief omap_dma_set_global_params : Set global priority settings for dma ··· 894 878 895 879 local_irq_restore(flags); 896 880 } 881 + EXPORT_SYMBOL(omap_clear_dma); 897 882 898 883 void omap_start_dma(int lch) 899 884 { ··· 933 916 934 917 l = dma_read(CCR(lch)); 935 918 936 - /* Errata: On ES2.0 BUFFERING disable must be set. 937 - * This will always fail on ES1.0 */ 919 + /* 920 + * Errata: On ES2.0 BUFFERING disable must be set. 921 + * This will always fail on ES1.0 922 + */ 938 923 if (cpu_is_omap24xx()) 939 924 l |= OMAP_DMA_CCR_EN; 940 925 ··· 945 926 946 927 dma_chan[lch].flags |= OMAP_DMA_ACTIVE; 947 928 } 929 + EXPORT_SYMBOL(omap_start_dma); 948 930 949 931 void omap_stop_dma(int lch) 950 932 { ··· 982 962 983 963 dma_chan[lch].flags &= ~OMAP_DMA_ACTIVE; 984 964 } 965 + EXPORT_SYMBOL(omap_stop_dma); 985 966 986 967 /* 987 968 * Allows changing the DMA callback function or data. This may be needed if 988 969 * the driver shares a single DMA channel for multiple dma triggers. 989 970 */ 990 971 int omap_set_dma_callback(int lch, 991 - void (* callback)(int lch, u16 ch_status, void *data), 972 + void (*callback)(int lch, u16 ch_status, void *data), 992 973 void *data) 993 974 { 994 975 unsigned long flags; ··· 1009 988 1010 989 return 0; 1011 990 } 991 + EXPORT_SYMBOL(omap_set_dma_callback); 1012 992 1013 993 /* 1014 994 * Returns current physical source address for the given DMA channel. ··· 1040 1018 1041 1019 return offset; 1042 1020 } 1021 + EXPORT_SYMBOL(omap_get_dma_src_pos); 1043 1022 1044 1023 /* 1045 1024 * Returns current physical destination address for the given DMA channel. ··· 1071 1048 1072 1049 return offset; 1073 1050 } 1074 - 1075 - /* 1076 - * Returns current source transfer counting for the given DMA channel. 1077 - * Can be used to monitor the progress of a transfer inside a block. 1078 - * It must be called with disabled interrupts. 1079 - */ 1080 - int omap_get_dma_src_addr_counter(int lch) 1081 - { 1082 - return (dma_addr_t)dma_read(CSAC(lch)); 1083 - } 1051 + EXPORT_SYMBOL(omap_get_dma_dst_pos); 1084 1052 1085 1053 int omap_get_dma_active_status(int lch) 1086 1054 { ··· 1100 1086 * For this DMA link to start, you still need to start (see omap_start_dma) 1101 1087 * the first one. That will fire up the entire queue. 1102 1088 */ 1103 - void omap_dma_link_lch (int lch_head, int lch_queue) 1089 + void omap_dma_link_lch(int lch_head, int lch_queue) 1104 1090 { 1105 1091 if (omap_dma_in_1510_mode()) { 1106 1092 printk(KERN_ERR "DMA linking is not supported in 1510 mode\n"); ··· 1117 1103 1118 1104 dma_chan[lch_head].next_lch = lch_queue; 1119 1105 } 1106 + EXPORT_SYMBOL(omap_dma_link_lch); 1120 1107 1121 1108 /* 1122 1109 * Once the DMA queue is stopped, we can destroy it. 1123 1110 */ 1124 - void omap_dma_unlink_lch (int lch_head, int lch_queue) 1111 + void omap_dma_unlink_lch(int lch_head, int lch_queue) 1125 1112 { 1126 1113 if (omap_dma_in_1510_mode()) { 1127 1114 printk(KERN_ERR "DMA linking is not supported in 1510 mode\n"); ··· 1137 1122 dump_stack(); 1138 1123 } 1139 1124 1140 - 1141 1125 if ((dma_chan[lch_head].flags & OMAP_DMA_ACTIVE) || 1142 1126 (dma_chan[lch_head].flags & OMAP_DMA_ACTIVE)) { 1143 1127 printk(KERN_ERR "omap_dma: You need to stop the DMA channels " ··· 1146 1132 1147 1133 dma_chan[lch_head].next_lch = -1; 1148 1134 } 1135 + EXPORT_SYMBOL(omap_dma_unlink_lch); 1136 + 1137 + /*----------------------------------------------------------------------------*/ 1149 1138 1150 1139 #ifndef CONFIG_ARCH_OMAP1 1151 1140 /* Create chain of DMA channesls */ ··· 1272 1255 for (i = 0; i < (no_of_chans - 1); i++) 1273 1256 create_dma_lch_chain(channels[i], channels[i + 1]); 1274 1257 } 1258 + 1275 1259 return 0; 1276 1260 } 1277 1261 EXPORT_SYMBOL(omap_request_dma_chain); ··· 1315 1297 */ 1316 1298 omap_set_dma_params(channels[i], &params); 1317 1299 } 1300 + 1318 1301 return 0; 1319 1302 } 1320 1303 EXPORT_SYMBOL(omap_modify_dma_chain_params); ··· 1359 1340 dma_linked_lch[chain_id].linked_dmach_q = NULL; 1360 1341 dma_linked_lch[chain_id].chain_mode = -1; 1361 1342 dma_linked_lch[chain_id].chain_state = -1; 1343 + 1362 1344 return (0); 1363 1345 } 1364 1346 EXPORT_SYMBOL(omap_free_dma_chain); ··· 1390 1370 1391 1371 if (OMAP_DMA_CHAIN_QEMPTY(chain_id)) 1392 1372 return OMAP_DMA_CHAIN_INACTIVE; 1373 + 1393 1374 return OMAP_DMA_CHAIN_ACTIVE; 1394 1375 } 1395 1376 EXPORT_SYMBOL(omap_dma_chain_status); ··· 1416 1395 u32 l, lch; 1417 1396 int start_dma = 0; 1418 1397 1419 - /* if buffer size is less than 1 then there is 1420 - * no use of starting the chain */ 1398 + /* 1399 + * if buffer size is less than 1 then there is 1400 + * no use of starting the chain 1401 + */ 1421 1402 if (elem_count < 1) { 1422 1403 printk(KERN_ERR "Invalid buffer size\n"); 1423 1404 return -EINVAL; ··· 1464 1441 dma_write(elem_count, CEN(lch)); 1465 1442 dma_write(frame_count, CFN(lch)); 1466 1443 1467 - /* If the chain is dynamically linked, 1468 - * then we may have to start the chain if its not active */ 1444 + /* 1445 + * If the chain is dynamically linked, 1446 + * then we may have to start the chain if its not active 1447 + */ 1469 1448 if (dma_linked_lch[chain_id].chain_mode == OMAP_DMA_DYNAMIC_CHAIN) { 1470 1449 1471 - /* In Dynamic chain, if the chain is not started, 1472 - * queue the channel */ 1450 + /* 1451 + * In Dynamic chain, if the chain is not started, 1452 + * queue the channel 1453 + */ 1473 1454 if (dma_linked_lch[chain_id].chain_state == 1474 1455 DMA_CHAIN_NOTSTARTED) { 1475 1456 /* Enable the link in previous channel */ ··· 1483 1456 dma_chan[lch].state = DMA_CH_QUEUED; 1484 1457 } 1485 1458 1486 - /* Chain is already started, make sure its active, 1487 - * if not then start the chain */ 1459 + /* 1460 + * Chain is already started, make sure its active, 1461 + * if not then start the chain 1462 + */ 1488 1463 else { 1489 1464 start_dma = 1; 1490 1465 ··· 1533 1504 dma_chan[lch].flags |= OMAP_DMA_ACTIVE; 1534 1505 } 1535 1506 } 1507 + 1536 1508 return 0; 1537 1509 } 1538 1510 EXPORT_SYMBOL(omap_dma_chain_a_transfer); ··· 1585 1555 dma_write(l, CCR(channels[0])); 1586 1556 1587 1557 dma_chan[channels[0]].flags |= OMAP_DMA_ACTIVE; 1558 + 1588 1559 return 0; 1589 1560 } 1590 1561 EXPORT_SYMBOL(omap_start_dma_chain_transfers); ··· 1617 1586 } 1618 1587 channels = dma_linked_lch[chain_id].linked_dmach_q; 1619 1588 1620 - /* DMA Errata: 1589 + /* 1590 + * DMA Errata: 1621 1591 * Special programming model needed to disable DMA before end of block 1622 1592 */ 1623 1593 sys_cf = dma_read(OCP_SYSCONFIG); ··· 1646 1614 1647 1615 /* Errata - put in the old value */ 1648 1616 dma_write(sys_cf, OCP_SYSCONFIG); 1617 + 1649 1618 return 0; 1650 1619 } 1651 1620 EXPORT_SYMBOL(omap_stop_dma_chain_transfers); ··· 1762 1729 return dma_read(CSAC(lch)); 1763 1730 } 1764 1731 EXPORT_SYMBOL(omap_get_dma_chain_src_pos); 1765 - #endif 1732 + #endif /* ifndef CONFIG_ARCH_OMAP1 */ 1766 1733 1767 1734 /*----------------------------------------------------------------------------*/ 1768 1735 ··· 1798 1765 dma_chan[ch].flags &= ~OMAP_DMA_ACTIVE; 1799 1766 if (likely(dma_chan[ch].callback != NULL)) 1800 1767 dma_chan[ch].callback(ch, csr, dma_chan[ch].data); 1768 + 1801 1769 return 1; 1802 1770 } 1803 1771 ··· 1833 1799 1834 1800 if (!status) { 1835 1801 if (printk_ratelimit()) 1836 - printk(KERN_WARNING "Spurious DMA IRQ for lch %d\n", ch); 1802 + printk(KERN_WARNING "Spurious DMA IRQ for lch %d\n", 1803 + ch); 1837 1804 dma_write(1 << ch, IRQSTATUS_L0); 1838 1805 return 0; 1839 1806 } ··· 1922 1887 static struct lcd_dma_info { 1923 1888 spinlock_t lock; 1924 1889 int reserved; 1925 - void (* callback)(u16 status, void *data); 1890 + void (*callback)(u16 status, void *data); 1926 1891 void *cb_data; 1927 1892 1928 1893 int active; ··· 1944 1909 lcd_dma.xres = fb_xres; 1945 1910 lcd_dma.yres = fb_yres; 1946 1911 } 1912 + EXPORT_SYMBOL(omap_set_lcd_dma_b1); 1947 1913 1948 1914 void omap_set_lcd_dma_src_port(int port) 1949 1915 { ··· 1955 1919 { 1956 1920 lcd_dma.ext_ctrl = external; 1957 1921 } 1922 + EXPORT_SYMBOL(omap_set_lcd_dma_ext_controller); 1958 1923 1959 1924 void omap_set_lcd_dma_single_transfer(int single) 1960 1925 { 1961 1926 lcd_dma.single_transfer = single; 1962 1927 } 1963 - 1928 + EXPORT_SYMBOL(omap_set_lcd_dma_single_transfer); 1964 1929 1965 1930 void omap_set_lcd_dma_b1_rotation(int rotate) 1966 1931 { ··· 1972 1935 } 1973 1936 lcd_dma.rotate = rotate; 1974 1937 } 1938 + EXPORT_SYMBOL(omap_set_lcd_dma_b1_rotation); 1975 1939 1976 1940 void omap_set_lcd_dma_b1_mirror(int mirror) 1977 1941 { ··· 1982 1944 } 1983 1945 lcd_dma.mirror = mirror; 1984 1946 } 1947 + EXPORT_SYMBOL(omap_set_lcd_dma_b1_mirror); 1985 1948 1986 1949 void omap_set_lcd_dma_b1_vxres(unsigned long vxres) 1987 1950 { ··· 1993 1954 } 1994 1955 lcd_dma.vxres = vxres; 1995 1956 } 1957 + EXPORT_SYMBOL(omap_set_lcd_dma_b1_vxres); 1996 1958 1997 1959 void omap_set_lcd_dma_b1_scale(unsigned int xscale, unsigned int yscale) 1998 1960 { ··· 2004 1964 lcd_dma.xscale = xscale; 2005 1965 lcd_dma.yscale = yscale; 2006 1966 } 1967 + EXPORT_SYMBOL(omap_set_lcd_dma_b1_scale); 2007 1968 2008 1969 static void set_b1_regs(void) 2009 1970 { ··· 2035 1994 xscale = lcd_dma.xscale ? lcd_dma.xscale : 1; 2036 1995 yscale = lcd_dma.yscale ? lcd_dma.yscale : 1; 2037 1996 BUG_ON(vxres < lcd_dma.xres); 2038 - #define PIXADDR(x,y) (lcd_dma.addr + ((y) * vxres * yscale + (x) * xscale) * es) 1997 + 1998 + #define PIXADDR(x, y) (lcd_dma.addr + \ 1999 + ((y) * vxres * yscale + (x) * xscale) * es) 2039 2000 #define PIXSTEP(sx, sy, dx, dy) (PIXADDR(dx, dy) - PIXADDR(sx, sy) - es + 1) 2001 + 2040 2002 switch (lcd_dma.rotate) { 2041 2003 case 0: 2042 2004 if (!lcd_dma.mirror) { ··· 2048 2004 /* 1510 DMA requires the bottom address to be 2 more 2049 2005 * than the actual last memory access location. */ 2050 2006 if (omap_dma_in_1510_mode() && 2051 - lcd_dma.data_type == OMAP_DMA_DATA_TYPE_S32) 2052 - bottom += 2; 2007 + lcd_dma.data_type == OMAP_DMA_DATA_TYPE_S32) 2008 + bottom += 2; 2053 2009 ei = PIXSTEP(0, 0, 1, 0); 2054 2010 fi = PIXSTEP(lcd_dma.xres - 1, 0, 0, 1); 2055 2011 } else { ··· 2176 2132 return IRQ_HANDLED; 2177 2133 } 2178 2134 2179 - int omap_request_lcd_dma(void (* callback)(u16 status, void *data), 2135 + int omap_request_lcd_dma(void (*callback)(u16 status, void *data), 2180 2136 void *data) 2181 2137 { 2182 2138 spin_lock_irq(&lcd_dma.lock); ··· 2202 2158 2203 2159 return 0; 2204 2160 } 2161 + EXPORT_SYMBOL(omap_request_lcd_dma); 2205 2162 2206 2163 void omap_free_lcd_dma(void) 2207 2164 { ··· 2219 2174 lcd_dma.reserved = 0; 2220 2175 spin_unlock(&lcd_dma.lock); 2221 2176 } 2177 + EXPORT_SYMBOL(omap_free_lcd_dma); 2222 2178 2223 2179 void omap_enable_lcd_dma(void) 2224 2180 { 2225 2181 u16 w; 2226 2182 2227 - /* Set the Enable bit only if an external controller is 2183 + /* 2184 + * Set the Enable bit only if an external controller is 2228 2185 * connected. Otherwise the OMAP internal controller will 2229 2186 * start the transfer when it gets enabled. 2230 2187 */ ··· 2243 2196 w |= 1 << 7; 2244 2197 omap_writew(w, OMAP1610_DMA_LCD_CCR); 2245 2198 } 2199 + EXPORT_SYMBOL(omap_enable_lcd_dma); 2246 2200 2247 2201 void omap_setup_lcd_dma(void) 2248 2202 { ··· 2259 2211 u16 w; 2260 2212 2261 2213 w = omap_readw(OMAP1610_DMA_LCD_CCR); 2262 - /* If DMA was already active set the end_prog bit to have 2214 + /* 2215 + * If DMA was already active set the end_prog bit to have 2263 2216 * the programmed register set loaded into the active 2264 2217 * register set. 2265 2218 */ 2266 2219 w |= 1 << 11; /* End_prog */ 2267 2220 if (!lcd_dma.single_transfer) 2268 - w |= (3 << 8); /* Auto_init, repeat */ 2221 + w |= (3 << 8); /* Auto_init, repeat */ 2269 2222 omap_writew(w, OMAP1610_DMA_LCD_CCR); 2270 2223 } 2271 2224 } 2225 + EXPORT_SYMBOL(omap_setup_lcd_dma); 2272 2226 2273 2227 void omap_stop_lcd_dma(void) 2274 2228 { ··· 2288 2238 w &= ~(1 << 8); 2289 2239 omap_writew(w, OMAP1610_DMA_LCD_CTRL); 2290 2240 } 2241 + EXPORT_SYMBOL(omap_stop_lcd_dma); 2291 2242 2292 2243 /*----------------------------------------------------------------------------*/ 2293 2244 ··· 2378 2327 continue; 2379 2328 2380 2329 if (cpu_class_is_omap1()) { 2381 - /* request_irq() doesn't like dev_id (ie. ch) being 2382 - * zero, so we have to kludge around this. */ 2330 + /* 2331 + * request_irq() doesn't like dev_id (ie. ch) being 2332 + * zero, so we have to kludge around this. 2333 + */ 2383 2334 r = request_irq(omap1_dma_irq[ch], 2384 2335 omap1_dma_irq_handler, 0, "DMA", 2385 2336 (void *) (ch + 1)); ··· 2426 2373 2427 2374 arch_initcall(omap_init_dma); 2428 2375 2429 - EXPORT_SYMBOL(omap_get_dma_src_pos); 2430 - EXPORT_SYMBOL(omap_get_dma_dst_pos); 2431 - EXPORT_SYMBOL(omap_get_dma_src_addr_counter); 2432 - EXPORT_SYMBOL(omap_clear_dma); 2433 - EXPORT_SYMBOL(omap_set_dma_priority); 2434 - EXPORT_SYMBOL(omap_request_dma); 2435 - EXPORT_SYMBOL(omap_free_dma); 2436 - EXPORT_SYMBOL(omap_start_dma); 2437 - EXPORT_SYMBOL(omap_stop_dma); 2438 - EXPORT_SYMBOL(omap_set_dma_callback); 2439 - EXPORT_SYMBOL(omap_enable_dma_irq); 2440 - EXPORT_SYMBOL(omap_disable_dma_irq); 2441 - 2442 - EXPORT_SYMBOL(omap_set_dma_transfer_params); 2443 - EXPORT_SYMBOL(omap_set_dma_color_mode); 2444 - EXPORT_SYMBOL(omap_set_dma_write_mode); 2445 - 2446 - EXPORT_SYMBOL(omap_set_dma_src_params); 2447 - EXPORT_SYMBOL(omap_set_dma_src_index); 2448 - EXPORT_SYMBOL(omap_set_dma_src_data_pack); 2449 - EXPORT_SYMBOL(omap_set_dma_src_burst_mode); 2450 - 2451 - EXPORT_SYMBOL(omap_set_dma_dest_params); 2452 - EXPORT_SYMBOL(omap_set_dma_dest_index); 2453 - EXPORT_SYMBOL(omap_set_dma_dest_data_pack); 2454 - EXPORT_SYMBOL(omap_set_dma_dest_burst_mode); 2455 - 2456 - EXPORT_SYMBOL(omap_set_dma_params); 2457 - 2458 - EXPORT_SYMBOL(omap_dma_link_lch); 2459 - EXPORT_SYMBOL(omap_dma_unlink_lch); 2460 - 2461 - EXPORT_SYMBOL(omap_request_lcd_dma); 2462 - EXPORT_SYMBOL(omap_free_lcd_dma); 2463 - EXPORT_SYMBOL(omap_enable_lcd_dma); 2464 - EXPORT_SYMBOL(omap_setup_lcd_dma); 2465 - EXPORT_SYMBOL(omap_stop_lcd_dma); 2466 - EXPORT_SYMBOL(omap_set_lcd_dma_b1); 2467 - EXPORT_SYMBOL(omap_set_lcd_dma_single_transfer); 2468 - EXPORT_SYMBOL(omap_set_lcd_dma_ext_controller); 2469 - EXPORT_SYMBOL(omap_set_lcd_dma_b1_rotation); 2470 - EXPORT_SYMBOL(omap_set_lcd_dma_b1_vxres); 2471 - EXPORT_SYMBOL(omap_set_lcd_dma_b1_scale); 2472 - EXPORT_SYMBOL(omap_set_lcd_dma_b1_mirror); 2473 2376
+103 -58
include/asm-arm/arch-omap/dma.h
··· 216 216 #define OMAP24XX_DMA_GPMC 4 /* S_DMA_3 */ 217 217 #define OMAP24XX_DMA_GFX 5 /* S_DMA_4 */ 218 218 #define OMAP24XX_DMA_DSS 6 /* S_DMA_5 */ 219 - #define OMAP24XX_DMA_VLYNQ_TX 7 /* S_DMA_6 */ 219 + #define OMAP242X_DMA_VLYNQ_TX 7 /* S_DMA_6 */ 220 + #define OMAP24XX_DMA_EXT_DMAREQ2 7 /* S_DMA_6 */ 220 221 #define OMAP24XX_DMA_CWT 8 /* S_DMA_7 */ 221 222 #define OMAP24XX_DMA_AES_TX 9 /* S_DMA_8 */ 222 223 #define OMAP24XX_DMA_AES_RX 10 /* S_DMA_9 */ 223 224 #define OMAP24XX_DMA_DES_TX 11 /* S_DMA_10 */ 224 225 #define OMAP24XX_DMA_DES_RX 12 /* S_DMA_11 */ 225 226 #define OMAP24XX_DMA_SHA1MD5_RX 13 /* S_DMA_12 */ 226 - #define OMAP24XX_DMA_EXT_DMAREQ2 14 /* S_DMA_13 */ 227 - #define OMAP24XX_DMA_EXT_DMAREQ3 15 /* S_DMA_14 */ 228 - #define OMAP24XX_DMA_EXT_DMAREQ4 16 /* S_DMA_15 */ 229 - #define OMAP24XX_DMA_EAC_AC_RD 17 /* S_DMA_16 */ 230 - #define OMAP24XX_DMA_EAC_AC_WR 18 /* S_DMA_17 */ 231 - #define OMAP24XX_DMA_EAC_MD_UL_RD 19 /* S_DMA_18 */ 232 - #define OMAP24XX_DMA_EAC_MD_UL_WR 20 /* S_DMA_19 */ 233 - #define OMAP24XX_DMA_EAC_MD_DL_RD 21 /* S_DMA_20 */ 234 - #define OMAP24XX_DMA_EAC_MD_DL_WR 22 /* S_DMA_21 */ 235 - #define OMAP24XX_DMA_EAC_BT_UL_RD 23 /* S_DMA_22 */ 236 - #define OMAP24XX_DMA_EAC_BT_UL_WR 24 /* S_DMA_23 */ 237 - #define OMAP24XX_DMA_EAC_BT_DL_RD 25 /* S_DMA_24 */ 238 - #define OMAP24XX_DMA_EAC_BT_DL_WR 26 /* S_DMA_25 */ 227 + #define OMAP34XX_DMA_SHA2MD5_RX 13 /* S_DMA_12 */ 228 + #define OMAP242X_DMA_EXT_DMAREQ2 14 /* S_DMA_13 */ 229 + #define OMAP242X_DMA_EXT_DMAREQ3 15 /* S_DMA_14 */ 230 + #define OMAP242X_DMA_EXT_DMAREQ4 16 /* S_DMA_15 */ 231 + #define OMAP242X_DMA_EAC_AC_RD 17 /* S_DMA_16 */ 232 + #define OMAP242X_DMA_EAC_AC_WR 18 /* S_DMA_17 */ 233 + #define OMAP242X_DMA_EAC_MD_UL_RD 19 /* S_DMA_18 */ 234 + #define OMAP242X_DMA_EAC_MD_UL_WR 20 /* S_DMA_19 */ 235 + #define OMAP242X_DMA_EAC_MD_DL_RD 21 /* S_DMA_20 */ 236 + #define OMAP242X_DMA_EAC_MD_DL_WR 22 /* S_DMA_21 */ 237 + #define OMAP242X_DMA_EAC_BT_UL_RD 23 /* S_DMA_22 */ 238 + #define OMAP242X_DMA_EAC_BT_UL_WR 24 /* S_DMA_23 */ 239 + #define OMAP242X_DMA_EAC_BT_DL_RD 25 /* S_DMA_24 */ 240 + #define OMAP242X_DMA_EAC_BT_DL_WR 26 /* S_DMA_25 */ 241 + #define OMAP243X_DMA_EXT_DMAREQ3 14 /* S_DMA_13 */ 242 + #define OMAP24XX_DMA_SPI3_TX0 15 /* S_DMA_14 */ 243 + #define OMAP24XX_DMA_SPI3_RX0 16 /* S_DMA_15 */ 244 + #define OMAP24XX_DMA_MCBSP3_TX 17 /* S_DMA_16 */ 245 + #define OMAP24XX_DMA_MCBSP3_RX 18 /* S_DMA_17 */ 246 + #define OMAP24XX_DMA_MCBSP4_TX 19 /* S_DMA_18 */ 247 + #define OMAP24XX_DMA_MCBSP4_RX 20 /* S_DMA_19 */ 248 + #define OMAP24XX_DMA_MCBSP5_TX 21 /* S_DMA_20 */ 249 + #define OMAP24XX_DMA_MCBSP5_RX 22 /* S_DMA_21 */ 250 + #define OMAP24XX_DMA_SPI3_TX1 23 /* S_DMA_22 */ 251 + #define OMAP24XX_DMA_SPI3_RX1 24 /* S_DMA_23 */ 252 + #define OMAP243X_DMA_EXT_DMAREQ4 25 /* S_DMA_24 */ 253 + #define OMAP243X_DMA_EXT_DMAREQ5 26 /* S_DMA_25 */ 254 + #define OMAP34XX_DMA_I2C3_TX 25 /* S_DMA_24 */ 255 + #define OMAP34XX_DMA_I2C3_RX 26 /* S_DMA_25 */ 239 256 #define OMAP24XX_DMA_I2C1_TX 27 /* S_DMA_26 */ 240 257 #define OMAP24XX_DMA_I2C1_RX 28 /* S_DMA_27 */ 241 258 #define OMAP24XX_DMA_I2C2_TX 29 /* S_DMA_28 */ 242 259 #define OMAP24XX_DMA_I2C2_RX 30 /* S_DMA_29 */ 243 - #define OMAP24XX_DMA_MCBSP1_TX 31 /* SDMA_30 */ 244 - #define OMAP24XX_DMA_MCBSP1_RX 32 /* SDMA_31 */ 245 - #define OMAP24XX_DMA_MCBSP2_TX 33 /* SDMA_32 */ 246 - #define OMAP24XX_DMA_MCBSP2_RX 34 /* SDMA_33 */ 247 - #define OMAP24XX_DMA_SPI1_TX0 35 /* SDMA_34 */ 248 - #define OMAP24XX_DMA_SPI1_RX0 36 /* SDMA_35 */ 249 - #define OMAP24XX_DMA_SPI1_TX1 37 /* SDMA_36 */ 250 - #define OMAP24XX_DMA_SPI1_RX1 38 /* SDMA_37 */ 251 - #define OMAP24XX_DMA_SPI1_TX2 39 /* SDMA_38 */ 252 - #define OMAP24XX_DMA_SPI1_RX2 40 /* SDMA_39 */ 253 - #define OMAP24XX_DMA_SPI1_TX3 41 /* SDMA_40 */ 254 - #define OMAP24XX_DMA_SPI1_RX3 42 /* SDMA_41 */ 255 - #define OMAP24XX_DMA_SPI2_TX0 43 /* SDMA_42 */ 256 - #define OMAP24XX_DMA_SPI2_RX0 44 /* SDMA_43 */ 257 - #define OMAP24XX_DMA_SPI2_TX1 45 /* SDMA_44 */ 258 - #define OMAP24XX_DMA_SPI2_RX1 46 /* SDMA_45 */ 259 - 260 - #define OMAP24XX_DMA_UART1_TX 49 /* SDMA_48 */ 261 - #define OMAP24XX_DMA_UART1_RX 50 /* SDMA_49 */ 262 - #define OMAP24XX_DMA_UART2_TX 51 /* SDMA_50 */ 263 - #define OMAP24XX_DMA_UART2_RX 52 /* SDMA_51 */ 264 - #define OMAP24XX_DMA_UART3_TX 53 /* SDMA_52 */ 265 - #define OMAP24XX_DMA_UART3_RX 54 /* SDMA_53 */ 266 - #define OMAP24XX_DMA_USB_W2FC_TX0 55 /* SDMA_54 */ 267 - #define OMAP24XX_DMA_USB_W2FC_RX0 56 /* SDMA_55 */ 268 - #define OMAP24XX_DMA_USB_W2FC_TX1 57 /* SDMA_56 */ 269 - #define OMAP24XX_DMA_USB_W2FC_RX1 58 /* SDMA_57 */ 270 - #define OMAP24XX_DMA_USB_W2FC_TX2 59 /* SDMA_58 */ 271 - #define OMAP24XX_DMA_USB_W2FC_RX2 60 /* SDMA_59 */ 272 - #define OMAP24XX_DMA_MMC1_TX 61 /* SDMA_60 */ 273 - #define OMAP24XX_DMA_MMC1_RX 62 /* SDMA_61 */ 274 - #define OMAP24XX_DMA_MS 63 /* SDMA_62 */ 275 - #define OMAP24XX_DMA_EXT_DMAREQ5 64 /* S_DMA_63 */ 260 + #define OMAP24XX_DMA_MCBSP1_TX 31 /* S_DMA_30 */ 261 + #define OMAP24XX_DMA_MCBSP1_RX 32 /* S_DMA_31 */ 262 + #define OMAP24XX_DMA_MCBSP2_TX 33 /* S_DMA_32 */ 263 + #define OMAP24XX_DMA_MCBSP2_RX 34 /* S_DMA_33 */ 264 + #define OMAP24XX_DMA_SPI1_TX0 35 /* S_DMA_34 */ 265 + #define OMAP24XX_DMA_SPI1_RX0 36 /* S_DMA_35 */ 266 + #define OMAP24XX_DMA_SPI1_TX1 37 /* S_DMA_36 */ 267 + #define OMAP24XX_DMA_SPI1_RX1 38 /* S_DMA_37 */ 268 + #define OMAP24XX_DMA_SPI1_TX2 39 /* S_DMA_38 */ 269 + #define OMAP24XX_DMA_SPI1_RX2 40 /* S_DMA_39 */ 270 + #define OMAP24XX_DMA_SPI1_TX3 41 /* S_DMA_40 */ 271 + #define OMAP24XX_DMA_SPI1_RX3 42 /* S_DMA_41 */ 272 + #define OMAP24XX_DMA_SPI2_TX0 43 /* S_DMA_42 */ 273 + #define OMAP24XX_DMA_SPI2_RX0 44 /* S_DMA_43 */ 274 + #define OMAP24XX_DMA_SPI2_TX1 45 /* S_DMA_44 */ 275 + #define OMAP24XX_DMA_SPI2_RX1 46 /* S_DMA_45 */ 276 + #define OMAP24XX_DMA_MMC2_TX 47 /* S_DMA_46 */ 277 + #define OMAP24XX_DMA_MMC2_RX 48 /* S_DMA_47 */ 278 + #define OMAP24XX_DMA_UART1_TX 49 /* S_DMA_48 */ 279 + #define OMAP24XX_DMA_UART1_RX 50 /* S_DMA_49 */ 280 + #define OMAP24XX_DMA_UART2_TX 51 /* S_DMA_50 */ 281 + #define OMAP24XX_DMA_UART2_RX 52 /* S_DMA_51 */ 282 + #define OMAP24XX_DMA_UART3_TX 53 /* S_DMA_52 */ 283 + #define OMAP24XX_DMA_UART3_RX 54 /* S_DMA_53 */ 284 + #define OMAP24XX_DMA_USB_W2FC_TX0 55 /* S_DMA_54 */ 285 + #define OMAP24XX_DMA_USB_W2FC_RX0 56 /* S_DMA_55 */ 286 + #define OMAP24XX_DMA_USB_W2FC_TX1 57 /* S_DMA_56 */ 287 + #define OMAP24XX_DMA_USB_W2FC_RX1 58 /* S_DMA_57 */ 288 + #define OMAP24XX_DMA_USB_W2FC_TX2 59 /* S_DMA_58 */ 289 + #define OMAP24XX_DMA_USB_W2FC_RX2 60 /* S_DMA_59 */ 290 + #define OMAP24XX_DMA_MMC1_TX 61 /* S_DMA_60 */ 291 + #define OMAP24XX_DMA_MMC1_RX 62 /* S_DMA_61 */ 292 + #define OMAP24XX_DMA_MS 63 /* S_DMA_62 */ 293 + #define OMAP242X_DMA_EXT_DMAREQ5 64 /* S_DMA_63 */ 294 + #define OMAP243X_DMA_EXT_DMAREQ6 64 /* S_DMA_63 */ 295 + #define OMAP34XX_DMA_EXT_DMAREQ3 64 /* S_DMA_63 */ 296 + #define OMAP34XX_DMA_AES2_TX 65 /* S_DMA_64 */ 297 + #define OMAP34XX_DMA_AES2_RX 66 /* S_DMA_65 */ 298 + #define OMAP34XX_DMA_DES2_TX 67 /* S_DMA_66 */ 299 + #define OMAP34XX_DMA_DES2_RX 68 /* S_DMA_67 */ 300 + #define OMAP34XX_DMA_SHA1MD5_RX 69 /* S_DMA_68 */ 301 + #define OMAP34XX_DMA_SPI4_TX0 70 /* S_DMA_69 */ 302 + #define OMAP34XX_DMA_SPI4_RX0 71 /* S_DMA_70 */ 303 + #define OMAP34XX_DSS_DMA0 72 /* S_DMA_71 */ 304 + #define OMAP34XX_DSS_DMA1 73 /* S_DMA_72 */ 305 + #define OMAP34XX_DSS_DMA2 74 /* S_DMA_73 */ 306 + #define OMAP34XX_DSS_DMA3 75 /* S_DMA_74 */ 307 + #define OMAP34XX_DMA_MMC3_TX 77 /* S_DMA_76 */ 308 + #define OMAP34XX_DMA_MMC3_RX 78 /* S_DMA_77 */ 309 + #define OMAP34XX_DMA_USIM_TX 79 /* S_DMA_78 */ 310 + #define OMAP34XX_DMA_USIM_RX 80 /* S_DMA_79 */ 276 311 277 312 /*----------------------------------------------------------------------------*/ 278 313 ··· 413 378 OMAP_DMA_DATA_BURST_16, 414 379 }; 415 380 381 + enum end_type { 382 + OMAP_DMA_LITTLE_ENDIAN = 0, 383 + OMAP_DMA_BIG_ENDIAN 384 + }; 385 + 416 386 enum omap_dma_color_mode { 417 387 OMAP_DMA_COLOR_DIS = 0, 418 388 OMAP_DMA_CONSTANT_FILL, ··· 443 403 int frame_count; /* number of frames in a element */ 444 404 445 405 int src_port; /* Only on OMAP1 REVISIT: Is this needed? */ 446 - int src_amode; /* constant , post increment, indexed , double indexed */ 406 + int src_amode; /* constant, post increment, indexed, 407 + double indexed */ 447 408 unsigned long src_start; /* source address : physical */ 448 409 int src_ei; /* source element index */ 449 410 int src_fi; /* source frame index */ 450 411 451 412 int dst_port; /* Only on OMAP1 REVISIT: Is this needed? */ 452 - int dst_amode; /* constant , post increment, indexed , double indexed */ 413 + int dst_amode; /* constant, post increment, indexed, 414 + double indexed */ 453 415 unsigned long dst_start; /* source address : physical */ 454 416 int dst_ei; /* source element index */ 455 417 int dst_fi; /* source frame index */ 456 418 457 - int trigger; /* trigger attached if the channel is synchronized */ 419 + int trigger; /* trigger attached if the channel is 420 + synchronized */ 458 421 int sync_mode; /* sycn on element, frame , block or packet */ 459 422 int src_or_dst_synch; /* source synch(1) or destination synch(0) */ 460 423 ··· 474 431 475 432 extern void omap_set_dma_priority(int lch, int dst_port, int priority); 476 433 extern int omap_request_dma(int dev_id, const char *dev_name, 477 - void (* callback)(int lch, u16 ch_status, void *data), 478 - void *data, int *dma_ch); 434 + void (*callback)(int lch, u16 ch_status, void *data), 435 + void *data, int *dma_ch); 479 436 extern void omap_enable_dma_irq(int ch, u16 irq_bits); 480 437 extern void omap_disable_dma_irq(int ch, u16 irq_bits); 481 438 extern void omap_free_dma(int ch); ··· 507 464 enum omap_dma_burst_mode burst_mode); 508 465 509 466 extern void omap_set_dma_params(int lch, 510 - struct omap_dma_channel_params * params); 467 + struct omap_dma_channel_params *params); 511 468 512 - extern void omap_dma_link_lch (int lch_head, int lch_queue); 513 - extern void omap_dma_unlink_lch (int lch_head, int lch_queue); 469 + extern void omap_dma_link_lch(int lch_head, int lch_queue); 470 + extern void omap_dma_unlink_lch(int lch_head, int lch_queue); 514 471 515 472 extern int omap_set_dma_callback(int lch, 516 - void (* callback)(int lch, u16 ch_status, void *data), 473 + void (*callback)(int lch, u16 ch_status, void *data), 517 474 void *data); 518 475 extern dma_addr_t omap_get_dma_src_pos(int lch); 519 476 extern dma_addr_t omap_get_dma_dst_pos(int lch); 520 - extern int omap_get_dma_src_addr_counter(int lch); 521 477 extern void omap_clear_dma(int lch); 522 478 extern int omap_get_dma_active_status(int lch); 523 479 extern int omap_dma_running(void); ··· 524 482 int tparams); 525 483 extern int omap_dma_set_prio_lch(int lch, unsigned char read_prio, 526 484 unsigned char write_prio); 485 + extern void omap_set_dma_dst_endian_type(int lch, enum end_type etype); 486 + extern void omap_set_dma_src_endian_type(int lch, enum end_type etype); 487 + extern int omap_get_dma_index(int lch, int *ei, int *fi); 527 488 528 489 /* Chaining APIs */ 529 490 #ifndef CONFIG_ARCH_OMAP1 ··· 552 507 #endif 553 508 554 509 /* LCD DMA functions */ 555 - extern int omap_request_lcd_dma(void (* callback)(u16 status, void *data), 510 + extern int omap_request_lcd_dma(void (*callback)(u16 status, void *data), 556 511 void *data); 557 512 extern void omap_free_lcd_dma(void); 558 513 extern void omap_setup_lcd_dma(void);