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

Re: [Xen-devel] [PATCH V5] xen: arm: platforms: Adding reset support for xgene arm64 platform.



On Mon, 2014-01-27 at 16:35 +0530, Pranavkumar Sawargaonkar wrote:
> Hi Ian,
> 
> On 27 January 2014 16:02, Ian Campbell <Ian.Campbell@xxxxxxxxxx> wrote:
> > On Mon, 2014-01-27 at 14:12 +0530, Pranavkumar Sawargaonkar wrote:
> >> +    /* Retrieve base address and size */
> >> +    res = dt_device_get_address(dev, 0, &reset_addr, &reset_size);
> >> +    if ( res )
> >> +    {
> >> +        printk("XGENE: Unable to retrieve the base address for reset\n");
> >> +        return 0;
> >> +    }
> >> +
> >> +    /* Get reset mask */
> >> +    res = dt_property_read_u32(dev, "mask", &reset_mask);
> >> +    if ( !res )
> >> +    {
> >
> > At this point reset_addr and reset_size are set and xgene_storm_reset
> > will try to use them with reset_mask -- which I suppose is 0 at this
> > point (due to .bss initialisation + dt_prop_read not touching it on
> > failure).
> I thought that if reset_addr or reset_size is 0 then ioremap will not
> return me a success hence code will return it without writing the reg.

I'm not sure about the reset_size==0, I'd hope that ioremap does work
for reset_addr == 0 though, since it isn't implausible that something
might live there on some platform.

But in any case after partial success gathering the parameters these may
no longer be zero.

> But i think mask can cause issue if uninitialized, so i will add a
> global flag  (valid_reset_vals) and will set it at the end of the
> xgene_storm_init, and in fuction xgene_storm_reset i will first check
> if this falg is set or not before proceeding further in reset.
> Is this fine ?

Sounds good to me.




_______________________________________________
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®.