lkml.org 
[lkml]   [2013]   [May]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] powerpc/pseries: Force 32 bit MSIs when tearing down
On 05/27/2013 04:52 PM, Benjamin Herrenschmidt wrote:
> On Mon, 2013-05-27 at 18:20 +0200, Alexander Gordeev wrote:
>> This fix just adds a missed call to a new PAPR function
>> which should have been done with commit e61133d ("powerpc/
>> pseries: Force 32 bit MSIs for devices that require it")
>
> Arguably, PAPR should allow to disable MSIs using either interface,
> we shouldn't have to know whether the MSI was a forced-32-bit one to be
> able to disable it.
>
> Brian, can you check with Colleen ?

That is correct, and is the exact path we went down when I tested the code
that is currently upstream. I don't think this patch should be needed.

Thanks,

Brian


>
> Cheers,
> Ben.
>
>> Signed-off-by: Alexander Gordeev <agordeev@redhat.com>
>> ---
>> arch/powerpc/platforms/pseries/msi.c | 8 +++++++-
>> 1 files changed, 7 insertions(+), 1 deletions(-)
>>
>> diff --git a/arch/powerpc/platforms/pseries/msi.c b/arch/powerpc/platforms/pseries/msi.c
>> index 40c7db3..2b80a68 100644
>> --- a/arch/powerpc/platforms/pseries/msi.c
>> +++ b/arch/powerpc/platforms/pseries/msi.c
>> @@ -90,6 +90,7 @@ static int rtas_change_msi(struct pci_dn *pdn, u32 func, u32 num_irqs)
>> static void rtas_disable_msi(struct pci_dev *pdev)
>> {
>> struct pci_dn *pdn;
>> + int rc;
>>
>> pdn = get_pdn(pdev);
>> if (!pdn)
>> @@ -98,7 +99,12 @@ static void rtas_disable_msi(struct pci_dev *pdev)
>> /*
>> * disabling MSI with the explicit interface also disables MSI-X
>> */
>> - if (rtas_change_msi(pdn, RTAS_CHANGE_MSI_FN, 0) != 0) {
>> + if (pdn->force_32bit_msi)
>> + rc = rtas_change_msi(pdn, RTAS_CHANGE_32MSI_FN, 0);
>> + else
>> + rc = rtas_change_msi(pdn, RTAS_CHANGE_MSI_FN, 0);
>> +
>> + if ((rc != 0) && !pdn->force_32bit_msi) {
>> /*
>> * may have failed because explicit interface is not
>> * present
>> --
>> 1.7.7.6
>>
>>
>
>


--
Brian King
Power Linux I/O
IBM Linux Technology Center




\
 
 \ /
  Last update: 2013-05-29 23:21    [W:0.155 / U:0.032 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site