X-Git-Url: http://pilppa.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=drivers%2Fpci%2Fiova.c;h=dbcdd6bfa63a60e1c87b1fee1aedfac89ddb07bd;hb=1577720524bab104eeb605c810963a2106cf4575;hp=a84571c293609bdd3c2d743e73676cde24ce1151;hpb=1212663fba7c5e003e05d24f043d5ed57eb18b24;p=linux-2.6-omap-h63xx.git diff --git a/drivers/pci/iova.c b/drivers/pci/iova.c index a84571c2936..dbcdd6bfa63 100644 --- a/drivers/pci/iova.c +++ b/drivers/pci/iova.c @@ -3,25 +3,26 @@ * * This file is released under the GPLv2. * - * Copyright (C) 2006 Anil S Keshavamurthy + * Copyright (C) 2006-2008 Intel Corporation + * Author: Anil S Keshavamurthy */ #include "iova.h" void -init_iova_domain(struct iova_domain *iovad) +init_iova_domain(struct iova_domain *iovad, unsigned long pfn_32bit) { spin_lock_init(&iovad->iova_alloc_lock); spin_lock_init(&iovad->iova_rbtree_lock); iovad->rbroot = RB_ROOT; iovad->cached32_node = NULL; - + iovad->dma_32bit_pfn = pfn_32bit; } static struct rb_node * __get_cached_rbnode(struct iova_domain *iovad, unsigned long *limit_pfn) { - if ((*limit_pfn != DMA_32BIT_PFN) || + if ((*limit_pfn != iovad->dma_32bit_pfn) || (iovad->cached32_node == NULL)) return rb_last(&iovad->rbroot); else { @@ -37,7 +38,7 @@ static void __cached_rbnode_insert_update(struct iova_domain *iovad, unsigned long limit_pfn, struct iova *new) { - if (limit_pfn != DMA_32BIT_PFN) + if (limit_pfn != iovad->dma_32bit_pfn) return; iovad->cached32_node = &new->node; }