Subject: Re: [PATCH 5/5] powerpc/fsl_msi: add 'msiregs' kernel parameter

From: Lian Minghuan-b31939 <[email-masked]>
Date: Tue, 18 Jun 2013 11:10:17 +0800

Hi Scott,

please see my comments inline.

On 06/18/2013 08:18 AM, Scott Wood wrote:
> On 06/17/2013 12:36:50 AM, Lian Minghuan-b31939 wrote:
>> Hi Scott,
>>
>> please see my comments inline.
>>
>> On 06/15/2013 06:13 AM, Scott Wood wrote:
>>> On 06/14/2013 02:15:59 AM, Minghuan Lian wrote:
>>>> 1. Only MSIIR1 can index 16 MSI registers, but when using MSIIR1
>>>> the IRQs of a register are not continuous. for example, the first
>>>> register irq values are 0x0, 0x10, 0x20, 0x30 ... 0x1f0. So it
>>>> is hard to use 'msi-available-ranges' property to indicate the
>>>> available ranges and 'msi-available-ranges' property has been
>>>> removed from dts node, so this patch removes the related code.
>>>>
>>>> 2. Add 'msiregs' kernel parameter instead of 'msi-available-ranges'
>>>> functionality.
>>>
>>> The reason we used a device tree property was because this is for 
>>> virtualization and AMP scenarios where this instance of Linux does 
>>> not own all of the MSI registers.
>>>
>>> I don't see any reasonable way to partition an MPIC v4.3 MSI group 
>>> -- but there are more groups, so it's not that bad. What's the use 
>>> case for this patch?
>>>
>> [Minghuan] I do not known any case about this patch. I add 'msiregs' 
>> just for achieving "msi-available-ranges" functionality. I do not 
>> want to remove partition functionality when updating to mpic4.3, 
>> although I do not see virtualization and AMP cases on T4(KVM does not 
>> need this functionality).
>
> Such functionality does not work on mpic v4.3.  There are conflicting 
> requirements of contiguous MSIs (because PCI devices can use them that 
> way) and the inability to partition a single register (because they 
> all go to the same MPIC interrupt).
>
> Keep msi-available-ranges as is for older hardware, and just ignore it 
> (with a warning printed) if it's present on MPIC v4.3.
>
[Minghuan] Thanks for your guidance.
But 'msireg' should be remained or removed?  if remaining 'msiregs', it 
should be for all mpic or only for mpic v4.3?

> -Scott