public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH] Platform/ARM/VExpress: refine the check for DVI support
@ 2018-01-26 17:04 Thomas Abraham
  2018-01-29 13:12 ` Thomas Abraham
  2018-01-29 14:51 ` Leif Lindholm
  0 siblings, 2 replies; 7+ messages in thread
From: Thomas Abraham @ 2018-01-26 17:04 UTC (permalink / raw)
  To: edk2-devel; +Cc: leif.lindholm, ard.biesheuvel

The base models could have different values for the revision ID field
in the System ID register. Base models do not have support for DVI
and so the revision ID field should also be masked out when checking
for the presence of DVI support.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Thomas Abraham <thomas.abraham@arm.com>
---
 .../VExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmVExpress.c    | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Platform/ARM/VExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmVExpress.c b/Platform/ARM/VExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmVExpress.c
index 3f3ceb3..89ba130 100644
--- a/Platform/ARM/VExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmVExpress.c
+++ b/Platform/ARM/VExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmVExpress.c
@@ -264,7 +264,7 @@ LcdPlatformSetMode (
   SysId = MmioRead32 (ARM_VE_SYS_ID_REG);
   if (SysId != ARM_RTSM_SYS_ID) {
     // Take out the FVP GIC variant to reduce the permutations.
-    SysId &= ~ARM_FVP_SYS_ID_VARIANT_MASK;
+    SysId &= ~(ARM_FVP_SYS_ID_VARIANT_MASK | ARM_FVP_SYS_ID_REV_MASK);
     if (SysId != ARM_FVP_BASE_BOARD_SYS_ID) {
       // Set the DVI into the new mode
       Status = ArmPlatformSysConfigSet (SYS_CFG_DVIMODE, mResolutions[ModeNumber].Mode);
--
2.7.4

IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH] Platform/ARM/VExpress: refine the check for DVI support
  2018-01-26 17:04 [PATCH] Platform/ARM/VExpress: refine the check for DVI support Thomas Abraham
@ 2018-01-29 13:12 ` Thomas Abraham
  2018-01-29 15:35   ` Leif Lindholm
  2018-01-29 14:51 ` Leif Lindholm
  1 sibling, 1 reply; 7+ messages in thread
From: Thomas Abraham @ 2018-01-29 13:12 UTC (permalink / raw)
  To: edk2-devel@lists.01.org
  Cc: leif.lindholm@linaro.org, ard.biesheuvel@linaro.org

Hi Leif,

> On Fri, Jan 26, 2018 at 10:34 PM, Thomas Abraham <thomas.abraham@arm.com> wrote:
> The base models could have different values for the revision ID field in the
> System ID register. Base models do not have support for DVI and so the revision
> ID field should also be masked out when checking for the presence of DVI
> support.
>
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Thomas Abraham <thomas.abraham@arm.com>
> ---
>  .../VExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmVExpress.c    | 2
> +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git
> a/Platform/ARM/VExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmV
> Express.c
> b/Platform/ARM/VExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmV
> Express.c
> index 3f3ceb3..89ba130 100644
> ---
> a/Platform/ARM/VExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmV
> Express.c
> +++
> b/Platform/ARM/VExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdAr
> +++ mVExpress.c
> @@ -264,7 +264,7 @@ LcdPlatformSetMode (
>    SysId = MmioRead32 (ARM_VE_SYS_ID_REG);
>    if (SysId != ARM_RTSM_SYS_ID) {
>      // Take out the FVP GIC variant to reduce the permutations.
> -    SysId &= ~ARM_FVP_SYS_ID_VARIANT_MASK;
> +    SysId &= ~(ARM_FVP_SYS_ID_VARIANT_MASK |
> ARM_FVP_SYS_ID_REV_MASK);
>      if (SysId != ARM_FVP_BASE_BOARD_SYS_ID) {
>        // Set the DVI into the new mode
>        Status = ArmPlatformSysConfigSet (SYS_CFG_DVIMODE,
> mResolutions[ModeNumber].Mode);
> --

Sorry, I don't mean to be pushy -- just wanted to know if there are any comments on this patch. This patch fixes a check on system ID register value without which an assert is triggered on FVP platforms. This fix is also required for an upcoming release for fvp platforms.

Thanks,
Thomas.
IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] Platform/ARM/VExpress: refine the check for DVI support
  2018-01-26 17:04 [PATCH] Platform/ARM/VExpress: refine the check for DVI support Thomas Abraham
  2018-01-29 13:12 ` Thomas Abraham
@ 2018-01-29 14:51 ` Leif Lindholm
  2018-01-29 16:01   ` Thomas Abraham
  1 sibling, 1 reply; 7+ messages in thread
From: Leif Lindholm @ 2018-01-29 14:51 UTC (permalink / raw)
  To: Thomas Abraham; +Cc: edk2-devel, ard.biesheuvel

On Fri, Jan 26, 2018 at 10:34:59PM +0530, Thomas Abraham wrote:
> The base models could have different values for the revision ID field
> in the System ID register. Base models do not have support for DVI
> and so the revision ID field should also be masked out when checking
> for the presence of DVI support.
> 
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Thomas Abraham <thomas.abraham@arm.com>
> ---
>  .../VExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmVExpress.c    | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/Platform/ARM/VExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmVExpress.c b/Platform/ARM/VExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmVExpress.c
> index 3f3ceb3..89ba130 100644
> --- a/Platform/ARM/VExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmVExpress.c
> +++ b/Platform/ARM/VExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmVExpress.c
> @@ -264,7 +264,7 @@ LcdPlatformSetMode (
>    SysId = MmioRead32 (ARM_VE_SYS_ID_REG);
>    if (SysId != ARM_RTSM_SYS_ID) {
>      // Take out the FVP GIC variant to reduce the permutations.
> -    SysId &= ~ARM_FVP_SYS_ID_VARIANT_MASK;
> +    SysId &= ~(ARM_FVP_SYS_ID_VARIANT_MASK | ARM_FVP_SYS_ID_REV_MASK);
>      if (SysId != ARM_FVP_BASE_BOARD_SYS_ID) {
>        // Set the DVI into the new mode
>        Status = ArmPlatformSysConfigSet (SYS_CFG_DVIMODE, mResolutions[ModeNumber].Mode);

I think this change makes sense (and should arguably have been there
from the start). But I also think it highlights that the surrounding
comments are incorrect, and get increasingly confusing with this
modification.

I would suggest that
  // On the FVP models the GIC variant in encoded in bits [15:12].
is replaced by
  // On the FVP models, the build variant is encoded in bits [15:12].

and that
  // Take out the FVP GIC variant to reduce the permutations.
is replaced by
  // Ignore build variant and revision.

If you're happy with that, I can fold these changes to the surrounding
comments in and commit.

/
    Leif


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] Platform/ARM/VExpress: refine the check for DVI support
  2018-01-29 13:12 ` Thomas Abraham
@ 2018-01-29 15:35   ` Leif Lindholm
  0 siblings, 0 replies; 7+ messages in thread
From: Leif Lindholm @ 2018-01-29 15:35 UTC (permalink / raw)
  To: Thomas Abraham; +Cc: edk2-devel@lists.01.org, ard.biesheuvel@linaro.org

On Mon, Jan 29, 2018 at 01:12:35PM +0000, Thomas Abraham wrote:
> Sorry, I don't mean to be pushy -- just wanted to know if there are
> any comments on this patch.

I don't mind the occasional prod, especially when I forget to respond
quickly to something I've promised to do so on in a side discussion :)

/
    Leif


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] Platform/ARM/VExpress: refine the check for DVI support
  2018-01-29 14:51 ` Leif Lindholm
@ 2018-01-29 16:01   ` Thomas Abraham
  2018-01-29 16:13     ` Ard Biesheuvel
  0 siblings, 1 reply; 7+ messages in thread
From: Thomas Abraham @ 2018-01-29 16:01 UTC (permalink / raw)
  To: Leif Lindholm; +Cc: edk2-devel@lists.01.org, ard.biesheuvel@linaro.org

Hi Leif,

> On Mon, Jan 29, 2018 at 8:21 PM, Leif Lindholm <leif.lindholm@linaro.org> wrote:
> On Fri, Jan 26, 2018 at 10:34:59PM +0530, Thomas Abraham wrote:
> > The base models could have different values for the revision ID field
> > in the System ID register. Base models do not have support for DVI and
> > so the revision ID field should also be masked out when checking for
> > the presence of DVI support.
> >
> > Contributed-under: TianoCore Contribution Agreement 1.1
> > Signed-off-by: Thomas Abraham <thomas.abraham@arm.com>
> > ---
> >  .../VExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmVExpress.c    |
> 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git
> >
> a/Platform/ARM/VExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmV
> > Express.c
> >
> b/Platform/ARM/VExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmV
> > Express.c
> > index 3f3ceb3..89ba130 100644
> > ---
> >
> a/Platform/ARM/VExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmV
> > Express.c
> > +++
> b/Platform/ARM/VExpressPkg/Library/PL111LcdArmVExpressLib/PL111Lcd
> > +++ ArmVExpress.c
> > @@ -264,7 +264,7 @@ LcdPlatformSetMode (
> >    SysId = MmioRead32 (ARM_VE_SYS_ID_REG);
> >    if (SysId != ARM_RTSM_SYS_ID) {
> >      // Take out the FVP GIC variant to reduce the permutations.
> > -    SysId &= ~ARM_FVP_SYS_ID_VARIANT_MASK;
> > +    SysId &= ~(ARM_FVP_SYS_ID_VARIANT_MASK |
> > + ARM_FVP_SYS_ID_REV_MASK);
> >      if (SysId != ARM_FVP_BASE_BOARD_SYS_ID) {
> >        // Set the DVI into the new mode
> >        Status = ArmPlatformSysConfigSet (SYS_CFG_DVIMODE,
> > mResolutions[ModeNumber].Mode);
>
> I think this change makes sense (and should arguably have been there from the
> start). But I also think it highlights that the surrounding comments are incorrect,
> and get increasingly confusing with this modification.
>
> I would suggest that
>   // On the FVP models the GIC variant in encoded in bits [15:12].
> is replaced by
>   // On the FVP models, the build variant is encoded in bits [15:12].
>
> and that
>   // Take out the FVP GIC variant to reduce the permutations.
> is replaced by
>   // Ignore build variant and revision.
>
> If you're happy with that, I can fold these changes to the surrounding comments
> in and commit.

Yes, happy to have these changes folded in. Thank you!.

Thomas.



>
> /
>     Leif
IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] Platform/ARM/VExpress: refine the check for DVI support
  2018-01-29 16:01   ` Thomas Abraham
@ 2018-01-29 16:13     ` Ard Biesheuvel
  2018-01-29 16:28       ` Leif Lindholm
  0 siblings, 1 reply; 7+ messages in thread
From: Ard Biesheuvel @ 2018-01-29 16:13 UTC (permalink / raw)
  To: Thomas Abraham; +Cc: Leif Lindholm, edk2-devel@lists.01.org

On 29 January 2018 at 16:01, Thomas Abraham <thomas.abraham@arm.com> wrote:
> Hi Leif,
>
>> On Mon, Jan 29, 2018 at 8:21 PM, Leif Lindholm <leif.lindholm@linaro.org> wrote:
>> On Fri, Jan 26, 2018 at 10:34:59PM +0530, Thomas Abraham wrote:
>> > The base models could have different values for the revision ID field
>> > in the System ID register. Base models do not have support for DVI and
>> > so the revision ID field should also be masked out when checking for
>> > the presence of DVI support.
>> >
>> > Contributed-under: TianoCore Contribution Agreement 1.1
>> > Signed-off-by: Thomas Abraham <thomas.abraham@arm.com>
>> > ---
>> >  .../VExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmVExpress.c    |
>> 2 +-
>> >  1 file changed, 1 insertion(+), 1 deletion(-)
>> >
>> > diff --git
>> >
>> a/Platform/ARM/VExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmV
>> > Express.c
>> >
>> b/Platform/ARM/VExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmV
>> > Express.c
>> > index 3f3ceb3..89ba130 100644
>> > ---
>> >
>> a/Platform/ARM/VExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmV
>> > Express.c
>> > +++
>> b/Platform/ARM/VExpressPkg/Library/PL111LcdArmVExpressLib/PL111Lcd
>> > +++ ArmVExpress.c
>> > @@ -264,7 +264,7 @@ LcdPlatformSetMode (
>> >    SysId = MmioRead32 (ARM_VE_SYS_ID_REG);
>> >    if (SysId != ARM_RTSM_SYS_ID) {
>> >      // Take out the FVP GIC variant to reduce the permutations.
>> > -    SysId &= ~ARM_FVP_SYS_ID_VARIANT_MASK;
>> > +    SysId &= ~(ARM_FVP_SYS_ID_VARIANT_MASK |
>> > + ARM_FVP_SYS_ID_REV_MASK);
>> >      if (SysId != ARM_FVP_BASE_BOARD_SYS_ID) {
>> >        // Set the DVI into the new mode
>> >        Status = ArmPlatformSysConfigSet (SYS_CFG_DVIMODE,
>> > mResolutions[ModeNumber].Mode);
>>
>> I think this change makes sense (and should arguably have been there from the
>> start). But I also think it highlights that the surrounding comments are incorrect,
>> and get increasingly confusing with this modification.
>>
>> I would suggest that
>>   // On the FVP models the GIC variant in encoded in bits [15:12].
>> is replaced by
>>   // On the FVP models, the build variant is encoded in bits [15:12].
>>
>> and that
>>   // Take out the FVP GIC variant to reduce the permutations.
>> is replaced by
>>   // Ignore build variant and revision.
>>
>> If you're happy with that, I can fold these changes to the surrounding comments
>> in and commit.
>
> Yes, happy to have these changes folded in. Thank you!.
>

Likewise

Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] Platform/ARM/VExpress: refine the check for DVI support
  2018-01-29 16:13     ` Ard Biesheuvel
@ 2018-01-29 16:28       ` Leif Lindholm
  0 siblings, 0 replies; 7+ messages in thread
From: Leif Lindholm @ 2018-01-29 16:28 UTC (permalink / raw)
  To: Ard Biesheuvel; +Cc: Thomas Abraham, edk2-devel@lists.01.org

On Mon, Jan 29, 2018 at 04:13:40PM +0000, Ard Biesheuvel wrote:
> On 29 January 2018 at 16:01, Thomas Abraham <thomas.abraham@arm.com> wrote:
> > Hi Leif,
> >
> >> On Mon, Jan 29, 2018 at 8:21 PM, Leif Lindholm <leif.lindholm@linaro.org> wrote:
> >> On Fri, Jan 26, 2018 at 10:34:59PM +0530, Thomas Abraham wrote:
> >> > The base models could have different values for the revision ID field
> >> > in the System ID register. Base models do not have support for DVI and
> >> > so the revision ID field should also be masked out when checking for
> >> > the presence of DVI support.
> >> >
> >> > Contributed-under: TianoCore Contribution Agreement 1.1
> >> > Signed-off-by: Thomas Abraham <thomas.abraham@arm.com>
> >> > ---
> >> >  .../VExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmVExpress.c    |
> >> 2 +-
> >> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >> >
> >> > diff --git
> >> >
> >> a/Platform/ARM/VExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmV
> >> > Express.c
> >> >
> >> b/Platform/ARM/VExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmV
> >> > Express.c
> >> > index 3f3ceb3..89ba130 100644
> >> > ---
> >> >
> >> a/Platform/ARM/VExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmV
> >> > Express.c
> >> > +++
> >> b/Platform/ARM/VExpressPkg/Library/PL111LcdArmVExpressLib/PL111Lcd
> >> > +++ ArmVExpress.c
> >> > @@ -264,7 +264,7 @@ LcdPlatformSetMode (
> >> >    SysId = MmioRead32 (ARM_VE_SYS_ID_REG);
> >> >    if (SysId != ARM_RTSM_SYS_ID) {
> >> >      // Take out the FVP GIC variant to reduce the permutations.
> >> > -    SysId &= ~ARM_FVP_SYS_ID_VARIANT_MASK;
> >> > +    SysId &= ~(ARM_FVP_SYS_ID_VARIANT_MASK |
> >> > + ARM_FVP_SYS_ID_REV_MASK);
> >> >      if (SysId != ARM_FVP_BASE_BOARD_SYS_ID) {
> >> >        // Set the DVI into the new mode
> >> >        Status = ArmPlatformSysConfigSet (SYS_CFG_DVIMODE,
> >> > mResolutions[ModeNumber].Mode);
> >>
> >> I think this change makes sense (and should arguably have been there from the
> >> start). But I also think it highlights that the surrounding comments are incorrect,
> >> and get increasingly confusing with this modification.
> >>
> >> I would suggest that
> >>   // On the FVP models the GIC variant in encoded in bits [15:12].
> >> is replaced by
> >>   // On the FVP models, the build variant is encoded in bits [15:12].
> >>
> >> and that
> >>   // Take out the FVP GIC variant to reduce the permutations.
> >> is replaced by
> >>   // Ignore build variant and revision.
> >>
> >> If you're happy with that, I can fold these changes to the surrounding comments
> >> in and commit.
> >
> > Yes, happy to have these changes folded in. Thank you!.
> >
> 
> Likewise
> 
> Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>

Thanks.

Pushed as cf8aef9c96 with
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
[Reworded adjacent code comments.]
Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org>
and Ard's ACK.

/
    Leif


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2018-01-29 16:23 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-01-26 17:04 [PATCH] Platform/ARM/VExpress: refine the check for DVI support Thomas Abraham
2018-01-29 13:12 ` Thomas Abraham
2018-01-29 15:35   ` Leif Lindholm
2018-01-29 14:51 ` Leif Lindholm
2018-01-29 16:01   ` Thomas Abraham
2018-01-29 16:13     ` Ard Biesheuvel
2018-01-29 16:28       ` Leif Lindholm

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox