Lines Matching defs:solo_dev
26 int solo_p2m_dma(struct solo6010_dev *solo_dev, u8 id, int wr,
37 dma_addr = pci_map_single(solo_dev->pdev, sys_addr, size,
40 ret = solo_p2m_dma_t(solo_dev, id, wr, dma_addr, ext_addr, size);
42 pci_unmap_single(solo_dev->pdev, dma_addr, size,
48 int solo_p2m_dma_t(struct solo6010_dev *solo_dev, u8 id, int wr,
59 p2m_dev = &solo_dev->p2m_dev[id];
66 solo_reg_write(solo_dev, SOLO_P2M_TAR_ADR(id), dma_addr);
67 solo_reg_write(solo_dev, SOLO_P2M_EXT_ADR(id), ext_addr);
68 solo_reg_write(solo_dev, SOLO_P2M_EXT_CFG(id),
70 solo_reg_write(solo_dev, SOLO_P2M_CONTROL(id),
76 solo_reg_write(solo_dev, SOLO_P2M_CONTROL(id), 0);
90 static unsigned long long p2m_test(struct solo6010_dev *solo_dev, u8 id,
114 solo_p2m_dma(solo_dev, id, 1, wr_buf, base, size);
115 solo_p2m_dma(solo_dev, id, 0, rd_buf, base, size);
129 static void run_p2m_test(struct solo6010_dev *solo_dev)
132 u32 size = SOLO_JPEG_EXT_ADDR(solo_dev) + SOLO_JPEG_EXT_SIZE(solo_dev);
140 errs += p2m_test(solo_dev, d, i, TEST_CHUNK_SIZE);
151 void solo_p2m_isr(struct solo6010_dev *solo_dev, int id)
153 solo_reg_write(solo_dev, SOLO_IRQ_STAT, SOLO_IRQ_P2M(id));
154 complete(&solo_dev->p2m_dev[id].completion);
157 void solo_p2m_error_isr(struct solo6010_dev *solo_dev, u32 status)
166 p2m_dev = &solo_dev->p2m_dev[i];
168 solo_reg_write(solo_dev, SOLO_P2M_CONTROL(i), 0);
173 void solo_p2m_exit(struct solo6010_dev *solo_dev)
178 solo6010_irq_off(solo_dev, SOLO_IRQ_P2M(i));
181 int solo_p2m_init(struct solo6010_dev *solo_dev)
187 p2m_dev = &solo_dev->p2m_dev[i];
192 solo_reg_write(solo_dev, SOLO_P2M_DES_ADR(i),
195 solo_reg_write(solo_dev, SOLO_P2M_CONTROL(i), 0);
196 solo_reg_write(solo_dev, SOLO_P2M_CONFIG(i),
200 solo6010_irq_on(solo_dev, SOLO_IRQ_P2M(i));
203 run_p2m_test(solo_dev);