lkml.org 
[lkml]   [2008]   [Jul]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[patch 07/26] x64, x2apic/intr-remap: move IOMMU_WAIT_OP() macro to intel-iommu.h
    move IOMMU_WAIT_OP() macro to header file.

    This will be used by both DMA-remapping and Intr-remapping.

    Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
    ---

    Index: tree-x86/drivers/pci/intel-iommu.c
    ===================================================================
    --- tree-x86.orig/drivers/pci/intel-iommu.c 2008-07-10 09:51:51.000000000 -0700
    +++ tree-x86/drivers/pci/intel-iommu.c 2008-07-10 09:51:59.000000000 -0700
    @@ -49,8 +49,6 @@

    #define DEFAULT_DOMAIN_ADDRESS_WIDTH 48

    -#define DMAR_OPERATION_TIMEOUT ((cycles_t) tsc_khz*10*1000) /* 10sec */
    -
    #define DOMAIN_MAX_ADDR(gaw) ((((u64)1) << gaw) - 1)


    @@ -486,19 +484,6 @@
    return 0;
    }

    -#define IOMMU_WAIT_OP(iommu, offset, op, cond, sts) \
    -{\
    - cycles_t start_time = get_cycles();\
    - while (1) {\
    - sts = op (iommu->reg + offset);\
    - if (cond)\
    - break;\
    - if (DMAR_OPERATION_TIMEOUT < (get_cycles() - start_time))\
    - panic("DMAR hardware is malfunctioning\n");\
    - cpu_relax();\
    - }\
    -}
    -
    static void iommu_set_root_entry(struct intel_iommu *iommu)
    {
    void *addr;
    Index: tree-x86/drivers/pci/intel-iommu.h
    ===================================================================
    --- tree-x86.orig/drivers/pci/intel-iommu.h 2008-07-10 09:51:57.000000000 -0700
    +++ tree-x86/drivers/pci/intel-iommu.h 2008-07-10 09:51:59.000000000 -0700
    @@ -177,6 +177,21 @@
    #define dma_frcd_source_id(c) (c & 0xffff)
    #define dma_frcd_page_addr(d) (d & (((u64)-1) << 12)) /* low 64 bit */

    +#define DMAR_OPERATION_TIMEOUT ((cycles_t) tsc_khz*10*1000) /* 10sec */
    +
    +#define IOMMU_WAIT_OP(iommu, offset, op, cond, sts) \
    +{\
    + cycles_t start_time = get_cycles();\
    + while (1) {\
    + sts = op (iommu->reg + offset);\
    + if (cond)\
    + break;\
    + if (DMAR_OPERATION_TIMEOUT < (get_cycles() - start_time))\
    + panic("DMAR hardware is malfunctioning\n");\
    + cpu_relax();\
    + }\
    +}
    +
    struct intel_iommu {
    void __iomem *reg; /* Pointer to hardware regs, virtual addr */
    u64 cap;
    --



    \
     
     \ /
      Last update: 2008-07-10 21:25    [W:3.197 / U:0.616 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site