[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] xen/arm: Correctly read the GICv3 Re-Distributor stride




> -----Original Message-----
> From: Ian Campbell [mailto:ian.campbell@xxxxxxxxxx]
> Sent: 30 September 2015 12:04
> To: Shameerali Kolothum Thodi; xen-devel@xxxxxxxxxxxxxxxxxxxx
> Cc: julien.grall@xxxxxxxxxx; vijaya.kumar@xxxxxxxxxxxxxxxxxx
> Subject: Re: [PATCH] xen/arm: Correctly read the GICv3 Re-Distributor
> stride
> 
> On Wed, 2015-09-30 at 11:54 +0100, Shameerali Kolothum Thodi wrote:
> > The GICv3 driver read a 32 bit value for the re-distributor stride,
> > but the dts binding is a two-cell property.
> 
> The binding doc I have says:
> 
> - redistributor-stride : If using padding pages, specifies the stride
>   of consecutive redistributors. Must be a multiple of 64kB.
> 
> i.e. it doesn't say anything about the size. The _example_ is 2 cells,
> but I don't think that is normative.
> 
> Unless you can point to a bindings update which specifies strictly two
> cells then I think the right answer is the use dt_read_number.

You are right. The binding text is not clear. But Linux gic driver from the
beginning is using the 64 bit value.

This is what I could find from the forums(https://patches.linaro.org/24165/)
----------------------------
> +     gic: interrupt-controller@2c010000 {
> +             compatible = "arm,gic-v3";
> +             #interrupt-cells = <3>;
> +             interrupt-controller;
> +             redistributor-stride = 0x40000;         // 256kB stride

I raised the point in patch 1 about the stide value being read as a
64-bit value, which would imply that the example should be the
following, I think:
------------------------

Actually linux sets the stride to zero, if it's not 64 bit.

irq-gic-v3.c - gic_of_init()

if (of_property_read_u64(node, "redistributor-stride", &redist_stride))
                redist_stride = 0;


> Ian.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.