Index: branches/cparm/CHANGES =================================================================== --- branches/cparm/CHANGES (revision 2121) +++ branches/cparm/CHANGES (revision 2122) @@ -1,3 +1,6 @@ +- Fixed a bug in ati.c +- Update ati.c and nvidia.c + - Security fixes - Implemented random uuid - device_inject is now embedded into the modules that need it, and not in the core anymore Index: branches/cparm/i386/modules/GraphicsEnabler/nvidia.h =================================================================== --- branches/cparm/i386/modules/GraphicsEnabler/nvidia.h (revision 2121) +++ branches/cparm/i386/modules/GraphicsEnabler/nvidia.h (revision 2122) @@ -52,8 +52,9 @@ #define kUseNvidiaROM "UseNvidiaROM" /* nvidia.c */ #define kVBIOS "VBIOS" /* nvidia.c */ -#define kDcfg0 "display_0" /* nvidia.c */ -#define kDcfg1 "display_1" /* nvidia.c */ +#define kDcfg0 "display_0" /* nvidia.c */ +#define kDcfg1 "display_1" /* nvidia.c */ +#define kEnableHDMIAudio "EnableHDMIAudio" /* nvidia.c */ bool setup_nvidia_devprop(pci_dt_t *nvda_dev); Index: branches/cparm/i386/modules/GraphicsEnabler/ati.h =================================================================== --- branches/cparm/i386/modules/GraphicsEnabler/ati.h (revision 2121) +++ branches/cparm/i386/modules/GraphicsEnabler/ati.h (revision 2122) @@ -12,6 +12,7 @@ #define kAtiConfig "AtiConfig" /* ati.c */ #define kAtiPorts "AtiPorts" /* ati.c */ #define kATYbinimage "ATYbinimage" /* ati.c */ +#define kEnableHDMIAudio "EnableHDMIAudio" /* ati.c */ bool setup_ati_devprop(pci_dt_t *ati_dev); Index: branches/cparm/i386/modules/GraphicsEnabler/nvidia.c =================================================================== --- branches/cparm/i386/modules/GraphicsEnabler/nvidia.c (revision 2121) +++ branches/cparm/i386/modules/GraphicsEnabler/nvidia.c (revision 2122) @@ -1624,6 +1624,16 @@ if (getBoolForKey(kVBIOS, &doit, DEFAULT_BOOT_CONFIG) && doit) { devprop_add_value(device, "vbios", rom, (nvBiosOveride > 0) ? nvBiosOveride : (uint32_t)(rom[2] * 512)); } + + //add HDMI Audio back to nvidia + doit = false; + //http://forge.voodooprojects.org/p/chameleon/issues/67/ + if(getBoolForKey(kEnableHDMIAudio, &doit, DEFAULT_BOOT_CONFIG) && doit) + { + static uint8_t connector_type_1[]= {0x00, 0x08, 0x00, 0x00}; + devprop_add_value(device, "@1,connector-type",connector_type_1, 4); + } + //end Nvidia HDMI Audio free(rom); return true; Index: branches/cparm/i386/modules/GraphicsEnabler/ati.c =================================================================== --- branches/cparm/i386/modules/GraphicsEnabler/ati.c (revision 2121) +++ branches/cparm/i386/modules/GraphicsEnabler/ati.c (revision 2122) @@ -843,6 +843,7 @@ bool get_platforminfo_val(value_t *val); bool get_vramtotalsize_val(value_t *val); bool validate_rom(struct pci_rom_bios_t *rom_header, pci_dt_t *pci_dev); +bool get_hdmiaudio(value_t * val); typedef struct { uint32_t flags; @@ -883,6 +884,8 @@ {FLAGTRUE, false, "device_type", get_nameparent_val, NULVAL }, {FLAGTRUE, false, "model", get_model_val, STRVAL("ATI Radeon") }, // {FLAGTRUE, false, "VRAM,totalsize", get_vramtotalsize_val, NULVAL }, + {FLAGTRUE, false, "hda-gfx", get_hdmiaudio, NULVAL }, + {FLAGTRUE, false, NULL, NULL, NULVAL } }; @@ -892,9 +895,25 @@ void get_vram_size(void); bool load_vbios_file(const char *key, uint16_t vendor_id, uint16_t device_id, uint32_t subsys_id); void free_val(value_t *val); - int devprop_add_list(dev_prop_t devprop_list[]); +bool get_hdmiaudio(value_t * val) +{ + bool doit = false; + if(getBoolForKey(kEnableHDMIAudio, &doit, DEFAULT_BOOT_CONFIG) && doit){ + val->type = kStr; + val->size = strlen("onboard-1") + 1; + val->data = (uint8_t *)"onboard-1"; + + return true; + + + + } + return false; +} + + bool get_bootdisplay_val(value_t *val) { static uint32_t v = 0; @@ -1212,16 +1231,13 @@ if (!validate_rom(rom_addr, card->pci_dev)) return false; + card->rom_size = rom_addr->size * 512; + if (!card->rom_size) + return false; + card->rom = malloc(card->rom_size); if (!card->rom) - return false; - - card->rom_size = rom_addr->size * 512; - if (!card->rom_size) - { - free(card->rom); - return false; - } + return false; memcpy(card->rom, (void *)rom_addr, card->rom_size); @@ -1461,9 +1477,9 @@ // use cfg_name on radeon_cards, to retrive the default name from card_configs, card->cfg_name = card_configs[card->info->cfg_name].name; // Uncommented the following line and added verbose for debugging AtiPorts issues on some cards - card->ports = card_configs[card->info->cfg_name].ports; + //card->ports = card_configs[card->info->cfg_name].ports; // Report number of ports card reports - verbose("Card reported ports: %d\n", card->ports); + //verbose("Card reported ports: %d\n", card->ports); // which means one of the fb's or kNull verbose("Framebuffer set to: %s using device's default.\n", card->cfg_name); @@ -1471,7 +1487,7 @@ else { // else, use the fb name returned by AtiConfig. - verbose("Framebuffer set to: %s using AtiConfig=%s\n", card->cfg_name, card->cfg_name); + verbose("(AtiConfig) Framebuffer set to: %s\n", card->cfg_name); } // Check AtiPorts key for nr of ports, @@ -1480,7 +1496,7 @@ if (n_ports > 0) { card->ports = n_ports; // use it. - verbose("Number of ports set to: %d using AtiPorts=%d\n", card->ports, card->ports); + verbose("(AtiPorts) Nr of ports set to: %d\n", card->ports); } else// if (card->cfg_name > 0) // do we want 0 ports if fb is kNull or mistyped ? { Index: branches/cparm/xcode3_sym.zip =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream