@@ -410,44 +410,40 @@ typedef struct dmad_drb {
410
410
411
411
} dmad_drb ;
412
412
413
- /******************************************************************************
414
- * DMAD Driver Interface
415
- ******************************************************************************/
416
- extern int dmad_channel_alloc (dmad_chreq * ch_req );
417
- extern int dmad_channel_free (dmad_chreq * ch_req );
418
- extern int dmad_channel_enable (const dmad_chreq * ch_req , u8 enable );
419
- extern u32 dmad_max_size_per_drb (dmad_chreq * ch_req );
420
- extern u32 dmad_bytes_to_cycles (dmad_chreq * ch_req , u32 byte_size );
421
-
422
- extern int dmad_kickoff_requests (dmad_chreq * ch_req );
423
- extern int dmad_drain_requests (dmad_chreq * ch_req , u8 shutdown );
424
-
425
- /* for performance reason, these two functions are platform-specific */
426
- extern int dmad_probe_irq_source_ahb (void );
427
- /* note: hw_ptr here is phyical address of dma source or destination */
428
- extern dma_addr_t dmad_probe_hw_ptr_src (dmad_chreq * ch_req );
429
- extern dma_addr_t dmad_probe_hw_ptr_dst (dmad_chreq * ch_req );
413
+ /* DMAD Driver Interface */
414
+ int dmad_init (void );
415
+ int dmad_release (void );
416
+ int dmad_channel_alloc (dmad_chreq * ch_req );
417
+ int dmad_channel_free (dmad_chreq * ch_req );
418
+ int dmad_channel_enable (const dmad_chreq * ch_req , u8 enable );
419
+ u32 dmad_max_size_per_drb (dmad_chreq * ch_req );
420
+ u32 dmad_bytes_to_cycles (dmad_chreq * ch_req , u32 byte_size );
421
+ int dmad_kickoff_requests (dmad_chreq * ch_req );
422
+ int dmad_drain_requests (dmad_chreq * ch_req , u8 shutdown );
423
+
424
+ /* For performance reasons, these two functions are platform specific. */
425
+ int dmad_probe_irq_source_ahb (void );
426
+
427
+ /* Note: hw_ptr here is phyical address of dma source or destination. */
428
+ dma_addr_t dmad_probe_hw_ptr_src (dmad_chreq * ch_req );
429
+ dma_addr_t dmad_probe_hw_ptr_dst (dmad_chreq * ch_req );
430
+
431
+ /* Routines are only valid in discrete (non-ring) mode */
432
+ int dmad_config_channel_dir (dmad_chreq * ch_req , u8 dir , dmad_drb * drb );
433
+ int dmad_alloc_drb (dmad_chreq * ch_req , dmad_drb * * drb );
434
+ int dmad_free_drb (dmad_chreq * ch_req , dmad_drb * drb );
435
+ int dmad_submit_request (dmad_chreq * ch_req , dmad_drb * drb , u8 keep_fired );
436
+ int dmad_withdraw_request (dmad_chreq * ch_req , dmad_drb * drb );
430
437
431
- /*****************************************************************************
432
- * routines only valid in discrete (non-ring) mode
433
- */
434
- extern int dmad_config_channel_dir (dmad_chreq * ch_req , u8 dir , dmad_drb * drb );
435
- extern int dmad_alloc_drb (dmad_chreq * ch_req , dmad_drb * * drb );
436
- extern int dmad_free_drb (dmad_chreq * ch_req , dmad_drb * drb );
437
- extern int dmad_submit_request (dmad_chreq * ch_req ,
438
- dmad_drb * drb , u8 keep_fired );
439
- extern int dmad_withdraw_request (dmad_chreq * ch_req , dmad_drb * drb );
440
- /****************************************************************************/
441
-
442
- /*****************************************************************************
443
- * routines only valid in ring mode
444
- * note: sw_ptr and hw_ptr are values offset from the ring buffer base
445
- * unit of sw_ptr is data-width
446
- * unit of hw_ptr returned is byte
438
+ /*
439
+ * Routines are only valid in ring mode
440
+ * Note: sw_ptr and hw_ptr are values offset from the ring buffer base
441
+ * - Unit of sw_ptr is data width
442
+ * - Unit of hw_ptr returned is byte
447
443
*/
448
444
int dmad_update_ring (dmad_chreq * ch_req );
449
- int dmad_update_ring_sw_ptr (dmad_chreq * ch_req ,
450
- dma_addr_t sw_ptr , u8 keep_fired );
445
+ int dmad_update_ring_sw_ptr (dmad_chreq * ch_req , dma_addr_t sw_ptr ,
446
+ u8 keep_fired );
451
447
dma_addr_t dmad_probe_ring_hw_ptr (dmad_chreq * ch_req );
452
448
453
- #endif /* __NDS_DMAD_ATF_INC__ */
449
+ #endif
0 commit comments