static int dma_dwc_init(struct sata_dwc_device *hsdev, int irq)
{
    int err;

    err = dma_request_interrupts(hsdev, irq);
    if (err) {
        dev_err(host_pvt.dwc_dev, "%s: dma_request_interrupts returns"
                " %d\n", __func__, err);
        goto error_out;
    }


    out_le32(&(host_pvt.sata_dma_regs->dma_cfg.low), DMA_EN);

    dev_notice(host_pvt.dwc_dev, "DMA initialized\n");
    dev_dbg(host_pvt.dwc_dev, "SATA DMA registers=0x%p\n", host_pvt.\
            sata_dma_regs);

    return 0;

error_out:
    dma_dwc_exit(hsdev);

    return err;
}
Пример #2
0
/*
 * Function: dma_dwc_init
 * arguments: hsdev
 * returns status
 * This function initializes the SATA DMA driver
 */
static int dma_dwc_init(struct sata_dwc_device *hsdev, int irq)
{
	int err;

	err = dma_request_interrupts(hsdev, irq);
	if (err) {
		dev_err(host_pvt.dwc_dev, "%s: dma_request_interrupts returns"
			" %d\n", __func__, err);
		goto error_out;
	}

	/* Enabe DMA */
	out_le32(&(host_pvt.sata_dma_regs->dma_cfg.low), DMA_EN);

	dev_notice(host_pvt.dwc_dev, "DMA initialized\n");
	dev_d