linux-omap.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Tomasz Figa <tomasz.figa@gmail.com>
To: Tomasz Figa <t.figa@samsung.com>, linux-samsung-soc@vger.kernel.org
Cc: linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	Kukjin Kim <kgene.kim@samsung.com>,
	Russell King - ARM Linux <linux@arm.linux.org.uk>,
	lauraa@codeaurora.org, linux-omap@vger.kernel.org,
	linus.walleij@linaro.org, santosh.shilimkar@ti.com,
	tony@atomide.com, drake@endlessm.com,
	Marek Szyprowski <m.szyprowski@samsung.com>,
	loeliger@gmail.com
Subject: Re: [PATCH v3 0/7] Enable L2 cache support on Exynos4210/4x12 SoCs
Date: Thu, 31 Jul 2014 21:08:53 +0200	[thread overview]
Message-ID: <53DA9445.1090201@gmail.com> (raw)
In-Reply-To: <1405615142-21426-1-git-send-email-t.figa@samsung.com>

On 17.07.2014 18:38, Tomasz Figa wrote:
> This series intends to add support for L2 cache on Exynos4 SoCs on boards
> running under secure firmware, which requires certain initialization steps
> to be done with help of firmware, as selected registers are writable only
> from secure mode.
> 
> First four patches extend existing support for secure write in L2C driver
> to account for design of secure firmware running on Exynos. Namely:
>  1) direct read access to certain registers is needed on Exynos, because
>     secure firmware calls set several registers at once,
>  2) not all boards are running secure firmware, so .write_sec callback
>     needs to be installed in Exynos firmware ops initialization code,
>  3) write access to {DATA,TAG}_LATENCY_CTRL registers fron non-secure world
>     is not allowed and so must use l2c_write_sec as well,
>  4) on certain boards, default value of prefetch register is incorrect
>     and must be overridden at L2C initialization.
> For boards running with firmware that provides access to individual
> L2C registers this series should introduce no functional changes. However
> since the driver is widely used on other platforms I'd like to kindly ask
> any interested people for testing.
> 
> Further two patches add impelmentation of .write_sec for Exynos secure
> firmware and necessary DT nodes to enable L2 cache.
> 
> Tested on Exynos4210-based Universal C210 and Trats (both without secure
> firmware) and Exynos4412-based TRATS2 and ODROID-U3 boards (both with secure
> firmware).
> 
> Depends on:
>  - [PATCH] ARM: make it easier to check the CPU part number correctly
>    (http://thread.gmane.org/gmane.linux.ports.arm.kernel/335126
>     already in linux-next)
>  - [PATCH v2 0/2] Firmware-assisted suspend/resume of Exynos SoCs
>    (https://lkml.org/lkml/2014/7/17/431)
> 
> Changes since v2:
> (https://lkml.org/lkml/2014/6/25/416)
>  - refactored L2C driver to use commit-like interface and make it no longer
>    depend on availability of writes to individual registers,
>  - moved L2C resume to assembly code, because doing it later makes some
>    systems unstable - this is also needed for deeper cpuidle modes,
>  - dropped unnecessary patch hacking around the .write_sec interface,
>  - dropped patch making the driver use l2c_write_sec() for LATENCY_CTRL
>    registers as Exynos is no longer affected and I'm not aware of any
>    reports that this is also needed on other platforms (can be applied
>    separately if it turns out to be so),
>  - rebased onto next-20140717 tag of linux-next tree.
> 
> Changes since v1:
> (https://www.mail-archive.com/linux-omap@vger.kernel.org/msg106323.html)
>  - rebased onto for-next branch of linux-samsung tree,
>  - changed argument order of outer_cache.write_sec() callback to match
>    l2c_write_sec() function in cache-l2x0.c,
>  - added support of overriding of prefetch settings to work around incorrect
>    default settings on certain Exynos4x12-based boards,
>  - added call to firmware to invalidate whole L2 cache before setting enable
>    bit in L2C control register (required by Exynos secure firmware).
> 
> Tomasz Figa (7):
>   ARM: l2c: Refactor the driver to use commit-like interface
>   ARM: l2c: Add interface to ask hypervisor to configure L2C
>   ARM: l2c: Get outer cache .write_sec callback from mach_desc only if
>     not NULL
>   ARM: l2c: Add support for overriding prefetch settings
>   ARM: EXYNOS: Add .write_sec outer cache callback for L2C-310
>   ARM: EXYNOS: Add support for non-secure L2X0 resume
>   ARM: dts: exynos4: Add nodes for L2 cache controller
> 
>  Documentation/devicetree/bindings/arm/l2cc.txt |  10 +
>  arch/arm/boot/dts/exynos4210.dtsi              |   9 +
>  arch/arm/boot/dts/exynos4x12.dtsi              |  14 ++
>  arch/arm/include/asm/outercache.h              |   3 +
>  arch/arm/kernel/irq.c                          |   3 +-
>  arch/arm/mach-exynos/common.h                  |   1 +
>  arch/arm/mach-exynos/firmware.c                |  40 ++++
>  arch/arm/mach-exynos/sleep.S                   |  41 +++++
>  arch/arm/mm/cache-l2x0.c                       | 245 ++++++++++++++++---------
>  9 files changed, 274 insertions(+), 92 deletions(-)
> 

Any comments for this series?

Best regards,
Tomasz

      parent reply	other threads:[~2014-07-31 19:08 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-17 16:38 [PATCH v3 0/7] Enable L2 cache support on Exynos4210/4x12 SoCs Tomasz Figa
2014-07-17 16:38 ` [PATCH v3 1/7] ARM: l2c: Refactor the driver to use commit-like interface Tomasz Figa
2014-08-02 22:09   ` Russell King - ARM Linux
2014-08-02 22:16     ` Tomasz Figa
2014-07-17 16:38 ` [PATCH v3 2/7] ARM: l2c: Add interface to ask hypervisor to configure L2C Tomasz Figa
2014-07-17 16:38 ` [PATCH v3 3/7] ARM: l2c: Get outer cache .write_sec callback from mach_desc only if not NULL Tomasz Figa
2014-07-17 16:38 ` [PATCH v3 4/7] ARM: l2c: Add support for overriding prefetch settings Tomasz Figa
2014-07-17 16:39 ` [PATCH v3 5/7] ARM: EXYNOS: Add .write_sec outer cache callback for L2C-310 Tomasz Figa
2014-07-17 16:39 ` [PATCH v3 6/7] ARM: EXYNOS: Add support for non-secure L2X0 resume Tomasz Figa
2014-07-17 16:39 ` [PATCH v3 7/7] ARM: dts: exynos4: Add nodes for L2 cache controller Tomasz Figa
2014-07-31 19:08 ` Tomasz Figa [this message]

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=53DA9445.1090201@gmail.com \
    --to=tomasz.figa@gmail.com \
    --cc=drake@endlessm.com \
    --cc=kgene.kim@samsung.com \
    --cc=lauraa@codeaurora.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=loeliger@gmail.com \
    --cc=m.szyprowski@samsung.com \
    --cc=santosh.shilimkar@ti.com \
    --cc=t.figa@samsung.com \
    --cc=tony@atomide.com \
    /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).