mbox

[GIT,PULL,2/10] firmware: Add Tegra IVC and BPMP support

Message ID 20161118161719.24153-2-thierry.reding@gmail.com
State New
Headers show

Pull-request

git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux.git tags/tegra-for-4.10-firmware

Message

Thierry Reding Nov. 18, 2016, 4:17 p.m. UTC
Hi ARM SoC maintainers,

The following changes since commit 1001354ca34179f3db924eb66672442a173147dc:

  Linux 4.9-rc1 (2016-10-15 12:17:50 -0700)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux.git tags/tegra-for-4.10-firmware

for you to fetch changes up to b704ed8095ee91af5f3f7343bb3be23aae1cb26d:

  dt-bindings: firmware: Allow child nodes inside the Tegra BPMP (2016-11-18 14:33:44 +0100)

Thanks,
Thierry

----------------------------------------------------------------
firmware: Add Tegra IVC and BPMP support

IVC is an inter-processor communication protocol that uses shared memory
to exchange data between processors. The BPMP driver makes use of this
to communicate with the Boot and Power Management Processor (BPMP) and
uses an additional hardware synchronization primitive from the HSP block
to signal availability of new data (doorbell).

Firmware running on the BPMP implements a number of services such as the
control of clocks and resets within the system, or the ability to ungate
or gate power partitions.

----------------------------------------------------------------
Dan Carpenter (1):
      mailbox: tegra-hsp: Use after free in tegra_hsp_remove_doorbells()

Joseph Lo (3):
      soc/tegra: Add Tegra186 support
      dt-bindings: mailbox: Add Tegra HSP binding
      dt-bindings: firmware: Add bindings for Tegra BPMP

Stephen Warren (2):
      dt-bindings: Add power domains to Tegra BPMP firmware
      dt-bindings: firmware: Allow child nodes inside the Tegra BPMP

Thierry Reding (5):
      Merge branch 'for-4.10/soc' into for-4.10/mailbox
      mailbox: Add Tegra HSP driver
      Merge branch 'for-4.10/mailbox' into for-4.10/firmware
      firmware: tegra: Add IVC library
      firmware: tegra: Add BPMP support

 .../bindings/firmware/nvidia,tegra186-bpmp.txt     |  108 ++
 .../bindings/mailbox/nvidia,tegra186-hsp.txt       |   52 +
 drivers/firmware/Kconfig                           |    1 +
 drivers/firmware/Makefile                          |    1 +
 drivers/firmware/tegra/Kconfig                     |   25 +
 drivers/firmware/tegra/Makefile                    |    2 +
 drivers/firmware/tegra/bpmp.c                      |  868 +++++++++++
 drivers/firmware/tegra/ivc.c                       |  695 +++++++++
 drivers/mailbox/Kconfig                            |    9 +
 drivers/mailbox/Makefile                           |    2 +
 drivers/mailbox/tegra-hsp.c                        |  479 ++++++
 drivers/soc/tegra/Kconfig                          |   14 +
 include/dt-bindings/clock/tegra186-clock.h         |  940 ++++++++++++
 include/dt-bindings/mailbox/tegra186-hsp.h         |   24 +
 include/dt-bindings/power/tegra186-powergate.h     |   39 +
 include/dt-bindings/reset/tegra186-reset.h         |  217 +++
 include/soc/tegra/bpmp-abi.h                       | 1601 ++++++++++++++++++++
 include/soc/tegra/bpmp.h                           |  141 ++
 include/soc/tegra/ivc.h                            |  109 ++
 19 files changed, 5327 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/firmware/nvidia,tegra186-bpmp.txt
 create mode 100644 Documentation/devicetree/bindings/mailbox/nvidia,tegra186-hsp.txt
 create mode 100644 drivers/firmware/tegra/Kconfig
 create mode 100644 drivers/firmware/tegra/Makefile
 create mode 100644 drivers/firmware/tegra/bpmp.c
 create mode 100644 drivers/firmware/tegra/ivc.c
 create mode 100644 drivers/mailbox/tegra-hsp.c
 create mode 100644 include/dt-bindings/clock/tegra186-clock.h
 create mode 100644 include/dt-bindings/mailbox/tegra186-hsp.h
 create mode 100644 include/dt-bindings/power/tegra186-powergate.h
 create mode 100644 include/dt-bindings/reset/tegra186-reset.h
 create mode 100644 include/soc/tegra/bpmp-abi.h
 create mode 100644 include/soc/tegra/bpmp.h
 create mode 100644 include/soc/tegra/ivc.h

Comments

Olof Johansson Nov. 19, 2016, 2:31 a.m. UTC | #1
On Fri, Nov 18, 2016 at 05:17:11PM +0100, Thierry Reding wrote:
> Hi ARM SoC maintainers,
> 
> The following changes since commit 1001354ca34179f3db924eb66672442a173147dc:
> 
>   Linux 4.9-rc1 (2016-10-15 12:17:50 -0700)
> 
> are available in the git repository at:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux.git tags/tegra-for-4.10-firmware
> 
> for you to fetch changes up to b704ed8095ee91af5f3f7343bb3be23aae1cb26d:
> 
>   dt-bindings: firmware: Allow child nodes inside the Tegra BPMP (2016-11-18 14:33:44 +0100)
> 
> Thanks,
> Thierry
> 
> ----------------------------------------------------------------
> firmware: Add Tegra IVC and BPMP support
> 
> IVC is an inter-processor communication protocol that uses shared memory
> to exchange data between processors. The BPMP driver makes use of this
> to communicate with the Boot and Power Management Processor (BPMP) and
> uses an additional hardware synchronization primitive from the HSP block
> to signal availability of new data (doorbell).
> 
> Firmware running on the BPMP implements a number of services such as the
> control of clocks and resets within the system, or the ability to ungate
> or gate power partitions.
> 
> ----------------------------------------------------------------
> Dan Carpenter (1):
>       mailbox: tegra-hsp: Use after free in tegra_hsp_remove_doorbells()
> 
> Joseph Lo (3):
>       soc/tegra: Add Tegra186 support
>       dt-bindings: mailbox: Add Tegra HSP binding
>       dt-bindings: firmware: Add bindings for Tegra BPMP
> 
> Stephen Warren (2):
>       dt-bindings: Add power domains to Tegra BPMP firmware
>       dt-bindings: firmware: Allow child nodes inside the Tegra BPMP
> 
> Thierry Reding (5):
>       Merge branch 'for-4.10/soc' into for-4.10/mailbox
>       mailbox: Add Tegra HSP driver
>       Merge branch 'for-4.10/mailbox' into for-4.10/firmware
>       firmware: tegra: Add IVC library
>       firmware: tegra: Add BPMP support

Hi,

Again the format of the pull request here is a little confusing, since it's
a cumulative shotlog and diffstat, while you already sent the bulk of this
as part of the driver branch (1/10). It'd have been better to use that branch
as the base when you generate the pull request since that's the delta we see
when we merge it in.

Also, I can't seem to find the key you use to sign these tags with, it isn't
uploaded on pgp.mit.edu. Can you remedy that please, and get it signed as
needed?

All that being said, I've merged this into next/drivers. Thanks!


-Olof
Thierry Reding Nov. 21, 2016, 8:29 a.m. UTC | #2
On Fri, Nov 18, 2016 at 06:31:38PM -0800, Olof Johansson wrote:
> On Fri, Nov 18, 2016 at 05:17:11PM +0100, Thierry Reding wrote:
> > Hi ARM SoC maintainers,
> > 
> > The following changes since commit 1001354ca34179f3db924eb66672442a173147dc:
> > 
> >   Linux 4.9-rc1 (2016-10-15 12:17:50 -0700)
> > 
> > are available in the git repository at:
> > 
> >   git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux.git tags/tegra-for-4.10-firmware
> > 
> > for you to fetch changes up to b704ed8095ee91af5f3f7343bb3be23aae1cb26d:
> > 
> >   dt-bindings: firmware: Allow child nodes inside the Tegra BPMP (2016-11-18 14:33:44 +0100)
> > 
> > Thanks,
> > Thierry
> > 
> > ----------------------------------------------------------------
> > firmware: Add Tegra IVC and BPMP support
> > 
> > IVC is an inter-processor communication protocol that uses shared memory
> > to exchange data between processors. The BPMP driver makes use of this
> > to communicate with the Boot and Power Management Processor (BPMP) and
> > uses an additional hardware synchronization primitive from the HSP block
> > to signal availability of new data (doorbell).
> > 
> > Firmware running on the BPMP implements a number of services such as the
> > control of clocks and resets within the system, or the ability to ungate
> > or gate power partitions.
> > 
> > ----------------------------------------------------------------
> > Dan Carpenter (1):
> >       mailbox: tegra-hsp: Use after free in tegra_hsp_remove_doorbells()
> > 
> > Joseph Lo (3):
> >       soc/tegra: Add Tegra186 support
> >       dt-bindings: mailbox: Add Tegra HSP binding
> >       dt-bindings: firmware: Add bindings for Tegra BPMP
> > 
> > Stephen Warren (2):
> >       dt-bindings: Add power domains to Tegra BPMP firmware
> >       dt-bindings: firmware: Allow child nodes inside the Tegra BPMP
> > 
> > Thierry Reding (5):
> >       Merge branch 'for-4.10/soc' into for-4.10/mailbox
> >       mailbox: Add Tegra HSP driver
> >       Merge branch 'for-4.10/mailbox' into for-4.10/firmware
> >       firmware: tegra: Add IVC library
> >       firmware: tegra: Add BPMP support
> 
> Hi,
> 
> Again the format of the pull request here is a little confusing, since it's
> a cumulative shotlog and diffstat, while you already sent the bulk of this
> as part of the driver branch (1/10). It'd have been better to use that branch
> as the base when you generate the pull request since that's the delta we see
> when we merge it in.

In the past there had been occasions where it hadn't been clear what a
given branch was going to pull in as additional dependencies, so adding
the complete shortlog seemed like a good way to document this in a more
explicit way.

If you prefer working things out yourself I can tweak the scripts to
generate the pull requests on top of their respective dependencies.

> Also, I can't seem to find the key you use to sign these tags with, it isn't
> uploaded on pgp.mit.edu. Can you remedy that please, and get it signed as
> needed?

Works for me:

	http://pgp.mit.edu/pks/lookup?op=get&search=0xDD23ACD77F3EB3A1

Thierry
Olof Johansson Dec. 4, 2016, 5:10 a.m. UTC | #3
On Mon, Nov 21, 2016 at 09:29:59AM +0100, Thierry Reding wrote:
> On Fri, Nov 18, 2016 at 06:31:38PM -0800, Olof Johansson wrote:
> > On Fri, Nov 18, 2016 at 05:17:11PM +0100, Thierry Reding wrote:
> > > Hi ARM SoC maintainers,
> > > 
> > > The following changes since commit 1001354ca34179f3db924eb66672442a173147dc:
> > > 
> > >   Linux 4.9-rc1 (2016-10-15 12:17:50 -0700)
> > > 
> > > are available in the git repository at:
> > > 
> > >   git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux.git tags/tegra-for-4.10-firmware
> > > 
> > > for you to fetch changes up to b704ed8095ee91af5f3f7343bb3be23aae1cb26d:
> > > 
> > >   dt-bindings: firmware: Allow child nodes inside the Tegra BPMP (2016-11-18 14:33:44 +0100)
> > > 
> > > Thanks,
> > > Thierry
> > > 
> > > ----------------------------------------------------------------
> > > firmware: Add Tegra IVC and BPMP support
> > > 
> > > IVC is an inter-processor communication protocol that uses shared memory
> > > to exchange data between processors. The BPMP driver makes use of this
> > > to communicate with the Boot and Power Management Processor (BPMP) and
> > > uses an additional hardware synchronization primitive from the HSP block
> > > to signal availability of new data (doorbell).
> > > 
> > > Firmware running on the BPMP implements a number of services such as the
> > > control of clocks and resets within the system, or the ability to ungate
> > > or gate power partitions.
> > > 
> > > ----------------------------------------------------------------
> > > Dan Carpenter (1):
> > >       mailbox: tegra-hsp: Use after free in tegra_hsp_remove_doorbells()
> > > 
> > > Joseph Lo (3):
> > >       soc/tegra: Add Tegra186 support
> > >       dt-bindings: mailbox: Add Tegra HSP binding
> > >       dt-bindings: firmware: Add bindings for Tegra BPMP
> > > 
> > > Stephen Warren (2):
> > >       dt-bindings: Add power domains to Tegra BPMP firmware
> > >       dt-bindings: firmware: Allow child nodes inside the Tegra BPMP
> > > 
> > > Thierry Reding (5):
> > >       Merge branch 'for-4.10/soc' into for-4.10/mailbox
> > >       mailbox: Add Tegra HSP driver
> > >       Merge branch 'for-4.10/mailbox' into for-4.10/firmware
> > >       firmware: tegra: Add IVC library
> > >       firmware: tegra: Add BPMP support
> > 
> > Hi,
> > 
> > Again the format of the pull request here is a little confusing, since it's
> > a cumulative shotlog and diffstat, while you already sent the bulk of this
> > as part of the driver branch (1/10). It'd have been better to use that branch
> > as the base when you generate the pull request since that's the delta we see
> > when we merge it in.
> 
> In the past there had been occasions where it hadn't been clear what a
> given branch was going to pull in as additional dependencies, so adding
> the complete shortlog seemed like a good way to document this in a more
> explicit way.
> 
> If you prefer working things out yourself I can tweak the scripts to
> generate the pull requests on top of their respective dependencies.

It's really about the order we'll merge the patches and the diffstat that
git merge will generate and display (which is the one I usually verify
against).

So being clear is definitely useful, but doing the diffstat on the incremental
changes is still preferred.

> > Also, I can't seem to find the key you use to sign these tags with, it isn't
> > uploaded on pgp.mit.edu. Can you remedy that please, and get it signed as
> > needed?
> 
> Works for me:
> 
> 	http://pgp.mit.edu/pks/lookup?op=get&search=0xDD23ACD77F3EB3A1

Odd, I searched for it and didn't find it. But yeah, it's there.


-Olof