Speed-up video on fuloong.
* grub-core/bus/bonito.c (grub_pci_device_map_range_cached): New function. (grub_pci_device_unmap_range): Handle non-cached address. * grub-core/video/sis315pro.c (framebuffer): Remove render_target and add direct_ptr. (grub_video_sis315pro_video_fini): Unmap direct_ptr. (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup. (grub_video_sis315pro_set_active_render_target): Removed. (grub_video_sis315pro_get_info_and_fini): Use uncached address. (grub_video_adapter): Use grub_video_fb_set_active_render_target. (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and sync caches. * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached): New proto.
This commit is contained in:
parent
10400f0b61
commit
70aaf3053a
4 changed files with 66 additions and 31 deletions
|
@ -73,15 +73,24 @@ grub_pci_device_map_range (grub_pci_device_t dev __attribute__ ((unused)),
|
|||
grub_fatal ("Out of PCI windows.");
|
||||
}
|
||||
|
||||
void *
|
||||
grub_pci_device_map_range_cached (grub_pci_device_t dev,
|
||||
grub_addr_t base, grub_size_t size)
|
||||
{
|
||||
return (void *) (((grub_addr_t) grub_pci_device_map_range (dev, base, size))
|
||||
& ~0x20000000);
|
||||
}
|
||||
|
||||
void
|
||||
grub_pci_device_unmap_range (grub_pci_device_t dev __attribute__ ((unused)),
|
||||
volatile void *mem __attribute__ ((unused)),
|
||||
volatile void *mem,
|
||||
grub_size_t size __attribute__ ((unused)))
|
||||
{
|
||||
int i;
|
||||
for (i = 0; i < GRUB_MACHINE_PCI_NUM_WIN; i++)
|
||||
if (usage_win[i] && addr_win[i]
|
||||
== (((grub_addr_t) mem) & ~GRUB_MACHINE_PCI_WIN_OFFSET_MASK))
|
||||
== (((grub_addr_t) mem | 0x20000000)
|
||||
& ~GRUB_MACHINE_PCI_WIN_OFFSET_MASK))
|
||||
{
|
||||
usage_win[i]--;
|
||||
return;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue