[PATCH v10] PCI: tango: Add MSI controller support

Marc Gonzalez marc_gonzalez at sigmadesigns.com
Thu Aug 24 10:51:16 PDT 2017


On 24/08/2017 19:04, Bjorn Helgaas wrote:
> On Tue, Aug 22, 2017 at 09:03:41PM +0100, Marc Zyngier wrote:
>> Marc Gonzalez wrote:
>>> On 22/08/2017 18:29, Marc Zyngier wrote:
>>>> On 22/08/17 15:56, Marc Gonzalez wrote:
>>>>
>>>>>  #define SMP8759_MUX		0x48
>>>>>  #define SMP8759_TEST_OUT	0x74
>>>>> +#define SMP8759_STATUS		0x80
>>>>> +#define SMP8759_ENABLE		0xa0
>>>>> +#define SMP8759_DOORBELL	0xa002e07c
>>>>
>>>> Why is this hardcoded and not coming from the device-tree, just like any
>>>> other address property?
>>>
>>> Since this bus address is software-configurable, I didn't think
>>> it belonged in the DT. Also, I didn't see anything similar in
>>> other binding docs, especially
>>>
>>> Documentation/devicetree/bindings/interrupt-controller/msi.txt
>>
>> If that's software configurable, how on Earth did you pick the address?
>> How do you ensure that it doesn't conflict with DMA? How is it
>> configured into the RC?
> 
> But we *do* need to resolve this.  This does seem like an address that
> shouldn't be hard-coded into the driver.  Since this driver is
> programming the address into an MSI message, but not into the receiver
> of that message, there's a coordination issue between this driver and
> whatever other software does that receiver configuration.

OK. I'll move the doorbell address to the DT for v11.

What property should be used for this address?

sigma,doorbell ?

Or maybe I can put it in reg, since I have a 1:1 mapping
between bus and cpu addresses?

git grep -i doorbell arch/arm/boot/dts/ arch/arm64/boot/dts/
returns nothing.

Regards.




More information about the linux-arm-kernel mailing list