|
@@ -15,14 +15,14 @@
|
|
|
* Licensed under the GNU/GPL. See COPYING for details.
|
|
|
*/
|
|
|
|
|
|
+#include "ssb_private.h"
|
|
|
+
|
|
|
#include <linux/ssb/ssb.h>
|
|
|
#include <linux/ssb/ssb_regs.h>
|
|
|
#include <linux/slab.h>
|
|
|
#include <linux/pci.h>
|
|
|
#include <linux/delay.h>
|
|
|
|
|
|
-#include "ssb_private.h"
|
|
|
-
|
|
|
|
|
|
/* Define the following to 1 to enable a printk on each coreswitch. */
|
|
|
#define SSB_VERBOSE_PCICORESWITCH_DEBUG 0
|
|
@@ -56,7 +56,7 @@ int ssb_pci_switch_coreidx(struct ssb_bus *bus, u8 coreidx)
|
|
|
}
|
|
|
return 0;
|
|
|
error:
|
|
|
- ssb_err("Failed to switch to core %u\n", coreidx);
|
|
|
+ pr_err("Failed to switch to core %u\n", coreidx);
|
|
|
return -ENODEV;
|
|
|
}
|
|
|
|
|
@@ -67,9 +67,8 @@ int ssb_pci_switch_core(struct ssb_bus *bus,
|
|
|
unsigned long flags;
|
|
|
|
|
|
#if SSB_VERBOSE_PCICORESWITCH_DEBUG
|
|
|
- ssb_info("Switching to %s core, index %d\n",
|
|
|
- ssb_core_name(dev->id.coreid),
|
|
|
- dev->core_index);
|
|
|
+ pr_info("Switching to %s core, index %d\n",
|
|
|
+ ssb_core_name(dev->id.coreid), dev->core_index);
|
|
|
#endif
|
|
|
|
|
|
spin_lock_irqsave(&bus->bar_lock, flags);
|
|
@@ -161,7 +160,7 @@ out:
|
|
|
return err;
|
|
|
|
|
|
err_pci:
|
|
|
- printk(KERN_ERR PFX "Error: ssb_pci_xtal() could not access PCI config space!\n");
|
|
|
+ pr_err("Error: ssb_pci_xtal() could not access PCI config space!\n");
|
|
|
err = -EBUSY;
|
|
|
goto out;
|
|
|
}
|
|
@@ -286,7 +285,7 @@ static int sprom_do_write(struct ssb_bus *bus, const u16 *sprom)
|
|
|
u32 spromctl;
|
|
|
u16 size = bus->sprom_size;
|
|
|
|
|
|
- ssb_notice("Writing SPROM. Do NOT turn off the power! Please stand by...\n");
|
|
|
+ pr_notice("Writing SPROM. Do NOT turn off the power! Please stand by...\n");
|
|
|
err = pci_read_config_dword(pdev, SSB_SPROMCTL, &spromctl);
|
|
|
if (err)
|
|
|
goto err_ctlreg;
|
|
@@ -294,17 +293,17 @@ static int sprom_do_write(struct ssb_bus *bus, const u16 *sprom)
|
|
|
err = pci_write_config_dword(pdev, SSB_SPROMCTL, spromctl);
|
|
|
if (err)
|
|
|
goto err_ctlreg;
|
|
|
- ssb_notice("[ 0%%");
|
|
|
+ pr_notice("[ 0%%");
|
|
|
msleep(500);
|
|
|
for (i = 0; i < size; i++) {
|
|
|
if (i == size / 4)
|
|
|
- ssb_cont("25%%");
|
|
|
+ pr_cont("25%%");
|
|
|
else if (i == size / 2)
|
|
|
- ssb_cont("50%%");
|
|
|
+ pr_cont("50%%");
|
|
|
else if (i == (size * 3) / 4)
|
|
|
- ssb_cont("75%%");
|
|
|
+ pr_cont("75%%");
|
|
|
else if (i % 2)
|
|
|
- ssb_cont(".");
|
|
|
+ pr_cont(".");
|
|
|
writew(sprom[i], bus->mmio + bus->sprom_offset + (i * 2));
|
|
|
mmiowb();
|
|
|
msleep(20);
|
|
@@ -317,12 +316,12 @@ static int sprom_do_write(struct ssb_bus *bus, const u16 *sprom)
|
|
|
if (err)
|
|
|
goto err_ctlreg;
|
|
|
msleep(500);
|
|
|
- ssb_cont("100%% ]\n");
|
|
|
- ssb_notice("SPROM written\n");
|
|
|
+ pr_cont("100%% ]\n");
|
|
|
+ pr_notice("SPROM written\n");
|
|
|
|
|
|
return 0;
|
|
|
err_ctlreg:
|
|
|
- ssb_err("Could not access SPROM control register.\n");
|
|
|
+ pr_err("Could not access SPROM control register.\n");
|
|
|
return err;
|
|
|
}
|
|
|
|
|
@@ -816,7 +815,7 @@ static int sprom_extract(struct ssb_bus *bus, struct ssb_sprom *out,
|
|
|
memset(out, 0, sizeof(*out));
|
|
|
|
|
|
out->revision = in[size - 1] & 0x00FF;
|
|
|
- ssb_dbg("SPROM revision %d detected\n", out->revision);
|
|
|
+ pr_debug("SPROM revision %d detected\n", out->revision);
|
|
|
memset(out->et0mac, 0xFF, 6); /* preset et0 and et1 mac */
|
|
|
memset(out->et1mac, 0xFF, 6);
|
|
|
|
|
@@ -825,7 +824,7 @@ static int sprom_extract(struct ssb_bus *bus, struct ssb_sprom *out,
|
|
|
* number stored in the SPROM.
|
|
|
* Always extract r1. */
|
|
|
out->revision = 1;
|
|
|
- ssb_dbg("SPROM treated as revision %d\n", out->revision);
|
|
|
+ pr_debug("SPROM treated as revision %d\n", out->revision);
|
|
|
}
|
|
|
|
|
|
switch (out->revision) {
|
|
@@ -842,8 +841,8 @@ static int sprom_extract(struct ssb_bus *bus, struct ssb_sprom *out,
|
|
|
sprom_extract_r8(out, in);
|
|
|
break;
|
|
|
default:
|
|
|
- ssb_warn("Unsupported SPROM revision %d detected. Will extract v1\n",
|
|
|
- out->revision);
|
|
|
+ pr_warn("Unsupported SPROM revision %d detected. Will extract v1\n",
|
|
|
+ out->revision);
|
|
|
out->revision = 1;
|
|
|
sprom_extract_r123(out, in);
|
|
|
}
|
|
@@ -863,7 +862,7 @@ static int ssb_pci_sprom_get(struct ssb_bus *bus,
|
|
|
u16 *buf;
|
|
|
|
|
|
if (!ssb_is_sprom_available(bus)) {
|
|
|
- ssb_err("No SPROM available!\n");
|
|
|
+ pr_err("No SPROM available!\n");
|
|
|
return -ENODEV;
|
|
|
}
|
|
|
if (bus->chipco.dev) { /* can be unavailable! */
|
|
@@ -882,7 +881,7 @@ static int ssb_pci_sprom_get(struct ssb_bus *bus,
|
|
|
} else {
|
|
|
bus->sprom_offset = SSB_SPROM_BASE1;
|
|
|
}
|
|
|
- ssb_dbg("SPROM offset is 0x%x\n", bus->sprom_offset);
|
|
|
+ pr_debug("SPROM offset is 0x%x\n", bus->sprom_offset);
|
|
|
|
|
|
buf = kcalloc(SSB_SPROMSIZE_WORDS_R123, sizeof(u16), GFP_KERNEL);
|
|
|
if (!buf)
|
|
@@ -907,16 +906,16 @@ static int ssb_pci_sprom_get(struct ssb_bus *bus,
|
|
|
* available for this device in some other storage */
|
|
|
err = ssb_fill_sprom_with_fallback(bus, sprom);
|
|
|
if (err) {
|
|
|
- ssb_warn("WARNING: Using fallback SPROM failed (err %d)\n",
|
|
|
- err);
|
|
|
+ pr_warn("WARNING: Using fallback SPROM failed (err %d)\n",
|
|
|
+ err);
|
|
|
goto out_free;
|
|
|
} else {
|
|
|
- ssb_dbg("Using SPROM revision %d provided by platform\n",
|
|
|
- sprom->revision);
|
|
|
+ pr_debug("Using SPROM revision %d provided by platform\n",
|
|
|
+ sprom->revision);
|
|
|
err = 0;
|
|
|
goto out_free;
|
|
|
}
|
|
|
- ssb_warn("WARNING: Invalid SPROM CRC (corrupt SPROM)\n");
|
|
|
+ pr_warn("WARNING: Invalid SPROM CRC (corrupt SPROM)\n");
|
|
|
}
|
|
|
}
|
|
|
err = sprom_extract(bus, sprom, buf, bus->sprom_size);
|
|
@@ -953,8 +952,7 @@ static int ssb_pci_assert_buspower(struct ssb_bus *bus)
|
|
|
if (likely(bus->powered_up))
|
|
|
return 0;
|
|
|
|
|
|
- printk(KERN_ERR PFX "FATAL ERROR: Bus powered down "
|
|
|
- "while accessing PCI MMIO space\n");
|
|
|
+ pr_err("FATAL ERROR: Bus powered down while accessing PCI MMIO space\n");
|
|
|
if (bus->power_warn_count <= 10) {
|
|
|
bus->power_warn_count++;
|
|
|
dump_stack();
|