Subject: Re: Mach64 framebuffer driver and testers needed
To: None <eeh@netbsd.org>
From: Bang Jun-Young <junyoung@mogua.com>
List: tech-kern
Date: 01/23/2002 02:55:38
On Tue, Jan 22, 2002 at 05:00:14AM -0000, eeh@netbsd.org wrote:
> Linear mappings are only needed if you plan to use bus_space_vaddr()
> and do direct memory accesses instead of using bus_space_{read,write}*().
> Using linear mappings limits you to instances where the ranges can be
> accessed with normal memory accesses.  But, if the device cannot be
> accessed that way and needs a special instruction coding, the driver
> will not work.

Right. I should modify reg*() so that they make use of bus_space_*().
That will be done after I've got mode switching fully working. I
think it's getting closer... :)

> | And the reason why I used u_int32_t was the following code in
> | vga_pci.c:
> |
> | 		if (PCI_MAPREG_MEM_TYPE(psc->sc_bars[bar].vb_type) ==
> | 		    PCI_MAPREG_MEM_TYPE_64BIT) {
> | 			/* XXX */
> | 			printf("%s: WARNING: ignoring 64-bit BAR @ 0x%02x\n",
> | 			    sc->sc_dev.dv_xname, reg);
> | 			continue;
> | 		}
> |
> | Does NetBSD support 64 bit PCI I/O? Or is it possible to use 64 bit
> | capable cards on 32 bit machines?
> 
> 64-bit PCI support is only required if you need 64-bit addressing.
> So, unless your device needs more than a few hundred megs of PCI
> address space or needs to do direct I/O to a machine with a 64-bit
> address space, you don't need 64-bit PCI.
> 
> 64-bit accesses are comppletely different issue.  They should be
> completely transparent to the hardware, and in fact it should be
> possible for a write combining memory controller to combine a
> series of small adjacent memory operations into a single 64-bit
> PCI bus transaction.
> 
> I suppose 64-bit transactions are really only significant when
> using the CPU for bitblits, where bandwidth is really important.

Thanks for your comments,

Jun-Young

-- 
Bang Jun-Young <junyoung@mogua.com>