~ubuntu-branches/ubuntu/saucy/linux-ti-omap4/saucy-proposed

« back to all changes in this revision

Viewing changes to arch/x86/include/asm/apic.h

  • Committer: Package Import Robot
  • Author(s): Paolo Pisati, Paolo Pisati, Stefan Bader, Upstream Kernel Changes
  • Date: 2012-08-15 17:17:43 UTC
  • Revision ID: package-import@ubuntu.com-20120815171743-h5wnuf51xe7pvdid
Tags: 3.5.0-207.13
[ Paolo Pisati ]

* Start new release

[ Stefan Bader ]

* (config) Enable getabis to use local package copies

[ Upstream Kernel Changes ]

* fixup: gargabe collect iva_seq[0|1] init
* [Config] enable all SND_OMAP_SOC_*s
* fixup: cm2xxx_3xxx.o is needed for omap2_cm_read|write_reg
* fixup: add some snd_soc_dai* helper functions
* fixup: s/snd_soc_dpcm_params/snd_soc_dpcm/g
* fixup: typo, no_host_mode and useless SDP4430 init
* fixup: enable again aess hwmod

Show diffs side-by-side

added added

removed removed

Lines of Context:
138
138
        wrmsr(APIC_BASE_MSR + (reg >> 4), v, 0);
139
139
}
140
140
 
 
141
static inline void native_apic_msr_eoi_write(u32 reg, u32 v)
 
142
{
 
143
        wrmsr(APIC_BASE_MSR + (APIC_EOI >> 4), APIC_EOI_ACK, 0);
 
144
}
 
145
 
141
146
static inline u32 native_apic_msr_read(u32 reg)
142
147
{
143
148
        u64 msr;
351
356
        /* apic ops */
352
357
        u32 (*read)(u32 reg);
353
358
        void (*write)(u32 reg, u32 v);
 
359
        /*
 
360
         * ->eoi_write() has the same signature as ->write().
 
361
         *
 
362
         * Drivers can support both ->eoi_write() and ->write() by passing the same
 
363
         * callback value. Kernel can override ->eoi_write() and fall back
 
364
         * on write for EOI.
 
365
         */
 
366
        void (*eoi_write)(u32 reg, u32 v);
354
367
        u64 (*icr_read)(void);
355
368
        void (*icr_write)(u32 low, u32 high);
356
369
        void (*wait_icr_idle)(void);
426
439
        apic->write(reg, val);
427
440
}
428
441
 
 
442
static inline void apic_eoi(void)
 
443
{
 
444
        apic->eoi_write(APIC_EOI, APIC_EOI_ACK);
 
445
}
 
446
 
429
447
static inline u64 apic_icr_read(void)
430
448
{
431
449
        return apic->icr_read();
450
468
 
451
469
static inline u32 apic_read(u32 reg) { return 0; }
452
470
static inline void apic_write(u32 reg, u32 val) { }
 
471
static inline void apic_eoi(void) { }
453
472
static inline u64 apic_icr_read(void) { return 0; }
454
473
static inline void apic_icr_write(u32 low, u32 high) { }
455
474
static inline void apic_wait_icr_idle(void) { }
463
482
         * ack_APIC_irq() actually gets compiled as a single instruction
464
483
         * ... yummie.
465
484
         */
466
 
 
467
 
        /* Docs say use 0 for future compatibility */
468
 
        apic_write(APIC_EOI, 0);
 
485
        apic_eoi();
469
486
}
470
487
 
471
488
static inline unsigned default_get_apic_id(unsigned long x)