提交 add2b10f 编写于 作者: L Linus Torvalds

Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mattst88/alpha-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mattst88/alpha-2.6:
  alpha: Fix printk format errors
  alpha: convert perf_event to use local_t
  Fix call to replaced SuperIO functions
  alpha: remove homegrown L1_CACHE_ALIGN macro
...@@ -17,7 +17,6 @@ ...@@ -17,7 +17,6 @@
# define L1_CACHE_SHIFT 5 # define L1_CACHE_SHIFT 5
#endif #endif
#define L1_CACHE_ALIGN(x) (((x)+(L1_CACHE_BYTES-1))&~(L1_CACHE_BYTES-1))
#define SMP_CACHE_BYTES L1_CACHE_BYTES #define SMP_CACHE_BYTES L1_CACHE_BYTES
#endif #endif
...@@ -109,7 +109,7 @@ marvel_print_err_cyc(u64 err_cyc) ...@@ -109,7 +109,7 @@ marvel_print_err_cyc(u64 err_cyc)
#define IO7__ERR_CYC__CYCLE__M (0x7) #define IO7__ERR_CYC__CYCLE__M (0x7)
printk("%s Packet In Error: %s\n" printk("%s Packet In Error: %s\n"
"%s Error in %s, cycle %ld%s%s\n", "%s Error in %s, cycle %lld%s%s\n",
err_print_prefix, err_print_prefix,
packet_desc[EXTRACT(err_cyc, IO7__ERR_CYC__PACKET)], packet_desc[EXTRACT(err_cyc, IO7__ERR_CYC__PACKET)],
err_print_prefix, err_print_prefix,
...@@ -313,7 +313,7 @@ marvel_print_po7_ugbge_sym(u64 ugbge_sym) ...@@ -313,7 +313,7 @@ marvel_print_po7_ugbge_sym(u64 ugbge_sym)
} }
printk("%s Up Hose Garbage Symptom:\n" printk("%s Up Hose Garbage Symptom:\n"
"%s Source Port: %ld - Dest PID: %ld - OpCode: %s\n", "%s Source Port: %lld - Dest PID: %lld - OpCode: %s\n",
err_print_prefix, err_print_prefix,
err_print_prefix, err_print_prefix,
EXTRACT(ugbge_sym, IO7__PO7_UGBGE_SYM__UPH_SRC_PORT), EXTRACT(ugbge_sym, IO7__PO7_UGBGE_SYM__UPH_SRC_PORT),
...@@ -552,7 +552,7 @@ marvel_print_pox_spl_cmplt(u64 spl_cmplt) ...@@ -552,7 +552,7 @@ marvel_print_pox_spl_cmplt(u64 spl_cmplt)
#define IO7__POX_SPLCMPLT__REM_BYTE_COUNT__M (0xfff) #define IO7__POX_SPLCMPLT__REM_BYTE_COUNT__M (0xfff)
printk("%s Split Completion Error:\n" printk("%s Split Completion Error:\n"
"%s Source (Bus:Dev:Func): %ld:%ld:%ld\n", "%s Source (Bus:Dev:Func): %lld:%lld:%lld\n",
err_print_prefix, err_print_prefix,
err_print_prefix, err_print_prefix,
EXTRACT(spl_cmplt, IO7__POX_SPLCMPLT__SOURCE_BUS), EXTRACT(spl_cmplt, IO7__POX_SPLCMPLT__SOURCE_BUS),
......
...@@ -241,20 +241,20 @@ static inline unsigned long alpha_read_pmc(int idx) ...@@ -241,20 +241,20 @@ static inline unsigned long alpha_read_pmc(int idx)
static int alpha_perf_event_set_period(struct perf_event *event, static int alpha_perf_event_set_period(struct perf_event *event,
struct hw_perf_event *hwc, int idx) struct hw_perf_event *hwc, int idx)
{ {
long left = atomic64_read(&hwc->period_left); long left = local64_read(&hwc->period_left);
long period = hwc->sample_period; long period = hwc->sample_period;
int ret = 0; int ret = 0;
if (unlikely(left <= -period)) { if (unlikely(left <= -period)) {
left = period; left = period;
atomic64_set(&hwc->period_left, left); local64_set(&hwc->period_left, left);
hwc->last_period = period; hwc->last_period = period;
ret = 1; ret = 1;
} }
if (unlikely(left <= 0)) { if (unlikely(left <= 0)) {
left += period; left += period;
atomic64_set(&hwc->period_left, left); local64_set(&hwc->period_left, left);
hwc->last_period = period; hwc->last_period = period;
ret = 1; ret = 1;
} }
...@@ -269,7 +269,7 @@ static int alpha_perf_event_set_period(struct perf_event *event, ...@@ -269,7 +269,7 @@ static int alpha_perf_event_set_period(struct perf_event *event,
if (left > (long)alpha_pmu->pmc_max_period[idx]) if (left > (long)alpha_pmu->pmc_max_period[idx])
left = alpha_pmu->pmc_max_period[idx]; left = alpha_pmu->pmc_max_period[idx];
atomic64_set(&hwc->prev_count, (unsigned long)(-left)); local64_set(&hwc->prev_count, (unsigned long)(-left));
alpha_write_pmc(idx, (unsigned long)(-left)); alpha_write_pmc(idx, (unsigned long)(-left));
...@@ -300,10 +300,10 @@ static unsigned long alpha_perf_event_update(struct perf_event *event, ...@@ -300,10 +300,10 @@ static unsigned long alpha_perf_event_update(struct perf_event *event,
long delta; long delta;
again: again:
prev_raw_count = atomic64_read(&hwc->prev_count); prev_raw_count = local64_read(&hwc->prev_count);
new_raw_count = alpha_read_pmc(idx); new_raw_count = alpha_read_pmc(idx);
if (atomic64_cmpxchg(&hwc->prev_count, prev_raw_count, if (local64_cmpxchg(&hwc->prev_count, prev_raw_count,
new_raw_count) != prev_raw_count) new_raw_count) != prev_raw_count)
goto again; goto again;
...@@ -316,8 +316,8 @@ static unsigned long alpha_perf_event_update(struct perf_event *event, ...@@ -316,8 +316,8 @@ static unsigned long alpha_perf_event_update(struct perf_event *event,
delta += alpha_pmu->pmc_max_period[idx] + 1; delta += alpha_pmu->pmc_max_period[idx] + 1;
} }
atomic64_add(delta, &event->count); local64_add(delta, &event->count);
atomic64_sub(delta, &hwc->period_left); local64_sub(delta, &hwc->period_left);
return new_raw_count; return new_raw_count;
} }
...@@ -636,7 +636,7 @@ static int __hw_perf_event_init(struct perf_event *event) ...@@ -636,7 +636,7 @@ static int __hw_perf_event_init(struct perf_event *event)
if (!hwc->sample_period) { if (!hwc->sample_period) {
hwc->sample_period = alpha_pmu->pmc_max_period[0]; hwc->sample_period = alpha_pmu->pmc_max_period[0];
hwc->last_period = hwc->sample_period; hwc->last_period = hwc->sample_period;
atomic64_set(&hwc->period_left, hwc->sample_period); local64_set(&hwc->period_left, hwc->sample_period);
} }
return 0; return 0;
......
...@@ -156,9 +156,6 @@ extern void SMC669_Init(int); ...@@ -156,9 +156,6 @@ extern void SMC669_Init(int);
/* es1888.c */ /* es1888.c */
extern void es1888_init(void); extern void es1888_init(void);
/* ns87312.c */
extern void ns87312_enable_ide(long ide_base);
/* ../lib/fpreg.c */ /* ../lib/fpreg.c */
extern void alpha_write_fp_reg (unsigned long reg, unsigned long val); extern void alpha_write_fp_reg (unsigned long reg, unsigned long val);
extern unsigned long alpha_read_fp_reg (unsigned long reg); extern unsigned long alpha_read_fp_reg (unsigned long reg);
......
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
#include "irq_impl.h" #include "irq_impl.h"
#include "pci_impl.h" #include "pci_impl.h"
#include "machvec_impl.h" #include "machvec_impl.h"
#include "pc873xx.h"
/* Note mask bit is true for DISABLED irqs. */ /* Note mask bit is true for DISABLED irqs. */
static unsigned long cached_irq_mask = ~0UL; static unsigned long cached_irq_mask = ~0UL;
...@@ -235,18 +235,31 @@ cabriolet_map_irq(struct pci_dev *dev, u8 slot, u8 pin) ...@@ -235,18 +235,31 @@ cabriolet_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
return COMMON_TABLE_LOOKUP; return COMMON_TABLE_LOOKUP;
} }
static inline void __init
cabriolet_enable_ide(void)
{
if (pc873xx_probe() == -1) {
printk(KERN_ERR "Probing for PC873xx Super IO chip failed.\n");
} else {
printk(KERN_INFO "Found %s Super IO chip at 0x%x\n",
pc873xx_get_model(), pc873xx_get_base());
pc873xx_enable_ide();
}
}
static inline void __init static inline void __init
cabriolet_init_pci(void) cabriolet_init_pci(void)
{ {
common_init_pci(); common_init_pci();
ns87312_enable_ide(0x398); cabriolet_enable_ide();
} }
static inline void __init static inline void __init
cia_cab_init_pci(void) cia_cab_init_pci(void)
{ {
cia_init_pci(); cia_init_pci();
ns87312_enable_ide(0x398); cabriolet_enable_ide();
} }
/* /*
......
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
#include "irq_impl.h" #include "irq_impl.h"
#include "pci_impl.h" #include "pci_impl.h"
#include "machvec_impl.h" #include "machvec_impl.h"
#include "pc873xx.h"
/* Note mask bit is true for DISABLED irqs. */ /* Note mask bit is true for DISABLED irqs. */
static unsigned long cached_irq_mask[2] = { -1, -1 }; static unsigned long cached_irq_mask[2] = { -1, -1 };
...@@ -264,7 +264,14 @@ takara_init_pci(void) ...@@ -264,7 +264,14 @@ takara_init_pci(void)
alpha_mv.pci_map_irq = takara_map_irq_srm; alpha_mv.pci_map_irq = takara_map_irq_srm;
cia_init_pci(); cia_init_pci();
ns87312_enable_ide(0x26e);
if (pc873xx_probe() == -1) {
printk(KERN_ERR "Probing for PC873xx Super IO chip failed.\n");
} else {
printk(KERN_INFO "Found %s Super IO chip at 0x%x\n",
pc873xx_get_model(), pc873xx_get_base());
pc873xx_enable_ide();
}
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册