Re: radeonfb, dedicate memory to something else
Jon Smirl wrote: On 7/20/08, Matt Sealey [EMAIL PROTECTED] wrote: Hi guys, I know this isn't a PPC question, but since some of the RadeonFB developers live here I thought best (and it's about a PPC platform). Is there any way to hack up the RadeonFB driver - or anything related - to reserve portions of the memory for a fake MTD or so, and still use the Radeon as a graphics device? What I am talking about basically is turning a 64MB Radeon card into a 32MB Radeon card, or a 128MB one into a 64MB card.. Somebody write this long ago. Maybe around 2000. That's all I remember. I think they made the video memory into a ram disk. Yeah making it into a ramdisk precludes the use of the card as a video card though.. this is what I am trying to get around. If fbdev and X can cooperate on believing that a 64MB card is a 32MB card, then the upper 32MB can be used to attach the MTD ram driver at a certain address (maybe we can even make a hacky stub driver that recognizes this configuration based on OF tree..) There are obvious limitations in that the Pegasos/Efika firmware only will map 128MB of video memory, and the PCI BAR is limited to 256MB chunks anyway, but that shouldn't matter. I just wonder, how it can be done that radeonfb or other graphics drivers can be told please only use the first 32MB and then either manually or automatically, map the rest as ramdisk. I believe there is more to it, the GART window may be smaller than the total RAM on the card. You need to use the GART to map in the appropriate pieces. The problem here is the PCI bus on the Efika is a PCI bus, with an AGP riser. It doesn't add any AGP functionality like real GART on the host controller side, so there is nothing to map system memory into AGP's view of the system.. it always confused me how pcigart is meant to work and how an AGP GART does anything different to how PCI works in the first place (the documentation/spec doesn't make it that clear in my opinion :) You would certainly know better than I.. -- Matt Sealey [EMAIL PROTECTED] Genesi, Manager, Developer Relations ___ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev
Re: radeonfb, dedicate memory to something else
On Tue, 2008-07-22 at 09:31 +0100, Matt Sealey wrote: Jon Smirl wrote: On 7/20/08, Matt Sealey [EMAIL PROTECTED] wrote: Hi guys, I know this isn't a PPC question, but since some of the RadeonFB developers live here I thought best (and it's about a PPC platform). Is there any way to hack up the RadeonFB driver - or anything related - to reserve portions of the memory for a fake MTD or so, and still use the Radeon as a graphics device? What I am talking about basically is turning a 64MB Radeon card into a 32MB Radeon card, or a 128MB one into a 64MB card.. Somebody write this long ago. Maybe around 2000. That's all I remember. I think they made the video memory into a ram disk. Yeah making it into a ramdisk precludes the use of the card as a video card though.. this is what I am trying to get around. If fbdev and X can cooperate on believing that a 64MB card is a 32MB card, then the upper 32MB can be used to attach the MTD ram driver at a certain address (maybe we can even make a hacky stub driver that recognizes this configuration based on OF tree..) There are obvious limitations in that the Pegasos/Efika firmware only will map 128MB of video memory, and the PCI BAR is limited to 256MB chunks anyway, but that shouldn't matter. I just wonder, how it can be done that radeonfb or other graphics drivers can be told please only use the first 32MB and then either manually or automatically, map the rest as ramdisk. You can limit the amount of video RAM used by X using the VideoRam directive in xorg.conf(5). I believe there is more to it, the GART window may be smaller than the total RAM on the card. You need to use the GART to map in the appropriate pieces. The problem here is the PCI bus on the Efika is a PCI bus, with an AGP riser. It doesn't add any AGP functionality like real GART on the host controller side, so there is nothing to map system memory into AGP's view of the system.. it always confused me how pcigart is meant to work and how an AGP GART does anything different to how PCI works in the first place (the documentation/spec doesn't make it that clear in my opinion :) GART doesn't have anything to do with this. I suspect he was thinking of the PCI BARs not covering all video RAM. -- Earthling Michel Dänzer | http://tungstengraphics.com Libre software enthusiast | Debian, X and DRI developer ___ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev
Re: radeonfb, dedicate memory to something else
Michel Dänzer wrote: On Tue, 2008-07-22 at 09:31 +0100, Matt Sealey wrote: or other graphics drivers can be told please only use the first 32MB and then either manually or automatically, map the rest as ramdisk. You can limit the amount of video RAM used by X using the VideoRam directive in xorg.conf(5). Ah okay. So now.. how do we do this for framebuffers? Is it safe to poke around in radeon_identify_vram and maybe supply a kernel argument videomem=32M and let it check, if it's bigger, then limit it, and if not, keep the old size in rinfo-video_ram? Can/could this be moved to all relevant framebuffer drivers? GART doesn't have anything to do with this. I suspect he was thinking of the PCI BARs not covering all video RAM. That's certainly not the case here. -- Matt Sealey [EMAIL PROTECTED] Genesi, Manager, Developer Relations ___ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev
Re: radeonfb, dedicate memory to something else
On 7/22/08, Matt Sealey [EMAIL PROTECTED] wrote: Michel Dänzer wrote: On Tue, 2008-07-22 at 09:31 +0100, Matt Sealey wrote: or other graphics drivers can be told please only use the first 32MB and then either manually or automatically, map the rest as ramdisk. You can limit the amount of video RAM used by X using the VideoRam directive in xorg.conf(5). Is it safe to poke around in radeon_identify_vram and maybe supply a kernel argument videomem=32M and let it check, if it's bigger, then limit it, and if not, keep the old size in rinfo-video_ram? Can/could this be moved to all relevant framebuffer drivers? GART doesn't have anything to do with this. I suspect he was thinking of the PCI BARs not covering all video RAM. That's certainly not the case here. Yes, I'm forgetting how graphics work. If you can map all of VRAM into the PCI address space then you don't have to worry about sharing the window with X. Ah okay. So now.. how do we do this for framebuffers? My memory is suspect, but first you would need to make sure all of VRAM is mapped. Then there is a value in fb that says how much of the VRAM it is using. Anything above the max is fair game if X isn't running. Note that the amount of VRAM in use by fbdev is a function of which display mode it is in. -- Matt Sealey [EMAIL PROTECTED] Genesi, Manager, Developer Relations -- Jon Smirl [EMAIL PROTECTED] ___ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev
Re: radeonfb, dedicate memory to something else
On 7/20/08, Matt Sealey [EMAIL PROTECTED] wrote: Hi guys, I know this isn't a PPC question, but since some of the RadeonFB developers live here I thought best (and it's about a PPC platform). Is there any way to hack up the RadeonFB driver - or anything related - to reserve portions of the memory for a fake MTD or so, and still use the Radeon as a graphics device? What I am talking about basically is turning a 64MB Radeon card into a 32MB Radeon card, or a 128MB one into a 64MB card.. Somebody write this long ago. Maybe around 2000. That's all I remember. I think they made the video memory into a ram disk. I believe there is more to it, the GART window may be smaller than the total RAM on the card. You need to use the GART to map in the appropriate pieces. I think this can be done by hacking a PCI fixup perhaps, for Efika only in my case, whereby the memory ranges are fiddled. Perhaps, a better solution is to use some kind of in-kernel subsystem to allocate and return a 32MB segment of PCI memory (and put it in an named rheap) but I assume other drivers can and will simply walk all over it? -- Matt Sealey [EMAIL PROTECTED] Genesi, Manager, Developer Relations ___ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev -- Jon Smirl [EMAIL PROTECTED] ___ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev
radeonfb, dedicate memory to something else
Hi guys, I know this isn't a PPC question, but since some of the RadeonFB developers live here I thought best (and it's about a PPC platform). Is there any way to hack up the RadeonFB driver - or anything related - to reserve portions of the memory for a fake MTD or so, and still use the Radeon as a graphics device? What I am talking about basically is turning a 64MB Radeon card into a 32MB Radeon card, or a 128MB one into a 64MB card.. I think this can be done by hacking a PCI fixup perhaps, for Efika only in my case, whereby the memory ranges are fiddled. Perhaps, a better solution is to use some kind of in-kernel subsystem to allocate and return a 32MB segment of PCI memory (and put it in an named rheap) but I assume other drivers can and will simply walk all over it? -- Matt Sealey [EMAIL PROTECTED] Genesi, Manager, Developer Relations ___ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev