public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Leif Lindholm <leif.lindholm@linaro.org>
To: Marcin Wojtas <mw@semihalf.com>
Cc: edk2-devel-01 <edk2-devel@lists.01.org>,
	Ard Biesheuvel <ard.biesheuvel@linaro.org>,
	nadavh@marvell.com, Hua Jing <jinghua@marvell.com>,
	semihalf-dabros-jan <jsd@semihalf.com>,
	Grzegorz Jaszczyk <jaz@semihalf.com>
Subject: Re: [platforms: PATCH v2 01/25] Marvell/Library: Introduce ArmadaSoCDescLib class
Date: Mon, 18 Jun 2018 18:09:17 +0100	[thread overview]
Message-ID: <20180618170917.skga4b6odfi2pmuy@bivouac.eciton.net> (raw)
In-Reply-To: <CAPv3WKdmELu_R+o49yTc9mdJZnJqWuc-0bpoGZpDuCnZ_pFGXQ@mail.gmail.com>

On Mon, Jun 18, 2018 at 05:58:42PM +0200, Marcin Wojtas wrote:
> Hi Leif,
> 
> 2018-06-18 17:44 GMT+02:00 Leif Lindholm <leif.lindholm@linaro.org>:
> > On Sun, Jun 17, 2018 at 10:11:41PM +0200, Marcin Wojtas wrote:
> >> From: jinghua <jinghua@marvell.com>
> >>
> >> ArmadaSoCDescLib is a per SoC family library, which provides SoC
> >> description, like register base of some hardware module controller,
> >> COMPHY/I2C/NETWORK etc., which right now is hardcoded in MvHwDescLib.h.
> >> There will be a new protocol, which gets SoC description from this
> >> library, and provides board description based on enable/disable
> >> values of each hardware module controller in dsc file.
> >>
> >> As a first example implement obtaining UTMI controllers information.
> >> Remaining interfaces will be added in follow-up commits.
> >> This patch introduces new library callback (ArmadaSoCDescUtmiGet ()),
> >> which dynamically allocates and fills MV_SOC_UTMI_DESC structure,
> >> SoC description of UTMI PHYs. A new PCD is introduced (PcdMaxCpCount)
> >> which stores maximal amount of CP110 blocks in the SoC family.
> >>
> >> Contributed-under: TianoCore Contribution Agreement 1.1
> >> Signed-off-by: jinghua <jinghua@marvell.com>
> >
> > Several of these pre-existing Signed-off-by remain in this set. I did
> > only comment it on 2/25, but it remains there as well.
> 
> As I understood, the problem was 'Reviewed-by' from internal review -
> all those were dropped. So far when the commit was authored by someone
> else (at least in OpenPlatformPkg times) we used to leave the
> authorship and authors 'Signed-off-by' - in such case I had to add my
> own Signed-off-by, as I was sending this to the lists.

We may have been poor at communicating (and if so I apologise) and
potentially on spotting this before,  but we did mean both. You are
the one contributing this to the project, so we need your sign-off
that the code is actually under the license you say it is and that you
are permitted to contribute it.

Including Jinghua's Signed-off-by on initial submission is effectively
you saying "Jinghua says this is fine to distribute under this
license", which is nice and all but untraceable and hence of no legal
value.

Jinghua's effort get recognised by the Author tag because you've kept
them in the From: field.

Now, if you and Jinghua were playing tag team and sending different
sets that got merged together, then sure. We treat Signed-off-by
(nearly) exactly like Linux. We may not be as stringent on explicitly
mentioning ourselves as signing off on changes we may make on pushing.

I see a few patches in the tree where you and Ard have been working
together in public, and then the multiple signed-off-by make sense.

You will also note that the bulk import I did to edk2-platforms does
not come with any other Signed-off-by than my own. It does come with a
commit message pointing to where I got everything from.

Best Regards,

Leif

> > Please send a v3 with this addressed across all patches.
> > But please wait until I've had a chance to go through this set.
> > When you do so, this one has
> > Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
> >
> > I will comment explicitly on all such patches in this set, apart from
> > the one where I already gave Reviewed-by (but please delete all other
> > signed-off-bys than your own from those as well).
> 
> I will update  according to your wish and the new policy.
>
> Best regards,
> Marcin
> 
> > /
> >     Leif
> >
> >> Signed-off-by: Marcin Wojtas <mw@semihalf.com>
> >> ---
> >>  Silicon/Marvell/Marvell.dec                                                      |  4 ++
> >>  Silicon/Marvell/Armada7k8k/Library/Armada7k8kSoCDescLib/Armada7k8kSoCDescLib.inf | 37 +++++++++++
> >>  Silicon/Marvell/Armada7k8k/Library/Armada7k8kSoCDescLib/Armada7k8kSoCDescLib.h   | 35 +++++++++++
> >>  Silicon/Marvell/Include/Library/ArmadaSoCDescLib.h                               | 33 ++++++++++
> >>  Silicon/Marvell/Armada7k8k/Library/Armada7k8kSoCDescLib/Armada7k8kSoCDescLib.c   | 65 ++++++++++++++++++++
> >>  5 files changed, 174 insertions(+)
> >>  create mode 100644 Silicon/Marvell/Armada7k8k/Library/Armada7k8kSoCDescLib/Armada7k8kSoCDescLib.inf
> >>  create mode 100644 Silicon/Marvell/Armada7k8k/Library/Armada7k8kSoCDescLib/Armada7k8kSoCDescLib.h
> >>  create mode 100644 Silicon/Marvell/Include/Library/ArmadaSoCDescLib.h
> >>  create mode 100644 Silicon/Marvell/Armada7k8k/Library/Armada7k8kSoCDescLib/Armada7k8kSoCDescLib.c
> >>
> >> diff --git a/Silicon/Marvell/Marvell.dec b/Silicon/Marvell/Marvell.dec
> >> index be74b4e..2a92eff 100644
> >> --- a/Silicon/Marvell/Marvell.dec
> >> +++ b/Silicon/Marvell/Marvell.dec
> >> @@ -60,6 +60,7 @@
> >>    gMarvellSpiFlashDxeGuid = { 0x49d7fb74, 0x306d, 0x42bd, { 0x94, 0xc8, 0xc0, 0xc5, 0x4b, 0x18, 0x1d, 0xd7 } }
> >>
> >>  [LibraryClasses]
> >> +  ArmadaSoCDescLib|Include/Library/ArmadaSoCDescLib.h
> >>    SampleAtResetLib|Include/Library/SampleAtResetLib.h
> >>
> >>  [Protocols]
> >> @@ -68,6 +69,9 @@
> >>    gMarvellPlatformInitCompleteProtocolGuid = { 0x465b8cf7, 0x016f, 0x4ba6, { 0xbe, 0x6b, 0x28, 0x0e, 0x3a, 0x7d, 0x38, 0x6f } }
> >>
> >>  [PcdsFixedAtBuild.common]
> >> +#Board description
> >> +  gMarvellTokenSpaceGuid.PcdMaxCpCount|0x2|UINT8|0x30000072
> >> +
> >>  #MPP
> >>    gMarvellTokenSpaceGuid.PcdMppChipCount|0|UINT32|0x30000001
> >>
> >> diff --git a/Silicon/Marvell/Armada7k8k/Library/Armada7k8kSoCDescLib/Armada7k8kSoCDescLib.inf b/Silicon/Marvell/Armada7k8k/Library/Armada7k8kSoCDescLib/Armada7k8kSoCDescLib.inf
> >> new file mode 100644
> >> index 0000000..2b73b73
> >> --- /dev/null
> >> +++ b/Silicon/Marvell/Armada7k8k/Library/Armada7k8kSoCDescLib/Armada7k8kSoCDescLib.inf
> >> @@ -0,0 +1,37 @@
> >> +## @file
> >> +#
> >> +#  Copyright (C) 2018, Marvell International Ltd. and its affiliates<BR>
> >> +#
> >> +#  This program and the accompanying materials are licensed and made available
> >> +#  under the terms and conditions of the BSD License which accompanies this
> >> +#  distribution. The full text of the license may be found at
> >> +#  http://opensource.org/licenses/bsd-license.php
> >> +#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
> >> +#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR
> >> +#  IMPLIED.
> >> +#
> >> +##
> >> +
> >> +[Defines]
> >> +  INF_VERSION                    = 0x0001001A
> >> +  BASE_NAME                      = Armada7k8kDescLib
> >> +  FILE_GUID                      = c64f0048-4ca3-4573-b0a6-c2e9e6457285
> >> +  MODULE_TYPE                    = BASE
> >> +  VERSION_STRING                 = 1.0
> >> +  LIBRARY_CLASS                  = ArmadaSoCDescLib
> >> +
> >> +[Sources]
> >> +  Armada7k8kSoCDescLib.c
> >> +
> >> +[Packages]
> >> +  MdeModulePkg/MdeModulePkg.dec
> >> +  MdePkg/MdePkg.dec
> >> +  Silicon/Marvell/Marvell.dec
> >> +
> >> +[LibraryClasses]
> >> +  DebugLib
> >> +  IoLib
> >> +  PcdLib
> >> +
> >> +[FixedPcd]
> >> +  gMarvellTokenSpaceGuid.PcdMaxCpCount
> >> diff --git a/Silicon/Marvell/Armada7k8k/Library/Armada7k8kSoCDescLib/Armada7k8kSoCDescLib.h b/Silicon/Marvell/Armada7k8k/Library/Armada7k8kSoCDescLib/Armada7k8kSoCDescLib.h
> >> new file mode 100644
> >> index 0000000..c5711b0
> >> --- /dev/null
> >> +++ b/Silicon/Marvell/Armada7k8k/Library/Armada7k8kSoCDescLib/Armada7k8kSoCDescLib.h
> >> @@ -0,0 +1,35 @@
> >> +/**
> >> +*
> >> +*  Copyright (C) 2018, Marvell International Ltd. and its affiliates.
> >> +*
> >> +*  This program and the accompanying materials are licensed and made available
> >> +*  under the terms and conditions of the BSD License which accompanies this
> >> +*  distribution. The full text of the license may be found at
> >> +*  http://opensource.org/licenses/bsd-license.php
> >> +*
> >> +*  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
> >> +*  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
> >> +*
> >> +*  Glossary - abbreviations used in Marvell SampleAtReset library implementation:
> >> +*  AP - Application Processor hardware block (Armada 7k8k incorporates AP806)
> >> +*  CP - South Bridge hardware blocks (Armada 7k8k incorporates CP110)
> >> +**/
> >> +
> >> +#ifndef __ARMADA7K8K_SOC_DESC_LIB_H__
> >> +#define __ARMADA7K8K_SOC_DESC_LIB_H__
> >> +
> >> +//
> >> +// Common macros
> >> +//
> >> +#define MV_SOC_CP_BASE(Cp)               (0xF2000000 + ((Cp) * 0x2000000))
> >> +
> >> +//
> >> +// Platform description of UTMI PHY's
> >> +//
> >> +#define MV_SOC_UTMI_PER_CP_COUNT         2
> >> +#define MV_SOC_UTMI_ID(Utmi)             (Utmi)
> >> +#define MV_SOC_UTMI_BASE(Utmi)           (0x580000 + ((Utmi) * 0x1000))
> >> +#define MV_SOC_UTMI_CFG_BASE             0x440440
> >> +#define MV_SOC_UTMI_USB_CFG_BASE         0x440420
> >> +
> >> +#endif
> >> diff --git a/Silicon/Marvell/Include/Library/ArmadaSoCDescLib.h b/Silicon/Marvell/Include/Library/ArmadaSoCDescLib.h
> >> new file mode 100644
> >> index 0000000..0d45684
> >> --- /dev/null
> >> +++ b/Silicon/Marvell/Include/Library/ArmadaSoCDescLib.h
> >> @@ -0,0 +1,33 @@
> >> +/**
> >> +*
> >> +*  Copyright (C) 2018, Marvell International Ltd. and its affiliates
> >> +*
> >> +*  This program and the accompanying materials are licensed and made available
> >> +*  under the terms and conditions of the BSD License which accompanies this
> >> +*  distribution. The full text of the license may be found at
> >> +*  http://opensource.org/licenses/bsd-license.php
> >> +*
> >> +*  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
> >> +*  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
> >> +*
> >> +**/
> >> +#ifndef __ARMADA_SOC_DESC_LIB_H__
> >> +#define __ARMADA_SOC_DESC_LIB_H__
> >> +
> >> +//
> >> +// UTMI PHY devices SoC description
> >> +//
> >> +typedef struct {
> >> +  UINT8 UtmiPhyId;
> >> +  UINTN UtmiBaseAddress;
> >> +  UINTN UtmiConfigAddress;
> >> +  UINTN UsbConfigAddress;
> >> +} MV_SOC_UTMI_DESC;
> >> +
> >> +EFI_STATUS
> >> +EFIAPI
> >> +ArmadaSoCDescUtmiGet (
> >> +  IN OUT MV_SOC_UTMI_DESC  **UtmiDesc,
> >> +  IN OUT UINTN              *DescCount
> >> +  );
> >> +#endif /* __ARMADA_SOC_DESC_LIB_H__ */
> >> diff --git a/Silicon/Marvell/Armada7k8k/Library/Armada7k8kSoCDescLib/Armada7k8kSoCDescLib.c b/Silicon/Marvell/Armada7k8k/Library/Armada7k8kSoCDescLib/Armada7k8kSoCDescLib.c
> >> new file mode 100644
> >> index 0000000..63fb224
> >> --- /dev/null
> >> +++ b/Silicon/Marvell/Armada7k8k/Library/Armada7k8kSoCDescLib/Armada7k8kSoCDescLib.c
> >> @@ -0,0 +1,65 @@
> >> +/**
> >> +*
> >> +*  Copyright (C) 2018, Marvell International Ltd. and its affiliates.
> >> +*
> >> +*  This program and the accompanying materials are licensed and made available
> >> +*  under the terms and conditions of the BSD License which accompanies this
> >> +*  distribution. The full text of the license may be found at
> >> +*  http://opensource.org/licenses/bsd-license.php
> >> +*
> >> +*  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
> >> +*  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
> >> +*
> >> +*  Glossary - abbreviations used in Marvell SampleAtReset library implementation:
> >> +*  AP - Application Processor hardware block (Armada 7k8k incorporates AP806)
> >> +*  CP - South Bridge hardware blocks (Armada 7k8k incorporates CP110)
> >> +**/
> >> +
> >> +#include <Uefi.h>
> >> +
> >> +#include <Library/BaseMemoryLib.h>
> >> +#include <Library/DebugLib.h>
> >> +#include <Library/IoLib.h>
> >> +#include <Library/MemoryAllocationLib.h>
> >> +#include <Library/PcdLib.h>
> >> +#include <Library/UefiBootServicesTableLib.h>
> >> +
> >> +#include <Protocol/BoardDesc.h>
> >> +
> >> +#include "Armada7k8kSoCDescLib.h"
> >> +
> >> +EFI_STATUS
> >> +EFIAPI
> >> +ArmadaSoCDescUtmiGet (
> >> +  IN OUT MV_SOC_UTMI_DESC  **UtmiDesc,
> >> +  IN OUT UINTN              *DescCount
> >> +  )
> >> +{
> >> +  MV_SOC_UTMI_DESC *Desc;
> >> +  UINTN CpCount, CpIndex, Index, UtmiIndex;
> >> +
> >> +  CpCount = FixedPcdGet8 (PcdMaxCpCount);
> >> +
> >> +  *DescCount = CpCount * MV_SOC_UTMI_PER_CP_COUNT;
> >> +  Desc = AllocateZeroPool (*DescCount * sizeof (MV_SOC_UTMI_DESC));
> >> +  if (Desc == NULL) {
> >> +    DEBUG ((DEBUG_ERROR, "%a: Cannot allocate memory\n", __FUNCTION__));
> >> +    return EFI_OUT_OF_RESOURCES;
> >> +  }
> >> +
> >> +  *UtmiDesc = Desc;
> >> +
> >> +  UtmiIndex = 0;
> >> +  for (CpIndex = 0; CpIndex < CpCount; CpIndex++) {
> >> +    for (Index = 0; Index < MV_SOC_UTMI_PER_CP_COUNT; Index++) {
> >> +      Desc->UtmiPhyId = MV_SOC_UTMI_ID (UtmiIndex);
> >> +      Desc->UtmiBaseAddress = MV_SOC_CP_BASE (CpIndex) + MV_SOC_UTMI_BASE (Index);
> >> +      Desc->UtmiConfigAddress = MV_SOC_CP_BASE (CpIndex) + MV_SOC_UTMI_CFG_BASE;
> >> +      Desc->UsbConfigAddress = MV_SOC_CP_BASE (CpIndex) + MV_SOC_UTMI_USB_CFG_BASE;
> >> +      Desc++;
> >> +      UtmiIndex++;
> >> +    }
> >> +  }
> >> +
> >> +  return EFI_SUCCESS;
> >> +}
> >> --
> >> 2.7.4
> >>


  reply	other threads:[~2018-06-18 17:09 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-17 20:11 [platforms: PATCH v2 00/25] Armada hardware description rework Marcin Wojtas
2018-06-17 20:11 ` [platforms: PATCH v2 01/25] Marvell/Library: Introduce ArmadaSoCDescLib class Marcin Wojtas
2018-06-18 15:44   ` Leif Lindholm
2018-06-18 15:58     ` Marcin Wojtas
2018-06-18 17:09       ` Leif Lindholm [this message]
2018-06-17 20:11 ` [platforms: PATCH v2 02/25] Marvell/Library: Introduce ArmadaBoardDescLib class Marcin Wojtas
2018-06-17 20:11 ` [platforms: PATCH v2 03/25] Marvell: Introduce MARVELL_BOARD_DESC_PROTOCOL Marcin Wojtas
2018-06-17 20:11 ` [platforms: PATCH v2 04/25] Marvell/Drivers: MvBoardDesc: Introduce board description driver Marcin Wojtas
2018-06-18 15:50   ` Leif Lindholm
2018-06-17 20:11 ` [platforms: PATCH v2 05/25] Marvell/Armada7k8k: Enable board description driver compilation Marcin Wojtas
2018-06-17 20:11 ` [platforms: PATCH v2 06/25] Marvell/Library: UtmiPhyLib: Switch to use MARVELL_BOARD_DESC protocol Marcin Wojtas
2018-06-17 20:11 ` [platforms: PATCH v2 07/25] Marvell/Library: RealTimeClockLib: Simplify obtaining base address Marcin Wojtas
2018-06-17 20:11 ` [platforms: PATCH v2 08/25] Marvell/Armada7k8k: Extend ArmadaSoCDescLib with PP2 information Marcin Wojtas
2018-06-18 15:51   ` Leif Lindholm
2018-06-17 20:11 ` [platforms: PATCH v2 09/25] Marvell/Drivers: MvBoardDesc: Extend protocol with PP2 support Marcin Wojtas
2018-06-18 15:53   ` Leif Lindholm
2018-06-17 20:11 ` [platforms: PATCH v2 10/25] Marvell/Drivers: Pp2Dxe: Switch to use MARVELL_BOARD_DESC protocol Marcin Wojtas
2018-06-18 15:55   ` Leif Lindholm
2018-06-17 20:11 ` [platforms: PATCH v2 11/25] Marvell/Armada7k8k: Extend ArmadaSoCDescLib with AHCI/SDMMC/XHCI Marcin Wojtas
2018-06-18 16:06   ` Leif Lindholm
2018-06-17 20:11 ` [platforms: PATCH v2 12/25] Marvell/Drivers: MvBoardDesc: Extend protocol " Marcin Wojtas
2018-06-18 16:09   ` Leif Lindholm
2018-06-17 20:11 ` [platforms: PATCH v2 13/25] Marvell/Drivers: NonDiscoverable: Switch to use MARVELL_BOARD_DESC Marcin Wojtas
2018-06-17 20:11 ` [platforms: PATCH v2 14/25] Marvell/Library: ComPhyLib: Get AHCI data with MARVELL_BOARD_DESC Marcin Wojtas
2018-06-18 16:15   ` Leif Lindholm
2018-06-17 20:11 ` [platforms: PATCH v2 15/25] Marvell/Armada7k8k: Extend ArmadaSoCDescLib with ComPhy information Marcin Wojtas
2018-06-18 16:18   ` Leif Lindholm
2018-06-17 20:11 ` [platforms: PATCH v2 16/25] Marvell/Drivers: MvBoardDesc: Extend protocol with ComPhy support Marcin Wojtas
2018-06-18 16:19   ` Leif Lindholm
2018-06-17 20:11 ` [platforms: PATCH v2 17/25] Marvell/Library: ComPhyLib: Switch library to use MARVELL_BOARD_DESC Marcin Wojtas
2018-06-18 16:20   ` Leif Lindholm
2018-06-17 20:11 ` [platforms: PATCH v2 18/25] Marvell/Armada7k8k: Extend ArmadaSoCDescLib with MDIO information Marcin Wojtas
2018-06-18 16:23   ` Leif Lindholm
2018-06-18 16:27     ` Marcin Wojtas
2018-06-18 17:16       ` Leif Lindholm
2018-06-17 20:11 ` [platforms: PATCH v2 19/25] Marvell/Drivers: MvBoardDesc: Extend protocol with MDIO support Marcin Wojtas
2018-06-18 16:44   ` Leif Lindholm
2018-06-17 20:12 ` [platforms: PATCH v2 20/25] Marvell/Drivers: MvMdioDxe: Enable 64bit addressing Marcin Wojtas
2018-06-17 20:12 ` [platforms: PATCH v2 21/25] Marvell/Drivers: MvMdioDxe: Switch driver to use MARVELL_BOARD_DESC Marcin Wojtas
2018-06-17 20:12 ` [platforms: PATCH v2 22/25] Marvell/Armada7k8k: Extend ArmadaSoCDescLib with I2C information Marcin Wojtas
2018-06-18 16:45   ` Leif Lindholm
2018-06-17 20:12 ` [platforms: PATCH v2 23/25] Marvell/Drivers: MvBoardDesc: Extend protocol with I2C support Marcin Wojtas
2018-06-18 16:47   ` Leif Lindholm
2018-06-17 20:12 ` [platforms: PATCH v2 24/25] Marvell/Drivers: MvI2cDxe: Switch driver to use MARVELL_BOARD_DESC Marcin Wojtas
2018-06-18 16:48   ` Leif Lindholm
2018-06-17 20:12 ` [platforms: PATCH v2 25/25] Marvell/Drivers: MvPhyDxe: Remove MvHwDescLib.h dependency Marcin Wojtas
2018-06-18 16:50   ` Leif Lindholm

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-list 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=20180618170917.skga4b6odfi2pmuy@bivouac.eciton.net \
    --to=devel@edk2.groups.io \
    /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