Subject: CCA4 mapping

From: Hauke Goos-Habermann <[email-masked]>
Date: Thu, 26 May 2005 15:20:34 +0200

Hi all,

I'm trying to make a mapping (with burst mode (CCA4)) from the graphic card 
memory to the virtual memory space.

I used the __ioremap with different parameters without success.

The grafic card memory is 64MB, and can be found at 0x00800000 and should be 
mapped to a memory space that can be accessed via a kernel module or via user 
space.

I tried the following mapping:

add_wired_entry((0x00800000 >> 2) | 0x0027, (0x00900000 >> 2) | 0x0027, 
0x30000000 | 0x0027, 0x01ffe000);
add_wired_entry((0x00a00000 >> 2) | 0x0027, (0x00a00000 >> 2) | 0x0027, 
0x32000000 | 0x0027, 0x01ffe000);

This doesn't work either.

Does anybody have an idea how to make the CCA4 mapping?

Cu Hauke

---

From: Dan Malek <[email-masked]>
Date: Thu, 26 May 2005 15:39:49 -0400

> Does anybody have an idea how to make the CCA4 mapping?

In the mmap() entry for the driver:

	pgprot_val(vma->vm_page_prot) |= (4 << 9);	/* CCA4 */

or, whatever is appropriate.  This will only work from a user
application (like X-Windows) that mmaps() the driver, you
aren't going to get a kernel mapped space this way without
some special VM space hacking.

Thanks.

	-- Dan

---

From: Hauke Goos-Habermann <[email-masked]>
Date: Mon, 30 May 2005 14:05:55 +0200

> 	pgprot_val(vma->vm_page_prot) |= (4 << 9);	/* CCA4 */
This is what I tried earlier. It doesn't speed up the driver. Enabling the 
caching with setting the CMEM register doesn't help too.

> some special VM space hacking.
I think that's what I need. The normal framebuffer driver is very slow and I 
need a faster and direct access to the video memory.

That's why I tried to use the add_wired_entry function. There I can enable the 
CCA4 and make a wired entry. But this doesn't work either:

The graphic card is a FUJITSU MB86290. Does anybody have experiences with this 
device?

Does anybody have an idea how to make the access to the video memory faster?

Cu Hauke