Changeset 5178


Ignore:
Timestamp:
Mar 1, 2010 10:09:33 AM (3 years ago)
Author:
stepan
Message:

Fix YABEL guards; make debugging optional; fix some warnings
Signed-off-by: Stefan Reinauer <stepan@…>
Acked-by: Stefan Reinauer <stepan@…>

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/northbridge/intel/i82830/i82830_smihandler.c

    r5177 r5178  
    3333extern u32 mbi_len; 
    3434 
    35 #define DEBUG_SMI 
     35// #define DEBUG_SMI_I82830 
    3636 
    3737/* If YABEL is enabled and it's not running at 0x00000000, we have to add some 
    3838 * offset to all our mbi object memory accesses 
    3939 */ 
    40 #if defined(CONFIG_PCI_OPTION_ROM_RUN_YABEL) && !defined(CONFIG_YABEL_DIRECTHW) 
     40#if defined(CONFIG_PCI_OPTION_ROM_RUN_YABEL) && CONFIG_PCI_OPTION_ROM_RUN_YABEL && !CONFIG_YABEL_DIRECTHW 
    4141#define OBJ_OFFSET CONFIG_YABEL_VIRTMEM_LOCATION 
    4242#else 
     
    7777#define MSH_IF_NOT_PENDING      0x010c 
    7878 
     79#ifdef DEBUG_SMI_I82830 
    7980static void 
    8081dump(u8 * addr, u32 len) 
     
    110111        printk_debug("\n"); 
    111112} 
     113#endif 
    112114 
    113115typedef struct { 
     
    148150static void mbi_call(u8 subf, banner_id_t *banner_id) 
    149151{ 
    150         // printk_debug("MBI\n"); 
    151         // printk_debug("|- sub function %x\n", subf); 
    152         // printk_debug("|- banner id @ %x\n", (u32)banner_id); 
    153         // printk_debug("|  |- mhid %x\n", banner_id->mhid); 
    154         // printk_debug("|  |- function %x\n", banner_id->function); 
    155         // printk_debug("|  |- return status %x\n", banner_id->retsts); 
    156         // printk_debug("|  |- rfu %x\n", banner_id->rfu); 
     152#ifdef DEBUG_SMI_I82830 
     153        printk_debug("MBI\n"); 
     154        printk_debug("|- sub function %x\n", subf); 
     155        printk_debug("|- banner id @ %x\n", (u32)banner_id); 
     156        printk_debug("|  |- mhid %x\n", banner_id->mhid); 
     157        printk_debug("|  |- function %x\n", banner_id->function); 
     158        printk_debug("|  |- return status %x\n", banner_id->retsts); 
     159        printk_debug("|  |- rfu %x\n", banner_id->rfu); 
     160#endif 
    157161 
    158162        switch(banner_id->function) { 
     
    197201                        if (obj_header->objnum == count) { 
    198202                                int headerlen = ALIGN(sizeof(mbi_header) + mbi_header->name_len + 15, 16); 
    199                                 // printk_debug("|  |- headerlen = %d\n", headerlen); 
     203#ifdef DEBUG_SMI_I82830 
     204                                printk_debug("|  |- headerlen = %d\n", headerlen); 
     205#endif 
    200206                                memcpy(&obj_header->header, mbi_header, headerlen); 
    201207                                obj_header->banner.retsts = MSH_OK; 
     
    204210                                for (j=0; j < mbi_header->name_len && mbi_header->name[j]; j++) 
    205211                                        printk_debug("%c",  mbi_header->name[j]); 
    206                                 printk_debug("' found.\n", obj_header->objnum); 
    207                                 // dump(banner_id, sizeof(obj_header_t) + 16); 
     212                                printk_debug("' found.\n"); 
     213#ifdef DEBUG_SMI_I82830 
     214                                dump(banner_id, sizeof(obj_header_t) + 16); 
     215#endif 
    208216                                break; 
    209217                        } 
     
    219227                mbi_header_t *mbi_header = NULL; 
    220228                printk_debug("|- MBI_GetObject\n"); 
    221                 // printk_debug("|  |- handle = %016lx\n", getobj->handle); 
     229#ifdef DEBUG_SMI_I82830 
     230                printk_debug("|  |- handle = %016lx\n", getobj->handle); 
     231#endif 
    222232                printk_debug("|  |- objnum = %d\n", getobj->objnum); 
    223233                printk_debug("|  |- start = %x\n", getobj->start); 
     
    246256 
    247257                                getobj->banner.retsts = MSH_OK; 
    248                                 //dump(banner_id, sizeof(getobj) + len); 
     258#ifdef DEBUG_SMI_I82830 
     259                                dump(banner_id, sizeof(getobj) + len); 
     260#endif 
    249261                                break; 
    250262                        } 
     
    276288#define PC13    0x13 
    277289 
    278 void smi_interface_call(void) 
    279 { 
    280         u32 mmio; 
    281         mmio = pci_read_config32(PCI_DEV(0, 0x02, 0), 0x14); 
     290static void smi_interface_call(void) 
     291{ 
     292        u32 mmio = pci_read_config32(PCI_DEV(0, 0x02, 0), 0x14); 
    282293        // mmio &= 0xfff80000; 
    283294        // printk_debug("mmio=%x\n", mmio); 
    284  
    285         u16 swsmi; 
    286         swsmi=pci_read_config16(PCI_DEV(0, 0x02, 0), 0xe0); 
     295        u16 swsmi = pci_read_config16(PCI_DEV(0, 0x02, 0), 0xe0); 
    287296 
    288297        if (!(swsmi & 1)) 
     
    300309                swsmi |= (PC13 << 8); 
    301310                pci_write_config16(PCI_DEV(0, 0x02, 0), 0xe0, swsmi); 
    302                 // pathetic 
     311                // write magic 
    303312                write32(mmio + 0x71428, 0x494e5443); 
    304313                return; 
     
    309318        case 5: 
    310319                printk_debug("Call MBI Functions.\n"); 
    311                 mbi_call(swsmi >> 8, (banner_id_t *)((readl(mmio + 0x71428) & 0x000fffff) + OBJ_OFFSET) ); 
     320                mbi_call(swsmi >> 8, (banner_id_t *)((read32(mmio + 0x71428) & 0x000fffff) + OBJ_OFFSET) ); 
    312321                // swsmi = 0x0000; 
    313322                swsmi &= ~(7 << 5); // Exit: Result 
Note: See TracChangeset for help on using the changeset viewer.