Hi all,<br>I was going through ati kdrive driver.The UploadToScreen gets a src pointer to the memory region to copy to the destination.But this address is a virtual space address.This address is used as follows to perform the upload operation.
<br>ATIUploadToScreen(PixmapPtr pDst, char *src, int src_pitch)<br>{<br>.....<br>.....<br>//code from  hw/kdrive/ati_draw.c <br>
BEGIN_DMA(1);<br>
  OUT_RING(((CARD32 *)src)[i]);<br>
  END_DMA();<br>
....<br>....<br>}<br>How does sga accelerator use this address for copying.To my knowledge graphics accelerator does not have any knowledge of the this virtual address.The ati graphics  accelerator needs a physical address to perform the 
copy.How is this done?Correct me if i am wrong anywhere.I am not very clear about what is this DMA being used for.<br>Actually, I have a similar situation.I am writing a kdrive driver for my graphics card.And i need a physical address corresponding to this virtual  address which i will feed to my graphics 
accelerator.Please help. <br><br><br><br>