-----Original Message----- From: Arjan van de Ven [mailto:arjan@xxxxxxxxxxxxx] Sent: Saturday, May 27, 2006 6:58 PM To: Muneeswaran P - TLS, Chennai Cc: kernelnewbies@xxxxxxxxxxxx Subject: Re: kernel memory allocation - please help me On Sat, 2006-05-27 at 17:13 +0530, Muneeswaran P - TLS, Chennai wrote: > Hi, > > Pls help me. > > I am writing device driver (kernel 2.6 ) for PCI-X card. > > Pls clarify the following doubts: > 1. DPRAM is memory mapped to PCI-X card. BAR-0 is mapped to DPRAM. > 2. I have to transfer data from main memory to DPRAM using bus > master concept. > > 3. I have allocated main memory using kmalloc() call. How to make > this main memory area as non-cacheable one ? why would it have to be uncachable? Processors keep copies of recently accessed memory areas in a fast, local cache; without this cache, reasonable performance is not possible. If the device changes an area of main memory, it is imperative that any processor caches covering that area be invalidated; otherwise the processor may work with an incorrect image of main memory, and data corruption results. Similarly, when the device reads data from main memory, any changes to that memory residing in processor caches must be flushed out first. > > 4. Whether DMA mapping (pci_map_single() call ) should be done for > both DPRAM and main memory ? for main memory only; you would need ioremap for the BAR memory *IF* you want the cpu to access it > > 4.a) I will get the physical address of DPRAM memory (memory > mapped to PCI-X card) from BAR-0 register. Can i use this physical addres > directly for data transer using bus master (without pci_map_single() call.) that is device memory and up to your device; more than likely the bus master function of your device just starts at offset 0 of the dpram and doesn't care at all about the bar address DISCLAIMER The contents of this e-mail and any attachment(s) are confidential and intended for the named recipient(s) only. It shall not attach any liability on the originator or HCL or its affiliates. Any views or opinions presented in this email are solely those of the author and may not necessarily reflect the opinions of HCL or its affiliates. Any form of reproduction, dissemination, copying, disclosure, modification, distribution and / or publication of this message without the prior written consent of the author of this e-mail is strictly prohibited. If you have received this email in error please delete it and notify the sender immediately. Before opening any mail and attachments please check them for viruses and defect. -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/