Applied the cleaned/fixed version of patch by YellowTab:

* essentially, it makes sure certain bits in the PCI config are set
* also added two more device IDs, which I have disabled for now


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19515 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Axel Dörfler 2006-12-14 15:26:54 +00:00
parent c166aa847e
commit 60b71f6575
4 changed files with 13 additions and 2 deletions

View File

@ -6,6 +6,9 @@ UsePrivateHeaders [ FDirName graphics intel_extreme ] ;
UsePrivateHeaders [ FDirName graphics common ] ;
UsePrivateHeaders graphics kernel ;
SubDirCcFlags -Wall ;
SubDirC++Flags -Wall ;
KernelAddon intel_extreme :
driver.cpp
device.cpp

View File

@ -70,7 +70,7 @@ checkDeviceInfo(struct intel_info *info)
static status_t
device_open(const char *name, uint32 flags, void **_cookie)
device_open(const char *name, uint32 /*flags*/, void **_cookie)
{
TRACE((DEVICE_NAME ": open(name = %s)\n", name));
int32 id;

View File

@ -37,11 +37,14 @@ const struct supported_device {
const char *name;
} kSupportedDevices[] = {
{0x3577, INTEL_TYPE_8xx | INTEL_TYPE_83x, "i830GM"},
{0x2562, INTEL_TYPE_8xx | INTEL_TYPE_83x, "i845G"},
{0x2572, INTEL_TYPE_8xx | INTEL_TYPE_85x, "i865G"},
{0x3582, INTEL_TYPE_8xx | INTEL_TYPE_85x, "i855G"},
#if 0
{0x2792, INTEL_TYPE_9xx, "i910"},
{0x258a, INTEL_TYPE_9xx, "i915"},
{0x2582, INTEL_TYPE_9xx, "i915G"},
{0x2592, INTEL_TYPE_9xx, "i915GM"},
{0x2772, INTEL_TYPE_9xx, "i945G"},
@ -171,7 +174,8 @@ init_driver(void)
gDeviceInfo[found]->device_identifier = kSupportedDevices[type].name;
gDeviceInfo[found]->device_type = kSupportedDevices[type].type;
dprintf(DEVICE_NAME ": (%ld) revision = 0x%x\n", found, info->revision);
dprintf(DEVICE_NAME ": (%ld) %s, revision = 0x%x\n", found,
kSupportedDevices[type].name, info->revision);
found++;
}

View File

@ -372,6 +372,10 @@ intel_extreme_init(intel_info &info)
return info.registers_area;
}
// make sure bus master, memory-mapped I/O, and frame buffer is enabled
set_pci_config(info.pci, PCI_command, 2, get_pci_config(info.pci, PCI_command, 2)
| PCI_command_io | PCI_command_memory | PCI_command_master);
// init graphics memory manager
info.memory_manager = mem_init("intel extreme memory manager", 0, totalSize, 1024,