linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: a.heider@gmail.com (Andre Heider)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v4 00/11] ARM: OMAP2+: AM33XX: Add suspend-resume support
Date: Mon, 14 Jul 2014 11:37:57 +0200	[thread overview]
Message-ID: <20140714093757.GA48810@localhost> (raw)
In-Reply-To: <53C01F5A.6040409@ti.com>

On Fri, Jul 11, 2014 at 12:31:06PM -0500, Dave Gerlach wrote:
> >On Thu, Jul 10, 2014 at 09:55:38PM -0500, Dave Gerlach wrote:
> >>Hello,
> >>
> >>This series adds suspend/resume support for am335x. Version 3 of this
> >>series can be found at [1]. I apologize for the large delay between this
> >>and the previous revision. This code has been heavily refined
> >>since the last version based on the various comments received for v3. The
> >>major change from previous version is moving all wkup_m3 code into a
> >>remoteproc based driver. The new driver handles all IPC and fw loading
> >>and exposes a small API to be used by PM code to achieve low power states.
> >>
> >>Firmware that can be used for testing this can be found at [2] on branch
> >>pm-remote-proc-v3, using am335x-pm-firmware.elf found in bin directory.
> >>Please note this has changed from all previous versions and is no longer
> >>the .bin file. Firmware can be built into kernel or placed in /lib/firmware
> >>in rootfs for automatic loading during boot.
> >>
> >>This series has several dependencies. The wkup_m3_rproc utilizes a mailbox
> >>to communicate with the cm3 and depends on Suman's series for omap mbox
> >>support [3], which has several dependencies of it's own, listed in the
> >>cover letter. Also, a few changes to remoteproc itself were needed and
> >>have been provided by Suman here [4]. The edma patch included in this
> >>series was previously submitted by Daniel Mack and after discussion with
> >>him we agreed to include an updated version with this series as resume
> >>has a direct dependency on it due to hangs in mmc without it.
> >>
> >>Because of the high number of dependencies I have pushed a branch for
> >>testing here [6] if anyone desires to try it out on branch pm-ds0-v3.16.
> >>
> >>As is this series will only suspend and resume one time and then
> >>fail to resume afterwards due to the removal of direct PM code control
> >>of hwmods that do not properly assert their MSTANDBY signal after a context
> >>loss, discussed here [7]. In particular it is due to the usb_otg_hs hwmod
> >>that currently has no driver controlling it in the kernel. The main
> >>cause of the issue is that the SYSCONFIG register present within
> >>the IP must be reprogrammed after every suspend cycle and this
> >>only happens at boot if no driver is present. Work is in progress to
> >>allow suspend to function with or without drivers for the troublesome
> >>hwmods (cpgmac, usb_otg_hs, and tptc1-3) and will be provided in a separate
> >>future patch. The previous suggestion of allowing omap_device to handle
> >>it proved to be too invasive into both omap_device and omap_hwmod and
> >>the approach of allowing the firmware to handle it is not possible due
> >>to the inability of the CM3 to access the IPs causing the issue. I'd
> >>be happy to discuss this at length if anybody is interested.

...

> >It fails to compile with CONFIG_THUMB2_KERNEL though:
> >arch/arm/mach-omap2/sleep33xx.S:61: Error: cannot use register index
> >with PC-relative addressing -- `str r1,emif_addr_virt'
> 
> Hmm, interestingly enough I can not reproduce this build error. Can you
> share your config and compiler version?

While I have a stripped down .config for just boneblack I can reproduce this with:
make multi_v7_defconfig
./scripts/config -e THUMB2_KERNEL

Which may not make much sense (exposes other thumb2 related issues), but with that
.config sleep33xx.S fails to assemble with binutils 2.24 and succeeds with 2.23.2.

Which may be binutils' fault, I can't judge since I don't speak ARM asm ;)

Hope that helps,
Andre

  reply	other threads:[~2014-07-14  9:37 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-11  2:55 [PATCH v4 00/11] ARM: OMAP2+: AM33XX: Add suspend-resume support Dave Gerlach
2014-07-11  2:55 ` [PATCH v4 01/11] ARM: omap: edma: add suspend suspend/resume hooks Dave Gerlach
2014-07-14 11:05   ` Tony Lindgren
2014-07-14 17:47     ` Dave Gerlach
2014-07-11  2:55 ` [PATCH v4 02/11] memory: emif: Move EMIF register defines to include/linux/ Dave Gerlach
2014-07-14 11:12   ` Tony Lindgren
2014-07-14 17:42     ` Dave Gerlach
2014-07-15  6:38       ` Tony Lindgren
2014-07-16  2:44         ` Dave Gerlach
2014-07-16  8:33           ` Tony Lindgren
2014-07-11  2:55 ` [PATCH v4 03/11] ARM: OMAP2+: timer: Add suspend-resume callbacks for clkevent device Dave Gerlach
2014-07-14 11:15   ` Tony Lindgren
2014-07-14 14:37     ` Santosh Shilimkar
2014-07-14 17:42       ` Dave Gerlach
2014-07-15  6:48         ` Tony Lindgren
2014-07-15 19:10           ` Dave Gerlach
2014-07-16 20:17           ` Dave Gerlach
2014-07-17  8:16             ` Tony Lindgren
2014-07-11  2:55 ` [PATCH v4 04/11] ARM: OMAP2+: Use pdata-quirks for wkup_m3 deassert_hardreset Dave Gerlach
2014-07-14 18:48   ` Suman Anna
2014-07-11  2:55 ` [PATCH v4 05/11] Documentation: dt: add ti,am3353_wkup_m3 bindings Dave Gerlach
2014-07-14 14:41   ` [PATCH v4 05/11] Documentation: dt: add ti, am3353_wkup_m3 bindings Santosh Shilimkar
2014-07-14 16:33     ` Suman Anna
2014-07-14 17:45       ` Dave Gerlach
2014-07-11  2:55 ` [PATCH v4 06/11] remoteproc: wkup_m3: Add wkup_m3 remote proc driver Dave Gerlach
2014-07-14 14:54   ` Santosh Shilimkar
2014-07-14 17:43     ` Dave Gerlach
2014-07-14 19:07     ` Suman Anna
2014-07-14 21:09       ` Dave Gerlach
2014-07-11  2:55 ` [PATCH v4 07/11] ARM: dts: am33xx: Update wkup_m3 node Dave Gerlach
2014-07-11  2:55 ` [PATCH v4 08/11] ARM: OMAP2+: AM33XX: Reserve memory to comply with EMIF spec Dave Gerlach
2014-07-11  2:55 ` [PATCH v4 09/11] ARM: OMAP2+: AM33XX: Add assembly code for PM operations Dave Gerlach
2014-07-11  2:55 ` [PATCH v4 10/11] ARM: OMAP2+: AM33XX: Basic suspend resume support Dave Gerlach
2014-09-08 22:30   ` Kevin Hilman
2014-09-09 10:31     ` Ohad Ben-Cohen
2014-09-09 19:59       ` Suman Anna
2014-09-09 20:28         ` Dave Gerlach
2014-09-09 21:10           ` Kevin Hilman
2014-09-10 21:19             ` Dave Gerlach
2014-09-16 15:08             ` Ohad Ben-Cohen
2014-09-16 16:14               ` Suman Anna
2014-09-17 13:37                 ` Ohad Ben-Cohen
2014-09-25 19:42                   ` Dave Gerlach
2014-07-11  2:55 ` [PATCH v4 11/11] ARM: OMAP2+: AM33XX: Hookup AM33XX PM code into OMAP builds Dave Gerlach
2014-07-14 11:21   ` Tony Lindgren
2014-07-14 17:46     ` Dave Gerlach
2014-07-11  7:59 ` [PATCH v4 00/11] ARM: OMAP2+: AM33XX: Add suspend-resume support Daniel Mack
2014-07-11 17:24   ` Dave Gerlach
2014-07-11 15:30 ` Andre Heider
2014-07-11 17:31   ` Dave Gerlach
2014-07-14  9:37     ` Andre Heider [this message]
2014-07-14 11:24 ` Tony Lindgren
2014-07-14 17:47   ` Dave Gerlach

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140714093757.GA48810@localhost \
    --to=a.heider@gmail.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).