lkml.org 
[lkml]   [2002]   [Feb]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: PATCH 2.5.4 i810_audio, bttv, working at all.
    Martin Dalecki wrote:
    sg->busaddr=virt_to_bus(dmabuf->rawbuf+dmabuf->fragsize*i);
    > + sg->busaddr=virt_to_phys(dmabuf->rawbuf+dmabuf->fragsize*i);
    > // the card will always be doing 16bit stereo
    > sg->control=dmabuf->fragsamples;
    > if(state->card->pci_id == PCI_DEVICE_ID_SI_7012)
    > @@ -954,7 +954,7 @@
    > }
    > spin_lock_irqsave(&state->card->lock, flags);
    > outb(2, state->card->iobase+c->port+OFF_CR); /* reset DMA machine */
    > - outl(virt_to_bus(&c->sg[0]), state->card->iobase+c->port+OFF_BDBAR);
    > + outl(virt_to_phys(&c->sg[0]), state->card->iobase+c->port+OFF_BDBAR);


    These changes are wrong. The addresses desired need to be obtained from
    the pci_alloc_consistent return values.


    > outb(2, state->card->iobase+c->port+OFF_CR); /* reset DMA machine */
    > - outl(virt_to_bus(&c->sg[0]), state->card->iobase+c->port+OFF_BDBAR);
    > + outl(virt_to_phys(&c->sg[0]), state->card->iobase+c->port+OFF_BDBAR);

    likewise

    > - ret = virt_to_bus((void *)kva);
    > + ret = virt_to_phys((void *)kva);

    > va = VMALLOC_VMADDR(adr);
    > kva = uvirt_to_kva(pgd_offset_k(va), va);
    > - ret = virt_to_bus((void *)kva);
    > + ret = virt_to_phys((void *)kva);

    > - btv->nr,virt_to_bus(po), virt_to_bus(pe));
    > + btv->nr,virt_to_phys(po), virt_to_phys(pe));

    ...likewise, etc.

    This works on silly x86 but is not portable at all... definitely not
    for application.


    --
    Jeff Garzik | "I went through my candy like hot oatmeal
    Building 1024 | through an internally-buttered weasel."
    MandrakeSoft | - goats.com
    -
    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 13:18    [W:2.657 / U:0.560 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site