lkml.org 
[lkml]   [2018]   [Feb]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Date
    Subject[PATCH 3.2 049/140] parisc: Hide Diva-built-in serial aux and graphics card
    3.2.100-rc1 review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Helge Deller <deller@gmx.de>

    commit bcf3f1752a622f1372d3252d0fea8855d89812e7 upstream.

    Diva GSP card has built-in serial AUX port and ATI graphic card which simply
    don't work and which both don't have external connectors. User Guides even
    mention that those devices shouldn't be used.
    So, prevent that Linux drivers try to enable those devices.

    Signed-off-by: Helge Deller <deller@gmx.de>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    ---
    drivers/parisc/lba_pci.c | 33 +++++++++++++++++++++++++++++++++
    1 file changed, 33 insertions(+)

    --- a/drivers/parisc/lba_pci.c
    +++ b/drivers/parisc/lba_pci.c
    @@ -1603,3 +1603,36 @@ void lba_set_iregs(struct parisc_device
    iounmap(base_addr);
    }

    +
    +/*
    + * The design of the Diva management card in rp34x0 machines (rp3410, rp3440)
    + * seems rushed, so that many built-in components simply don't work.
    + * The following quirks disable the serial AUX port and the built-in ATI RV100
    + * Radeon 7000 graphics card which both don't have any external connectors and
    + * thus are useless, and even worse, e.g. the AUX port occupies ttyS0 and as
    + * such makes those machines the only PARISC machines on which we can't use
    + * ttyS0 as boot console.
    + */
    +static void quirk_diva_ati_card(struct pci_dev *dev)
    +{
    + if (dev->subsystem_vendor != PCI_VENDOR_ID_HP ||
    + dev->subsystem_device != 0x1292)
    + return;
    +
    + dev_info(&dev->dev, "Hiding Diva built-in ATI card");
    + dev->device = 0;
    +}
    +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_RADEON_QY,
    + quirk_diva_ati_card);
    +
    +static void quirk_diva_aux_disable(struct pci_dev *dev)
    +{
    + if (dev->subsystem_vendor != PCI_VENDOR_ID_HP ||
    + dev->subsystem_device != 0x1291)
    + return;
    +
    + dev_info(&dev->dev, "Hiding Diva built-in AUX serial device");
    + dev->device = 0;
    +}
    +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_DIVA_AUX,
    + quirk_diva_aux_disable);
    \
     
     \ /
      Last update: 2018-02-28 16:43    [W:3.101 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site