2014-04-16 10:13:37

by Russell King - ARM Linux

[permalink] [raw]
Subject: Re: [PATCH v7 2/2] ARM hibernation / suspend-to-disk

On Wed, Mar 05, 2014 at 02:50:05AM -0800, Sebastian Capella wrote:
> diff --git a/arch/arm/include/asm/memory.h b/arch/arm/include/asm/memory.h
> index 8756e4b..d32adbb 100644
> --- a/arch/arm/include/asm/memory.h
> +++ b/arch/arm/include/asm/memory.h
> @@ -291,6 +291,7 @@ static inline void *phys_to_virt(phys_addr_t x)
> */
> #define __pa(x) __virt_to_phys((unsigned long)(x))
> #define __va(x) ((void *)__phys_to_virt((phys_addr_t)(x)))
> +#define __pa_symbol(x) __pa((unsigned long)(x))
> #define pfn_to_kaddr(pfn) __va((pfn) << PAGE_SHIFT)

I don't see the appropriate version on the mailing list, so I'll comment
here instead. In 8011/1, you added here:

+#define virt_to_pfn(kaddr) (__pa(kaddr) >> PAGE_SHIFT)

which conflicts with my solution (which fixes some rather horrid assembly
code). You can find my change as e26a9e00afc4 (ARM: Better virt_to_page()
handling). I can drop this from your patch, but it would be a good idea
if you could re-validate against v3.15-rc1.

Thanks.

--
FTTC broadband for 0.8mile line: now at 9.7Mbps down 460kbps up... slowly
improving, and getting towards what was expected from it.


2014-04-16 16:42:15

by Sebastian Capella

[permalink] [raw]
Subject: Re: [PATCH v7 2/2] ARM hibernation / suspend-to-disk

On 16 April 2014 03:12, Russell King - ARM Linux <[email protected]> wrote:
> On Wed, Mar 05, 2014 at 02:50:05AM -0800, Sebastian Capella wrote:
>> diff --git a/arch/arm/include/asm/memory.h b/arch/arm/include/asm/memory.h
>> index 8756e4b..d32adbb 100644
>> --- a/arch/arm/include/asm/memory.h
>> +++ b/arch/arm/include/asm/memory.h
>> @@ -291,6 +291,7 @@ static inline void *phys_to_virt(phys_addr_t x)
>> */
>> #define __pa(x) __virt_to_phys((unsigned long)(x))
>> #define __va(x) ((void *)__phys_to_virt((phys_addr_t)(x)))
>> +#define __pa_symbol(x) __pa((unsigned long)(x))
>> #define pfn_to_kaddr(pfn) __va((pfn) << PAGE_SHIFT)
>
> I don't see the appropriate version on the mailing list, so I'll comment
> here instead. In 8011/1, you added here:
>
> +#define virt_to_pfn(kaddr) (__pa(kaddr) >> PAGE_SHIFT)
>
> which conflicts with my solution (which fixes some rather horrid assembly
> code). You can find my change as e26a9e00afc4 (ARM: Better virt_to_page()
> handling). I can drop this from your patch, but it would be a good idea
> if you could re-validate against v3.15-rc1.

Hi Russell,

Thanks! I'll validate it with e26a9e00afc4 added to my 3.13
hibernation branch, which includes the OMAP patches, and post the
results. I can also verify against 3.15-rc1 + hibernation patches,
but there's not much to be done, other than compile test, as the
platform support is not there yet. I can try rebasing the OMAP stuff
to v3.15-rc1, but I'm not sure what to expect out of that.

In any event, I'll let you know.

Thanks!

Sebastian

2014-04-17 20:38:15

by Sebastian Capella

[permalink] [raw]
Subject: Re: [PATCH v7 2/2] ARM hibernation / suspend-to-disk

Hi Russell,

It seems to work fine with your virt_to_phys on the 3.13 + OMAP
patches kernel, and I checked on the 3.15-rc1 kernel + hibernation and
it compiled and ran fine. I tried a couple of hibernations on this
version as well and they worked (aside from the crash in kernel_halt
we're discussing separately). I believe this just works by chance
though because the omap platform has no real hibernation support
there.

I'll try now to merge up the omap patches to 3.15-rc1.

Thanks,

Sebastian

2014-04-23 00:38:06

by Sebastian Capella

[permalink] [raw]
Subject: Re: [PATCH v7 2/2] ARM hibernation / suspend-to-disk

Hi Russell,

Sorry for the delay.

I've merged the omap changes onto 3.15-rc2 and tested and it looks
like everything is working (so far 50 loops into/out of hibernation).

Thanks!

Sebastian

2014-04-23 16:39:52

by Sebastian Capella

[permalink] [raw]
Subject: Re: [PATCH v7 2/2] ARM hibernation / suspend-to-disk

Hi Russell,

Ran this overnight and no failures on >1000 hibernations.

Looks good.
Thanks!

Sebastian