public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Ni, Ruiyu" <ruiyu.ni@intel.com>
To: Laszlo Ersek <lersek@redhat.com>,
	"edk2-devel@ml01.01.org" <edk2-devel@ml01.01.org>
Cc: "Fan, Jeff" <jeff.fan@intel.com>
Subject: Re: [PATCH v3 6/6] MdePkg/Pci22.h: Deprecate out-of-Spec IncompatiblePciDevice macros
Date: Wed, 8 Feb 2017 00:58:26 +0000	[thread overview]
Message-ID: <734D49CCEBEEF84792F5B80ED585239D5B89997B@SHSMSX104.ccr.corp.intel.com> (raw)
In-Reply-To: <1d671f45-3c0f-e036-7f93-8708c6e4ef68@redhat.com>

These macros comply with the spec so I had no reason to deprecate them.
But I did want to avoid using them in drivers.
Maybe I could just deprecate the two macros PCI_ACPI_UNUSED and PCI_BAR_NOCHANGE.
What do you think?


Regards,
Ray

From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Laszlo Ersek
Sent: Wednesday, February 8, 2017 1:43 AM
To: Ni, Ruiyu <ruiyu.ni@intel.com>; edk2-devel@ml01.01.org
Cc: Fan, Jeff <jeff.fan@intel.com>
Subject: Re: [edk2] [PATCH v3 6/6] MdePkg/Pci22.h: Deprecate out-of-Spec IncompatiblePciDevice macros

On 02/07/17 04:33, Ruiyu Ni wrote:
> DEVICE_ID_NOCARE is defined as 0xFFFF but Spec says (UINT64) -1
> should be used to match any VendorId/DeviceId/RevisionId/
> SubsystemVendorId/SubsystemDeviceId.
>
> PCI_BAR_OLD_ALIGN/PCI_BAR_EVEN_ALIGN/PCI_BAR_SQUAD_ALIGN/
> PCI_BAR_DQUAD_ALIGN are defined but Spec doesn't have such
> definitions.
>
> PCI_BAR_ALL is defined as 0xFF but Spec says (UINT64) -1 should be
> used to match all BARs.
>
> All of the above macros are marked as deprecated.
>
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com<mailto:ruiyu.ni@intel.com>>
> Reviewed-by: Liming Gao <liming.gao@intel.com<mailto:liming.gao@intel.com>>
> Cc: Jeff Fan <jeff.fan@intel.com<mailto:jeff.fan@intel.com>>
> ---
>  MdePkg/Include/IndustryStandard/Pci22.h | 24 +++++++++++++++++-------
>  1 file changed, 17 insertions(+), 7 deletions(-)
>
> diff --git a/MdePkg/Include/IndustryStandard/Pci22.h b/MdePkg/Include/IndustryStandard/Pci22.h
> index 4cf8389..5dec65d 100644
> --- a/MdePkg/Include/IndustryStandard/Pci22.h
> +++ b/MdePkg/Include/IndustryStandard/Pci22.h
> @@ -7,7 +7,7 @@
>      PC Card Standard, 8.0
>      PCI Power Management Interface Specifiction, Revision 1.2
>
> -  Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
> +  Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
>    Copyright (c) 2014 - 2015, Hewlett-Packard Development Company, L.P.<BR>
>    This program and the accompanying materials
>    are licensed and made available under the terms and conditions of the BSD License
> @@ -780,14 +780,25 @@ typedef struct {
>    ///
>  } EFI_PCI_CAPABILITY_HOTPLUG;
>
> -#define DEVICE_ID_NOCARE    0xFFFF
> +///
> +/// Below macros (till PCI_BAR_NOCHANGE) were used by EfiIncompatiblePciDeviceSupport Protocol.
> +///
> +#ifndef DISABLE_NEW_DEPRECATED_INTERFACES
> +
> +///
> +/// [ATTENTION] These macros are deprecated because they don't match Spec or not defined in Spec.
> +///
> +#define DEVICE_ID_NOCARE    0xFFFF                 ///< Deprecated. Value doesn't match Spec.
> +#define PCI_BAR_OLD_ALIGN   0xFFFFFFFFFFFFFFFFULL  ///< Deprecated. Value isn't defined in Spec.
> +#define PCI_BAR_EVEN_ALIGN  0xFFFFFFFFFFFFFFFEULL  ///< Deprecated. Value isn't defined in Spec.
> +#define PCI_BAR_SQUAD_ALIGN 0xFFFFFFFFFFFFFFFDULL  ///< Deprecated. Value isn't defined in Spec.
> +#define PCI_BAR_DQUAD_ALIGN 0xFFFFFFFFFFFFFFFCULL  ///< Deprecated. Value isn't defined in Spec.
> +#define PCI_BAR_ALL         0xFF                   ///< Deprecated. Value doesn't match Spec.
> +
> +#endif
>
>  #define PCI_ACPI_UNUSED     0
>  #define PCI_BAR_NOCHANGE    0

Any particular reason for not deprecating these two macros? Is it an
oversight, or is it intentional to keep them?

(If they comply with the spec, then replacing them in patch #5 seems
unwarranted.)

Thanks,
Laszlo

> -#define PCI_BAR_OLD_ALIGN   0xFFFFFFFFFFFFFFFFULL
> -#define PCI_BAR_EVEN_ALIGN  0xFFFFFFFFFFFFFFFEULL
> -#define PCI_BAR_SQUAD_ALIGN 0xFFFFFFFFFFFFFFFDULL
> -#define PCI_BAR_DQUAD_ALIGN 0xFFFFFFFFFFFFFFFCULL
>
>  #define PCI_BAR_IDX0        0x00
>  #define PCI_BAR_IDX1        0x01
> @@ -795,7 +806,6 @@ typedef struct {
>  #define PCI_BAR_IDX3        0x03
>  #define PCI_BAR_IDX4        0x04
>  #define PCI_BAR_IDX5        0x05
> -#define PCI_BAR_ALL         0xFF
>
>  ///
>  /// EFI PCI Option ROM definitions
>

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org<mailto:edk2-devel@lists.01.org>
https://lists.01.org/mailman/listinfo/edk2-devel


  reply	other threads:[~2017-02-08  0:58 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-07  3:32 [PATCH v3 0/6] Fix PciBus to accept Spec values as BarIndex and Alignment Ruiyu Ni
2017-02-07  3:33 ` [PATCH v3 1/6] MdeModulePkg/PciSioSerialDxe: Use MAX_UINT8 instead of PCI_BAR_ALL Ruiyu Ni
2017-02-07  3:33 ` [PATCH v3 2/6] MdeModulePkg/PciBus: Accept Spec values as BarIndex and Alignment Ruiyu Ni
2017-02-07  3:33 ` [PATCH v3 3/6] MdeModulePkg/IncompatiblePciDevice: Do not use deprecated macros Ruiyu Ni
2017-02-07  3:33 ` [PATCH v3 4/6] MdeModulePkg/IncompatiblePci: Use MAX_UINTN to match any IDs Ruiyu Ni
2017-02-07  3:33 ` [PATCH v3 5/6] OvmfPkg/IncompatiblePci: Do not use deprecated macros Ruiyu Ni
2017-02-07 17:40   ` Laszlo Ersek
2017-02-07  3:33 ` [PATCH v3 6/6] MdePkg/Pci22.h: Deprecate out-of-Spec IncompatiblePciDevice macros Ruiyu Ni
2017-02-07  5:54   ` Bug 367 - Version Check for capsule update logic error wang xiaofeng
2017-02-07 17:43   ` [PATCH v3 6/6] MdePkg/Pci22.h: Deprecate out-of-Spec IncompatiblePciDevice macros Laszlo Ersek
2017-02-08  0:58     ` Ni, Ruiyu [this message]
2017-02-08  1:09       ` Laszlo Ersek

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=734D49CCEBEEF84792F5B80ED585239D5B89997B@SHSMSX104.ccr.corp.intel.com \
    --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