pci stuff: too much hax now, trying rd890 patch (not merged yet)
authorBernhard Urban <lewurm@gmail.com>
Fri, 6 Apr 2012 12:27:40 +0000 (14:27 +0200)
committerBernhard Urban <lewurm@gmail.com>
Fri, 6 Apr 2012 12:27:40 +0000 (14:27 +0200)
src/arch/x86/lib/pci_ops_conf1.c
src/devices/pci_device.c
src/devices/pci_ops.c
src/mainboard/asus/m5a99x-evo/mainboard.c
src/southbridge/amd/rs780/rs780.c

index 266a9cc9dc56794a9156dc6bdf365f884e0119ed..be1abd70871269e302040274f5ea0563fbb2351f 100644 (file)
@@ -34,6 +34,7 @@ static uint16_t pci_conf1_read_config16(struct bus *pbus, int bus, int devfn,
 static uint32_t pci_conf1_read_config32(struct bus *pbus, int bus, int devfn,
                                        int where)
 {
+       printk(BIOS_INFO, "%s: bus: 0x%2x, devfn: 0x%2x, where: 0x%2x\n", __func__, bus, devfn, where);
        outl(CONFIG_CMD(bus, devfn, where), 0xCF8);
        return inl(0xCFC);
 }
index f54e2620bf78c6e6564cf14523bb4a54d587881b..cc15f3bffeb84687138ff3bb199d7f91499dcdb7 100644 (file)
@@ -949,6 +949,7 @@ device_t pci_probe_dev(device_t dev, struct bus *bus, unsigned devfn)
                }
                dev = alloc_dev(bus, &dummy.path);
        } else {
+               printk(BIOS_INFO, "%s: ohai, non-dummy stuff!\n", __func__);
                /*
                 * Enable/disable the device. Once we have found the device-
                 * specific operations this operations we will disable the
@@ -961,11 +962,16 @@ device_t pci_probe_dev(device_t dev, struct bus *bus, unsigned devfn)
                 * it may be absent and enable_dev() must cope.
                 */
                /* Run the magic enable sequence for the device. */
-               if (dev->chip_ops && dev->chip_ops->enable_dev)
+               printk(BIOS_INFO, "%s: before enable! 0x%08x\n", __func__, (unsigned int) dev->chip_ops->enable_dev);
+               if (dev->chip_ops && dev->chip_ops->enable_dev) {
+                       printk(BIOS_INFO, "%s: we're going to call enable stuff?\n", __func__);
                        dev->chip_ops->enable_dev(dev);
+               }
 
+               printk(BIOS_INFO, "%s: before read!\n", __func__);
                /* Now read the vendor and device ID. */
                id = pci_read_config32(dev, PCI_VENDOR_ID);
+               printk(BIOS_INFO, "%s: after  read: 0x%08x\n", __func__, id);
 
                /*
                 * If the device does not have a PCI ID disable it. Possibly
@@ -981,6 +987,7 @@ device_t pci_probe_dev(device_t dev, struct bus *bus, unsigned devfn)
                                       "found, disabling it.\n", dev_path(dev));
                                dev->enabled = 0;
                        }
+                       printk(BIOS_INFO, "%s: non-static stuff!\n", __func__);
                        return dev;
                }
        }
@@ -1055,7 +1062,7 @@ unsigned int pci_scan_bus(struct bus *bus, unsigned min_devfn,
                       "devfn %x\n", min_devfn, max_devfn);
                printk(BIOS_ERR, "PCI: pci_scan_bus upper limit too big. "
                       "Using 0xff.\n");
-               max_devfn=0x08;
+               max_devfn=0xff;
        }
 
        old_devices = bus->children;
@@ -1088,7 +1095,9 @@ unsigned int pci_scan_bus(struct bus *bus, unsigned min_devfn,
                if ((PCI_FUNC(devfn) == 0x00) && (!dev
                     || (dev->enabled && ((dev->hdr_type & 0x80) != 0x80)))) {
                        devfn += 0x07;
+                       printk(BIOS_INFO, "%s: ohai, +7\n", __func__);
                }
+               printk(BIOS_INFO, "\n");
        }
 
        post_code(0x25);
index 07da30034ffffeeef29dcadc5797b9cefa30c5be..2dae50e4eb86d97e0eafe142e9a5be12bf3b08cb 100644 (file)
@@ -78,6 +78,7 @@ u16 pci_read_config16(device_t dev, unsigned int where)
 u32 pci_read_config32(device_t dev, unsigned int where)
 {
        struct bus *pbus = get_pbus(dev);
+       printk(BIOS_INFO, "%s: ops_pci_bus(pbus)->read32: 0x%08x\n", __func__, (unsigned int) ops_pci_bus(pbus)->read32);
        return ops_pci_bus(pbus)->read32(pbus, dev->bus->secondary,
                                         dev->path.pci.devfn, where);
 }
index 657d1815705830f1c3cce8e8e48bb14271b61bd9..052760c2aebedb290df561711ff19cbbcc9fc680 100644 (file)
@@ -35,28 +35,6 @@ void set_pcie_dereset(void);
 void set_pcie_reset(void);
 void enable_int_gfx(void);
 
-/* GPIO6. */
-void enable_int_gfx(void)
-{
-       volatile u8 *gpio_reg;
-
-#ifdef UNUSED_CODE
-       RWPMIO(SB_PMIOA_REGEA, AccWidthUint8, ~(BIT0), BIT0); /* Disable the PCIB */
-       RWPMIO(SB_PMIOA_REGF6, AccWidthuint8, ~(BIT0), BIT0); /* Disable Gec */
-#endif
-       /* make sure the MMIO(fed80000) is accessible */
-       RWPMIO(SB_PMIOA_REG24, AccWidthUint8, ~(BIT0), BIT0);
-
-       gpio_reg = (volatile u8 *)ACPI_MMIO_BASE + 0xD00; /* IoMux Register */
-
-       *(gpio_reg + 0x6) = 0x1; /* Int_vga_en */
-       *(gpio_reg + 170) = 0x1; /* gpio_gate */
-
-       gpio_reg = (volatile u8 *)ACPI_MMIO_BASE + 0x100; /* GPIO Registers */
-
-       *(gpio_reg + 0x6) = 0x8;
-       *(gpio_reg + 170) = 0x0;
-}
 
 void set_pcie_dereset()
 {
@@ -81,65 +59,12 @@ static void m5a99x_evo_enable(device_t dev)
 
        printk(BIOS_INFO, "Mainboard ASUS M5A99X-EVO Enable. dev=0x%p\n", dev);
 
-#if (CONFIG_GFXUMA == 1)
-       msr_t msr, msr2;
-
-       /* TOP_MEM: the top of DRAM below 4G */
-       msr = rdmsr(TOP_MEM);
-       printk
-           (BIOS_INFO, "%s, TOP MEM: msr.lo = 0x%08x, msr.hi = 0x%08x\n",
-            __func__, msr.lo, msr.hi);
-
-       /* TOP_MEM2: the top of DRAM above 4G */
-       msr2 = rdmsr(TOP_MEM2);
-       printk
-           (BIOS_INFO, "%s, TOP MEM2: msr2.lo = 0x%08x, msr2.hi = 0x%08x\n",
-            __func__, msr2.lo, msr2.hi);
-
-       /* refer to UMA Size Consideration in 780 BDG. */
-       switch (msr.lo) {
-       case 0x10000000:        /* 256M system memory */
-               uma_memory_size = 0x4000000;    /* 64M recommended UMA */
-               break;
-
-       case 0x20000000:        /* 512M system memory */
-               uma_memory_size = 0x8000000;    /* 128M recommended UMA */
-               break;
-
-       default:                /* 1GB and above system memory */
-               uma_memory_size = 0x10000000;   /* 256M recommended UMA */
-               break;
-       }
-
-       uma_memory_base = msr.lo - uma_memory_size;     /* TOP_MEM1 */
-       printk(BIOS_INFO, "%s: uma size 0x%08llx, memory start 0x%08llx\n",
-                   __func__, uma_memory_size, uma_memory_base);
-
-       /* TODO: TOP_MEM2 */
-#else
        uma_memory_size = 0x8000000;    /* 128M recommended UMA */
        uma_memory_base = 0x38000000;   /* 1GB  system memory supposed */
-#endif
-       printk (BIOS_INFO, "%s, w00t?!\n", __func__);
-
-       set_pcie_dereset();
-#if 0
-       enable_int_gfx();
-#endif
-       printk (BIOS_INFO, "%s, cya enable?!\n", __func__);
 }
 
 int add_mainboard_resources(struct lb_memory *mem)
 {
-       /* UMA is removed from system memory in the northbridge code, but
-        * in some circumstances we want the memory mentioned as reserved.
-        */
-#if (CONFIG_GFXUMA == 1)
-       printk(BIOS_INFO, "uma_memory_start=0x%llx, uma_memory_size=0x%llx \n",
-                   uma_memory_base, uma_memory_size);
-       lb_add_memory_range(mem, LB_MEM_RESERVED, uma_memory_base,
-                           uma_memory_size);
-#endif
        return 0;
 }
 
index 0fea909760f596435e137ec0a0a691e430499f32..2c6a0339eb4b43134d7e08258afe3e5519a42749 100644 (file)
@@ -294,6 +294,7 @@ void rs780_enable(device_t dev)
        device_t nb_dev = 0, sb_dev = 0;
        int dev_ind;
 
+       printk(BIOS_INFO, "%s: WHAT THE FUCK\n", __func__);
        printk(BIOS_INFO, "rs780_enable: dev=%p, VID_DID=0x%x\n", dev, get_vid_did(dev));
 
        nb_dev = dev_find_slot(0, PCI_DEVFN(0, 0));