diff mbox

[Linaro-uefi,v2,16/24] Hisilicon/PlatformSysCtrlLib: add more interfaces to support D05

Message ID 1476796207-94336-17-git-send-email-heyi.guo@linaro.org
State Superseded
Headers show

Commit Message

gary guo Oct. 18, 2016, 1:10 p.m. UTC
System initialization on D05 has some differences from that on D02 and
D03, so we extract more platform system control interfaces to support
D05 within the same architectural modules.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Heyi Guo <heyi.guo@linaro.org>
---
 Chips/Hisilicon/Include/Library/PlatformSysCtrlLib.h | 9 +++++++++
 1 file changed, 9 insertions(+)

Comments

Leif Lindholm Oct. 27, 2016, 2:48 p.m. UTC | #1
On Tue, Oct 18, 2016 at 09:10:00PM +0800, Heyi Guo wrote:
> System initialization on D05 has some differences from that on D02 and
> D03, so we extract more platform system control interfaces to support
> D05 within the same architectural modules.

Should these not be added with the patches that add the actual
definitions?
I don't really have a strong opinion on it, since these are intended
to be for multiple platforms.

> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Heyi Guo <heyi.guo@linaro.org>
> ---
>  Chips/Hisilicon/Include/Library/PlatformSysCtrlLib.h | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/Chips/Hisilicon/Include/Library/PlatformSysCtrlLib.h b/Chips/Hisilicon/Include/Library/PlatformSysCtrlLib.h
> index f374112..1ad9c87 100644
> --- a/Chips/Hisilicon/Include/Library/PlatformSysCtrlLib.h
> +++ b/Chips/Hisilicon/Include/Library/PlatformSysCtrlLib.h
> @@ -90,8 +90,17 @@ VOID DResetUsb ();
>  UINT32 PlatformGetEhciBase ();
>  UINT32 PlatformGetOhciBase ();
>  VOID PlatformPllInit();
> +// PLL initialization for super IO clusters.
> +VOID SiclPllInit(UINT32 SclId);
>  VOID PlatformDeviceDReset();
>  VOID PlatformGicdInit();
>  VOID PlatformLpcInit();
> +// Synchronize architecture timer counter between different super computing
> +// clusters.
> +VOID PlatformArchTimerSynchronize();
> +VOID PlatformEventBroadcastConfig();
> +UINTN GetDjtagRegBase(UINT32 NodeId);
> +VOID LlcCleanInvalidateAsm();
> +VOID PlatformMdioInit();

Can the declarations for functions that don't take arguments
explicitly state VOID please?

>  
>  #endif
> -- 
> 1.9.1
>
gary guo Nov. 2, 2016, 3:27 a.m. UTC | #2
在 10/27/2016 10:48 PM, Leif Lindholm 写道:
> On Tue, Oct 18, 2016 at 09:10:00PM +0800, Heyi Guo wrote:
>> System initialization on D05 has some differences from that on D02 and
>> D03, so we extract more platform system control interfaces to support
>> D05 within the same architectural modules.
> Should these not be added with the patches that add the actual
> definitions?
> I don't really have a strong opinion on it, since these are intended
> to be for multiple platforms.
It may be better to do this, unfortunately the definitions are in a 
binary library and we don't want to update the binary time to time. And 
it will not cause build failure for d02 or d03.

Thanks.
Heyi
>
>> Contributed-under: TianoCore Contribution Agreement 1.0
>> Signed-off-by: Heyi Guo <heyi.guo@linaro.org>
>> ---
>>   Chips/Hisilicon/Include/Library/PlatformSysCtrlLib.h | 9 +++++++++
>>   1 file changed, 9 insertions(+)
>>
>> diff --git a/Chips/Hisilicon/Include/Library/PlatformSysCtrlLib.h b/Chips/Hisilicon/Include/Library/PlatformSysCtrlLib.h
>> index f374112..1ad9c87 100644
>> --- a/Chips/Hisilicon/Include/Library/PlatformSysCtrlLib.h
>> +++ b/Chips/Hisilicon/Include/Library/PlatformSysCtrlLib.h
>> @@ -90,8 +90,17 @@ VOID DResetUsb ();
>>   UINT32 PlatformGetEhciBase ();
>>   UINT32 PlatformGetOhciBase ();
>>   VOID PlatformPllInit();
>> +// PLL initialization for super IO clusters.
>> +VOID SiclPllInit(UINT32 SclId);
>>   VOID PlatformDeviceDReset();
>>   VOID PlatformGicdInit();
>>   VOID PlatformLpcInit();
>> +// Synchronize architecture timer counter between different super computing
>> +// clusters.
>> +VOID PlatformArchTimerSynchronize();
>> +VOID PlatformEventBroadcastConfig();
>> +UINTN GetDjtagRegBase(UINT32 NodeId);
>> +VOID LlcCleanInvalidateAsm();
>> +VOID PlatformMdioInit();
> Can the declarations for functions that don't take arguments
> explicitly state VOID please?
>
>>   
>>   #endif
>> -- 
>> 1.9.1
>>
Leif Lindholm Nov. 2, 2016, 5:32 p.m. UTC | #3
On Wed, Nov 02, 2016 at 11:27:10AM +0800, Heyi Guo wrote:
> 
> 
> 在 10/27/2016 10:48 PM, Leif Lindholm 写道:
> >On Tue, Oct 18, 2016 at 09:10:00PM +0800, Heyi Guo wrote:
> >>System initialization on D05 has some differences from that on D02 and
> >>D03, so we extract more platform system control interfaces to support
> >>D05 within the same architectural modules.
> >Should these not be added with the patches that add the actual
> >definitions?
> >I don't really have a strong opinion on it, since these are intended
> >to be for multiple platforms.
> It may be better to do this, unfortunately the definitions are in a binary
> library and we don't want to update the binary time to time. And it will not
> cause build failure for d02 or d03.

That's probably fine then, as long as the new functions are available
in the binary library before this patch is applied. Every commit must
be functional.

Regards,

Leif

> Thanks.
> Heyi
> >
> >>Contributed-under: TianoCore Contribution Agreement 1.0
> >>Signed-off-by: Heyi Guo <heyi.guo@linaro.org>
> >>---
> >>  Chips/Hisilicon/Include/Library/PlatformSysCtrlLib.h | 9 +++++++++
> >>  1 file changed, 9 insertions(+)
> >>
> >>diff --git a/Chips/Hisilicon/Include/Library/PlatformSysCtrlLib.h b/Chips/Hisilicon/Include/Library/PlatformSysCtrlLib.h
> >>index f374112..1ad9c87 100644
> >>--- a/Chips/Hisilicon/Include/Library/PlatformSysCtrlLib.h
> >>+++ b/Chips/Hisilicon/Include/Library/PlatformSysCtrlLib.h
> >>@@ -90,8 +90,17 @@ VOID DResetUsb ();
> >>  UINT32 PlatformGetEhciBase ();
> >>  UINT32 PlatformGetOhciBase ();
> >>  VOID PlatformPllInit();
> >>+// PLL initialization for super IO clusters.
> >>+VOID SiclPllInit(UINT32 SclId);
> >>  VOID PlatformDeviceDReset();
> >>  VOID PlatformGicdInit();
> >>  VOID PlatformLpcInit();
> >>+// Synchronize architecture timer counter between different super computing
> >>+// clusters.
> >>+VOID PlatformArchTimerSynchronize();
> >>+VOID PlatformEventBroadcastConfig();
> >>+UINTN GetDjtagRegBase(UINT32 NodeId);
> >>+VOID LlcCleanInvalidateAsm();
> >>+VOID PlatformMdioInit();
> >Can the declarations for functions that don't take arguments
> >explicitly state VOID please?
> >
> >>  #endif
> >>-- 
> >>1.9.1
> >>
>
diff mbox

Patch

diff --git a/Chips/Hisilicon/Include/Library/PlatformSysCtrlLib.h b/Chips/Hisilicon/Include/Library/PlatformSysCtrlLib.h
index f374112..1ad9c87 100644
--- a/Chips/Hisilicon/Include/Library/PlatformSysCtrlLib.h
+++ b/Chips/Hisilicon/Include/Library/PlatformSysCtrlLib.h
@@ -90,8 +90,17 @@  VOID DResetUsb ();
 UINT32 PlatformGetEhciBase ();
 UINT32 PlatformGetOhciBase ();
 VOID PlatformPllInit();
+// PLL initialization for super IO clusters.
+VOID SiclPllInit(UINT32 SclId);
 VOID PlatformDeviceDReset();
 VOID PlatformGicdInit();
 VOID PlatformLpcInit();
+// Synchronize architecture timer counter between different super computing
+// clusters.
+VOID PlatformArchTimerSynchronize();
+VOID PlatformEventBroadcastConfig();
+UINTN GetDjtagRegBase(UINT32 NodeId);
+VOID LlcCleanInvalidateAsm();
+VOID PlatformMdioInit();
 
 #endif