lkml.org 
[lkml]   [2011]   [Jun]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH] pch_uart: Add MSI support
    Date
    Signed-off-by: Alexander Stein <alexander.stein@systec-electronic.com>
    ---
    drivers/tty/serial/pch_uart.c | 12 ++++++++++++
    1 files changed, 12 insertions(+), 0 deletions(-)

    diff --git a/drivers/tty/serial/pch_uart.c b/drivers/tty/serial/pch_uart.c
    index 4652109..9db9773 100644
    --- a/drivers/tty/serial/pch_uart.c
    +++ b/drivers/tty/serial/pch_uart.c
    @@ -234,6 +234,7 @@ struct eg20t_port {
    int tx_dma_use;
    void *rx_buf_virt;
    dma_addr_t rx_buf_dma;
    + int use_msi;
    };

    /**
    @@ -1429,6 +1430,12 @@ static struct eg20t_port *pch_uart_init_port(struct pci_dev *pdev,
    goto init_port_hal_free;
    }

    + ret = pci_enable_msi(pdev);
    + if (ret)
    + priv->use_msi = 0;
    + else
    + priv->use_msi = 1;
    +
    iobase = pci_resource_start(pdev, 0);
    mapbase = pci_resource_start(pdev, 1);
    priv->mapbase = mapbase;
    @@ -1485,6 +1492,9 @@ static void pch_uart_pci_remove(struct pci_dev *pdev)
    struct eg20t_port *priv;

    priv = (struct eg20t_port *)pci_get_drvdata(pdev);
    +
    + if (priv->use_msi)
    + pci_disable_msi(pdev);
    pch_uart_exit_port(priv);
    pci_disable_device(pdev);
    kfree(priv);
    @@ -1568,6 +1578,8 @@ static int __devinit pch_uart_pci_probe(struct pci_dev *pdev,
    return ret;

    probe_disable_device:
    + if (priv->use_msi)
    + pci_disable_msi(pdev);
    pci_disable_device(pdev);
    probe_error:
    return ret;
    --
    1.7.3.4


    \
     
     \ /
      Last update: 2011-06-22 11:53    [W:0.020 / U:0.688 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site