aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ieee1394/pcilynx.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ieee1394/pcilynx.h')
-rw-r--r--drivers/ieee1394/pcilynx.h49
1 files changed, 1 insertions, 48 deletions
diff --git a/drivers/ieee1394/pcilynx.h b/drivers/ieee1394/pcilynx.h
index 644ec55d3d46..d631aa8383ad 100644
--- a/drivers/ieee1394/pcilynx.h
+++ b/drivers/ieee1394/pcilynx.h
@@ -55,16 +55,6 @@ struct ti_lynx {
55 void __iomem *aux_port; 55 void __iomem *aux_port;
56 quadlet_t bus_info_block[5]; 56 quadlet_t bus_info_block[5];
57 57
58#ifdef CONFIG_IEEE1394_PCILYNX_PORTS
59 atomic_t aux_intr_seen;
60 wait_queue_head_t aux_intr_wait;
61
62 void *mem_dma_buffer;
63 dma_addr_t mem_dma_buffer_dma;
64 struct semaphore mem_dma_mutex;
65 wait_queue_head_t mem_dma_intr_wait;
66#endif
67
68 /* 58 /*
69 * use local RAM of LOCALRAM_SIZE bytes for PCLs, which allows for 59 * use local RAM of LOCALRAM_SIZE bytes for PCLs, which allows for
70 * LOCALRAM_SIZE * 8 PCLs (each sized 128 bytes); 60 * LOCALRAM_SIZE * 8 PCLs (each sized 128 bytes);
@@ -72,11 +62,9 @@ struct ti_lynx {
72 */ 62 */
73 u8 pcl_bmap[LOCALRAM_SIZE / 1024]; 63 u8 pcl_bmap[LOCALRAM_SIZE / 1024];
74 64
75#ifndef CONFIG_IEEE1394_PCILYNX_LOCALRAM
76 /* point to PCLs memory area if needed */ 65 /* point to PCLs memory area if needed */
77 void *pcl_mem; 66 void *pcl_mem;
78 dma_addr_t pcl_mem_dma; 67 dma_addr_t pcl_mem_dma;
79#endif
80 68
81 /* PCLs for local mem / aux transfers */ 69 /* PCLs for local mem / aux transfers */
82 pcl_t dmem_pcl; 70 pcl_t dmem_pcl;
@@ -378,39 +366,6 @@ struct ti_pcl {
378#define pcloffs(MEMBER) (offsetof(struct ti_pcl, MEMBER)) 366#define pcloffs(MEMBER) (offsetof(struct ti_pcl, MEMBER))
379 367
380 368
381#ifdef CONFIG_IEEE1394_PCILYNX_LOCALRAM
382
383static inline void put_pcl(const struct ti_lynx *lynx, pcl_t pclid,
384 const struct ti_pcl *pcl)
385{
386 int i;
387 u32 *in = (u32 *)pcl;
388 u32 *out = (u32 *)(lynx->local_ram + pclid * sizeof(struct ti_pcl));
389
390 for (i = 0; i < 32; i++, out++, in++) {
391 writel(*in, out);
392 }
393}
394
395static inline void get_pcl(const struct ti_lynx *lynx, pcl_t pclid,
396 struct ti_pcl *pcl)
397{
398 int i;
399 u32 *out = (u32 *)pcl;
400 u32 *in = (u32 *)(lynx->local_ram + pclid * sizeof(struct ti_pcl));
401
402 for (i = 0; i < 32; i++, out++, in++) {
403 *out = readl(in);
404 }
405}
406
407static inline u32 pcl_bus(const struct ti_lynx *lynx, pcl_t pclid)
408{
409 return pci_resource_start(lynx->dev, 1) + pclid * sizeof(struct ti_pcl);
410}
411
412#else /* CONFIG_IEEE1394_PCILYNX_LOCALRAM */
413
414static inline void put_pcl(const struct ti_lynx *lynx, pcl_t pclid, 369static inline void put_pcl(const struct ti_lynx *lynx, pcl_t pclid,
415 const struct ti_pcl *pcl) 370 const struct ti_pcl *pcl)
416{ 371{
@@ -431,10 +386,8 @@ static inline u32 pcl_bus(const struct ti_lynx *lynx, pcl_t pclid)
431 return lynx->pcl_mem_dma + pclid * sizeof(struct ti_pcl); 386 return lynx->pcl_mem_dma + pclid * sizeof(struct ti_pcl);
432} 387}
433 388
434#endif /* CONFIG_IEEE1394_PCILYNX_LOCALRAM */
435
436 389
437#if defined (CONFIG_IEEE1394_PCILYNX_LOCALRAM) || defined (__BIG_ENDIAN) 390#if defined (__BIG_ENDIAN)
438typedef struct ti_pcl pcltmp_t; 391typedef struct ti_pcl pcltmp_t;
439 392
440static inline struct ti_pcl *edit_pcl(const struct ti_lynx *lynx, pcl_t pclid, 393static inline struct ti_pcl *edit_pcl(const struct ti_lynx *lynx, pcl_t pclid,