Lines 298-303
bool usb_amd_prefetch_quirk(void)
Link Here
|
298 |
} |
298 |
} |
299 |
EXPORT_SYMBOL_GPL(usb_amd_prefetch_quirk); |
299 |
EXPORT_SYMBOL_GPL(usb_amd_prefetch_quirk); |
300 |
|
300 |
|
|
|
301 |
static struct resource sb800_res = DEFINE_RES_IO_NAMED(0xcd6, 2, "SB800 USB"); |
302 |
|
301 |
/* |
303 |
/* |
302 |
* The hardware normally enables the A-link power management feature, which |
304 |
* The hardware normally enables the A-link power management feature, which |
303 |
* lets the system lower the power consumption in idle states. |
305 |
* lets the system lower the power consumption in idle states. |
Lines 333-343
static void usb_amd_quirk_pll(int disable)
Link Here
|
333 |
if (amd_chipset.sb_type.gen == AMD_CHIPSET_SB800 || |
335 |
if (amd_chipset.sb_type.gen == AMD_CHIPSET_SB800 || |
334 |
amd_chipset.sb_type.gen == AMD_CHIPSET_HUDSON2 || |
336 |
amd_chipset.sb_type.gen == AMD_CHIPSET_HUDSON2 || |
335 |
amd_chipset.sb_type.gen == AMD_CHIPSET_BOLTON) { |
337 |
amd_chipset.sb_type.gen == AMD_CHIPSET_BOLTON) { |
|
|
338 |
request_declared_muxed_region(&sb800_res); |
336 |
outb_p(AB_REG_BAR_LOW, 0xcd6); |
339 |
outb_p(AB_REG_BAR_LOW, 0xcd6); |
337 |
addr_low = inb_p(0xcd7); |
340 |
addr_low = inb_p(0xcd7); |
338 |
outb_p(AB_REG_BAR_HIGH, 0xcd6); |
341 |
outb_p(AB_REG_BAR_HIGH, 0xcd6); |
339 |
addr_high = inb_p(0xcd7); |
342 |
addr_high = inb_p(0xcd7); |
340 |
addr = addr_high << 8 | addr_low; |
343 |
addr = addr_high << 8 | addr_low; |
|
|
344 |
release_declared_region(&sb800_res); |
341 |
|
345 |
|
342 |
outl_p(0x30, AB_INDX(addr)); |
346 |
outl_p(0x30, AB_INDX(addr)); |
343 |
outl_p(0x40, AB_DATA(addr)); |
347 |
outl_p(0x40, AB_DATA(addr)); |
344 |
- |
|
|