lkml.org 
[lkml]   [2004]   [Apr]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    SubjectRe: [PATCH] PCI and PCI Hotplug update for 2.6.6-rc1
    Date
    From
    ChangeSet 1.1692.3.7, 2004/03/30 17:26:44-08:00, rddunlap@osdl.org

    [PATCH] PCI: add DMA_{64,32}BIT constants

    On Tue, 23 Mar 2004 00:23:05 -0500 Jeff Garzik <jgarzik@pobox.com> wrote:
    >>Yeah well... in the intervening time, somebody on IRC commented
    >>
    >>"so what is so PCI-specific about those constants?"
    >>
    >>They probably ought to be DMA_{32,64}BIT_MASK or somesuch.

    Here's an updated patch, applies to 2.6.5-rc2-bk9.
    I left the DMA_xxBIT_MASK defines in linux/pci.h, although
    they aren't necessarily PCI-specific. Would we prefer to
    have them in linux/dma-mapping.h ?


    Documentation/DMA-mapping.txt | 16 ++++++++--------
    drivers/net/e1000/e1000.h | 2 --
    drivers/net/e1000/e1000_main.c | 4 ++--
    drivers/net/ixgb/ixgb.h | 2 --
    drivers/net/ixgb/ixgb_main.c | 4 ++--
    include/linux/pci.h | 3 +++
    6 files changed, 15 insertions(+), 16 deletions(-)


    diff -Nru a/Documentation/DMA-mapping.txt b/Documentation/DMA-mapping.txt
    --- a/Documentation/DMA-mapping.txt Thu Apr 15 10:05:07 2004
    +++ b/Documentation/DMA-mapping.txt Thu Apr 15 10:05:07 2004
    @@ -132,7 +132,7 @@
    The standard 32-bit addressing PCI device would do something like
    this:

    - if (pci_set_dma_mask(pdev, 0xffffffff)) {
    + if (pci_set_dma_mask(pdev, DMA_32BIT_MASK)) {
    printk(KERN_WARNING
    "mydev: No suitable DMA available.\n");
    goto ignore_this_device;
    @@ -151,9 +151,9 @@

    int using_dac;

    - if (!pci_set_dma_mask(pdev, 0xffffffffffffffff)) {
    + if (!pci_set_dma_mask(pdev, DMA_64BIT_MASK)) {
    using_dac = 1;
    - } else if (!pci_set_dma_mask(pdev, 0xffffffff)) {
    + } else if (!pci_set_dma_mask(pdev, DMA_32BIT_MASK)) {
    using_dac = 0;
    } else {
    printk(KERN_WARNING
    @@ -166,14 +166,14 @@

    int using_dac, consistent_using_dac;

    - if (!pci_set_dma_mask(pdev, 0xffffffffffffffff)) {
    + if (!pci_set_dma_mask(pdev, DMA_64BIT_MASK)) {
    using_dac = 1;
    consistent_using_dac = 1;
    - pci_set_consistent_dma_mask(pdev, 0xffffffffffffffff)
    - } else if (!pci_set_dma_mask(pdev, 0xffffffff)) {
    + pci_set_consistent_dma_mask(pdev, DMA_64BIT_MASK);
    + } else if (!pci_set_dma_mask(pdev, DMA_32BIT_MASK)) {
    using_dac = 0;
    consistent_using_dac = 0;
    - pci_set_consistent_dma_mask(pdev, 0xffffffff)
    + pci_set_consistent_dma_mask(pdev, DMA_32BIT_MASK);
    } else {
    printk(KERN_WARNING
    "mydev: No suitable DMA available.\n");
    @@ -215,7 +215,7 @@

    Here is pseudo-code showing how this might be done:

    - #define PLAYBACK_ADDRESS_BITS 0xffffffff
    + #define PLAYBACK_ADDRESS_BITS DMA_32BIT_MASK
    #define RECORD_ADDRESS_BITS 0x00ffffff

    struct my_sound_card *card;
    diff -Nru a/drivers/net/e1000/e1000.h b/drivers/net/e1000/e1000.h
    --- a/drivers/net/e1000/e1000.h Thu Apr 15 10:05:07 2004
    +++ b/drivers/net/e1000/e1000.h Thu Apr 15 10:05:07 2004
    @@ -74,8 +74,6 @@
    #define BAR_0 0
    #define BAR_1 1
    #define BAR_5 5
    -#define PCI_DMA_64BIT 0xffffffffffffffffULL
    -#define PCI_DMA_32BIT 0x00000000ffffffffULL


    struct e1000_adapter;
    diff -Nru a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c
    --- a/drivers/net/e1000/e1000_main.c Thu Apr 15 10:05:07 2004
    +++ b/drivers/net/e1000/e1000_main.c Thu Apr 15 10:05:07 2004
    @@ -383,10 +383,10 @@
    if((err = pci_enable_device(pdev)))
    return err;

    - if(!(err = pci_set_dma_mask(pdev, PCI_DMA_64BIT))) {
    + if(!(err = pci_set_dma_mask(pdev, DMA_64BIT_MASK))) {
    pci_using_dac = 1;
    } else {
    - if((err = pci_set_dma_mask(pdev, PCI_DMA_32BIT))) {
    + if((err = pci_set_dma_mask(pdev, DMA_32BIT_MASK))) {
    E1000_ERR("No usable DMA configuration, aborting\n");
    return err;
    }
    diff -Nru a/drivers/net/ixgb/ixgb.h b/drivers/net/ixgb/ixgb.h
    --- a/drivers/net/ixgb/ixgb.h Thu Apr 15 10:05:07 2004
    +++ b/drivers/net/ixgb/ixgb.h Thu Apr 15 10:05:07 2004
    @@ -65,8 +65,6 @@
    #define BAR_0 0
    #define BAR_1 1
    #define BAR_5 5
    -#define PCI_DMA_64BIT 0xffffffffffffffffULL
    -#define PCI_DMA_32BIT 0x00000000ffffffffULL

    #include "ixgb_hw.h"
    #include "ixgb_ee.h"
    diff -Nru a/drivers/net/ixgb/ixgb_main.c b/drivers/net/ixgb/ixgb_main.c
    --- a/drivers/net/ixgb/ixgb_main.c Thu Apr 15 10:05:07 2004
    +++ b/drivers/net/ixgb/ixgb_main.c Thu Apr 15 10:05:07 2004
    @@ -308,10 +308,10 @@
    return i;
    }

    - if (!(i = pci_set_dma_mask(pdev, PCI_DMA_64BIT))) {
    + if (!(i = pci_set_dma_mask(pdev, DMA_64BIT_MASK))) {
    pci_using_dac = 1;
    } else {
    - if ((i = pci_set_dma_mask(pdev, PCI_DMA_32BIT))) {
    + if ((i = pci_set_dma_mask(pdev, DMA_32BIT_MASK))) {
    IXGB_ERR("No usable DMA configuration, aborting\n");
    return i;
    }
    diff -Nru a/include/linux/pci.h b/include/linux/pci.h
    --- a/include/linux/pci.h Thu Apr 15 10:05:07 2004
    +++ b/include/linux/pci.h Thu Apr 15 10:05:07 2004
    @@ -433,6 +433,9 @@
    #define PCI_DMA_FROMDEVICE 2
    #define PCI_DMA_NONE 3

    +#define DMA_64BIT_MASK 0xffffffffffffffffULL
    +#define DMA_32BIT_MASK 0x00000000ffffffffULL
    +
    #define DEVICE_COUNT_COMPATIBLE 4
    #define DEVICE_COUNT_RESOURCE 12

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-03-22 14:02    [W:3.988 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site