lkml.org 
[lkml]   [2016]   [Sep]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH 6/6] media/cobalt: use pci_irq_allocate_vectors
    From
    Date
    Hi Christoph,

    On 09/11/2016 03:31 PM, Christoph Hellwig wrote:
    > Simply the interrupt setup by using the new PCI layer helpers.
    >
    > Despite using pci_enable_msi_range, this driver was only requesting a
    > single MSI vector anyway.
    >
    > Signed-off-by: Christoph Hellwig <hch@lst.de>
    > ---
    > drivers/media/pci/cobalt/cobalt-driver.c | 8 ++------
    > drivers/media/pci/cobalt/cobalt-driver.h | 2 --
    > 2 files changed, 2 insertions(+), 8 deletions(-)
    >
    > diff --git a/drivers/media/pci/cobalt/cobalt-driver.c b/drivers/media/pci/cobalt/cobalt-driver.c
    > index 476f7f0..5a0a9e4 100644
    > --- a/drivers/media/pci/cobalt/cobalt-driver.c
    > +++ b/drivers/media/pci/cobalt/cobalt-driver.c
    > @@ -307,9 +307,7 @@ static void cobalt_pci_iounmap(struct cobalt *cobalt, struct pci_dev *pci_dev)
    > static void cobalt_free_msi(struct cobalt *cobalt, struct pci_dev *pci_dev)
    > {
    > free_irq(pci_dev->irq, (void *)cobalt);
    > -
    > - if (cobalt->msi_enabled)
    > - pci_disable_msi(pci_dev);
    > + pci_free_irq_vectors(pci_dev);
    > }
    >
    > static int cobalt_setup_pci(struct cobalt *cobalt, struct pci_dev *pci_dev,
    > @@ -386,14 +384,12 @@ static int cobalt_setup_pci(struct cobalt *cobalt, struct pci_dev *pci_dev,
    > from being generated. */
    > cobalt_set_interrupt(cobalt, false);
    >
    > - if (pci_enable_msi_range(pci_dev, 1, 1) < 1) {
    > + if (pci_alloc_irq_vectors(pci_dev, 1, 1, PCI_IRQ_MSI) < 1) {

    PCI_IRQ_MSI is unknown, I assume that this will appear in 4.9?

    Looks good otherwise.

    Regards,

    Hans

    > cobalt_err("Could not enable MSI\n");
    > - cobalt->msi_enabled = false;
    > ret = -EIO;
    > goto err_release;
    > }
    > msi_config_show(cobalt, pci_dev);
    > - cobalt->msi_enabled = true;
    >
    > /* Register IRQ */
    > if (request_irq(pci_dev->irq, cobalt_irq_handler, IRQF_SHARED,
    > diff --git a/drivers/media/pci/cobalt/cobalt-driver.h b/drivers/media/pci/cobalt/cobalt-driver.h
    > index ed00dc9..00f773e 100644
    > --- a/drivers/media/pci/cobalt/cobalt-driver.h
    > +++ b/drivers/media/pci/cobalt/cobalt-driver.h
    > @@ -287,8 +287,6 @@ struct cobalt {
    > u32 irq_none;
    > u32 irq_full_fifo;
    >
    > - bool msi_enabled;
    > -
    > /* omnitek dma */
    > int dma_channels;
    > int first_fifo_channel;
    >

    \
     
     \ /
      Last update: 2016-09-17 09:59    [W:4.167 / U:0.264 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site