On 08/13/2013 08:44 PM, Bhushan Bharat-R65777 wrote: > > >> -----Original Message----- From: Alexey Kardashevskiy >> [mailto:a...@ozlabs.ru] Sent: Tuesday, August 13, 2013 5:41 AM To: >> Bhushan Bharat-R65777 Cc: b...@kernel.crashing.org; >> linuxppc-dev@lists.ozlabs.org Subject: Re: Powerpc: Kernel warn_on >> when enabling IOMMU_API >> >> On 08/13/2013 02:14 AM, Bhushan Bharat-R65777 wrote: >>> >>> >>>> -----Original Message----- From: Alexey Kardashevskiy >>>> [mailto:a...@ozlabs.ru] Sent: Monday, August 12, 2013 7:44 PM To: >>>> Bhushan Bharat-R65777 Cc: b...@kernel.crashing.org; >>>> linuxppc-dev@lists.ozlabs.org Subject: Re: Powerpc: Kernel warn_on >>>> when enabling IOMMU_API >>>> >>>> On 08/12/2013 08:20 PM, Bhushan Bharat-R65777 wrote: >>>>> And this simple fix work for me diff --git >>>>> a/arch/powerpc/kernel/iommu.c b/arch/powerpc/kernel/iommu.c >>>>> index b20ff17..8869b0d 100644 --- a/arch/powerpc/kernel/iommu.c >>>>> +++ b/arch/powerpc/kernel/iommu.c @@ -48,6 +48,8 @@ #include >>>>> <asm/vio.h> #include <asm/tce.h> >>>>> >>>>> +#define DEBUG + #define DBG(...) >>>>> >>>>> static int novmerge; @@ -871,7 +873,7 @@ void >>>>> iommu_free_coherent(struct iommu_table *tbl, size_t >>>> size, >>>>> } } >>>>> >>>>> -#ifdef CONFIG_IOMMU_API +#ifdef SPAPR_TCE_IOMMU /* * SPAPR TCE >>>>> API */ ---------------------- >>>> >>>> >>>> And with this fix, what does "ls -laR /sys/kernel/iommu_groups/" >>>> print? >>> >>> It shows the list of group id and respective devices: >>> >> >> Is it vanilla 3.11-rc1 kernel? Wow. What does "lspci" show there? > > It is 3.11-rc1 + (FSL_IOMMU + VFIO-PCI : local changes). > > root@p5040ds:~# lspci 00:00.0 Class 0604: 1957:0450 01:00.0 Class 0200: 8086:10fb 00:00.0 Class 0604: 1957:0450 01:00.0 Class 0200: 8086:10d3
Is it one PCI domain or two PCI domains? Hm. > We uses the bus_set_iommu(), generic iommu api, which creates a > iommu_group for a device (drivers/iommu/iommu.c) using. Also this have > notifier to support hotplug-able device. So when this initcall (in > arch/powerpc/kernel/iommu.c) is called, iommu group is already setup for > the device/s. > I think we do not need this piece of code for powerpc. So what is the > best way to stub this out for FSL PowerPC/IOMMU? So you implemented iommu_ops? Can you share your code somewhere, just to have a look? > Will the above #ifdef SPAPR_TCE_IOMMU work? Other way can be selecting > iommu.c and dma-iommu.c in Makefile if SPAPR_TCE_IOMMU defined and not > if CONFIG_64BIT. If SPAPR_TCE_IOMMU is enabled, the code would compile and the subsys_init would be called anyway, so normal production kernel will fail anyway. -- Alexey _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev