devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Markus Mayer <mmayer-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
To: Viresh Kumar
	<viresh.kumar-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
	"Rafael J . Wysocki"
	<rjw-LthD3rsA81gm4RdzfppkhA@public.gmane.org>,
	Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org>
Cc: Broadcom Kernel List
	<bcm-kernel-feedback-list-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>,
	Device Tree List
	<devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Power Management List
	<linux-pm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Linux Kernel Mailing List
	<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Markus Mayer <mmayer-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
Subject: [PATCH v4 0/3] Broadcom STB AVS CPUfreq driver
Date: Wed, 12 Oct 2016 15:12:53 -0700	[thread overview]
Message-ID: <1476310376-32699-1-git-send-email-mmayer@broadcom.com> (raw)

This series contains the CPUfreq driver for Broadcom SoCs that use "AVS
Firmware" for voltage and frequency scaling. All voltage and frequency
transitions are performed by the firmware and are therefore hidden from
Linux.

The driver provides a standard CPUfreq interface to other kernel
components and to userland on the one hand and communicates with the
AVS co-processor on the other.

Communication between the two processors is via shared mailbox
registers and interrupts (ARM -> AVS to tell the firmware that there is
a command to process and AVS -> ARM to tell the driver that a command
finished executing).

Changes from v3:
    - moved code from brcm_avs_cpufreq_exit() into brcm_avs_cpufreq_remove()
    - removed brcm_avs_cpufreq_exit() altogether

Changes from v2:
    - removed file Documentation/cpu-freq/brcmstb-avs-cpufreq.txt, instead
      adding the text as comment in the driver itself
    - wildcard match in MAINTAINERS file (drivers/cpufreq/brcmstb*)
    - drivers/cpufreq/Kconfig.arm: have ARM_BRCMSTB_AVS_CPUFREQ default y
      for ARCH_BRCMSTB
    - fixed naming and Kconfig entry for CONFIG_ARM_BRCMSTB_AVS_CPUFREQ_DEBUG
    - reordered and fixed include files
    - made sure driver name doesn't exceed size of cpufreq_driver.name
    - got rid of device_node pointers in struct private_data; there's no
      need for them, as we can call of_node_put() in __map_region()
    - don't set driver_data for CPUFREQ_TABLE_END
    - have brcm_avs_cpufreq_get() read from the firmware rather than return
      policy->cur
    - don't update policy->cur in brcm_avs_target_index()
    - created new function brcm_avs_prepare_init() to handle compatibility
      checks during initialization and moved corresponding code from
      brcm_avs_cpufreq_init() to the new function
    - brcm_avs_prepare_init() is called from brcm_avs_cpufreq_probe() and
      therefore will only be called once, even in the case of an error,
      whereas brcm_avs_cpufreq_init() is called for every core if there is
      an error
    - renamed brcm_avs_cpu_(init|exit) to brcm_avs_cpufreq_(init|exit)
    - added platform_set_drvdata(pdev, NULL) upon deregistration
    - fixed various style complaints by checkpatch.pl --strict
    - fixed other style issues
    - updated and improved some comments
    - added Viresh's Acks to patches 1/3 and 3/3

Changes from v1:
    - renamed binding document
    - rewrote the introduction of the binding document
    - created a new driver documentation file that contains Linux specific
      information that was previously part of the binding document
    - renamed the driver (and related config options) to include a reference
      to "STB", since this implementation is primarily intended for use on
      set-top boxes
    - improved comments
    - updated function __map_region()
    - updated struct private_data
    - added code to unmap memory regions in the error and exit paths
    - added new sysfs property to report frequency directly from the
      co-processor register



Markus Mayer (3):
  dt: cpufreq: brcm: New binding document for brcmstb-avs-cpufreq
  cpufreq: brcmstb-avs-cpufreq: AVS CPUfreq driver for Broadcom STB SoCs
  cpufreq: brcmstb-avs-cpufreq: add debugfs support

 .../bindings/cpufreq/brcm,stb-avs-cpu-freq.txt     |   76 ++
 MAINTAINERS                                        |    8 +
 drivers/cpufreq/Kconfig.arm                        |   21 +
 drivers/cpufreq/Makefile                           |    1 +
 drivers/cpufreq/brcmstb-avs-cpufreq.c              | 1057 ++++++++++++++++++++
 5 files changed, 1163 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/cpufreq/brcm,stb-avs-cpu-freq.txt
 create mode 100644 drivers/cpufreq/brcmstb-avs-cpufreq.c

-- 
2.7.4

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

             reply	other threads:[~2016-10-12 22:12 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-10-12 22:12 Markus Mayer [this message]
2016-10-12 22:12 ` [PATCH v4 1/3] dt: cpufreq: brcm: New binding document for brcmstb-avs-cpufreq Markus Mayer
     [not found]   ` <1476310376-32699-2-git-send-email-mmayer-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
2016-10-14  3:01     ` Viresh Kumar
2016-10-18 13:38     ` Rob Herring
2016-10-19 17:32       ` Markus Mayer
     [not found] ` <1476310376-32699-1-git-send-email-mmayer-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
2016-10-12 22:12   ` [PATCH v4 2/3] cpufreq: brcmstb-avs-cpufreq: AVS CPUfreq driver for Broadcom STB SoCs Markus Mayer
2016-10-12 22:12   ` [PATCH v4 3/3] cpufreq: brcmstb-avs-cpufreq: add debugfs support Markus Mayer
2016-10-12 22:17     ` Markus Mayer
2016-10-14 16:05       ` Markus Mayer
2016-10-13  5:45 ` [PATCH v4 0/3] Broadcom STB AVS CPUfreq driver Viresh Kumar
2016-10-13 12:49   ` Rafael J. Wysocki
     [not found]     ` <CAJZ5v0hT-gJuOnODkBJPKYVzqyc=bj685RDw=hqgAiFaoEzCug-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-10-14  3:02       ` Viresh Kumar

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=1476310376-32699-1-git-send-email-mmayer@broadcom.com \
    --to=mmayer-dy08kvg/lbpwk0htik3j/w@public.gmane.org \
    --cc=bcm-kernel-feedback-list-dY08KVG/lbpWk0Htik3J/w@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-pm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=mark.rutland-5wv7dgnIgG8@public.gmane.org \
    --cc=rjw-LthD3rsA81gm4RdzfppkhA@public.gmane.org \
    --cc=robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=viresh.kumar-QSEj5FYQhm4dnm+yROfE0A@public.gmane.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).