linux-riscv.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: Eric Lin <eric.lin@sifive.com>
To: robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org,
	conor+dt@kernel.org, palmer@dabbelt.com,
	paul.walmsley@sifive.com, will@kernel.org, mark.rutland@arm.com,
	tglx@linutronix.de, peterz@infradead.org,
	devicetree@vger.kernel.org, linux-riscv@lists.infradead.org,
	linux-kernel@vger.kernel.org
Cc: zong.li@sifive.com, greentime.hu@sifive.com,
	vincent.chen@sifive.com, Eric Lin <eric.lin@sifive.com>
Subject: [PATCH v2 0/3] Add SiFive Private L2 cache and PMU driver
Date: Thu, 20 Jul 2023 21:51:18 +0800	[thread overview]
Message-ID: <20230720135125.21240-1-eric.lin@sifive.com> (raw)

This patch series adds the SiFive Private L2 cache controller
driver and Performance Monitoring Unit (PMU) driver.

The Private L2 cache communicates with both the upstream L1
caches and downstream L3 cache or memory, enabling a high-
performance cache subsystem. It is also responsible for managing
requests from the L1 instruction and data caches of the core.

The Private L2 Performance Monitoring Unit (PMU) consists of a
set of event-programmable counters and their event selector registers.
The registers are available to control the behavior of the counters.

Changes since v1:
 - Rebased on Linux-6.5-rc2
 - Change pl2 cache compatible string to lowercase
 - Add cpuhp_remove_state() after pl2 cache driver probe fail
 - Return 0 instead of return ret at the end of sifive_pl2_cache_init()
 - Cut down the pl2 cache config log lines in pl2_config_read()
 - Sorting the variable by types in sifive_pl2_cache_dev_probe()
 - Change the error message when failing to find the CPU node
 - Add pl2 PMU driver to support per-task profile
 - Move the pl2 PMU driver implementation to the drivers/perf folder
 - Keep only one pl2 cache compatible string suggested by Krzysztof and Conor
 - Addressed Krzysztof's and Conor's comments on DT binding

Eric Lin (2):
  dt-bindings: riscv: sifive: Add SiFive Private L2 cache controller
  soc: sifive: Add SiFive private L2 cache driver

Greentime Hu (1):
  soc: sifive: Add SiFive private L2 cache PMU driver

 .../bindings/cache/sifive,pl2cache.yaml       |  62 ++
 drivers/perf/Kconfig                          |  10 +
 drivers/perf/Makefile                         |   1 +
 drivers/perf/sifive_pl2_pmu.c                 | 602 ++++++++++++++++++
 drivers/soc/sifive/Kconfig                    |   8 +
 drivers/soc/sifive/Makefile                   |   1 +
 drivers/soc/sifive/sifive_pl2.h               |  29 +
 drivers/soc/sifive/sifive_pl2_cache.c         | 202 ++++++
 include/linux/cpuhotplug.h                    |   1 +
 9 files changed, 916 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/cache/sifive,pl2cache.yaml
 create mode 100644 drivers/perf/sifive_pl2_pmu.c
 create mode 100644 drivers/soc/sifive/sifive_pl2.h
 create mode 100644 drivers/soc/sifive/sifive_pl2_cache.c

-- 
2.40.1


_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

             reply	other threads:[~2023-07-20 13:52 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-07-20 13:51 Eric Lin [this message]
2023-07-20 13:51 ` [PATCH v2 1/3] dt-bindings: riscv: sifive: Add SiFive Private L2 cache controller Eric Lin
2023-07-20 14:47   ` Rob Herring
2023-07-21 10:21     ` Eric Lin
2023-07-20 17:10   ` Conor Dooley
2023-07-28  7:05     ` Conor Dooley
2023-07-28  8:24       ` Eric Lin
2023-07-28 11:06         ` Conor Dooley
2023-09-05 15:07     ` Eric Lin
2023-07-21  8:34   ` Krzysztof Kozlowski
2023-07-28  6:01     ` Eric Lin
2023-07-28  6:46       ` Conor Dooley
2023-07-28  7:20         ` Eric Lin
2023-07-28  6:58       ` Krzysztof Kozlowski
2023-07-28  9:04         ` Eric Lin
2023-07-28  9:39           ` Krzysztof Kozlowski
2023-08-01 10:59             ` Eric Lin
2023-07-20 13:51 ` [PATCH v2 2/3] soc: sifive: Add SiFive private L2 cache driver Eric Lin
2023-07-28  7:15   ` Conor Dooley
2023-07-20 13:51 ` [PATCH v2 3/3] soc: sifive: Add SiFive private L2 cache PMU driver Eric Lin

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=20230720135125.21240-1-eric.lin@sifive.com \
    --to=eric.lin@sifive.com \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=greentime.hu@sifive.com \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-riscv@lists.infradead.org \
    --cc=mark.rutland@arm.com \
    --cc=palmer@dabbelt.com \
    --cc=paul.walmsley@sifive.com \
    --cc=peterz@infradead.org \
    --cc=robh+dt@kernel.org \
    --cc=tglx@linutronix.de \
    --cc=vincent.chen@sifive.com \
    --cc=will@kernel.org \
    --cc=zong.li@sifive.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).