1. 29 3月, 2012 1 次提交
  2. 15 3月, 2012 1 次提交
    • L
      [IA64] Fix ISA IRQ trigger model and polarity setting · 0577bb66
      Liu Jiang 提交于
      When handling Interrupt Source Override in MADT table, the default
      ISA IRQ trigger model and polarity should be edge-rising.
      Current IA64 implmentation doesn't follow the specification and
      set default ISA IRQ trigger model as level-low. With that wrong
      configuration and when system runs out of interrupt vectors,
      it will cause vector sharing among edge triggered ISA IRQ and
      level triggered PCI IRQ, then interrupt storm. So change the code
      to follow the specification.
      Signed-off-by: NLiu Jiang <jiang.liu@huawei.com>
      Signed-off-by: NTony Luck <tony.luck@intel.com>
      0577bb66
  3. 17 1月, 2012 1 次提交
    • K
      ACPI, ia64: Use SRAT table rev to use 8bit or 16/32bit PXM fields (ia64) · 9f10f6a5
      Kurt Garloff 提交于
      In SRAT v1, we had 8bit proximity domain (PXM) fields; SRAT v2 provides
      32bits for these. The new fields were reserved before.
      According to the ACPI spec, the OS must disregrard reserved fields.
      
      ia64 did handle the PXM fields almost consistently, but depending on
      sgi's sn2 platform. This patch leaves the sn2 logic in, but does also
      use 16/32 bits for PXM if the SRAT has rev 2 or higher.
      
      The patch also adds __init to the two pxm accessor functions, as they
      access __initdata now and are called from an __init function only anyway.
      
      Note that the code only uses 16 bits for the PXM field in the processor
      proximity field; the patch does not address this as 16 bits are more than
      enough.
      Signed-off-by: NKurt Garloff <kurt@garloff.de>
      Signed-off-by: NLen Brown <len.brown@intel.com>
      9f10f6a5
  4. 21 9月, 2011 1 次提交
  5. 03 3月, 2011 1 次提交
  6. 25 2月, 2011 2 次提交
  7. 13 1月, 2011 1 次提交
  8. 08 1月, 2011 1 次提交
  9. 05 5月, 2010 1 次提交
    • E
      x86, acpi/irq: Introduce apci_isa_irq_to_gsi · 2c2df841
      Eric W. Biederman 提交于
      There are a number of cases where the current code makes the assumption
      that isa irqs identity map to the first 16 acpi global system intereupts.
      In most instances that assumption is correct as that is the required
      behaviour in dual i8259 mode and the default behavior in ioapic mode.
      
      However there are some systems out there that take advantage of acpis
      interrupt remapping  for the isa irqs to have a completely different
      mapping of isa_irq to gsi.
      
      Introduce acpi_isa_irq_to_gsi to perform this mapping explicitly in the
      code that needs it.  Initially this will be just the current assumed
      identity mapping to ensure it's introduction does not cause regressions.
      Signed-off-by: NEric W. Biederman <ebiederm@xmission.com>
      LKML-Reference: <1269936436-7039-1-git-send-email-ebiederm@xmission.com>
      Signed-off-by: NH. Peter Anvin <hpa@zytor.com>
      2c2df841
  10. 30 3月, 2010 1 次提交
    • T
      include cleanup: Update gfp.h and slab.h includes to prepare for breaking... · 5a0e3ad6
      Tejun Heo 提交于
      include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
      
      percpu.h is included by sched.h and module.h and thus ends up being
      included when building most .c files.  percpu.h includes slab.h which
      in turn includes gfp.h making everything defined by the two files
      universally available and complicating inclusion dependencies.
      
      percpu.h -> slab.h dependency is about to be removed.  Prepare for
      this change by updating users of gfp and slab facilities include those
      headers directly instead of assuming availability.  As this conversion
      needs to touch large number of source files, the following script is
      used as the basis of conversion.
      
        http://userweb.kernel.org/~tj/misc/slabh-sweep.py
      
      The script does the followings.
      
      * Scan files for gfp and slab usages and update includes such that
        only the necessary includes are there.  ie. if only gfp is used,
        gfp.h, if slab is used, slab.h.
      
      * When the script inserts a new include, it looks at the include
        blocks and try to put the new include such that its order conforms
        to its surrounding.  It's put in the include block which contains
        core kernel includes, in the same order that the rest are ordered -
        alphabetical, Christmas tree, rev-Xmas-tree or at the end if there
        doesn't seem to be any matching order.
      
      * If the script can't find a place to put a new include (mostly
        because the file doesn't have fitting include block), it prints out
        an error message indicating which .h file needs to be added to the
        file.
      
      The conversion was done in the following steps.
      
      1. The initial automatic conversion of all .c files updated slightly
         over 4000 files, deleting around 700 includes and adding ~480 gfp.h
         and ~3000 slab.h inclusions.  The script emitted errors for ~400
         files.
      
      2. Each error was manually checked.  Some didn't need the inclusion,
         some needed manual addition while adding it to implementation .h or
         embedding .c file was more appropriate for others.  This step added
         inclusions to around 150 files.
      
      3. The script was run again and the output was compared to the edits
         from #2 to make sure no file was left behind.
      
      4. Several build tests were done and a couple of problems were fixed.
         e.g. lib/decompress_*.c used malloc/free() wrappers around slab
         APIs requiring slab.h to be added manually.
      
      5. The script was run on all .h files but without automatically
         editing them as sprinkling gfp.h and slab.h inclusions around .h
         files could easily lead to inclusion dependency hell.  Most gfp.h
         inclusion directives were ignored as stuff from gfp.h was usually
         wildly available and often used in preprocessor macros.  Each
         slab.h inclusion directive was examined and added manually as
         necessary.
      
      6. percpu.h was updated not to include slab.h.
      
      7. Build test were done on the following configurations and failures
         were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my
         distributed build env didn't work with gcov compiles) and a few
         more options had to be turned off depending on archs to make things
         build (like ipr on powerpc/64 which failed due to missing writeq).
      
         * x86 and x86_64 UP and SMP allmodconfig and a custom test config.
         * powerpc and powerpc64 SMP allmodconfig
         * sparc and sparc64 SMP allmodconfig
         * ia64 SMP allmodconfig
         * s390 SMP allmodconfig
         * alpha SMP allmodconfig
         * um on x86_64 SMP allmodconfig
      
      8. percpu.h modifications were reverted so that it could be applied as
         a separate patch and serve as bisection point.
      
      Given the fact that I had only a couple of failures from tests on step
      6, I'm fairly confident about the coverage of this conversion patch.
      If there is a breakage, it's likely to be something in one of the arch
      headers which should be easily discoverable easily on most builds of
      the specific arch.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Guess-its-ok-by: NChristoph Lameter <cl@linux-foundation.org>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>
      5a0e3ad6
  11. 15 3月, 2010 1 次提交
  12. 26 2月, 2010 1 次提交
    • A
      [IA64] Only build arch/ia64/kernel/acpi.o when CONFIG_ACPI · d868080d
      Alex Chiang 提交于
      The following commit broke the ia64 sim_defconfig build:
      	3b2b84c0b81108a9a869a88bf2beeb5a95d81dd1
      	ACPI: processor: driver doesn't need to evaluate _PDC
      
      This is because it added:
      	+#include <acpi/processor.h>
      
      To arch/ia64/kernel/acpi.c. Unfortunately, the ia64_simdefconfig does
      not turn on CONFIG_ACPI, and we get build errors.
      
      The fix described in $subject seems to be the most sensible way to
      untangle the mess.
      
      The other issue is that acpi_get_sysname() is required for all configs,
      most of which define CONFIG_ACPI, but are not CONFIG_IA64_GENERIC. Turn
      it into an inline to cover the "non generic" ia64 configs; to prevent
      a duplicate definition build error, we need to wrap the definition in
      acpi.o inside an #ifdef.
      
      Finally, move the pm_idle and pm_power_off exports into process.c (which
      is always built), similar to other architectures, and allow the sim
      defconfig to link.
      Signed-off-by: NAlex Chiang <achiang@hp.com>
      Signed-off-by: NTony Luck <tony.luck@intel.com>
      d868080d
  13. 18 2月, 2010 1 次提交
  14. 02 10月, 2009 1 次提交
    • T
      ia64: initialize cpu maps early · 12cda817
      Tejun Heo 提交于
      All information necessary to initialize cpu possible and present maps
      are available once early_acpi_boot_init() is complete.  Reorganize
      setup_arch() and acpi init functions such that,
      
      * CPU information is printed after LAPIC entries are parsed in
        early_acpi_boot_init().
      
      * smp_build_cpu_map() is called by setup_arch() instead of acpi
        functions.
      
      * smp_build_cpu_map() is called once all CPU related information is
        available before memory is initialized.
      
      This is primarily to allow find_memory() to use cpu maps but is also a
      general cleanup.  Please note that with this change, the somewhat
      ad-hoc early_cpu_possible_map defined and used for NUMA configurations
      is probably unnecessary.  Something to clean up another day.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Acked-by: NTony Luck <tony.luck@intel.com>
      Cc: Fenghua Yu <fenghua.yu@intel.com>
      Cc: linux-ia64 <linux-ia64@vger.kernel.org>
      12cda817
  15. 28 4月, 2009 1 次提交
    • Y
      irq: change ACPI GSI APIs to also take a device argument · a2f809b0
      Yinghai Lu 提交于
      We want to use dev_to_node() later on, to be aware of the 'home node'
      of the GSI in question.
      
      [ Impact: cleanup, prepare the IRQ code to be more NUMA aware ]
      Signed-off-by: NYinghai Lu <yinghai@kernel.org>
      Acked-by: NLen Brown <lenb@kernel.org>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Suresh Siddha <suresh.b.siddha@intel.com>
      Cc: "Eric W. Biederman" <ebiederm@xmission.com>
      Cc: Rusty Russell <rusty@rustcorp.com.au>
      Cc: Len Brown <lenb@kernel.org>
      Cc: Bjorn Helgaas <bjorn.helgaas@hp.com>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: linux-acpi@vger.kernel.org
      Cc: linux-ia64@vger.kernel.org
      LKML-Reference: <49F65560.20904@kernel.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      a2f809b0
  16. 16 3月, 2009 2 次提交
  17. 16 2月, 2009 1 次提交
    • Y
      [IA64] fix __apci_unmap_table · 970ec1a8
      Yinghai Lu 提交于
      Impact: fix build error
      
      to fix:
      
        tip/arch/ia64/kernel/acpi.c:203: error: conflicting types for '__acpi_unmap_table'
        tip/include/linux/acpi.h:82: error: previous declaration of '__acpi_unmap_table' was here
        tip/arch/ia64/kernel/acpi.c:203: error: conflicting types for '__acpi_unmap_table'
        tip/include/linux/acpi.h:82: error: previous declaration of '__acpi_unmap_table' was here
      Signed-off-by: NYinghai Lu <yinghai@kernel.org>
      Cc: Jeremy Fitzhardinge <jeremy@goop.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      970ec1a8
  18. 09 2月, 2009 1 次提交
    • Y
      acpi/x86: introduce __apci_map_table, v4 · 7d97277b
      Yinghai Lu 提交于
      to prevent wrongly overwriting fixmap that still want to use.
      
      ACPI used to rely on low mappings being all linearly mapped and
      grew a habit: it never really unmapped certain kinds of tables
      after use.
      
      This can cause problems - for example the hypothetical case
      when some spurious access still references it.
      
      v2: remove prev_map and prev_size in __apci_map_table
      v3: let acpi_os_unmap_memory() call early_iounmap too, so remove extral calling to
      early_acpi_os_unmap_memory
      v4: fix typo in one acpi_get_table_with_size calling
      Signed-off-by: NYinghai Lu <yhlu.kernel@gmail.com>
      Acked-by: NLen Brown <len.brown@intel.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      7d97277b
  19. 09 1月, 2009 1 次提交
  20. 01 1月, 2009 1 次提交
  21. 26 12月, 2008 1 次提交
  22. 07 11月, 2008 1 次提交
    • D
      [IA64] fix boot panic caused by offline CPUs · 62ee0540
      Doug Chapman 提交于
      This fixes a regression introduced by 2c6e6db4
      "Minimize per_cpu reservations."  That patch incorrectly used information about
      what CPUs are possible that was not yet initialized by ACPI.  The end result
      was that per_cpu structures for offline CPUs were not initialized causing a
      NULL pointer reference.
      
      Since we cannot do the full acpi_boot_init() call any earlier, the simplest
      fix is to just parse the MADT for SAPIC entries early to find the CPU
      info.  This should also allow for some cleanup of the code added by the
      "Minimize per_cpu reservations".  This patch just fixes the regressions, the
      cleanup will come in a later patch.
      Signed-off-by: NDoug Chapman <doug.chapman@hp.com>
      Signed-off-by: NAlex Chiang <achiang@hp.com>
      CC: Robin Holt <holt@sgi.com>
      Signed-off-by: NTony Luck <tony.luck@intel.com>
      62ee0540
  23. 18 10月, 2008 2 次提交
  24. 18 7月, 2008 1 次提交
  25. 12 6月, 2008 1 次提交
  26. 15 5月, 2008 2 次提交
  27. 01 5月, 2008 1 次提交
  28. 09 4月, 2008 1 次提交
    • H
      [IA64] Minimize per_cpu reservations. · 2c6e6db4
      holt@sgi.com 提交于
      This attached patch significantly shrinks boot memory allocation on ia64.
      It does this by not allocating per_cpu areas for cpus that can never
      exist.
      
      In the case where acpi does not have any numa node description of the
      cpus, I defaulted to assigning the first 32 round-robin on the known
      nodes..  For the !CONFIG_ACPI  I used for_each_possible_cpu().
      Signed-off-by: NRobin Holt <holt@sgi.com>
      Signed-off-by: NTony Luck <tony.luck@intel.com>
      2c6e6db4
  29. 07 2月, 2008 1 次提交
    • A
      ACPI: misc cleanups · e5685b9d
      Adrian Bunk 提交于
          This patch contains the following possible cleanups:
          - make the following needlessly global code static:
            - drivers/acpi/bay.c:dev_attr_eject
            - drivers/acpi/bay.c:dev_attr_present
            - drivers/acpi/dock.c:dev_attr_docked
            - drivers/acpi/dock.c:dev_attr_flags
            - drivers/acpi/dock.c:dev_attr_uid
            - drivers/acpi/dock.c:dev_attr_undock
            - drivers/acpi/pci_bind.c:acpi_pci_unbind()
            - drivers/acpi/pci_link.c:acpi_link_lock
            - drivers/acpi/sbs.c:acpi_sbs_callback()
            - drivers/acpi/sbshc.c:acpi_smbus_transaction()
            - drivers/acpi/sleep/main.c:acpi_sleep_prepare()
          - #if 0 the following unused global functions:
            - drivers/acpi/numa.c:acpi_unmap_pxm_to_node()
          - remove the following unused EXPORT_SYMBOL's:
            - acpi_register_gsi
            - acpi_unregister_gsi
            - acpi_strict
            - acpi_bus_receive_event
            - register_acpi_bus_type
            - unregister_acpi_bus_type
            - acpi_os_printf
            - acpi_os_sleep
            - acpi_os_stall
            - acpi_os_read_pci_configuration
            - acpi_os_create_semaphore
            - acpi_os_delete_semaphore
            - acpi_os_wait_semaphore
            - acpi_os_signal_semaphore
            - acpi_os_signal
            - acpi_pci_irq_enable
            - acpi_get_pxm
      Signed-off-by: NAdrian Bunk <bunk@kernel.org>
      Acked-by: NAlexey Starikovskiy <astarikovskiy@suse.de>
      Signed-off-by: NLen Brown <len.brown@intel.com>
      e5685b9d
  30. 14 12月, 2007 2 次提交
  31. 08 12月, 2007 1 次提交
  32. 10 11月, 2007 1 次提交
  33. 27 7月, 2007 1 次提交
  34. 25 7月, 2007 1 次提交
  35. 25 5月, 2007 1 次提交
    • T
      [IA64] acpi_get_sysname() should be __init · d57c4a38
      Tony Luck 提交于
      Section mismatch: reference to .init.text:acpi_find_rsdp
       (between 'acpi_get_sysname' and 'acpi_request_vector')
      
      acpi_get_sysname() needs to call the __init function acpi_find_rsdp, but it
      doesn't have the __init attribute itself, hence the warning. Luckily it is
      only called from machvec_init() which has __init attribute, so the fix
      is to define acpi_get_sysname() as __init too.
      Signed-off-by: NTony Luck <tony.luck@intel.com>
      d57c4a38