lkml.org 
[lkml]   [2011]   [Jun]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH] tentative fix for radeon on systems >4GB without hardware iommu
    On Fri, Jun 03, 2011 at 04:44:59PM -0400, Alex Deucher wrote:
    > On Fri, Jun 3, 2011 at 1:31 PM, Daniel Haid <d.haid@gogi.tv> wrote:
    > > On my x86_64 system with >4GB of ram and swiotlb instead of
    > > a hardware iommu (because I have a VIA chipset), the call
    > > to pci_set_dma_mask (see below) with 40bits returns an error.
    > >
    > > But it seems that the radeon driver is designed to have
    > > need_dma32 = true exactly if pci_set_dma_mask is called
    > > with 32 bits and false if it is called with 40 bits.
    > >
    > > I have read somewhere that the default are 32 bits. So if the
    > > call fails I suppose that need_dma32 should be set to true.
    > >
    > > And indeed the patch fixes the problem I have had before
    > > and which I had described here:
    > > http://choon.net/forum/read.php?21,106131,115940
    >
    > This looks like the correct fix. rdev->need_dma32 is used when we init
    > ttm for memory management later.
    >
    > Alex

    <nods>

    Daniel, did you find other graphic drivers that forget to set need_dma32
    after failing to set the dma_mask ?

    >
    > Acked-by: Alex Deucher <alexdeucher@gmail.com>
    >
    > >
    > > --- linux-2.6.39-gentoo/drivers/gpu/drm/radeon/radeon_device.c.old
    > >  2011-06-03 19:11:33.208891994 +0200
    > > +++ linux-2.6.39-gentoo/drivers/gpu/drm/radeon/radeon_device.c  2011-06-03
    > > 19:21:10.240337986 +0200
    > > @@ -752,6 +752,7 @@ int radeon_device_init(struct radeon_dev
    > >        dma_bits = rdev->need_dma32 ? 32 : 40;
    > >        r = pci_set_dma_mask(rdev->pdev, DMA_BIT_MASK(dma_bits));
    > >        if (r) {
    > > +               rdev->need_dma32 = true;
    > >                printk(KERN_WARNING "radeon: No suitable DMA available.\n");
    > >        }
    > >
    > >
    --
    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: 2011-06-04 01:17    [W:0.027 / U:96.976 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site