[PATCH 0/7] x86 dma_*_coherent rework patchset - Kernel

This is a discussion on [PATCH 0/7] x86 dma_*_coherent rework patchset - Kernel ; Hi, this patchset reworks the dma_*_coherent functions in the DMA layer for the x86 architecture. The patch series extends the existing DMA backends with missing *coherent callbacks and simplifies the generic function to basically only call the registered backend. This ...

+ Reply to Thread
Results 1 to 15 of 15

Thread: [PATCH 0/7] x86 dma_*_coherent rework patchset

  1. [PATCH 0/7] x86 dma_*_coherent rework patchset

    Hi,

    this patchset reworks the dma_*_coherent functions in the DMA layer for the x86
    architecture. The patch series extends the existing DMA backends with missing
    *coherent callbacks and simplifies the generic function to basically only call
    the registered backend. This allows future optimizations in hardware specific
    IOMMU implementations.
    The code ist tested on AMD64 with AMD IOMMU and GART as well as on my old 486
    box. It is not yet tested on a Calgary IOMMU system.

    Joerg

    git diff --stat tip/master:

    arch/x86/kernel/amd_iommu.c | 2 -
    arch/x86/kernel/pci-calgary_64.c | 14 +++++
    arch/x86/kernel/pci-dma.c | 116 +++----------------------------------
    arch/x86/kernel/pci-gart_64.c | 31 ++++++++++
    arch/x86/kernel/pci-nommu.c | 45 +++++++++++++++
    5 files changed, 100 insertions(+), 108 deletions(-)




    --
    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/

  2. [PATCH 4/7] x86: add alloc_coherent dma_ops callback to NOMMU driver

    Signed-off-by: Joerg Roedel
    ---
    arch/x86/kernel/pci-nommu.c | 38 ++++++++++++++++++++++++++++++++++++++
    1 files changed, 38 insertions(+), 0 deletions(-)

    diff --git a/arch/x86/kernel/pci-nommu.c b/arch/x86/kernel/pci-nommu.c
    index 3f91f71..4d8cde3 100644
    --- a/arch/x86/kernel/pci-nommu.c
    +++ b/arch/x86/kernel/pci-nommu.c
    @@ -72,7 +72,45 @@ static int nommu_map_sg(struct device *hwdev, struct scatterlist *sg,
    return nents;
    }

    +static void *
    +nommu_alloc_coherent(struct device *hwdev, size_t size,
    + dma_addr_t *dma_addr, gfp_t gfp)
    +{
    + unsigned long dma_mask;
    + int node;
    + struct page *page;
    +
    + if (hwdev->dma_mask == NULL)
    + return NULL;
    +
    + gfp &= ~(__GFP_DMA | __GFP_HIGHMEM | __GFP_DMA32);
    + gfp |= __GFP_ZERO;
    +
    + dma_mask = hwdev->coherent_dma_mask;
    + if (!dma_mask)
    + dma_mask = *(hwdev->dma_mask);
    +
    + if (dma_mask <= DMA_24BIT_MASK)
    + gfp |= GFP_DMA;
    + else if (dma_mask <= DMA_32BIT_MASK)
    + gfp |= GFP_DMA32;
    +
    + node = dev_to_node(hwdev);
    + page = alloc_pages_node(node, gfp, get_order(size));
    + if (!page)
    + return NULL;
    +
    + *dma_addr = page_to_phys(page);
    + if (check_addr("alloc_coherent", hwdev, *dma_addr, size))
    + return page_address(page);
    +
    + free_pages((unsigned long)page_address(page), get_order(size));
    +
    + return NULL;
    +}
    +
    struct dma_mapping_ops nommu_dma_ops = {
    + .alloc_coherent = nommu_alloc_coherent,
    .map_single = nommu_map_single,
    .map_sg = nommu_map_sg,
    .is_phys = 1,
    --
    1.5.3.7


    --
    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/

  3. [PATCH 7/7] x86, AMD IOMMU: remove obsolete FIXME comment

    Signed-off-by: Joerg Roedel
    ---
    arch/x86/kernel/amd_iommu.c | 2 --
    1 files changed, 0 insertions(+), 2 deletions(-)

    diff --git a/arch/x86/kernel/amd_iommu.c b/arch/x86/kernel/amd_iommu.c
    index 22d7d05..61d2d59 100644
    --- a/arch/x86/kernel/amd_iommu.c
    +++ b/arch/x86/kernel/amd_iommu.c
    @@ -1035,8 +1035,6 @@ out:

    /*
    * The exported free_coherent function for dma_ops.
    - * FIXME: fix the generic x86 DMA layer so that it actually calls that
    - * function.
    */
    static void free_coherent(struct device *dev, size_t size,
    void *virt_addr, dma_addr_t dma_addr)
    --
    1.5.3.7


    --
    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/

  4. [PATCH 3/7] x86: add free_coherent dma_ops callback to Calgary IOMMU driver

    Signed-off-by: Joerg Roedel
    ---
    arch/x86/kernel/pci-calgary_64.c | 14 ++++++++++++++
    1 files changed, 14 insertions(+), 0 deletions(-)

    diff --git a/arch/x86/kernel/pci-calgary_64.c b/arch/x86/kernel/pci-calgary_64.c
    index b24f1e8..6b67446 100644
    --- a/arch/x86/kernel/pci-calgary_64.c
    +++ b/arch/x86/kernel/pci-calgary_64.c
    @@ -510,8 +510,22 @@ error:
    return ret;
    }

    +static void calgary_free_coherent(struct device *dev, size_t size,
    + void *vaddr, dma_addr_t dma_handle)
    +{
    + unsigned int npages;
    + struct iommu_table *tbl = find_iommu_table(dev);
    +
    + size = PAGE_ALIGN(size);
    + npages = size >> PAGE_SHIFT;
    +
    + iommu_free(tbl, dma_handle, npages);
    + free_pages((unsigned long)vaddr, get_order(size));
    +}
    +
    static struct dma_mapping_ops calgary_dma_ops = {
    .alloc_coherent = calgary_alloc_coherent,
    + .free_coherent = calgary_free_coherent,
    .map_single = calgary_map_single,
    .unmap_single = calgary_unmap_single,
    .map_sg = calgary_map_sg,
    --
    1.5.3.7


    --
    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/

  5. Re: [PATCH 0/7] x86 dma_*_coherent rework patchset

    [added Andi to CC]

    On Tue, Aug 12, 2008 at 05:24:10PM +0200, Joerg Roedel wrote:
    > Hi,
    >
    > this patchset reworks the dma_*_coherent functions in the DMA layer
    > for the x86 architecture. The patch series extends the existing DMA
    > backends with missing *coherent callbacks and simplifies the generic
    > function to basically only call the registered backend. This allows
    > future optimizations in hardware specific IOMMU implementations.
    > The code ist tested on AMD64 with AMD IOMMU and GART as well as on
    > my old 486 box. It is not yet tested on a Calgary IOMMU system.


    Now it is---appears to work fine on a Calgary system.

    In general the patchset looks good and is definitely a step in the
    right direction. I am a bit concerned about the contortions that the
    generic dma_alloc_coherent went through before calling the ops
    version---have you verified they are no longer needed?

    Cheers,
    Muli
    --
    Workshop on I/O Virtualization (WIOV '08)
    Co-located with OSDI '08, Dec 2008, San Diego, CA
    http://www.usenix.org/wiov08
    --
    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/

  6. Re: [PATCH 3/7] x86: add free_coherent dma_ops callback to Calgary IOMMU driver

    On Tue, Aug 12, 2008 at 05:24:13PM +0200, Joerg Roedel wrote:

    > Signed-off-by: Joerg Roedel


    Acked-by: Muli Ben-Yehuda

    Cheers,
    Muli
    --
    Workshop on I/O Virtualization (WIOV '08)
    Co-located with OSDI '08, Dec 2008, San Diego, CA
    http://www.usenix.org/wiov08
    --
    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/

  7. Re: [PATCH 0/7] x86 dma_*_coherent rework patchset

    On Tue, Aug 12, 2008 at 07:06:58PM +0300, Muli Ben-Yehuda wrote:
    > [added Andi to CC]
    >
    > On Tue, Aug 12, 2008 at 05:24:10PM +0200, Joerg Roedel wrote:
    > > Hi,
    > >
    > > this patchset reworks the dma_*_coherent functions in the DMA layer
    > > for the x86 architecture. The patch series extends the existing DMA
    > > backends with missing *coherent callbacks and simplifies the generic
    > > function to basically only call the registered backend. This allows
    > > future optimizations in hardware specific IOMMU implementations.
    > > The code ist tested on AMD64 with AMD IOMMU and GART as well as on
    > > my old 486 box. It is not yet tested on a Calgary IOMMU system.

    >
    > Now it is---appears to work fine on a Calgary system.
    >
    > In general the patchset looks good and is definitely a step in the
    > right direction. I am a bit concerned about the contortions that the
    > generic dma_alloc_coherent went through before calling the ops
    > version---have you verified they are no longer needed?


    Most of the logic in the old dma_alloc_coherent function is moved to the
    specific IOMMU implementations now. The old function tried to handle all
    cases, hardware IOMMU, GART and NOMMU in one function which made it a
    bit hard to read. This logic is split up and moved to the specific DMA
    backends now.

    Joerg

    --
    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/

  8. Re: [PATCH 4/7] x86: add alloc_coherent dma_ops callback to NOMMU driver

    On Tue, Aug 12, 2008 at 05:24:14PM +0200, Joerg Roedel wrote:
    > +static void *
    > +nommu_alloc_coherent(struct device *hwdev, size_t size,
    > + dma_addr_t *dma_addr, gfp_t gfp)
    > +{
    > + unsigned long dma_mask;
    > + int node;
    > + struct page *page;
    > +
    > + if (hwdev->dma_mask == NULL)
    > + return NULL;
    > +
    > + gfp &= ~(__GFP_DMA | __GFP_HIGHMEM | __GFP_DMA32);
    > + gfp |= __GFP_ZERO;
    > +
    > + dma_mask = hwdev->coherent_dma_mask;
    > + if (!dma_mask)
    > + dma_mask = *(hwdev->dma_mask);
    > +
    > + if (dma_mask <= DMA_24BIT_MASK)
    > + gfp |= GFP_DMA;
    > + else if (dma_mask <= DMA_32BIT_MASK)
    > + gfp |= GFP_DMA32;


    Argh. But there is a bug in this logic :-(
    I fix it and resend.

    Joerg

    --
    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/

  9. Re: [PATCH 6/7] x86: cleanup dma_*_coherent functions

    On Tue, 12 Aug 2008 17:24:16 +0200
    Joerg Roedel wrote:

    > All dma_ops implementations support the alloc_coherent and free_coherent
    > callbacks now. This allows a big simplification of the dma_alloc_coherent
    > function which is done with this patch. The dma_free_coherent functions is also
    > cleaned up and calls now the free_coherent callback of the dma_ops
    > implementation.
    >
    > Signed-off-by: Joerg Roedel
    > ---
    > arch/x86/kernel/pci-dma.c | 116 ++++-----------------------------------------
    > 1 files changed, 10 insertions(+), 106 deletions(-)
    >
    > diff --git a/arch/x86/kernel/pci-dma.c b/arch/x86/kernel/pci-dma.c
    > index f704cb5..60fa80d 100644
    > --- a/arch/x86/kernel/pci-dma.c
    > +++ b/arch/x86/kernel/pci-dma.c


    How about moving dma_free_coherent and dma_alloc_coherent to
    asm-x86/dma-mapping.h? It would be nice to have all the dma operations
    in one place.
    --
    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/

  10. Re: [PATCH 1/7] x86: add alloc_coherent dma_ops callback to GART driver

    On Tue, 12 Aug 2008 17:24:11 +0200
    Joerg Roedel wrote:

    > Signed-off-by: Joerg Roedel
    > ---
    > arch/x86/kernel/pci-gart_64.c | 21 +++++++++++++++++++++
    > 1 files changed, 21 insertions(+), 0 deletions(-)
    >
    > diff --git a/arch/x86/kernel/pci-gart_64.c b/arch/x86/kernel/pci-gart_64.c
    > index cdab678..55cc388 100644
    > --- a/arch/x86/kernel/pci-gart_64.c
    > +++ b/arch/x86/kernel/pci-gart_64.c
    > @@ -499,6 +499,26 @@ error:
    > return 0;
    > }
    >
    > +/* allocate and map a coherent mapping */
    > +static void *
    > +gart_alloc_coherent(struct device *dev, size_t size, dma_addr_t *dma_addr,
    > + gfp_t flag)
    > +{
    > + void *vaddr;
    > +
    > + vaddr = (void *)__get_free_pages(flag, get_order(size));
    > + if (!vaddr)
    > + return NULL;
    > +
    > + *dma_addr = gart_map_single(dev, __pa(vaddr), size, DMA_BIDIRECTIONAL);
    > + if (*dma_addr != bad_dma_address)
    > + return vaddr;
    > +
    > + free_pages((unsigned long)vaddr, get_order(size));
    > +
    > + return NULL;
    > +}
    > +
    > static int no_agp;


    It would be better to return a size-aligned memory as DMA-mapping.txt
    says (though I don't think that it doesn't matter much):

    http://lkml.org/lkml/2008/8/8/555


    I also think that x86 IOMMUs need to handle DMA_*BIT_MASK properly,
    don't we?
    --
    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/

  11. Re: [PATCH 2/7] x86: add free_coherent dma_ops callback to GART driver

    On Tue, 12 Aug 2008 17:24:12 +0200
    Joerg Roedel wrote:

    > Signed-off-by: Joerg Roedel
    > ---
    > arch/x86/kernel/pci-gart_64.c | 10 ++++++++++
    > 1 files changed, 10 insertions(+), 0 deletions(-)
    >
    > diff --git a/arch/x86/kernel/pci-gart_64.c b/arch/x86/kernel/pci-gart_64.c
    > index 55cc388..18db09b 100644
    > --- a/arch/x86/kernel/pci-gart_64.c
    > +++ b/arch/x86/kernel/pci-gart_64.c


    It would be better to foil this to the first patch, I think. Any
    reasonable reason to add alloc_coherent and free_coherent with two
    separate patches?

    I think that you can remove map_simple in gart (and please don't
    forget to remove map_simple in struct dma_mapping_ops. I think only
    GART uses that hook).
    --
    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/

  12. Re: [PATCH 0/7] x86 dma_*_coherent rework patchset

    On Tue, 12 Aug 2008 17:24:10 +0200
    Joerg Roedel wrote:

    > Hi,
    >
    > this patchset reworks the dma_*_coherent functions in the DMA layer for the x86
    > architecture. The patch series extends the existing DMA backends with missing
    > *coherent callbacks and simplifies the generic function to basically only call
    > the registered backend. This allows future optimizations in hardware specific
    > IOMMU implementations.
    > The code ist tested on AMD64 with AMD IOMMU and GART as well as on my old 486
    > box. It is not yet tested on a Calgary IOMMU system.
    >
    > Joerg
    >
    > git diff --stat tip/master:
    >
    > arch/x86/kernel/amd_iommu.c | 2 -
    > arch/x86/kernel/pci-calgary_64.c | 14 +++++
    > arch/x86/kernel/pci-dma.c | 116 +++----------------------------------
    > arch/x86/kernel/pci-gart_64.c | 31 ++++++++++
    > arch/x86/kernel/pci-nommu.c | 45 +++++++++++++++
    > 5 files changed, 100 insertions(+), 108 deletions(-)


    Really nice. I think that this is how other architectures that support
    multiple IOMMUs handle dma operations, and this is the right thing for
    x86 too.
    --
    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/

  13. Re: [PATCH 1/7] x86: add alloc_coherent dma_ops callback to GART driver

    On Wed, Aug 13, 2008 at 09:45:54AM +0900, FUJITA Tomonori wrote:
    > On Tue, 12 Aug 2008 17:24:11 +0200
    > Joerg Roedel wrote:
    >
    > > Signed-off-by: Joerg Roedel
    > > ---
    > > arch/x86/kernel/pci-gart_64.c | 21 +++++++++++++++++++++
    > > 1 files changed, 21 insertions(+), 0 deletions(-)
    > >
    > > diff --git a/arch/x86/kernel/pci-gart_64.c b/arch/x86/kernel/pci-gart_64.c
    > > index cdab678..55cc388 100644
    > > --- a/arch/x86/kernel/pci-gart_64.c
    > > +++ b/arch/x86/kernel/pci-gart_64.c
    > > @@ -499,6 +499,26 @@ error:
    > > return 0;
    > > }
    > >
    > > +/* allocate and map a coherent mapping */
    > > +static void *
    > > +gart_alloc_coherent(struct device *dev, size_t size, dma_addr_t *dma_addr,
    > > + gfp_t flag)
    > > +{
    > > + void *vaddr;
    > > +
    > > + vaddr = (void *)__get_free_pages(flag, get_order(size));
    > > + if (!vaddr)
    > > + return NULL;
    > > +
    > > + *dma_addr = gart_map_single(dev, __pa(vaddr), size, DMA_BIDIRECTIONAL);
    > > + if (*dma_addr != bad_dma_address)
    > > + return vaddr;
    > > +
    > > + free_pages((unsigned long)vaddr, get_order(size));
    > > +
    > > + return NULL;
    > > +}
    > > +
    > > static int no_agp;

    >
    > It would be better to return a size-aligned memory as DMA-mapping.txt
    > says (though I don't think that it doesn't matter much):
    >
    > http://lkml.org/lkml/2008/8/8/555


    Agreed. I try to change the patchset so it returns size aligned dma
    addresses.

    > I also think that x86 IOMMUs need to handle DMA_*BIT_MASK properly,
    > don't we?


    Shouldn't this be done by the IOMMUs using your iommu_area_alloc()
    function? Or do I misunderstand something?

    Joerg

    --
    | AMD Saxony Limited Liability Company & Co. KG
    Operating | Wilschdorfer Landstr. 101, 01109 Dresden, Germany
    System | Register Court Dresden: HRA 4896
    Research | General Partner authorized to represent:
    Center | AMD Saxony LLC (Wilmington, Delaware, US)
    | General Manager of AMD Saxony LLC: Dr. Hans-R. Deppe, Thomas McCoy

    --
    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/

  14. Re: [PATCH 6/7] x86: cleanup dma_*_coherent functions

    On Wed, Aug 13, 2008 at 09:45:51AM +0900, FUJITA Tomonori wrote:
    > On Tue, 12 Aug 2008 17:24:16 +0200
    > Joerg Roedel wrote:
    >
    > > All dma_ops implementations support the alloc_coherent and free_coherent
    > > callbacks now. This allows a big simplification of the dma_alloc_coherent
    > > function which is done with this patch. The dma_free_coherent functions is also
    > > cleaned up and calls now the free_coherent callback of the dma_ops
    > > implementation.
    > >
    > > Signed-off-by: Joerg Roedel
    > > ---
    > > arch/x86/kernel/pci-dma.c | 116 ++++-----------------------------------------
    > > 1 files changed, 10 insertions(+), 106 deletions(-)
    > >
    > > diff --git a/arch/x86/kernel/pci-dma.c b/arch/x86/kernel/pci-dma.c
    > > index f704cb5..60fa80d 100644
    > > --- a/arch/x86/kernel/pci-dma.c
    > > +++ b/arch/x86/kernel/pci-dma.c

    >
    > How about moving dma_free_coherent and dma_alloc_coherent to
    > asm-x86/dma-mapping.h? It would be nice to have all the dma operations
    > in one place.


    Actually I thought about the other direction. Having these functions not
    inlined should not add a big overhead but reduces kernel code size.

    Joerg

    --
    | AMD Saxony Limited Liability Company & Co. KG
    Operating | Wilschdorfer Landstr. 101, 01109 Dresden, Germany
    System | Register Court Dresden: HRA 4896
    Research | General Partner authorized to represent:
    Center | AMD Saxony LLC (Wilmington, Delaware, US)
    | General Manager of AMD Saxony LLC: Dr. Hans-R. Deppe, Thomas McCoy

    --
    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/

  15. Re: [PATCH 2/7] x86: add free_coherent dma_ops callback to GART driver

    On Wed, Aug 13, 2008 at 09:45:53AM +0900, FUJITA Tomonori wrote:
    > On Tue, 12 Aug 2008 17:24:12 +0200
    > Joerg Roedel wrote:
    >
    > > Signed-off-by: Joerg Roedel
    > > ---
    > > arch/x86/kernel/pci-gart_64.c | 10 ++++++++++
    > > 1 files changed, 10 insertions(+), 0 deletions(-)
    > >
    > > diff --git a/arch/x86/kernel/pci-gart_64.c b/arch/x86/kernel/pci-gart_64.c
    > > index 55cc388..18db09b 100644
    > > --- a/arch/x86/kernel/pci-gart_64.c
    > > +++ b/arch/x86/kernel/pci-gart_64.c

    >
    > It would be better to foil this to the first patch, I think. Any
    > reasonable reason to add alloc_coherent and free_coherent with two
    > separate patches?


    Yes possible. Its always a bit hard to split the patches correctly. Some
    maintainers prefer small patches and for others its split up too much
    then. If I am in doubt I often chose to split a patch.

    > I think that you can remove map_simple in gart (and please don't
    > forget to remove map_simple in struct dma_mapping_ops. I think only
    > GART uses that hook).


    Ok, I will check that and send a sperate patch.

    Joerg

    --
    | AMD Saxony Limited Liability Company & Co. KG
    Operating | Wilschdorfer Landstr. 101, 01109 Dresden, Germany
    System | Register Court Dresden: HRA 4896
    Research | General Partner authorized to represent:
    Center | AMD Saxony LLC (Wilmington, Delaware, US)
    | General Manager of AMD Saxony LLC: Dr. Hans-R. Deppe, Thomas McCoy

    --
    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/

+ Reply to Thread